Приехал в ремонт и на переделку от нашего форумчанина
Lutykа роутер TP-Link TL-MR3020.


Неработоспособное состояние последнего вызвано после "бутовой" прошивки, что встречается довольно часто, можно так сказать - "классика", когда после альтернативной нужно вернуть "родную" официальную. Чтобы избежать подобных неприятностей, нужно "влить" заводскую "безбутовую" прошивку, а уже после можно обновлять и официальными "бутовыми". Официальную прошивку для TP-Link TL-MR3020 H/W: v1.x без "бута" можно скачать из списка по ссылке ниже:
http://drive.google.com/open?id=0B4cEc8Y0aCa7fkFnNU4zSjZxVFBOQWhvT2ZhVHEzbndlWUw2RF9JbjBVM3dqWk9mdFl1TFE#list.
Данная прошивка необходима, если нужно вернуть обратно официальную тп-линковскую прошивку после альтернативных опенвртшной, ддвртшной, гаргулевской и т.д. Это если роутер "живой" и нормально перепрошивается по LAN кабелю через вєб интерфейс. Пытаться перепрошить через вэб интерфейс с подключением по WiFi - не нужно, есть высокая степень вероятности получить после этого "кирпич", то бишь - неработоспособное устройство. LAN кабель - все же надежнее. Если устройство уже неработоспособное, то "поднять" роутер можно несколькими способами, описание которых есть в интернете. Как "хардварщику", мне удобнее использовать консольный порт uart + софт tftpd и putty. Как обычно, начнем с разборки самого роутера, корпус которого состоит из двух частей: основная белая часть и серая крышка. Крышка держится на двух защелках, одна над входом питания mini-USB, другая на противоположной стороне на расстоянии ~10мм от лого "TP-LINK". Крышка дополнительно приклеена к корпусу по всему периметру, кроме мест где находятся защелки, вход RJ-45 и вход USB 3G. Начинать стоит от RJ-45, аккуратно поддевая крышку тонким, но прочным лезвием, например - скальпелем. "Продвигаемся" в сторону USB 3G разъема, пока не достигнем стороны с логотипом "TP-LINK". Теперь уже получиться заглянуть внутрь. Оставшуюся сторону с индикаторами нужно отрывать с осторожностью, т.к. пластиковые светопроводники - хрупкие и уходят вглубь корпуса, до самых светодиодов на плате. Их легко согнуть или сломать, если слишком усердно нажимать на инструмент. Лучше отрывать оставшуюся часть крышки легким раскачиванием. При аккуратном извлечении, крышка должна без особых проблем встать на прежнее место после небольшой "зачистки" по периметру от остатков склеивания. Плата легко извлекается и на ней видно UART разъем (Р1) консольного порта или "посадочные места" под разъем, если последний не запаян.


Распиновка P1 (первый пин указан на плате - "квадратный"):
1 - TX
2 - RX
3 - GND
4 - VCC (+3,3В)
Подключать "напрямую" этот порт нельзя. Многие ошибочно полагают, что UART - это все равно, что СОМ-порт в старых материнских платах интерфейса RS-232 и подключают "тупо в лоб", что приводит к полной неработоспособности - в лучшем случае "выгорит" порт, в худшем - сам чип, так как амплитуда напряжений интерфейса RS-232 составляет +/-12В. Для подключения RS-232 можно использовать аппаратные преобразователи уровней на чипе типа МАХ3232 или аналогичных, но ввиду того, что в новых матплатах и ноутбуках интерфейс RS-232 отсутствует, но есть USB - то вполне годятся преобразователи на чипах от Silicon Labs CP2101(2) (ex Cygnal), Prolific PL2303 и других. Например, можно использовать кабели от старых мобильных телефонов Нокия: CA-42 или DKU-5, Сименс: DCA-510 или другие, которые содержат в себе преобразователь USB-2-TTL на аппаратном уровне + соответствующие чипам кабеля драйверы виртуального СОМ-порта (Windows). Самая большая "мудистика" - это "выведение" роутера из состояния "кирпича" или "комы". Итак, идем по порядку: подключаем LAN кабель и вручную устанавливаем IP адрес сетевой карты компьютера 192.168.1.100, маска подсети 255.255.255.0 (для 3020, под другие роутеры IP адрес может быть иным). Запускаем putty и настраиваем serial порт:
Port: COM2 (номер порта берется из диспетчера)
Bits per second: 115200
Data bits: 8
Stop bits: 1
Parity: None
Flow control: Xon/Xoff
Открываем окно консоли putty. Подключаем питание роутера. После 1-2 секунд, в окне консоли putty видим Autobooting in 1 seconds - как только это видим, то быстро вводим tpl с клавиатуры. Не получилось? Ну тогда еще и еще раз, пока не получится.
Using default environment
In: serial
Out: serial
Err: serial
Net: ag7240_enet_initialize...
No valid address in Flash. Using fixed address : cfg1 0x5 cfg2 0x7114
eth0: 00:03:7f:09:0b:ad
ag7240_phy_setup
eth0 up : cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
athrs26_reg_init_lan
ATHRS26: resetting s26
ATHRS26: s26 reset done
ag7240_phy_setup
eth1 up
eth0, eth1
Autobooting in 1 seconds
[type tpl here]
Уже получилось? Это хорошо, тогда идем дальше: запускаем tftpd, выбираем IP адрес 192.168.1.100 и указываем папку, где лежит файл прошивки (например D:\3020\1.bin). В консоли отображается строка "hornet>" и ожидает ввода команд. Вводим следующие команды:
tftpboot 0x80000000 1.bin - загрузка файла прошивки в память роутера
erase 0x9f020000 +0x3c0000 - стирание области памяти под прошивку
cp.b 0x80000000 0x9f020000 0x3c0000 - копирование прошивки в ROM
bootm 9f020000 - ребут
Если все ОК, то в окне консоли все будет выглядеть примерно так:
hornet> setenv ipaddr <device-ip, eg. 192.168.1.111>
hornet> setenv serverip <server-ip, eg. 192.168.1.100>
hornet> tftpboot 0x80000000 1.bin
eth1 link down
dup 1 speed 100
Using eth0 device
TFTP from server 192.168.1.100; our IP address is 192.168.1.111
Filename '1.bin'.
Load address: 0x80000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
######################################################
done
Bytes transferred = 3932160 (3c0000 hex)
hornet> erase 0x9f020000 +0x3c0000
First 0x2 last 0x3d sector size 0x10000 61
Erased 60 sectors
hornet> cp.b 0x80000000 0x9f020000 0x3c0000
Copy to Flash... write addr: 9f020000
done
hornet> bootm 9f020000
С этим вроде как разобрались. Теперь о прошивке: собирать прошивки самостоятельно - не умею (тут уж извините, кто на что учился). Из имеющихся прошивок в интернете - последние не особо "радовали" тем, чего хотелось, а именно - в плане поддержки разных USB модемов. Перебрав несколько и не получив удовлетворительного результата - стал "рыскать" по форумам и на каком-то из них - упомянули о гаргулевской прошивке от поляков, которую нашел на сайте
http://eko.one.
/
и с которой таки заработал злополучный пантеч UM150 (также был в наличии "окирпиченый" 3220 от нашего форумчанина из Волновахи, который нужно было не только "оживить", но и "заставить" работать со 150-м пантечем). Вэб-мордочка вроде как "симпатичная".


А это консоль.

Но это еще не все. Первое, что хотелось "доработать" - это "добавить" внешнюю антенну. Антенна, SMA коннектор с "хвостиком" - были взяты из "убитого" дройтека 2130. В интернете такая доработка уже производилась. Единственное, на что у меня не "поднялась рука" - так это обрезать маленький разъем и припаять кабель прямо к плате. Сделал по другому: "зачистил" место на плате, пролудил, запаял ответный коннектор прямо на плату и WiFi "хвостик" не пришлось "резать". Помониторил приблизительные показатели инсайдера на своем WiFi адаптере: до переделки уровень сигнала от роутера был приблизительно 12..13дбм, после переделки на внешнюю антенну - 17..18дбм, то есть - уровень сигнала чуть-чуть увеличился. Глобального увеличения ожидать не приходится, так как не стоит забывать, что есть аппаратные ресурсы, которые далеко не безграничны, а каких-либо усилителей в приемо-передающей части роутера нет и поэтому увеличение антенны до размеров тихоокеанского лайнера - ничего не даст, а может быть даже хуже. Был случай, когда дешево продавали асусовский WiFi адаптер и на вопрос о причине продажи так дешево (1/4 цены нового в магазине) - ответили, что "дальность" плохая, в пределах квартиры еще так-сяк, а дальше - не "тянет". Когда пришел на встречу с продавцом, то был удивлен неким "дрючком" в комплекте. Оказалось, что это антенна типа 10 или 12 дби:

А "родная" в комплекте идет на 2 дби:

Работало действительно плохо и нестабильно, уровень сигнала "скакал" непредсказуемо, а когда подсоединил "родную" - все "устаканилось" и нормально заработало. Антенна же 10 или 12 дби - великолепно "сработалась" с "альфообразным" адаптером, мощностью 1 ватт. Получается как в поговорке: "что занадто - то не здраво", то бишь - большая антенна для маломощного передатчика - только во вред. Второе: у роутера 3020 есть mini-USB разъем, который используется только для питания +5В самого роутера + 3G USB. А выводы D+/D- "лысые", то есть - не задействованы. Отсюда и возникла мысль задействовать эти выводы mini-USB разъема под USB-2-TTL преобразователь UART роутера. Был "раздербанен" кабель DCA-510, плата которого с чипом СР-2102 была помещена внутрь роутера и подключена "как полагается". Теперь можно не бояться случайно "окирпичить" роутер - LAN есть, USB есть, подключил, "поднял" и можно дальше экспериментировать с прошивками. Также этот консольный порт можно использовать с соответствующей прошивкой для шаринга спутникового ТВ и т.д.

"Виновник торжества" на "заключительном этапе".


