TL-WR1043ND + IPTV по WI-FI.
Принцип: Установка и настройка альтернативной прошивки для роутера (DD-WRT).
1.Установка:
Качаем DD-WRT (Я брал 15962) отсюда: ftp://ftp.dd-wrt.com/others/eko/BrainSlayer-V24-preSP2/
1.1.Если вы перешиваетесь с заводской прошивки, используйте файл factory-to-ddwrt.bin. Если апгрейдите DD-WRT - tl-wr1043nd-webflash.bin.
Выбираете в веб интерфейсе пункт upgrade, указываете путь к нужному файлу.
2.Общая настройка:
Итак, вы установили DD-WRT. Заходим браузером на 192.168.1.1. Указываем логин и пароль. Первым делом настройте доступ в интернет.
3.Настройка USB:
Роутер имеет USB порт, подключим к нему USB HDD или флешку. DD-WRT позволяет работать с файловыми системами FAT и EXT2/3.
Для доступа к EXT2/3 при непосредственном подключении к компьютеру с ОС Windows необходима установка дополнительного софта (например Ext2fsd).
Если вы собираетесь устанавливать на роутер дополнительный софт, я рекомендую создать на HDD раздел размером 500 Мб и отформатировать его в Ext2 (в ОС Windows это можно сделать с помощью программы Acronis Disk Director).
Разбиваем на части:
Маленький раздел Ext2 для софта, и большой раздел под файлохранилище.
Настраиваем USB в веб интерфейсе:
Services - USB ставим галки везде, кроме USB 1.1 (2 галки), и USB Printer Support.
Указываем Automount в /opt
Перезагружаем роутер.
Первый раздел автоматически смонтируется в /opt.
Заходим телнетом на роутер:
Используйте встроенный в Windows клиент telnet:
Пуск - Выполнить - telnet 192.168.1.1
Логин: root,
Пароль: Такой же, как от веб интерфейса.
Выполняем команду:
df -h
Видим смонтированные разделы.
В моем случае первым доступным разделом на диске является маленький раздел Ext2 под софт, он доступен в /dev/sdaX (у меня X=1: sda1) и смонтирован в /opt.
Следующий большой раздел будет доступен в dev/sdaX+1 (у меня соответственно sda2).
Настраиваем доступ:
DD-WRT имеет встроенный ФТП:
В ProFTPD для доступа к большому разделу в Files Directory ставите /mnt, разрешает запись Allow Write - enable, в User Password List прописываете логин и пароль для доступа (например: user 23156).
4.Настраиваем IPKG:
Роутер имеет процессор Atheros с архитектурой MIPS, поэтому пакеты opt на него ставить нельзя. Нам необходим ipkg.
Обращаю внимание на то, что в дальнейшем ipkg и установленный софт будут доступны только при подключенном 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/ sleep 1
Далее монтируем скопированные директории:
mount /opt/etc /etc mount /opt/bin /bin mount /opt/lib/ /lib mount /opt/usr/ /usr mount /opt/tmp/ /tmp mount /opt/jffs/ /jffs sleep 1
Настраиваем ipkg, в телнете:
mv /etc/ipkg.conf /etc/ipkg.conf.orig echo -e "src backfire http://downloads.openwrt.org/backfire/10.03-rc2/atheros/packages/\ndest root /\ndest ram /tmp" > /etc/ipkg.conf cp /bin/ipkg /bin/ipkg.orig cat /bin/ipkg.orig |sed -e "s/--passive-ftp //" > /bin/ipkg ipkg update sleep 4 ipkg install coreutils-sort
Вот тут у меня вылезла ошибка - sort: can't resolve symbol '__fpending' in lib 'sort'.
sleep 1
Если ошибка вылезла:
cd /tmp wget http://downloads.openwrt.org/backfire/10.03.1-rc4/atheros/packages/libc_0.9.30.1-43.10_atheros.ipk wget http://downloads.openwrt.org/backfire/10.03.1-rc4/atheros/packages/libgcc_4.3.3+cs-43.10_atheros.ipk wget http://downloads.openwrt.org/backfire/10.03.1-rc4/atheros/packages/uclibcxx_0.2.2-3_atheros.ipk ipkg install /tmp/libc_0.9.30.1-43.10_atheros.ipk ipkg install /tmp/libgcc_4.3.3+cs-43.10_atheros.ipk ipkg install /tmp/uclibcxx_0.2.2-3_atheros.ipk
Затем снова:
ipkg install coreutils-sort sleep 1
5. Устанавливаем прокси UDP-HTTP (это для просмотра IPTV):
ipkg install http://downloads.openwrt.org/backfire/10.03.1-rc4/atheros/packages/udpxy_1.0-Chipmunk-16-1_atheros.ipk
Потребует библиотеки, установим их командами
ipkg install имя_библиотеки.
Теперь снова:
ipkg install http://downloads.openwrt.org/backfire/10.03.1-rc4/atheros/packages/udpxy_1.0-Chipmunk-16-1_atheros.ipk
Запускаем udpxy:
udpxy -p 8177 -M 30 -B 1Mb -a ваш_ip
-p - Порт.
-M - Время обновления.
-B - Кеш.
-a - Адрес с которого брать multicast. Если внутренний роутера, то ничего делать не нужно, а если внешний, то:
iptables -I INPUT 1 -p tcp --dport 8177 -j logaccept
У меня после запуска udpxy пропал доступ к Веб интерфейсу, чинить так:
nvram set http_lanport=8081 nvram commit
Порт доступа к панели управления станет 8081.
Теперь нам необходимо, чтобы при перезагрузке роутера ipkg оставался рабочим и запускался udpxy:
cd /opt touch usb.hdd
Далее идем в веб интерфейс:
Administration - Commands жмем edit и добавляем следующее:
sleep 3 if [ -f /opt/usb.hdd ]; then mount /dev/sda2 /mnt mount /opt/etc /etc mount /opt/bin /bin mount /opt/lib/ /lib mount /opt/usr/ /usr mount /opt/tmp/ /tmp mount /opt/jffs/ /jffs iptables -I INPUT 1 -p tcp --dport 21 -j logaccept iptables -I INPUT 1 -p tcp --dport 8177 -j logaccept udpxy -p 8177 -M 30 -B 1Mb -a ваш_ip else exit fi
Жмем Save Startup.
И в телнете:
reboot
Все. Получили TP-Link 1043ND DD-WRT 15962 + IPKG + UDPXY (IPTV) + Доступ FTP.