Сайт…просто сайт

Для заметок и сочинений..коротких и не очень… Пашкин блог… Блог Пашки

Новая железяка (TP-LINK TL-WR1043ND)

18 августа сгорел DIR320…на счастье на след. день у меня был ДР и любимая решила порадовать меня и подарила сей агрегат, а именно: TP-LINK TL-WR1043ND
Ну чтож…надо было подцеплять жесткий и ставить торрент-клиент…с ДИРОМ былом проще, т.к. там был скрипт автоматической установки почти всего и вся…с данным аппаратом пришлось немного сложнее…инструкции довольно разрознены и отличаются одна от другой….поэтому все что помогло мне добиться конечного результата опишу ниже:

  • 1. Прошивка устройства.

В качестве прошивки я выбрал DD-WRT — она проще для пользователя, функций достаточно.Сам процесс перепрошивки прост до безобразия. Берем прошивку тут и прошиваемся через стандартное обновление ПО в вэб-интерфейсе модема. Единственная тонкость: если прошиваемся с заводской прошивки, то берем файл factory-to-ddwrt.bin, если обновляем прошивку, то берем файл tl-wr1043nd-webflash.bin. Перед и сразу после прошивки сделать аппаратный сброс:

Нажмите кнопку Reset и удерживайте ее. (Если питание маршрутизатора было выключено — включите его до нажатия на кнопку.) Через 30 секунд выключите питание, не отпуская кнопку Reset. Ещё через 30 секунд включите питание, опять-таки не отпуская Reset. Подождите еще 30 секунд и отпустите Reset.

Последняя прошивка — не значит лучшая :)

  • 2. Установка программного обеспечения

а) Размечаем на флешке (либо жестком диске) разделы и форматируем их.

У меня стояла задача: через УСБ-хаб c доп. питанием подключена флэшка для программ (файловая система ext2) и жесткий диск(файловая система NTFS — чтобы можно было спокойно подключать к компам с windows) на который собственно и будут складыватся торренты (в случае чего мы просто отключаем жесткий и идем скидывать инфу куда нам надо). Посему флешку просто форматируем в файловую систему ext2. Жесткий, соответственно в NTFS. Для форматирования и разбивки я предпочел GPARTED(т.к. делал под Ubuntu)

б)   Pаходим в веб интерфейс роутера в раздел Services/USB и выбираем Core USB Support / Enable, после этого выставляем основные настройки как на скриншоте:

Нажимаем »Apply Settings» и перезагружаем роутер —  Administration/Management и в самом низу Reboot Router.

 в) Подключаемся к роутеру с помощью putty по ssh, либо просто по telnet через терминал\коммандную строку — логин и пароль такие же как для вэб-интерфейса. Видим примерно следующее:

вводим:

insmod mbcache.ko
insmod ext2.ko
mount  -t ext2 
/dev/sda2 /mnt

проверяем , как подмонтировался наш раздел для установки софта
df -h
видим что наш раздел примонтирован:
г)  Устанавливаем OPKG.
  Запускаем putty, логинимся и вводим:
cd /mnt
mkdir etc opt root

chmod 755 etc opt root  
mkdir opt/lib
chmod 755 opt/lib
cp -a /etc/* /mnt/etc/
mount -o bind /mnt/etc /etc
mount -o bind /mnt/opt /jffs
Скачиваем библиотеки (зеркало) для установки OPKG. Разархивируем их в папку lib у себя на жестком диске и запускаем WinSCP, вот с такими настройками (User Name - root , Password -  ваш_пароль_для_интерфейса)

Нажимаем «Login». Программа при первом коннекте ругнется — нажимаем «Update», и потом «Continue».

Заливаем содержимое папки lib (приготовленной нами чуть выше) в папку /jffs/lib на роутере.
проверяем, все ли скорпировалось, для этого в putty вводим
ls /jffs/lib 
видим примерно следующее:
назначаем права залитым файлам
chmod a+x /jffs/lib/* 
теперь наконец-то можно приступить к установке OPKG
cd /tmp
wget http://downloads.openwrt.org/backfire/10.03.1-rc4/ar71xx/packages/opkg_576-1_ar71xx.ipk
ipkg install /tmp/opkg_576-1_ar71xx.ipk
на возникшие ошибки, типа «ERROR: File not found: //usr/local/lib/ipkg/lists/whiterussian You probably want to run `ipkg update’ « не обращаем внимания.
создаем конфигурационный файл для установленного opkg
cat > /etc/opkg.conf << EOF
src/gz snapshots http://downloads.openwrt.org/backfire/10.03.1-rc4/ar71xx/packages/
dest root /opt
dest ram /tmp
lists_dir ext /tmp/var/opkg-lists
EOF
теперь осталось внести изменения в автозагрузку, чтобы при перезагрузке роутера остались все сделанные нами изменения
создаем скрипт, для запуска optware при загрузке роутера
cat > /mnt/optware.sh  << EOF
#!/bin/sh
swapon /dev/sda1
mount -o bind /mnt/etc /etc
mount -o bind /mnt/root /tmp/root
mount -o bind /mnt/opt /opt
if [ -d /opt/usr ]; then
export LD_LIBRARY_PATH=’/opt/lib:/opt/usr/lib:/lib:/usr/lib’
export PATH=’/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/sbin:/usr/sbin:/usr/bin’
else
exit
fi
EOF
делаем его запускаемым 
сhmod a+x /mnt/optware.sh
заходим в вебморду роутера, и выбираем  раздел Administration/Commands и в окошке Command Shell/Commands вводим
insmod mbcache.ko 
insmod ext2.ko 
mount -t ext2 /dev/sda2 /mnt
/mnt/optware.sh 
нажимаем Save Startup  и перезагружаем роутер
д)  Проверяем что у нас в итоге получилось
Запускаем putty, логинимся  и вводим
mount
если все до этого сделано правильно, то результат  будет такой:
вводим
export LD_LIBRARY_PATH=’/opt/lib:/opt/usr/lib:/lib:/usr/lib’
export PATH=’/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/sbin:/usr/sbin:/usr/bin’
opkg update
обновляем основные библиотеки и busybox
opkg install libc
opkg install libgcc
opkg install uclibcxx
opkg install libncurses
opkg install busybox
Cоздаем скрипт, который будет запускаться при каждом логине по ssh
cat > /mnt/root/.profile << EOF
export LD_LIBRARY_PATH=’/opt/lib:/opt/usr/lib:/lib:/usr/lib:/opt/usr/local/lib’
export PATH=’/sbin:/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/usr/bin:/usr/sbin:/opt/usr/local/bin’
export PS1=’\[\033[01;31m\]\u@\h \[\033[01;34m\]\W \$ \[\033[00m\]‘
export TERMINFO=’/opt/usr/share/terminfo’

export TERM=»xterm»
export LANG=’ru_RU.UTF-8′
EOF
Перелогиниваемся с помощью putty и проверяем что в итоге получилось, устанавливаем nano (довольно удобный текстовый редактор) и Midnight Commander
opkg update
opkg install nano
opkg install mc 
когда все установится, набираем mc  и види панельки коммандера  - всё чудно, мы молодцы! :)
Далее нем надо определить путь к нашему жесткому диску и примонтировать его. Для этого запускаем Mc, заходим в папку /dev/ и ищем файл типа +sdXY, где вместо X — буква a,b, вместо Y — номер 1,2,3 (в завимисимости от колличества разделов на жестком). Потом монтируем его:
insmod fuse.ko
ntfs-3g /dev/sdXY /mnt/заранее созданная папка монтирования
Проверяем примонтировалось ли коммандой df -h
Данные строки вносим в команду при запуске (см.выше)
Самба (чтобы можно было увидеть папку по сети) настраивается в вэб-интерфейсе и особо в описании пока не нуждается.
  • 3. Устанавливаем torrent клиент transmission.

Подключаемся к роутеру с помощью putty и набираем
opkg update
opkg install transmission-web
после этого запускаем transmission-daemon чтобы создались первоначальные конфигурационные файлы:
transmission-daemon
ждем десять секунд и потом
killall transmission-daemon
удаляем автоматически созданный файл настроек
rm /mnt/root/.config/transmission-daemon/settings.json
и создаем свой файл
nano /mnt/root/.config/transmission-daemon/settings.json
примерно с таким содержимым:
{
«download-dir»: «\/mnt\/share\/media»,
«peer-port»: 51413,
«port-forwarding-enabled»: 0,
«download-limit»: 500,
«download-limit-enabled»: 1,
«upload-limit»: 500,
«upload-limit-enabled»: 1,
«encryption»: 1,
«max-peers-global»: 120,
«peer-limit-per-torrent»: 30,
«rpc-port»: 9091,
«rpc-whitelist»: «192.168.1.*»,
«rpc-whitelist-enabled»: 1,
«rpc-authentication-required»: 1,
«rpc-username»: «username»,
«rpc-password»: «pass»
в нем выделены красным имя и пароль пользователя для доступа к вебинтерфейсу transmission, их  замените на любые, которые придумаете. Про значения переменных в файле settings.json можно почитать тут.
Укажем к путь вэб-интерфейсу transmission:
export TRANSMISSION_WEB_HOME=’/opt/usr/share/transmission/web/’
теперь запускаем transmission
transmission-daemon -g /mnt/root/.config/transmission-daemon/
открываем браузер и открываем веб страницу по этой ссылке http://192.168.1.1:9091
веб страница сначала запросит имя пользователя и пароль (их мы придумывали сами и добавляли в/mnt/root/.config/transmission-daemon/settings.json )
и после их правильного ввода мы увидим веб-интерфейс transmission.
Теперь осталось создать скрипт автозагрузки transmission
nano /opt/etc/init.d/S80transmission
такого содержания
source /mnt/root/.profile
killall transmission-daemon
sleep 2
transmission-daemon -g /mnt/root/.config/transmission-daemon/
и сделать его исполняемым
chmod a+x /opt/etc/init.d/S80transmission
и добавить одну строку  в /mnt/root/.profile чтобы transmission  пссле перезапуска роутера знала где искать свой вебинтерфейс
nano /mnt/root/.profile
и добавляем туда такую строку
export TRANSMISSION_WEB_HOME=’/opt/usr/share/transmission/web/’
Открываем порт  51413  для входящих подключений.
Заходим в вебморду роутера , на страницу Administration/Commands , вводим в окошке  Command Shell/Commands вот такую строчку
iptables -I INPUT  -p tcp —dport 51413 -j ACCEPT

и после этого  нажимаем кнопочку Save Firewall Веб-интерфейс у transmission не слишком удобный и наглядный,   упростить работу с этим торрент клиентом нам поможет  transmisson-remote-gui 

Основной материал взят отсюда: http://wndr3700.blogspot.com/