UPD: Роутер все же был побежден и решение находиться в конце статьи.
Данный роутер умер не своей смертью, а при содействии моих кривых ручек. На момент начала попытки его оживить, он представлял из себя кирпич, где был убит u-boot.
Данный роутер не очень популярен на просторах интернет и найти на него что-то очень проблематично.
Какое железо имеет мой роутер:
По железу похож на:
Найти прошивку на ОС роутера в принципе не проблематично, в том числе последние прошивки OpenWRT, а вот с u-boot проблема огромная. Оригинальный u-boot пока так и не найден.
Основная проблема состояла в том, что WIFI роутер wnr1000v2h2 на всех прошивках, что я пробовал не видел модуля WIFI Atheros AR9285. Кнопка включения WIFI тут не работает. (Не видел не из-за прошивок, а из-за убитого ART). Данный модуль я полагал должен был инициироваться u-boot и этого не происходило...
Были испробованы многие u-boot загрузчики. Это те которые работали:
Были попытки использовать и другие загрузчики, но они были полностью провальные.
Для дальнейшего изучения
В работе использовалось
Перерошивать Flash 25Q32 прямо на плате не получиться, видимо из-за конструктивных особенностей самой платы. Придется только выпаивать и шить отдельно.
Подключение к UART на плате роутера.
Устройство использует TTL 3.3в
Бит в секунду: 115200 Бит
Точка - указатель на 1 ножку.
4(GND) 3(RxD) 2(TxD) 1[3.3V]
Информация не 100%, а собранная из разных источников
Загружает плату, но в упор не видит прошивку образа ОС.
Принудительно стартануть загрузку образа ОС
breed> boot flash 50000
Образ распознается, пытается запуститься и виснет.
Данный загрузчик имеет WEB, через которую можно проводить многие манипуляции в том числе и перепрошивку. Я с ним так и не подружился.
После того как я его залил, то образы ОС не стартовали, но в последствии с него нормально начали работать все образы что я пробовал.
Так же имеет WEB и более заточен под Netgear, чем китайский.
Рассмотрим как с ним работать, подробно т.к. на просторах интернет мало объясняют, что какая команда делает.
Значение переменных по умолчанию
ar7240> printenv
bootargs=console=ttyS0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env),2752k(rootfs),896k(uImage),64k(NVRAM),64k(ART)
bootcmd=fsload 80800000 image/uImage;bootm 80800000
bootdelay=2
baudrate=115200
ethaddr=0x00:0xaa:0xbb:0xcc:0xdd:0xee
ipaddr=192.168.1.10
serverip=192.168.1.27
clearenv=erase 0x9f040000 +0x10000
ddr_ext_mode_value=0x0
magic_number=0x0
stdin=serial
stdout=serial
stderr=serial
ethact=eth0
!если мы имеем другие настройки сети, то:
!по умолчанию адрес устройства 192.168.1.10
!и адрес TFTP сервера 192.168.1.27
!setenv – устанавливает значение переменных
!устанавливаем новый IP адрес нашего устройства
ar7240> setenv ipaddr 192.168.88.10
!устанавливаем новый IP адрес нашего сервера TFTP
ar7240> setenv serverip 192.168.88.245
!данный настройки можно пропустить
!------------
!устанавливаем маску сети
ar7240> setenv netmask 255.255.255.0
!устанавливаем шлюз, если мы находимся в другом сегменте,
!через который мы будем попадать на TFTP
ar7240> setenv gatewayip 192.168.0.1
!---------------
!закачиваем u-boot с TFTP сервера в область оперативной памяти устройства
!где 0x8хххххххх – это указатель, что это именно оперативная память
!ххххх – это адрес в оперативной памяти
!breed.bin – это имя файла/прошивки на TFTP сервере
ar7240> tftpboot 0x80000000 breed.bin
!очищаем область на flash куда мы впоследствии запишем наш новый u-boot
!0x9fххххх – это указатель на flash, т.е. 9f говорит, что это устройство flash
!xxxxxxxx – это адрес на самой Flash
!+0x40000 - это смещение, сколько надо стереть
ar7240> erase 0x9f000000 +0x40000
!копируем данные из области оперативной памяти на Flash
!где 0x80000000 – это начальный адрес с которого копируем (начало в оперативной памяти)
!0x9f000000 – это адрес куда копируем (начало на Flash)
!0x40000 – это смещение т.е. сколько мы копируем
!в нашем случае под u-boot выделено 0x40000, но сам u-boot конечно меньше
ar7240>cp.b 0x80000000 0x9f000000 0x40000
Перегружаемся
Все тоже самое, что и выше, только у нас измениться адрес назначения на Flash. Для большего понимания перечитайте перепрошивка u-boot.
Особенность загрузки образов
Образа у нас бывают двух видов:
squashfs-factory – содержит дополнительный заголовок, на него ориентируются, когда вы прошиваетесь из стоковой прошивки, через web. Если вы шьете через TFTP или программатором, то в таком образе необходимо удалять этот заголовок по 0x80.
Заголовок выгляди примерно так
squashfs-sysupgrade – образ для прошивки через TFTP или программатор.
Обе эти прошивки не имеют на борту загрузчика, как многие пишут в Интерете!
В нашем случае образ ОС располагается с адреса 0x50000
Загрузить образ можно и другим способом, но здесь я его рассматривать не буду т.к. данный способ многократно расписан в на просторах интернета.
!загружаем в память
ar7240> tftpboot 0x80000000 openwrt-ar71xx-tiny-wnr1000v2-squashfs-sysupgrade.bin
!очищаем место на flash под образ ОС, смещение именно 3a0000, либо вы затрете ART
ar7240> erase 0x9f050000 +3a0000
!копируем на flash
ar7240> cp.b 0x80000000 0x9f050000 0x3a0000
!загружаемся
ar7240> bootm 0x9f050000
Скачать ART раздел от wnr1000v2h2 (от моего роутера, не знаю будет ли он работать на других)
!загружаем в память
ar7240> tftpboot 0x80000000 art.bin
!очищаем место на flash под ART
ar7240> erase 0x9f3F0000 +10000
!копируем на flash
ar7240> cp.b 0x80000000 0x9f3F0000 0x10000
!перегружаемся
Если у вас поврежден или отсутствует ART отдел, то вы не сможете работать с сетью и даже загрузить прошивку по TFTP.
Решается просто
ar7240> macset lan 00:03:7F:EF:77:87
и перегружаемся.
Возможность распайки USB порта.
Предположительные пины AR7240 задействованные под USB
73 - USB_DM USB 1.1 D- data pin
74 -USB_DP USB 1.1 D+ data pin
75 - USB_REXT Connect to external 6.04 KΩ resistor
На плате не распаяны.
73 и 74 вывод необходимо подтянуть к GND через 15КОм резистор.
Все же эта железка была побеждена!!!
Проблема с нерабочим WiFi кроется в разделе ART, без него модуль AR9285 даже не появляется как устройство.
Но победа не была легкая т.к. я был убежден, что проблема кроется в u-boot, а найти оригинальный я так и не смог, было принято решение собрать свой из исходников и на то было убито несчетное количество нервных клеток.
Продолжение читайте как собрать свой u-boot.
Роутер теперь стартует с родным u-boot собранным из исходников и прекрасно себя чувствует.
Родной дамп wnr1000v2h2 от добрых людей.
Есть такой, сейчас под openwrt, сделал RAM MOD, пишите сто сделать!
Сейчас тоже такую же железку мучаю. После обновы на openwrt 17.0.7 циклическая перезагрузка.
Полный дамп родной прошивки.
https://disk.yandex.ru/d/yayaxdidio_Iqg
Спасибо
Заработал с этой прошивкой 19,07,7, но дефолтный рам занят на 80 процентов.
https://forum.openwrt.org/t/builds-for-netgear-wnr1000v2-wnr1000v2-vc-wnr612v2-wpn824n-wnr2000v3/39360
Сделал RAM mod, теперь занято 40%
Чип ставил такой HY5DU121622CTP-D43.
Автор не получилось по вашей статье скомпилировать gcc посыпал ошибками. У меня есть куча wnr612v2 . Решил попробовать прокачать по максимуму. Мод на память сделал 64 мб . Хочу увеличить флешку на 8-16 мб. Собрать из исходников не получается, а найти уже готовые в инете не могу. Печаль .
Ваш комментарий не под эту статью.
Статья по сборки u-boot писалась на лету с записью всех проделываемых действий, и она полностью описывает весь процесс. Если у вас что-то не собирается, значит вы что-то сделали не так (пропустили шаг, внесли свои правки, используете не те версии библиотек или исходники и т.д.). я не могу знать, что и как вы решили изменить в рецепте. Могу вам посоветовать все ошибки загуглить и найти решение.
wnr1000v2h2 собирал загрузчик долго не хотел собираться ругался . Ubuntu не пошла з версии и каждой что то не хватало не разбирался. linuxMint 18 Собирался в папке файловая система, под рутом в рутовом терминале все инструменты и сам загрузчик собрался на ура . все работает автору респект