Прошиваем dd-wrt на роутер TP-Link 1043ND+PrintServer+IPTV Proxy+HDD+FTP) Advanced

Что это?

Мануал для продвинутых пользователей о том, как, с помощью, достаточно недорогого роутера облегчить себе жизнь.

Зачем это нам нужно?!

  • Во первых — это возможность смотреть IPTV без тормозов даже на нетбуке!
  • Во вторых — если у Вас 2 и больше ПК, и один принтер — можно подключить принтер к роутеру и печатать с любого ПК/телефона, даже без проводов.
  • В третьих — у вас есть архив фотографий, к которым нужен доступ 24х7 с любого ПК — подключим внешний винтфлешку к роутеру и настроим доступ.

Что нам нужно?

  • Роутер TP-Link 1043ND
  • USB HDD/USB Flash 2Gb+
  • USB Hub, который определяется как Generic (98% хабов подходит)
  • ВАЖНО: БП 5V 1A+ для хаба, если используем HDD

Приступим!

1.Установка альтернативной прошивки: 
Качаем DD-WRT отсюда: ftp://ftp.dd-wrt.com/others/eko/BrainSlayer-V24-preSP2/2011/02-17-11-r16214/tplink_tl-wr1043nd/

1.1.Если вы перешиваетесь с заводской прошивки, используйте файл factory-to-ddwrt.bin. Если апгрейдите DD-WRT — tl-wr1043nd-webflash.bin.

Выбираете в веб интерфейсе пункт upgrade, указываете путь к нужному файлу.

Tp Link Firmware Upgrade

1.2.Общая настройка: 
Итак, вы установили DD-WRT. Заходим браузером на 192.168.1.1. Указываем логин и пароль. Первым делом настройте доступ в интернет.

1.3.Настройка USB: 
Роутер имеет USB порт, подключим к нему USB HDD или флешку через хаб.

Заодно подключим принтер и питание, если нужно.

DD-WRT позволяет работать с файловыми системами FAT и EXT2/3.

Для доступа к EXT2/3 при непосредственном подключении к компьютеру с ОС Windows необходима установка дополнительного софта (например Ext2fsd).

Если вы собираетесь устанавливать на роутер дополнительный софт, я рекомендую создать на HDD раздел размером 500 Мб и отформатировать его в Ext2 (в ОС Windows это можно сделать с помощью программы Acronis Disk Director или вне Windows — Ubuntu Live через дисковую утилиту).

Разбиваем на части: 
Маленький раздел Ext2 для софта, и большой раздел (ext2) под файлохранилище.

1.4.Настраиваем USB в веб интерфейсе: 

  • Services — USB ставим галки везде + USB Printer Support.
  • Указываем Automount в /opt
  • Перезагружаем роутер.

Первый раздел автоматически смонтируется в /opt.

dd-wrt-usb

Заходим телнетом на роутер: 
Используйте встроенный в Windows клиент telnet:

Пуск — Выполнить — telnet 192.168.1.1

(ПРИМЕЧАНИЕ:  необходимо включить доступ SSHd на вкладке «Сервисы — сервисы»)

Логин: root, Пароль: Такой же, как от веб интерфейса.

Выполняем команду: 

Code:
df -h

Видим смонтированные разделы.

В моем случае первым доступным разделом на диске является маленький раздел Ext2 под софт, он доступен в /dev/sdaX (у меня X=1: sda1) и смонтирован в /opt.

Следующий большой раздел будет доступен в dev/sdaX+1 (у меня соответственно sda2).

1.5.Настраиваем доступ:
DD-WRT уже имеет встроенный ФТП:

ddwrt-ftp

2.Настраиваем IPKG:
Роутер имеет процессор Atheros с архитектурой MIPS, пакеты opt на него ставить не получится. Нам необходим ipkg.

Обращаю внимание на то, что в дальнейшем ipkg и установленный софт будут доступны только при подключенном USB накопителе.

Приступаем к настройке:
Заходим телнетом на роутер:
Копируем необходимые нам директории из флеша на накопитель:

Code:
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

 

Далее монтируем скопированные директории:

Code:
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, в телнете:

Code:
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
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

0_69560_16b42847_orig

Установим то, что необходимо для работы:

Code:
ipkg install coreutils-sort
sleep 1

2.1. Устанавливаем прокси UDP-HTTP (это для просмотра IPTV):

Code:
ipkg install http://downloads.openwrt.org/backfire/10.03.1-rc4/atheros/packages/udpxy_1.0-Chipmunk-16-1_atheros.ipk

 

Запускаем udpxy:

Code:
udpxy -p 8177 -M 30 -B 1Mb -a ваш_ip
  • -p — Порт.
  • -M — Время обновления.
  • -B — Кеш.
  • -a — Адрес с которого брать multicast. Если внутренний роутера, то ничего делать не нужно, а если внешний, то настроим разрешение:
Code:
iptables -I INPUT 1 -p tcp —dport 8177 -j logaccept

 

У меня после запуска udpxy пропал доступ к Веб интерфейсу, чинить так (если пропадет):

Code:
nvram set http_lanport=8081
nvram commit

Порт доступа к панели управления станет 8081.

2.2. Теперь установим принт сервер: 

Code:
cd /tmp 
wget http://downloads.openwrt.org/backfire/10.03.1-rc2/atheros/packages/p910nd_0.93-2_atheros.ipk 
ipkg install p910nd_0.93-2_atheros.ipk 

 

ПРИМЕЧАНИЯ:
Несмотря на включенную ранее поддержку принтера на роутер все еще не установлен принт-сервер — который и позволяет расшарить принтер в сети.

Стоит учесть, что если у Вас МФУ, сканер, скорее всего, работать не будет! В Canon MP 270 и Epson NX130 — не работает.

Для сканера есть «Sane»

Посмотреть видит ли роутер Ваш принтер можно так (обязательно до этого перезагрузиться или выполнить то, что ранее записали в «Administration — Commands»):

Code:
dmesg | grep usb

 

Получим что то такое, если все ок:

Code:
usblp0: USB Bidirectional printer dev 5 if 2 alt 0 proto 2 vid 0xXXXX pid 0xXXXX

 

Затем:

Code:
ls -la /dev/usb/

 

Должно быть примерно так:

Code:
crw-rw—-    1 root     root     180,   0 Jan  1  1970 lp0

 

2.2.1. Установка принтера в ОС 
Вам нужны самые обычные драйвера для принтера, скачайте их, например с сайта производителя. Если они были уже установлены — качать не нужно)

Нужно вручную добавить принтер и его порт:

Code:
IP — тот что установлен у Вас на роутере (если не меняли то — стандарт 192.168.1.1) 
Порт 9100 — мы его указали параметром «0» еще при запуске принт сервера. 
Есть альтернативные варианты «1» — порт 9101 и «2» порт 9102. 
Тип передачи (или принтера): RAW 

3. Теперь нам необходимо, чтобы при перезагрузке роутера ipkg и принт сервер оставались рабочими и запускались:

Code:
cd /opt
touch usb.hdd

 

Далее идем в веб интерфейс:

Administration — Commands жмем edit и добавляем следующее:

Code:
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
p910nd -b -f /dev/usb/lp0 0
/bin/mkdir -m 755 -p /dev/usb
/bin/mknod -m 660 /dev/usb/lp0 c 180 0
else
exit
fi

Жмем Save Startup.

И в телнете:

Code:
reboot

Вот и все) Удачи!

#router #ddwrt #asys #flashing

20 комментариев “Прошиваем dd-wrt на роутер TP-Link 1043ND+PrintServer+IPTV Proxy+HDD+FTP) Advanced

  1. Добрый день! Не подскажете в чем может быть проблема: скрипт startup не выполняется при перезагрузке роутера. Т.е. пока есть питание, вся схема нормал
    ьно работает, перемаунчиваются разделы, инсталится ПО, все пашет как часы. Но малейший ребут и приходится заново перемонтировать все и запускать службы. Не подскажете где искать проблему?

      1. DD-WRT v24SP2- (03/25/13) std — build 21061

        дошло до того, что я в вкрипте startup оставлял одну строчку

        mount /dev/sda5 /mnt

        даже одна команда не выполняется

        Кстати,при ребуте соединение с инетом и запуск самбы тоже приходится делать руками. инет кнопкой, самбу применением настроек. Такое ощущение что ни один стартап не пашет. Попробовать перешиться? Или зашить более ранний релиз?

          1. Вопрос такой: при нажатии Save Startup в веб-интерфейсе, система сохраняет этот стартап куда-то в свои кишки, даже несмотря на то, что в качестве системных разделов уже подсунуты копии на внешнем хдд?

  2. Ну к сожалению или к счастью уже прошита DD-Wrt.
    В telnet’e загвоздка: после монтирования никак не пойму где команда кончается.. Судя по скрину из telnet следующая команда
    «» mv /etc/ipkg.conf /etc/ipkg.conf.orig
    echo -e «src backfire http://downloads.openwrt.org/backfire/10.03-root@DD-WRT:~#echo -e «src backfire http://downloads.openwrt.org/backfire/10.03-rc2/atheros/packages/ndest root /ndest ram /tmp» > /etc/ipkg.conf «»
    Но здравый то смысл подсказывает что последовательность такая:
    1) mv /etc/ipkg.conf /etc/ipkg.conf.orig
    2) echo -e «src backfire http://downloads.openwrt.org/backfire/10.03-rc2/atheros/packages/ndest root /ndest ram /tmp» > /etc/ipkg.conf
    3) cp /bin/ipkg /bin/ipkg.orig
    4) cat /bin/ipkg.orig |sed -e «s/—passive-ftp //» > /bin/ipkg
    5) ipkg update
    И после этого начинается скачка backfire..
    Помогите пожалуйста!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *