пятница, 15 февраля 2019 г.

Netis WF2411E Восстановление

Попался мне в руки Netis wf2411e, на котором горят только pwr и wps, реагирует на кабель. Что значит сие, я не знал, предположил что слетел загрузчик. После разборки роутера и изучения внутренностей я выяснил, что есть возможность подключиться и восстановить по UART.
Сам роутер построен на процессоре RTL8196E, посмотрев datasheet на него я отследил линии TX и RT. На самой плате имеется отладочный разъем, на который выведен и UART. Вот фото как подключиться к роутеру по UART.


Земля там представлена двумя контактными площадками. В качестве переходника - дешевый китайский USB-UART переходник. На всякий случай подключил его к роутеру через резисторы по 470 килоом, можно и без них - я просто перестраховался. Подключил RX переходника на TX на плате и, соответственно, TX переходника на RX на плате.
Программное обеспечение - Putty. И тут я столкнулся с тем, что не знал какая скорость COM-порта должна быть у RTL3411E. Методом перебора выяснил, что скорость UART роутера 38400. После подключения по UART и включения питания роутера он мне сыпонул в консоль вот такую вот вещь:

no sys signature at 00010000!
no sys signature at 00020000!
no rootfs signature at 000E0000!
no rootfs signature at 000F0000!
no rootfs signature at 00130000!
no rootfs signature at 000D0000!
no rootfs signature at 000D1000!
no rootfs signature at 000D2000!
no rootfs signature at 000D3000!
no rootfs signature at 000D4000!
no rootfs signature at 000D5000!
no rootfs signature at 000D6000!

Далее стандартный загрузчик realtek пригласил меня с ним побеседовать. Список команд я выяснил, воспользовавшись вопросительным знаком.


Из всего этого нас интересует только IPCONFIG. Команда IPCONFIG нужна для того, чтоб установить адрес роутера, по умолчанию это 192.168.1.6. На этот адрес мы будем заливать прошивку по tftp.
Для начала нам нужна сама прошивка, идем на официальный сайт netis - netis-systems.com. У меня этот сайт почему-то не открылся, потому я пошел на его украинский вариант netis.ua


Самая новая прошивка была с пометкой "обновление только через веб-интерфейс", поэтому я использовал прошивку от 17.03.2017. Скачал, распаковал, создал на диске С папку с коротким циферным названием, чтоб долго не прописывать путь и скопировал бинарный файл прошивки в эту папку. Сам файл я так же переименовал для удобства.

Теперь посмотрим, как включить TFTP-сервер в Windows. Для этого нам понадобиться всего одна команда:
dism /online /Enable-Feature /FeatureName:TFTP
Прошивать роутер можно напрямую подключив кабель в сетевую карту ПК, но я шью с ноутбука с нерабочей картой, потому шить буду по wi-fi. Для этого присваиваю роутеру IP из подсети, в которой нахожусь, командой ipconfig



Так же необходимо включить автозапись прошивки в постоянную память, для этого есть команда autoburn



Теперь подключим наш Netis к рабочему роутеру (или к ПК, если будете шить с компьютера). Подключаем кабель к 4-тому порту нетиса, именно LAN4, с другими портами ничего не выйдет. Если шьем напрямую с пк, то присвойте сетевой карте пк статический адрес из той же сети, что и адрес на нетисе (если на нетисе стандартный 192.168.1.6, то у компьютера дорлжен быть 192.168.1.2, например).
После подключения с командной строки переходим в папку с прошивкой командой cd, после чего запускаем отдачу файла прошивки по TFTP командой
tftp -i 192.168.88.100 put netis.bin
netis.bin - имя прошивки, я уже писал, что переименовал ее, дабы в командной строке было меньше писанины - меньше шансов ошибиться.
Запускаем команду и ждем, пока прошивка загрузится на роутер. После успешной загрузки увидим сообщение об успешной передаче



Смотрим вывод консоли с UART, если все нормально - роутер перезагрузится сам. Если в перезагрузку не ушел, ничего нового не пишет - немного ждем на всякий случай и перезагружаем вручную отключением питания. Если прошили успешно - будет вот такой вывод в консоль



Теперь это уже полностью рабочий нормальный роутер. Можно подключиться к нему и зайти через браузер. На всякий случай я залью самую новую версию прошивки уже через веб.



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