В отличие от простого домашнего сервера DLNA на бюджетном роутере DIR-320, роутер с более мощным процессором можно превратить в полнофункциональный домашний медиасервер. Медиасервер, в отличие от DLNA-сервера позволяет смотреть не только IPTV, но также фильмы и фото, слушать музыку, которые размещены на подключенном к нему жестком диске и даже самостоятельно скачивать их из интернета с помощью торрент-клиента. Хотя на бюджетном роутере это тоже осуществимо, однако из-за невысокого быстродействия его процессора посмотреть, например, HD-фильм из-за постоянных замираний и зависаний - не удастся. Далее описан медиасервер, собранный на относительно недорогом роутере TL-WDR3600, имеющем процессор 560 MHz, гигабитные порты и Wi-Fi со скоростью 600 Мбит/сек. В отличие от роутера DIR-320, который собран на чипсете Broadcom с командами MIPSEL, роутер TL-WDR3600 собран на чипах Atheros с командами MIPS, поэтому программное обеспечение у них несовместимо и описанный ранее для DIR-320 вариант установки Optware в данном случае не подходит. Здесь приведен вариант установки OpenWRT на Atheros, заметно отличается своей простотой от имеющихся в интернете. Внутренняя, очень небольшая оперативная память роутера просто монтируется к разделу на внешнем диске, в роли которого может выступать USB-флешка или внешний USB-HDD и таким образом увеличивается до размеров этого раздела, что позволяет устанавливать Optware без лишних перекрестных монтирований разделов и файлов. Этот способ установки прекрасно подходит для любых роутеров на чипе Atheros, например, DIR-825 v.B, TL-WDR4300, Netgear-WNDR4300 и множества других. |
Возможности медиасервера:
- mediatomb медиацентр DLNA
- xupnpd проигрыватель плейлистов формата m3u
- updxy перекодировщик UDP в TCP
- transmission torrent - клиент
Предварительные условия:
- на роутере должна быть любая прошивка DD-WRT.
- подготовлен внешний USB-диск или флешка.
- понадобится терминальная программа PuTTY
- работающий интернет.
USB-диск должен иметь минимум два раздела: первый на диске раздел размером 100-200 Мб - для устанавливаемой системы OpenWRT и второй (третий, четвертый при желании) - для фото, фильмов, музыки и прочего контента. Первый раздел должен быть обязательно отформатирован в ext3, остальные - в какой угодно формат, например, NTFS. Но с практической точки зрения лучше тоже в ext3, т.к. при этом на разделе помещается заметно больше файлов. Однако следует помнить, что разделы формата ext3 не видны в Windows.
Ниже пошаговая инструкция с пояснениями.
1. Запускаем браузер и в web-интерфейсе DD-WRT роутера (Службы-USB) назначаем монтирование USB диска на /opt.
1a. В новых версиях прошивки интерфейс изменился и в нем нет возможности задать монтирование первого раздела на /opt, в этом случае делаем это программно:
sleep 15
umount /opt
sleep 2
umount /mnt/sda1
sleep 2
umount /mnt/sda2
sleep 2
umount /mnt/sda3
sleep 2
umount /mnt/sda4
sleep 5
mount -o noatime /dev/sda1 /opt
sleep 2
То есть отмонтируем все, что прошивка примонтировала автоматом и сами монтируем ПЕРВЫЙ раздел диска к /opt. Это же надо записать и в начало стартового скрипта. Задержки sleep стоят для случая, если подключен винчестер - чтобы диски успели раскрутиться после запуска.
2. Заходим в роутер через PuTTY и копируем содержимое каталогов с флеша роутера на присоединенный USB диск:
cp -a /etc /opt
cp -a /bin /opt
cp -a /lib /opt
cp -a /usr /opt
cp -a /tmp /opt
cp -a /jffs /opt
3. Монтируем эти каталоги:
mount /opt/etc /etc
mount /opt/bin /bin
mount /opt/lib /lib
mount /opt/usr /usr
mount /opt/tmp /tmp
mount /opt/jffs /jffs
Теперь мы получили роутер с оперативной памятью такого объема, какой есть
на разделе USB, примонтированном к /opt и можем ставить в нее любые приложения.
4. Создаем точки монтирования остальных разделов USB-диска, допустим, их еще два помимо раздела для Optware:
cd /jffs
mkdir /jffs/one
mkdir /jffs/two
cd
5. Скачиваем и устанавливаем собственно OpenWRT и его библиотеки:
wget http://www.telemaster-msk.su/files/libc_0.9.33.2-1_ar71xx.ipk
wget http://www.telemaster-msk.su/files/opkg_618-3_ar71xx.ipk
устанавливаем их, на сообщения об ошибках не обращаем внимания:
ipkg install libc_0.9.33.2-1_ar71xx.ipk
ipkg install opkg_618-3_ar71xx.ipk
6. Создаем конфигурационный файл для opkg:
cat > /etc/opkg.conf << EOF
src/gz snapshots http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
dest root /opt
dest ram /opt/tmp
lists_dir ext /opt/tmp/var/opkg-lists
EOF
7. Проверяем результаты установки системы:
opkg update
Должны увидеть:
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/Packages.gz.
Updated list of available packages in /opt/tmp/var/opkg-lists/snapshots.
8. Переустанавливаем библиотеки, теперь уже для opkg:
opkg install libc_0.9.33.2-1_ar71xx.ipk
Все, теперь система OpenWRT на роутер установлена.
Переходим к установке приложений.
9. В первую очередь устанавливаем Midnight Commander, полный аналог всем известного Norton Commander'a:
wget http://www.telemaster-msk.su/files/mc_4.8.10-1_ar71xx.ipk
opkg install mc_4.8.10-1_ar71xx.ipk
по окончании установки набираем:
mc
И любуемся результатами :).
10. Устанавливаем медиаплеер mediatomb:
wget http://www.telemaster-msk.su/files/mediatomb_0.12.1-1_ar71xx.ipk
wget http://www.telemaster-msk.su/files/libiconv-full_1.11.1-1_ar71xx.ipk
opkg install mediatomb_0.12.1-1_ar71xx.ipk
opkg install libiconv-full_1.11.1-1_ar71xx.ipk
Запускаем mediatomb:
/usr/bin/mediatomb -c /etc/mediatomb/config.xml -d -l /var/log/mediatomb.log
WEB-интерфейс для настроек находится на 192.168.1.1:49152
Чтобы Mediatomb не зависал на русских буквах в названиях файлов,
необходимо зайти в /etc/mediatomb/config.xml и проверить, чтобы
сразу за строчками
</server>
<import hidden-files="no">
была группа строк:
<filesystem-charset>UTF-8</filesystem-charset>
<metadata-charset>UTF-8</metadata-charset>
<playlist-charset>UTF-8</playlist-charset>
если какие-то из этих строк отсутствуют, их необходимо добавить.
11. Ставим сервер xupnpd:
Этот сервер позволяет смотреть на телевизоре прейлисты формата .m3u
opkg install xupnpd
Запускаем xupnpd:
/usr/bin/xupnpd
WEB-страница программы с настройками находится на 192.168.1.1:4044
На веб-странице надо зайти в config и проверить, чтобы была установлено
SSDP announcement interface (LAN): br0
12. Устанавливаем udpxy:
Это приложение преобразует протокол UDP в TCP
opkg install udpxy
Запускаем:
udpxy -a 192.168.1.1 -p 4022 -B 1Mb -M 30
Посмотреть можно на 192.168.1.1:4022/status
13. Устанавливаем торрент-клиент transmission
opkg install transmission-daemon
opkg install transmission-web
Запускаем первый раз:
/usr/bin/transmission-daemon -g /etc/transmission/config
При первом запуске он создает в папке /etc папку /transmission с конфигурационными файлами.
Запускаем Midnight Commander, заходим в /etc/transmission/config и редактируем там файл settings.json.
В нем обязательно надо изменить приведенные ниже строчки:
"download-dir": "/jffs/one/downloads", # указать папка, куда скачивать файлы
"incomplete-dir": "/jffs/one/downloads" # указать папку для неполностью скачанных файлов
"rpc-whitelist": "192.168.1.*" # указать адрес вашего роутера, вместо последней цифры поставить звездочку.
Сохраняем изменения, перезагружаем роутер и снова запускаем торрент:
/usr/bin/transmission-daemon -g /etc/transmission/config
По адресу 192.168.1.1:9091 появится веб-интерфейс торрента.
14. Записываем в роутер стартовый скрипт.
Необходимо СОХРАНЯТЬ ПОРЯДОК этих строк:
sleep 15
umount /opt
sleep 2
umount /mnt/sda1
sleep 2
umount /mnt/sda2
sleep 2
umount /mnt/sda3
sleep 2
umount /mnt/sda4
sleep 5
mount -o noatime /dev/sda1 /opt
sleep 1
mount -o bind /opt/jffs /jffs
mount -o bind /opt/lib /lib
mount -o bind /opt/usr /usr
mount -o bind /opt/etc /etc
mount -o bind /opt/bin /bin
mount -o bind /opt/tmp /tmp
mount -o noatime /dev/sda2 /jffs/one
sleep 5
mount -o noatime /dev/sda3 /jffs/two
sleep 5
udpxy -a 192.168.1.1 -p 4022 -B 1Mb -M 30
/usr/bin/mediatomb -c /etc/mediatomb/config.xml -d -l /var/log/mediatomb.log
/usr/bin/xupnpd
/usr/bin/transmission-daemon -g /etc/transmission/config
Сохраняем скрипт и в последний раз перезагружаем роутер.
Теперь у Вас есть свой сервер - медиацентр!
Подробные инструкции по использованию замечательных программ:
- mediatomb
- xupnpd
- udpxy
- transmission
можно легко найти в интернете.
Полезный совет
Приведенные в этой инструкции ссылки на файлы по разным причинам с течением времени становятся "битыми" и на каком-то шаге может появиться сообщение, что файла нет или у него не совпадает MD5. В этом случае необходимо с помощью любой поисковой системы найти нужный файл и исправить соответствующую строчку инструкции после команды wget, указав там полный путь к найденному файлу.
Например, если в результате выполнения команды
wget http://www.telemaster-msk.su/files/libc_0.9.33.2-1_ar71xx.ipk
появляется сообщение о несовпадении md5, необходимо в интернете поискать файл libc_0.9.33.2-1_ar71xx.ipk.
Допустим, этот файл найден на сайте www.ooosa.ru.
Тогда строку надо изменить на:
wget http://www.ooosa.ru/libc_0.9.33.2-1_ar71xx.ipk