Прошивка D-Link 2100AP + OpenWRT через COM без JTAG кабелю
Прошиваємо стареньку, але потужну, професіональну і все ще актуальну точку доступу DWL-2100AP прошивкою OpenWRT, що значно розширить її можливості.
Напевно багато хто хотів встановити цю прошивку на 2100AP, але знайшовши в інтернеті інструкції, в яких потребується ручна збірка по “страшним” схемам (на яку можете полюбуватися тут) так званого JTAG кабелю, здавалося виконати це неможливо, особливо тим, хто з паяльником раз в декілька років працював.
Власне я сам коли подивився на ті схеми, подумав, – “це ж ким потрібно бути щоб таке зпаяти, і де оце такі деталі шукати??”. Але мені пощастило знайти одне непримітне повідомлення на зарубіжному форумі, де описується як можна встановити необхідний завантажувач RedBoot ( завантажити ), який необхідний для встановлення OpenWRT, через СОМ-порт. Тож, ось власне що ми робимо. Необхідне спорядження: Точка DWL-2100AP Моральна підготовка до того що ви цю точку можете зіпсувати необережним поводженням з паяльником, ну і звичайно втрата гарантії якщо ще діє. USB-кабель від будь-якого старого телефону (в мене в наявності від Siemens C-55). Взагалі такий кабель має посередині коробочку з платою що працює в режимі USB-to-UART Bridge і йде з чіпсетом CP210x або MAX232 тощо. Такий кабель можна придбати на ринку або в магазинах всього за 30-40 грн а можливо й ще дешевше. Паяльник, олово, каніфоль, викрутка, ножиці – як звичайно. Windows ОС, програмка HyperTerminal (входить до Windows XP) або Putty; tftp-сервер. RedBoot (прикріплено до посту), сумісна версія OpenWRT, яку завантажуємо для нашої моделі точки доступу звідси, а саме такі два файли: openwrt-atheros-root.squashfs та openwrt-atheros-vmlinux.lzma. Крок I. Беремо телефонний кабель. В мене він має такий вигляд: Розбираємо його та виконуємо наступне ЗА ВИБОРОМ: а) Якщо вам важливо зберегти його в цілісності, підпаюйте додаткові дроти зі сторони виходу на телефон як показано на малюнку нижче. б) Відріжте штекер що йде до телефону за зачистіть дроти (якщо у вас не CP2101, знайдіть схему в інеті і визначте де виходить Rx, Tx і Gnd), у випадку з таким же кабелем до Siemens C55, у вас скоріше за все, будуть ті ж самі кольори 3-ох дротів, що розглядаються на прикладі цього посту. Крок II. Зробити повний RESET точки, вимкнути, зняти верхню кришку. Бачимо наступну картину: P.S: Під’єднані дроти вже були припаяні мною ще до знімку. Паяємо 3 дроти в такому вигляді (згідно вашого кабелю якщо відрізняється):
Коли все готово, вставляємо кабель в USB порт комп’ютера не вмикаючи точки доступу, встановлюємо необхідні драйвери (для CP2101 драйвер можна завантажити тут ).
Крок III. Запускаємо HyperTerminal або Putty, налаштовуємо на необхідний номер порту, який можна подивитися в диспетчері обладнання, напр. COM8, швидкість 9600.
Вмикаємо точку доступу. Якщо все вірно, ви побачите у вікні програми наступний текст:
Крок IV: Попереднє налаштування (виконання команд в терміналі).
Після того як ви побачили повідомлення що показане вище на малюнку, під’єднайте мережевий дріт в Ethernet порт точки та комп’ютера, вимкніть та увімкніть точку знову. Після повідомлення “SDRAM….PASSED!!!” натискайте клавішу “ESC” до тих пір, доки не з’явиться запрошення [boot], після чого можна виконувати необхідні команди. Якщо не вийшло з першого разу, просто повторіть крок з початку.
Увага всі команди тільки латиницею!
Введіть p, занотуйте відображену інформацію на випадок якщо потрібно буде відновити ці налаштування.
Введіть с, та змініть значення на наступні (!Увага. При використанні Putty я зіткнувся з проблемою, що при помилковому введенні неможна користуватися клавішою СТЕРТИ (стрілка вліво) або DELETE, тому що ці введення потім записуються в налаштування якимись ієрогліфами. Тому при помилці починайте з початку командою с).
- boot device : ae1
- unit number : 0
- processor number : 0
- file name : reboot.img
- inet on ethernet (e) : 192.168.1.20:ffffff00
- host inet (h) : 192.168.1.21
- gateway inet (g) :
- flags (f) : 0x80
- other (o) : ae
Де “inet on ethernet” – IP адреса точки доступу (стандартна, змінювати не потрібно), “inet on ethernet” – IP адреса комп’ютера (потрібно встановити статичну адресу в налаштуваннях LAN адаптера, наприклад 192.168.1.21 або іншу і відповідно внести в налаштування). Якщо окрім цих налаштувань видаються додатково деякі інші, просто залишити як є натисканням ENTER. Крок V: Встановлення на комп’ютер TFTP. Прошивка завантажувача RedBoot. Завнтажте невеликий TFTP сервер та встановіть його (посилання на початку статті). Створіть папку (наприклад C:/www), помістіть в цю папку файли RedBoot (їх повинно бути два, приєднані до цього посту) запустіть TFTP, у вікні якого обрати щойно створену папку, нижче повинна відображатися IP адреса комп’ютера яку ми до цього ввели в налаштування точки. Згорніть вікно TFTP. Вимкніть та увімкніть точку не закриваючи термінального вікна, якщо все правильно, то ви побачите наступне:
Якщо ж щось не так, то побачите наступні повідомлення що повторюються (див. мал. нижче). В цьому випадку перевірте правильність налаштувань в попередніх кроках.
Тепер введіть наступні команди RedBoot>:
- fis init -f
- load -r -b %{FREEMEMLO} redboot.bin -h 192.168.1.21 -m tftp
- fis create RedBoot
На запит “An image named ‘RedBoot’ exists – continue (y/n)?” відповісти y.
- reset
Готово! Завантажувач встановлено для подальшого встановлення OpenWRT. Результат на малюнку:
Крок VI: Встановлення прошивки OpenWRT. Нічого не закриваючи і не від’єднуючи після попередніх кроків, копіюємо 2 файла прошивки в створену папку (C:/www). Вводимо наступні команди RedBoot>:
- fconfig boot_script true
- fconfig boot_script_timeout 2
- fconfig
- Run script at boot: true
Boot script:
Enter script, terminate with empty line
- >> fis load -l linux
- >> go
- >>
- Boot script timeout (1000ms resolution) : 2
- Use BOOTP for network configuration : false
- Local IP address : 192.168.1.1
- Local IP address mask : 255.255.255.0
- Default server IP address : 192.168.1.254
- Console baud rate : 9000
- Force console for special debug messages : false
- Network debug at boot time : false
На запит “Update RedBoot non-volatile configuration – continue (y/n?)” відповісти “y”
- fis init -f
- load -r -b 0x80041000 openwrt-atheros-vmlinux.lzma -h 192.168.1.21 -m tftp
- fis create -r 0x80041000 linux
- load -r -b 0x80041000 openwrt-atheros-root.squashfs -h 192.168.1.2 -m tftp
- fis create -r 0x80041000 -e 0x0 rootfs
- reset
де 192.168.1.21 – IP адреса вашого комп’ютера з TFTP сервером та файлами прошивки.
Готово! Прошивка встановлена, тепер можна від’єднати всі дроти і закрити програми. Для входу в Web інтерфейс OpenWRT, використосуйте адресу http://192.168.1.1
Ну от і все!
Відновлення стандартних налаштувань, перевстановлення прошивки.
Відновити стандартні налаштування за допомогою кнопки RESET мені так і не вдалося (кнопка просто не працює). Тому єдиний спосіб відновити налаштування прошивки це її повне перевстановлення.
Запустіть TFTP сервер на комп’ютері з файлами прошивки (див статтю вище). Налаштуйте статичну IP адресу комп’ютера на 192.168.1.2 та з’єднайте точку доступу 2100AP з еthernet портом. Відкрийте Putty та почніть з’єднання з адресою 192.168.1.1 порт 9000, тип – TelNet. Доки не відобразилось повідомлення про таймаут з’єднання, увімкніть точку доступу в електромережу.
У вікні Putty має з’явитися запрошення завантажувача Redboot>
Введіть наступні команди:
- fis init -f (Відповісти Y)
- load -r -b 0x80041000 openwrt-atheros-vmlinux.lzma -h 192.168.1.2 -m tftp
- fis create -r 0x80041000 linux
- load -r -b 0x80041000 openwrt-atheros-root.squashfs -h 192.168.1.2 -m tftp
- fis create -r 0x80041000 -e 0x0 rootfs
- reset
де 192.168.1.2 – статична адреса комп’ютера з запущеним tftp сервером.
Після цього, стандартний LuCi WEB інтерфейс OpenWRT буде доступний за адресою 192.168.1.1.