Что это?
Мануал для продвинутых пользователей о том, как, с помощью, достаточно недорогого роутера облегчить себе жизнь.
Зачем это нам нужно?!
- Во первых – это возможность смотреть 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, указываете путь к нужному файлу.
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.
Заходим телнетом на роутер:
Используйте встроенный в 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 уже имеет встроенный ФТП:
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 |
Установим то, что необходимо для работы:
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 |
приятно работать с профессионалом! спасибо
Пожалуйста, рад сотрудничеству)
есть ли у вас ФУЛЛ ФЛЕШ с роутера ?
Увы, нет.
Добрый день! Не подскажете в чем может быть проблема: скрипт startup не выполняется при перезагрузке роутера. Т.е. пока есть питание, вся схема нормал
ьно работает, перемаунчиваются разделы, инсталится ПО, все пашет как часы. Но малейший ребут и приходится заново перемонтировать все и запускать службы. Не подскажете где искать проблему?
Какая версия прошивки? Скрипт скопировали?
DD-WRT v24SP2- (03/25/13) std – build 21061
дошло до того, что я в вкрипте startup оставлял одну строчку
mount /dev/sda5 /mnt
даже одна команда не выполняется
Кстати,при ребуте соединение с инетом и запуск самбы тоже приходится делать руками. инет кнопкой, самбу применением настроек. Такое ощущение что ни один стартап не пашет. Попробовать перешиться? Или зашить более ранний релиз?
Как вариант, у меня никогда не было проблем со стартапом. Мало что могу подсказать)
Вопрос такой: при нажатии Save Startup в веб-интерфейсе, система сохраняет этот стартап куда-то в свои кишки, даже несмотря на то, что в качестве системных разделов уже подсунуты копии на внешнем хдд?
конечно!
День добрый! Прошу прощения прошивка ещё актуальна?
да, вполне) но теперь, если нужен только принт сервер и iptv можно поставить заводскую.
Ну к сожалению или к счастью уже прошита 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..
Помогите пожалуйста!
все правильно вы поняли)
Ну и как итог вот такое получается ->
Downloading http://downloads.openwrt.org/backfire/10.03-rc2/atheros/packages//packages…
Connecting to downloads.openwrt.org (78.24.191.177:80)
ipkg_download: ERROR: Failed to retrieve http://downloads.openwrt.org/backfire/10.03-rc2/atheros/packages//Packages? returning
замените 10.03-rc2 во всех ссылках на на 10.03.1
А 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/
atheros/packages/libc_0.9.30.1-43.32_atheros.ipk
и далее соответственно…
Так чтоли?
Я так понимаю новая версия 2013 года
ftp://ftp.dd-wrt.com/others/eko/BrainSlayer-V24-preSP2/2013/07-24-2013-r22118/tplink_tl-wr1043nd/
да, но не факт что заработает, я не пробовал эти ревизии(