Запис #14 "Відновлення роботи Радіомоста Ubiquiti AirGrid M2 через термінал"

Додано: 2015-11-12 16:49:13 'admin

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

Так сталось, що після блискавки на руках опинилось 3 таких антени. І всі вони відмовляються будь-яким чином іти на контакт. Хоча світлодіоди на їх корпусах мигають, говорячи про те, що десь в середині в них є життя... В браузері за адресою 192.168.1.20 - 404 помилка.

За допомогою легких маніпуляцій із кнопкою ресет за пару хвилин вдалось відновити роботу двох з них. Інструкція проста.

  1. Відключити живлення роутера.
  2. Під'єднати роутер відповідно до схеми підключення. 
  3. Затиснути в задній його частині кнопку ресет. (Біля роз'єму LAN).
  4. Ввімкнути живлення та чекати поки не замерехтять світлодіоди на корпусі. Повинно пройти біля 10 сек.
  5. Відпустити кнопку ресет.
  6. Налаштувати мережеву карту комп'ютера (IP - 192.168.1.254, mask - 24) (Повинен з'явитись пінг на 192.168.1.20)
  7. Через tftp залити нову прошивку, яку можна спокійно завантажити на сайті виробника. 
  8. Дочекатись процесу завантаження.
  9. Дочекатись кінця процесу прошивки та перезавантаження.
  10. Користуватись через інтерфейс 192.168.1.20.

Два пристрої пройшли цю процедуру без проблем. А от третій після 5-го пункту на відріз відмовлявся пінгуватись. Ну і як правило не була доступна функція прошивки через TFTP. Зовнішній огляд плати ніякого результату не дав. Явно не справних деталей не було видно. Вхідні кола перевірені тестером. Справні. От я і вирішив зазирнути у темну частину цих роутерів через термінал. 

Налаштування терміналу:

Підключення до порта роутера:

Підключення необхідно проводити при повній відсутності живлення як на роутері так і на шнурі. Тобто при закритому терміналі на комп'ютері (COM порт повинен бути закритим). Також обов'язкове підключення корпусного проводу шнура термінала. Цих умов необхідно дотримуватись по причині різних живлячих напруг порта (від комп'ютера) та роутера (від власного блоку живлення). В разі великої різниці потенціалів між корпусними проводами цих пристроїв при "гарячому" підключенні можливі пробої одного з них або враження струмом. 

Після першого запуску я побачив такий вивід у термінал: 

При повній відсутності життя ззовні я був радий побачити, що роутер намагається щось завантажити.. На перший погляд проблема полягає у зависанні роутера під час завантаження його особистої ОС під назвою AirOS. Але, як потім виявилось, це заголовок, який видає U-Boot в термінал перед початком завантаження самої ОС на основі BusyBox. 

Далі мені стало цікаво, що видає термінал, коли я намагаюсь оновитись через TFTP.

Вивід в термінал під час ресету:

 

Роутер завантажує TFTP сервер, виставляє по дефолту адресу свого LAN-інтерфейсу та очікує на з'єднання. Але в цей час мережа не піднімається. 
Налаштування LAN-інтерфейсу на комп'ютері:

 

На жаль пінгу від роутера я так і не добився. Але тішила надія, що все-таки він очікує на з'єднання. І ці 10Мб.. Невже роутер не підніме 100Мб?

Що ж.. Вісяк.. Вертаюсь до терміналу. Спробую перебити автозавантаження (Hit any key to stop autoload:). І введу команду help:

Ооо.. Тепер я маю перелік команд, якими можна оперувати до завантаження ОС.

Для відображення того, що відбувається після спроби завантажитись, необхідно змінити ініціалізаційні дані. А саме потік для виводу даних з tty0 на ttyS0:

І о чудо! Я побачив, як вантажиться вся система. Крім того. Я зміг зайти під стандартними логіном і паролем у систему. Тут вони ubnt/ubnt. Мене вітає BusyBox ))) А сітки і далі нема..

Тепер перед мною постала задача оновити систему. Так як вона тут 2011 року. Тобто з дати виготовлення і в мене є велика підозра на те, що все-таки пошкодженні якісь дані, що відповідають за мережу. Але як це зробити без самої мережі?.. Треба пробігтись по інтерфейсам та переглянути їх налаштування.

dmesg | grep -i duplex
ifconfig
ifconfig eth0
ifconfig eth0 down
ifconfig eth0 up

... і тут я помітив мерехтіння світлодіода мережі на платі роутера...

Спробував пропінгувати комп'ютер:

 

(для збільшення зображення відкрийте його у новій вкладці)
Сталось чудо. Роутер почав пінгувати комп'ютер. Я спробував зробити пінг з комп'ютера до роутера. Пішов. Потім на радостях поліз на веб морду і.. пінг пропав. Тьфу. А була така надія.. Спробував знову пересмикнути ЛАН - і знову є пінг і знову пробую грузити морду і знову падає мережа. 

Розчарувався. Вже хотів качати PSTP для того щоб залити прошивку на роутер. Навіть знайшов у документації як прошити з роутера сам роутер. (тут, якщо шось..). Та чомусь вирішив спробувати перед усім цим погратись із швидкістю та дуплексами самого інтерфейсу. На щастя на борту BusyBox була ethtool утиліта. 

ethtool -s eth0 speed 10 duplex half

і передьоргування кабелю сотворили диво. З'єднання стало більш-менш стабільним. При швидкості 100Мб і любому дуплексі з'єднання взагалі пропадало і роутер набував первинного статусу. Кинувся я шнури міняти. Результат той самий. Виставивши 10Мб і напівдуплекс поліз на веб морду. Відкрилась. Вирішив, поки така радість залити прошивку. через SCP

 

Пішла.. Переконавшись у стабільності з'єднання оновив ПЗ із веб інтерфейсу.

 

Оновлення пройшло успішно. Хвала Богам! Впевнений у тому, що муки мої закінчились - сміло включив роутер і.. він не відповів.. ;(

Але на цей раз процедура оновлення ПЗ із TFTP пройшла також успішно. 

Роутер на відріз відмовляєть працювати в інших, крім як, 10Мб і напівдублекс режимах. Думаю, що це проблема самого процесора AR7240, в якого після блискавки могли підгоріти певні регістри, що відповідають за повний дуплекс. Але як на мене, то на худий кінець можна використовувати і той режим, який для нього є доступним. Хоча повноцінно він вже не зможе забезпечити максимальну швидкість в 100Mbps. 

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

Коментарі: