Роутер компанії TP-Link c USB інтерфейсом

Якщо у Вас є чудо виріб Китайської думки як роутери компанії TP-Link c USB інтерфейсом, і Вам шкода простою такого заліза, невикористання багатьох можливостей у заводській версії мікрокоду, є можливість перетворити пристрій, розкрити недокументовані можливості — влаштувати мікроNAS, зі встановленим торрент-клієнтом, водночас він значно тихіше працює та на порядок менше споживає енергії, ніж спеціально виділені для цих цілей комп'ютери.

Постараюся стисло написати процес встановлення альтернативної прошивки DD-WRT, встановлення зовнішнього hdd, встановлення на нього програмного забезпечення, встановлення торрент-клієнта transmission, організація загального доступу до файлів на зовнішньому жорсткому диску (samba або ftp). Так само питання відновлення працездатності пристроїв через serial інтерфейс і т.д.

Частково матеріали були взяті, перероблені, об'єднані з даних інформаційних ресурсів і гілок форумів:

хоча в основній частині там іде обговорення OpenWRT прошивок, але ці прошивки вже для досвідчених рук, де все треба робити самому, допилювати, встановлювати, тобто досить тривалий час провести, вважаю, ті, хто ставить OpenWRT, не потребують подальшого читання.

Ця стаття перебуває у стадії написання, як буде час, будуть дописуватися частини, доповнюватися

1. Прощання із заводською (стандартною) версією мікрокоду (прошивкою), встановлення альтернативної версії DD-WRT.

невелике попередження: при будь-якій зміні мікрокоду пристрою є шанс отримати з пристрою миготливу цеглу (хоча його можна буде не так складно відновити через serial інтерфейс).

А якщо Вам хочеться перетворити простий роутер на подобу microNAS, що б ця коробка не тільки роздавала інтернет, а й сама скачувала для вас у цілодобовому режимі торрент-файли, водночас на порядок (у десятки разів) менше споживаючи електроенергії та працюючи майже безшумно (буде гудіти тільки шпиндель hdd, але його теж можна взяти 5400-5900 rpm), можливість налаштувати віддалений доступ до зовнішнього носія інформації не лише із внутрішньої мережі, але й із мережі internet (через ftp) — сміливо читайте далі! Постараюся коротко і чітко описати послідовність дій.

1.1 Отримання необхідної версії мікрокоду.

Опишу на основі альтернативної версії мікрокоду (прошивки) DD-WRT. Список підтримуваних пристроїв цією альтернативною прошивкою можна отримати тут: Список сумісних пристроїв

Завантажуємо останню версію прошивки для Вашого роутера, качаємо звідси ftp://dd-wrt.com/others/eko/BrainSlayer-V24-preSP2/ , обираємо поточний рік і найостаннішу версію релізу, далі знаходимо розділ із файлами прошивки Вашої моделі роутера. На момент написання користувався r20119_12-10-12

При перепрошивці роутера із заводської прошивки необхідно використовувати файл factory-to-ddwrt.bin . Якщо Ви оновлюєте альтернативну прошивку DD-WRT, яка вже стоїть, то необхідно використовувати файл мікрокоду tl-wr1043nd-webflash.bin .

1.2 Процес зміни мікрокоду (перепрошивка).

Итак, заходим в web-интерфейс роутера через браузер, желательно IE (Internet Explorer) в данном случае это оправданно, если стандартные настройки то в адресной строке вводим 192.168.1.1 , после чего запрос логина/пароля (admin/admin). Сразу переходим на пункт System Tools- Frimware Upgrade (рис. 1.1).

Рис.1.1 а-меню оновлення мікрокоду в заводській версії

Рис.1.1 б-меню оновлення мікрокоду в китайській версії роутера

Вибираємо необхідну альтернативну прошивку, кілька разів перевірте правильність прошивки, має бути factory-to-ddwrt.bin. Натискаємо на кнопку Upgrade і чекаємо хвилин п'ять (під час використання Opera ні чого не вийде) після оновлення буде перезавантаження пристрою. Після закінчення перезавантаження пристрою знову заходимо через браузер (тепер можна використовувати Ваш бажаний) 192.168.1.1, тут головне не злякатися, з'являється вікно рис 1.2.

Рис. 1.2 — Початкове вікно після перепрошивки в dd-wrt

Вам запропоновано ввести користувача і пароль для адміністрування через WEB-інтерфейс, при чому цей адміністративний пароль буде і у користувача roo t у роботі через консоль, тому щоб не створювати зайву плутанину, особисто я заводжу

Router Username: root , а пароль який в голову спаде, головне не забути його потім. Після збереження пароля, одразу попросить під час входу в web-інтерфейс ввести його. Якщо після перепрошивки роутер не горить усіма світлодіодними індикаторами, або періодично не блимає ними, то процес зміни мікрокоду по суті закінчено. Якщо ж під час зміни мікрокоду відбулися непередбачувані події, або ви переплутали через поспіх чи неуважність версію (прошили версією для іншої моделі) і пристрій перетворився на миготливу цеглу, то

а) Заспокоїться, попити солодкого чаю тощо.

б) Є можливість відновити працездатність приладу процедурою відновлення через serial інтерфейс, але для цього знадобиться розкриття корпусу, можливе використання паяльника (хоча можна обійтися і без нього), спеціальний кабель, комп'ютер з ОС Windows XP і трохи більше часу.

1.3 Основні налаштування DD-WRT.

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

1.3.1. Первоначальное оформление web интерфейса мне лично не нравится, поэтому сразу меняю его на более приличное (тем более оно на телефоне корректно отображается, смена оформления в пункте меню Administration- Management — выбор из списка в разделе Router Gui Style- Style — мені більше до душі xirian, процедура на малюнку 1.3, де так само можливо змінити мову, і інші налаштування, Save + Apply Settings

Рис.1.3 — Зміна оформлення та інші налаштування

Отримуємо такий вигляд web-інтерфейсу (мал.1.4), не подобається — обирайте на свій розсуд.

Рис.1. 4-Xirian оформлення WEB-інтерейсу DD-WRT

Альтернативна версія мікрокоду DD-WRT має досить гарний російський інтерфейс, може комусь він більше до вподоби (рис. 1.5)

Рис.1.5 — Російський варіант інтерфейсу DD-WRT

Одразу необхідно налаштувати доступ до Internet і перевірити роботу, тому що в деяких залізних версіях роутера після перепрошивки кудись зникає WAN-інтерфейс, під час повернення на рідну прошивку повертається, хоча це лікується додатковим перепрошиванням у якийсь реліз прошивки, після чого можна на новішу переходити.

2. Підключення зовнішнього пристрою зберігання інформації.

Завдання: організувати зберігання інформації на зовнішньому носії інформації через usb інтерфейс (зовнішній hdd, для любителів тиші — ssd). Особисто використовував накопичувачі на жорстких магнітних дисках із частотою обертів шпинделя 5400-5900 rpm, тому що домагався максимально комфортних умов роботи в нічний час. HDD поміщалися в зовнішні бокси (спочатку був 3.5' з окремим зовнішнім блоком живлення, потім 2.5', якому вистачає живлення від одного USB-порту роутера, та й місця займає значно менше, є можливість гарно прикрутити пристрій прямо до роутера.

Мої варіанти використання зовнішніх боксів:

Рис.2. 1-Початковий варіант 1043+1TB 3.5' hdd

Рис.2.1а — Модернізований варіант роутера — 2.5' зовнішній бокс прикріплений силіконовими цвяхами до верхньої кришки роутера — варіант МОНОЛІТ_1043.

Рис.2.2 — TL-WDR4300ND + 500 GB hdd — Моноліт-2 бокс прикріплений силіконовими цвяхами.

2.1 Створення необхідних розділів на hdd.

Для коректної роботи нам знадобиться мінімум два розділи, але краще 3. Створюємо такі розділи на hdd (можливо використовувати ПЗ Acronis)

— 100 МБ — файлова система ext2 — системний диск, куди встановлюватимемо пакети програм, бажано, щоб він був якраз першим. Встановлення програмного забезпечення на зовнішній hdd зумовлене малим об'ємом flash-пам'яті пристрою (всього 8 МБ доступної пам'яті)

— Основний розділ — файлова система EXT3 — файлове сховище. Звісно, можливе використання і звичної NTFS, але заради простоти і швидкості роботи із зовнішнім носієм інформації краще використовувати цю файлову систему. У зв'язку з тим, що процесор був зроблений для завдань маршрутизації, характеристики обмежені, під час копіювання інформації із зовнішнього носія інформації процесор буде завантажуватися на 100%, водночас швидкість запису читання з файловою системою NTFS буде близько 3-5 MBps (до 20 Мбіт/с), з FAT32 5-7 MBps (до 50 Мбіт/с), а в разі використання EXT3 швидкість передавання даних буде 10-13 MBps (до 80-100 Мбіт/с) (Дані на моделях роутерів TP-Link TL-WR1043-ND і TL-WDR4300-ND).

— крайній (не особливо обов'язковий) 100 МБ — swap — розділ файлу підкачки, необхідний у разі нестачі оперативної пам'яті роутера.

2.2 Підключення зовнішнього носія інформації через usb інтерфейс роутера

Підключаємо hdd, що знаходиться в зовнішньому корпусі, можна зробити невелику модернізацію роутера, як це зробив я.

2.2.1 Увімкнення функції роботи із зовнішнім пристроєм зберігання інформації.

Через web- интерфейс роутера (у Вас должна быть уже установлена альтернативная версия микрокода) переходим к разделу Services-USB, виставляємо в Enable все, окрім використання принтера, точкою монтування обираємо /opt, тому що перший розділ у нас для програмного забезпечення, і натискаємо застосувати (Applay), повинно вийти подібно до цього малюнку 2.4.

Рис.2.4 — Підключення зовнішнього накопичувача інформації

Тут же запам'ятовуємо номер пристрою всіх дисків, у цьому прикладі:

Основний розділ буде /dev/sda5, Swap розділ /dev/sda/6 — ці дані стануть у пригоді надалі.

2.2.2 Підключення основного розділу.

Необхідно підключити основний розділ диска — файлового сховища. Точка монтування основного розділу буде /mnt .

Найкращий варіант це робота в консолі, або стандартним способом через telnet клієнт, або використовуючи програму на зразок putty, різниці немає. Telnet підключення (Пуск-виконати telnet 192.168.1.1 якщо у Вас Win7, то спершу необхідно увімкнути telnet клієнт). Буде запит на введення користувача і пароля, ВАЖЛИВО користувач root, навіть якщо в web інтерфейсі зовсім інший, а пароль на доступ — адміністративний пароль для доступу до web інтерфейсу (тому я радив вводити ім'я користувача root, щоб не створити плутанини).

Рис.2.5- telnet з'єднання з роутером, введення логіна/пароля

Монтуємо основний диск командою:

mount /dev/sda5 /mnt

Командою d f-h подивимося примонтовані диски, маємо побачити, що наш 100МБ диск змонтований в /opt (/dev/sda4), основний диск змонтований в /mnt (/dev/sda5).

Рис. 2.6 — перевірка монтування дисків

Для автоматического подключения основного раздела необходимо в разделе Administration-Commands скопіювати команду mount /dev/sda5 /mnt і зберегти її Save Startup.

2.2.3 Створення загальнодоступного ресурсу.

Основной раздел диска успешно подключен, переходим к следующему этпау. Переходим в web интерфейсе на раздел Services-NAS

Найзручніший варіант це ftp сервер — простий доступ до файлів як з домашньої мережі, так і з мережі інтернет, якщо це знадобитися

Користувачі та паролі пишуться через пробіл, кожна пара користувач/пароль пишеться з нового рядка.

Рис.2.7 — налаштування ftp-сервера з WEB-інтерфейсу

Другий варіант для користувачів Windows він зручніший — це Samba — у мережевому оточенні буде видно розшарений ресурс, мінус цього рішення — він значно більше завантажує процесор, як наслідок менша швидкість читання/запису інформації. Налаштування з web інтерфейсу показано на рис. 2.8

Рис. 2.8 — налаштування samba

Server String — відображається ім'я станції (комп'ютера) в мережевому оточенні

Workgroup — робоча група — за замовчуванням вона так само і називається 😉 — міняєте на свою

Shares — табличка для створення різних мережевих ресурсів, аж до каталогу, створюється необхідна кількість із різними правами.

Users — табличка користувачів із паролями, і доступ до ресурсів

Перевіряємо доступність із мережі будь-яким способом. той самий Total Commander (рис. 2.9)

Рис. 2.9 — перевірка ftp через Total Commander

3. Встановлення додаткового програмного забезпечення: торрент клієнта transmission на dd-wrt

Перенесення системного розділу на зовнішній носій інформації. Суть полягає в наступному: під час завантаження роутер має визначити доступність зовнішнього системного диска, примонтувати всі системні папки із зовнішнього носія, і вже використовувати його як основний.

УВАГА: НЕОБХІДНО ІНТЕРНЕТ З'ЄДНАННЯ. для подальших дій вкрай необхідний доступ роутера до мережі Internet.

3.1 Переносимо файли на зовнішній носій інформації,

монтуємо системні папки із зовнішнього носія інформації, встановлюємо останню версію ipkg, робимо невеличку хитрість для монтування всіх розділів після перезавантаження, для перевірки доступності системного розділу жорсткого диска — створюємо файлик у корені /opt (файдом буде usb.hdd), якщо є, то за його наявності монтуватимуться всі інші розділи і папки.

команди в telnet:

c p-a /etc/ /opt/ c p-a /bin/ /opt/ c p-a /lib/ /opt/ c p-a /usr/ /opt/ c p-a /tmp/ /opt/ c p-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

Підключаємо репозиторій із пакетами. (цей репозиторій досить часто оновлюється (оновлювався), тож свіжі версії пакетів/бібліотек/програм можна знайти там)

mv /etc/ipkg.conf /etc/ipkg.conf.orig echo -e src backfire http://downloads.openwrt.org/snapshots/trunk/ar71xx/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 ipkg install coreutils-sort

УВАГА.

можливо не вистачає зворотних слешів! дивіться уважно Рис.3.0, має бути подібне.

Рис.3.0 — Приклад команди в консолі, і що має бути після команди update

Робимо фокус мітку-файлик, який допомагатиме роутеру зрозуміти, що до нього під'єднано зовнішній носій із програмами.

cd /opt touch usb.hdd

3.2. встановлюємо торрент клієнт transmission, проста нсатройка:

Через віддалений доступ до розділу /mnt створюємо потрібну нам структуру каталогів, мій варіант

/mnt/!torrent_files/downloads — папка за замовчуванням для завантажуваних файлів /mnt/!torrent_files/films /mnt/!torrent_files/programs

Команди для встановлення в консолі:

ipkg update sleep 1 ipkg install transmission-daemon ipkg install transmission-web ipkg install transmission-web ipkg install transmission-remote ipkg install transmission-cli

Пробний запуск transmission команда:

/opt/usr/bin/transmission-daemo n-g /opt/etc/trasmissio n-a *.*.*.* -w /mnt/!torrent_files/download s-p 66 6-t -u roo t-v password

Де 666 — порт підключення (вибрати свій)

password — пароль на підключення — придумати свій

*.*.*.*.* це мережа, з якої буде доступне віддалене керування transmission — при такому вигляді доступ буде з будь-якої ip адреси, тобто безпроблемне керування через інтернет з інших комп'ютерів.

Хоча є web інтерфейс цього торрент клієнта, але він незручний і малоінформативний, тому рекомендую використовувати TransmissionRemoteGUI — безкоштовна програма віддаленого керування з інтерфейсом, подібним до utorrent до 3 версії (Мал.3.1). Останню версію якої можливо завантажити на офіційному сайті тут

Рис.3.1 — Інтерфейс TransmissionRemoteGUI

Качаємо офіційно безкоштовно без проблем. Після встановлення, запускаємо меню створення з'єднання — вводите IP адресу роутера (якщо в домашній мережі за замовчуванням то 192.168.1.1); порт, той, що ввели командою, у мене це 666, пароль і користувач відповідно, наочно — мал.3.2.

Рис. 3.2 — Нове з'єднання TransmissionRemoteGUI

Переходимо до налаштувань transmission. Звісно, можна налаштувати все через консоль (telnet), тільки простіше і зрозуміліше через TransmissionRemoteGUI. Натискаємо на значок гайкового ключа і потрапляємо в налаштування. Основне це прибрати галочку з пункту Дозволити DHT (мал. 3.3), окрім постійного 100% завантаження процесора зі зниженням швидкостей скачування/віддачі, не дає. Кількість пірів дослідним шляхом отримана 30-40, більша кількість призведе до постійного 100% завантаження процесора.

Рис. 3.3 — налаштування transmission через TransmissionRemoteGUI.

Закладка налаштувань Швидкість дає додаткові можливості регулювань швидкостей скачування/роздачі (з урахуванням нічних прискорень) так, щоб найменшим чином впливати на доступ до мережі Internet з інших пристроїв (без додаткового використання QOS) рис. 3.4

Рис.3.4 — Налаштування швидкостей скачування/роздачі

Після всіх виконаних операцій вимикаємо transmission

killall transmission-daemon

3.3. ставимо консольний менеджер файлів mc

ipkg install mc

запуск у консолі mc або /opt/usr/bin/mc

3.4 Запуск під час перезавантаження та вимкнення

Для возможности корректной работы полученной системы после перезагрузки, отключения электроэнергии. Переходим в раздел Administration-Commands, куди копіюємо

sleep 20 if [ -f /opt/usb.hdd ]; then 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 10 mount /dev/sda5 /mnt sleep 10 /opt/usr/bin/transmission-daemo n-g /opt/etc/trasmissio n-a *. *.*.*.* -w /mnt/!t_files/download s-p 66 6-t -u roo t-v password else exit fi

зберігаємо, натиснувши на Save Startu p

Рис.3.6 — Збереження команд для автоматичного запуску під час увімкнення пристрою

Можна перезавантажувати пристрій, команда

reboot

или через web интерфейс в разделе Administration- Management внизу кнопка Reboot Route r.

Якщо після перезавантаження все запрацювало, користуємося і радіємо 😉

Оновлення прошивки DD-WRT

У Вас працює роутер, налаштований за наведеною вище інструкцією, і через деякий час виходить нова стабільна версія мікрокоду DD-WRT (прошивка), почитавши відгуки, нові можливості, Ви вирішили оновити на цю версію, безпосередньо одразу оновити не вийде, послідовність дій буде така:

1) Отримуємо нову версію мікрокоду для Вашого роутера, качаємо звідси ftp://dd-wrt.com/others/eko/BrainSlayer-V24-preSP2/ , файл мікрокоду tl-wr1043nd-webflash.bin

2) Видаляємо файл usb.hdd (щоб відключити монтування розділів із зовнішнього носія інформації та запуск програм, встановлених там же) і перезавантажуємо роутер, через telnet-з'єднання в консолі:

cd /opt r m-f usb.hdd reboot

3) Після перезавантаження видаляємо всі каталоги з 1 розділу ( /opt ) зовнішнього носія інформації команди в консоль (telnet)

cd /opt ls r m-rf /opt/bin r m-rf /opt/etc r m-rf /opt/jffs r m-rf /opt/lib r m-rf /opt/tmp r m-rf /opt/usr ls

контроль видалення через консоль (має бути порожньо):

4) Через браузер (желательно Internet Explorer) переходим в раздел Administration — Firmware Upgrade, де обираєте файл мікрокоду (tl-wr1043nd-webflash .bin), оновлюєте, роутер повинен буде перезавантажитися.

Рис. X-WEB варіант оновлення прошивки

5) після перезавантаження роутера, перевіряйте працездатність, далі (якщо ні чого не змінювалося) переходьте до консолі та копіюйте код (без роз'яснень):

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 mv /etc/ipkg.conf /etc/ipkg.conf.orig echo -e src backfire http://downloads.openwrt.org/snapshots/trunk/ar71xx/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 sleep 1 cd /opt touch usb. hdd ipkg install transmission-daemon ipkg install transmission-web ipkg install transmission-remote ipkg install transmission-cli sleep 2 mount /dev/sda5 /mnt sleep 1 /opt/usr/bin/transmission-daemo n-g /opt/etc/trasmissio n-a *.*.*.*.* -w /mnt/!t_files/download s-p 66 6-t -u roo t-v password d f-h

6) Налаштовуємо transmission-daemon або через консоль, або через TransmissionRemotegGUI

7) Перезавантажуємо роутер

у консолі команда reboot

8) Після успішного завантаження, остаточно перевіряємо працездатність пристрою на новій версії мікрокоду (прошивки).

p.p.s. Сподіваюся, кому-небудь знадобиться ця інструкція