Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > CyberWrt

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.02.2014, 03:33   #1
ojw
Junior Member
 
Регистрация: 19.02.2014
Сообщений: 1
Вес репутации: 0
ojw is an unknown quantity at this point
По умолчанию Реанимация роутера TP-LINK 3020 с помощью Freeduino.

Доброго времени суток всем.
Решил поделиться своим опытом реанимации TP-LINK 3020 после экспериментов с прошивкой.
История по-моему достаточно полезная. Началось все с того, что от вынужденного безделья решил я поиграться с прошивками. Ну и лоханулся по полной программе. Мало того, что я делал это через WiFi, так еще и WiFi раздавался таким же модемом с заводской прошивкой и дефолтными настройками. Видимо айпишники где-то конфликтанули во время перепрошивки, и получил я красивый кирпичик, весело моргающий всеми светодиодами в циклическом ребуте.
Ну что делать, погоревал и полез в Гугл.
Минусы в моем положении были такие: Находился я на работе в дикой глуши, никаких магазинов поблизости, никаких переходников с USB на UART.
Были и плюсы: на роутере уже был распаян UART. И была в наличии плата Freeduino с USB портом. Только вот что-то примеров использования ее в качестве USB-UART моста я в инете не встретил. В основном напирали на платы с несколькими аппаратными UART, а тут один только. Ну и я не такой уж спец большой. Однако время свободное было, модем уже полутруп - терять практически нечего. Был риск доубить модем полностью, был вариант подождать возвращения домой (через месяц) и заняться модемом там, поискав нормальный переходник. Но месяц без этого модема означал для меня потерю впустую кучи времени, которое я планировал потратить как раз на потрошение этого модема. Второй мучить было жалко.
Ну и поехало. Достал фридуину, присобачил к компу. Залил туда для начала тот самый скетч:

Код:
void setup() {   
  pinMode(0, INPUT); //RX
  pinMode(1, INPUT);//TX 
}
void loop() {
}
Смутно представляя себе предстоящие мучения с софтварным serial или еще с чем, пока непонятным, стал подключать модем. RX-TX, TX-RX.

Где-то советовали резистор для согласования напряжений, у меня его не было. Кто-то советовал закоротить RESET на землю, что тоже казалось мне подозрительным. Решил, что полтора вольта разницы пофиг. Модем подрубил к сетевухе и сдуру включил... И увидел повторяющееся в такт мигающим светодиодам каждые две секунды:

Код:
U-Boot 1.1.4 (Nov 28 2011 - 09:34:00)
AP121 (ar9330) U-boot
DRAM:32 MB
id read 0x100000ff
flash size 4194304, sector count = 64
Flash: 4 MB
Using default environment
In: serial
Out: serial
Err: serial
Net: ag7240_enet_initialize...
No valid address in Flash. Using fixed address
: cfg1 0xf cfg2 0x7014
eth0: 00:03:7f:09:0b:ad
eth0 up
No valid address in Flash. Using fixed address
: cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
ATHRS26: resetting s26
ATHRS26: s26 reset done
eth1 up
eth0, eth1
Autobooting in 1 seconds...
И что это означало? Первое - что бутлоадер живой, а второе - где я это увидел. В окне ардуиновского serial монитора. А вверху окна маячило поле ввода и кнопка с чисто русским "Послать". Я подумал, набрал там "tpl", выждал появления "Autobooting in 1 seconds" и послал. Без всяких дополнительных терминалов, Putty и тому подобного. И оно остановилось!
Это просто не могло быть правдой.
- printenv - работает!

Я был в шоке. Дальше все как по маслу:

- Установил IP сетевухи ноута 192.168.1.100.
- запуск tftpd32, выбор прошивки.
- tftpboot 0x80000000 CyberWrt-v1.4.bin
- erase 0x9f020000 +0x3c0000
- cp.b 0x80000000 0x9f020000 0x3c0000
- bootm 0x9f020000
- вернул сетевухе получение IP автоматом...
И все это из serial монитора от Ардуино...
И все! В результате - живой модем! Причем что интересно - я даже "землю" забыл соединить между модемом и фридуиной. Заметил это уже после прошивки. Просто модем питание получал от USB того же ноута, что и Freeduino, видимо оно само там где-то соединилось.

Так что - глаза боятся, а руки делают. Удачи всем, кто будет повторять.

Последний раз редактировалось ojw; 19.02.2014 в 03:36.
ojw вне форума   Ответить с цитированием
Старый 19.02.2014, 12:09   #2
cyberlab
Senior Member
 
Регистрация: 25.11.2013
Сообщений: 116
Вес репутации: 0
cyberlab is an unknown quantity at this point
По умолчанию Re: Реанимация роутера TP-LINK 3020 с помощью Freeduino.

Спасибо за информацию, все доступно и достаточно понятно расписано

Цитата:
И была в наличии плата Freeduino с USB портом. Только вот что-то примеров использования ее в качестве USB-UART моста я в инете не встретил. В основном напирали на платы с несколькими аппаратными UART, а тут один только.
Странно что не нашли, вот здесь все лежит
cyberlab вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:27. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика