понедельник, 3 ноября 2014 г.

Прошивка OpenWrt из загрузчика по YMODEM

Поскольку иногда при перепрошивке роутера возникают проблемы с TFTP, то приходится вспоминать хорошо забытое старое. Исчерпывающий мануал на английском можно почитать здесь.
Протокол YMODEM  предназначен для передачи файлов между устройствами по последовательному порту в процессе терминальной сессии. Т.е. чтобы загрузить образ Linux в устройство, необходимо лишь подключение к его консоли.
Для отправки файла необходима любая программа, поддерживающая данный протокол, например HyperTerminal под Windows, либо Minicom из Linux.

Для перепрошивки DIR-615 выполняем следующее:
1. Подключаемся к консоли устройства через  HyperTerminal
2. Включаем роутер и Enter до появления "ar7240>  "
3. Вводим команду "loady
4. В меню HyperTerminal выбираем "Transfer"->"Send File". Выбираем образ OpenWrt, "Protocol" -> "Y-Modem". И нажимаем "Send".

Если пользуемся Minicom, то нажимаем Ctrl-A, Z. В меню выбираем "ymodem", затем файл прошивки.
5. Ждем окончания передачи файла. Можно сходить за чаем или кофе, по вкусу :)
6. После окончания загрузки, увидим фактический размер загруженной прошивки в шестнадцатеричном формате. Запоминаем его.
7. Вводим команду "erase 0xbf050000 +0xFA0000". Здесь размер стираемой области может быть различным.
8. Вводим команду "cp.b 0x81000000 0xbf050000 <размер_прошивки>". Ждем окончания копирования.
9. Reset



среда, 5 марта 2014 г.

Восстановление (unbrick) Tp-Link TL-MR3220 v2

Пришлось восстанавливать  TL-MR3220 на Atheros AR9331 с убитым загрузчиком.

1. Сначала программатором заливаем оригинальный образ прошивки с загрузчиком: mr3220v2_ru_3_15_0_up_boot.bin

2. Затем через консоль загрузчика заливаем OpenWRT: openwrt-ar71xx-generic-tl-mr3220-v2-squashfs-factory.bin
  • tftpboot 0x80000000 openwrt-ar71xx-generic-tl-mr3020-v2-squashfs-factory.bin
  • erase 0x9f020000 +0x3c0000
  • cp.b 0x80000000 0x9f020000 0x3c0000

3. Там же заливаем ART раздел, если забыли его забэкапить: ar9331-art.bin
  • tftpboot 0x80000000 ar9331-art.bin
  • erase 0x9f3f0000 +0x10000
  • cp.b 0x80000000 0x9f3f0000 0x10000

понедельник, 10 февраля 2014 г.

DIR-615 E4 16M Flash + 64M RAM + USB mod

Наконец то пересобрал родной загрузчик DIR-615 E4 на Atheros AR7240 для поддержки флешки размером 16 МБ, а также OpenWrt с поддержкой USB.



Заменил и оперативку на PSC A3S12D40ETP емкостью 64 МБ. Заработала без модификаций прошивки.

Модифицированный загрузчик - ldr_16M-NOR_64M-RAM.bin

Патч на загрузчик - 0001-Support-16M-SPI-NOR-flash.patch

Исходники от Dlink (в них стоковые загрузчик и прошивка) - DIR615E4_GPL512.tar.gz и тулчейн для сборки загрузчика - DIR-615E4-toolchain.bz. Они нужны только если хотите пересобрать загрузчик. Для сборки OpenWrt они не нужны.

Чтобы собрать родной загрузчик:
sudo tar xvfz "./DIR615E4_GPL512 (1).tar.gz" -C /home/
sudo chown *username* /home/Matrix -R
sudo chmod 755 /home/Matrix -R
sudo tar xvjf ./DIR-615E4-toolchain.bz -C /opt/
cd /home/Matrix/projects/DIR-615WW_E4
make profile=DIR-615WW_E4 loader


Образ OpenWrt - openwrt-ar71xx-generic-dir-615-e4-squashfs-factory.bin. Чтобы его прошить, использовал YMODEM.

Патч на OpenWrt для включения поддержки USB - 0001-Compile-for-DIR-615-E4-with-USB-and-16M-flash.patch
Патч на OpenWrt для изменения флешмапа на 16MB - 0002-Compile-for-DIR-615-E4-with-USB-and-16M-flash.patch

Дамп, загрузчик и инструкция для флешки 8MB от пользователя Dmitriy Ivanov615e4_8mb.mod.zip