Posted: Sat May 27, 2017 22:44 Post subject: [РЕШЕНО] Проблема с установкой DD-W
Роутер Buffalo WBMR-HP-G300H.
Скачал предложенный Router Database файл прошивки buffalo_to_dd-wrt_MULTI.enc
Однако все попытки прошить его через web-интерфейс заканчиваются ошибкой "invalid firmware, rebooting!".
Родные прошивки шьются без проблем.
Posted: Sun May 28, 2017 7:21 Post subject: Re: Проблема с установкой DD-WRT на Buf
@lexander wrote:
Роутер Buffalo WBMR-HP-G300H.
Скачал предложенный Router Database файл прошивки buffalo_to_dd-wrt_MULTI.enc
Однако все попытки прошить его через web-интерфейс заканчиваются ошибкой "invalid firmware, rebooting!".
Родные прошивки шьются без проблем.
Что делать? Как прошить DD-WRT?
Зайдя например в каталог ftp://ftp.dd-wrt.com/betas/2017/05-02-2017-r31924/buffalo_wbmr_g300h/ видим наличие трех файлов:
-buffalo_to_dd-wrt_MULTI.enc
-uImage.bin
-wbmr_g300h-webflash-firmware.bin
можно догадаться что файл buffalo_to_dd-wrt прошивка из buffalo -> dd-wrt далее webflash-firmware обновление из flash далее uImage файл такого же размера думаю для tftp метода. Для каждого варианта прошивки существует свой файл со своим заголовком (если скачаете и посмотрите что внутри достаточно самое начало то увидите разницу), но первое что бросилось в глаза файл имеет расширение enc но обычно расширение bin (возможно достаточно смены типа расширения) - не стыковка в типе расширения, далее файл uImage скорей всего можно залить через TFTP метод.
Рекомендации посмотрите еще раз метод прошивки данного роутера.
Обычно в каталоге лежат два файла - первый из родной в dd-wrt и вторая из dd-wrt webflash обновления.
Назначение трех файлов с вариантами прошивки мне понятно. Как раз пытаюсь шить вариант для перехода с родной прошивки Buffalo, т.е. buffalo_to_dd-wrt_MULTI.enc (расширение .enc здесь потому, что родные прошивки шифрованные).
Однако, по какой-то причине, маршрутизатор отвергает все переходные прошивки. Пробовал различные версии от предложенной Router Database до самой свежей беты с ftp. То ли шифрование не подходит, то ли ещё какие идентификационные данные внутри.
Прошивать через tftp пока не пробовал - опасаюсь получить кирпич.
buffalo_wbmr_g300h - enc заголовок не такой как обычно HDR0....DD-WRT v24... в ней "bgn ...start...."
uImage же для данного роутера имеет заголовок
Code:
'VA_IYЙъ Э|Ђ ....ЮV}jDD-WRT v24 Linux Kernel Image...
В чем разница прошивки WEB и TFTP обе должны проверить прошивку перед заливкой. Фишка в том что это два сервиса выполняют одну и ту же функцию. В данном случае разница в том что WEB когда роутер полностью загрузился, а вот если он не загрузился по причине прошивки то ее можно заменить через tftp (в uboot обычно встроен либо mini web и ftp сервисы) => пока жив uboot с данной функций то всегда можно на нее рассчитывать. Есть вендоры которые в некоторых своих роутерах не используют ftp.
Вам решать, что и как делать с роутером.
buffalo_wbmr_g300h - enc заголовок не такой как обычно HDR0....DD-WRT v24... в ней "bgn ...start...."
Родная прошивка тоже имеет заголовок вида "bgn ..start...". Но все попытки загрузки buffalo_to_dd-wrt_MULTI.enc заканчиваются ошибкой "invalid firmware".
И, похоже, я не одинок. Здесь прочитал:
Mishunja wrote:
I bought WBMR-HP-G300H-RU. It had Russian GUI and this is the same device. Unfortunatelly I coudn't flash dd-wrt firmware on it. I suspect that new devices check the firmware before flashing.
У меня тоже -RU версия.
Первые попытки прошить через tftp тоже неудачные. Не смог добиться соединения.
Для того чтоб воспользоваться TFTP нужно было ходя бы поискать в интернете (даже те ссылки которые я давал ранее).
В момент загрузки buffalo имеет IP отличный от того который будет после загрузки и MAC адрес (который на коробке). Поэтому на ПК нужно сменить IP и через arp -s подсказать что такому-то IP такой то адрес.
Если воспользоваться поиском даже на данном форуме все есть.
Quote:
arp –s 192.168.11.1 02:aa:bb:cc:dd:1a
tftp –I 192.168.11.1 put имя_файла
на счет MAC вам придется уже самому узнать который у вас для данной модели.
Для того чтоб воспользоваться TFTP нужно было ходя бы поискать в интернете (даже те ссылки которые я давал ранее).
Я изучил эти и многие другие источники.
Однако, для меня это первый опыт прошивки конкретно DD-WRT.
Спасибо за помощь.
vasek00 wrote:
В момент загрузки buffalo имеет IP отличный от того который будет после загрузки и MAC адрес (который на коробке). Поэтому на ПК нужно сменить IP и через arp -s подсказать что такому-то IP такой то адрес.
Если воспользоваться поиском даже на данном форуме все есть.
Quote:
arp –s 192.168.11.1 02:aa:bb:cc:dd:1a
tftp –I 192.168.11.1 put имя_файла
на счет MAC вам придется уже самому узнать который у вас для данной модели.
Насколько я понял, в этой модели Buffalo в момент загрузки с нажатой кнопкой AOSS клиент tftp на стороне маршрутизатора запрашивает файл прошивки с именем firmware.ram у tftp-сервера на стороне ПК.
В Wireshark я вижу запрос от tftp-клиента:
Code:
Source Destination Protocol Length Info
192.168.11.1 192.168.11.2 TFTP 73 Read Request, File: firmware.ram, Transfer type: octet, timeout=4
MAC-адрес действительно отличается от того, что на коробке - 02:aa:bb:cc:dd:30
В качестве TFTP сервера пробовал несколько предлагаемых вариантов, в частности Tftpd32. Но подключения к tftp-серверу не происходит. Используется Windows 10.
Возможно манипуляции с arp -s помогут, но именно для WBMR-HP-G300H я таких рекомендаций не видел. Доберусь до маршрутизатора - попробую.
P.S. Ещё смущает, что в описании к прошивкам DD-WRT нет указаний какая версия ADSL-модема там используется - Annex A или Annex B. Если второе, то возможно поэтому веб-версия прошивки не проходит.
Докладываю. "arp -s" помогло, передача файла успешно проходит.
Но в результате после загрузки маршрутизатора видим ту же заводскую прошивку.
Пробовал uImage.bin и buffalo_to_dd-wrt_MULTI.enc переименованные в firmware.ram - эффект одинаковый.
Докладываю. "arp -s" помогло, передача файла успешно проходит.
Но в результате после загрузки маршрутизатора видим ту же заводскую прошивку.
Пробовал uImage.bin и buffalo_to_dd-wrt_MULTI.enc переименованные в firmware.ram - эффект одинаковый.
Встречал такой бзик, использование только встроенного tftp в Windows и обязательного отключения антивирусного ПО
Code:
tftp –I 192.168.11.1 put имя_файла
1. отключить от роутера LAN кабель и 220V.
2. перезапустите Windows (предварительно настроив на нем нужный IP для роутера, при прошивки к сетевой карте ПК только роутер и ни каких switch)
3. после загрузки ПК прописать на нем для роутера "arp -s 192.... 02:aa:bb:cc:dd:30" и запустить команду которая выше "tftp –I ... put ..."
4. подключить LAN кабель от ПК к роутеру и включить роутер в 220V (тут сброс не важен в uboot первые 4 сек, автомат ждет прошивку если ее на входе нет то идет загрузка ПО в роутере)
5. на экране должна пробежать строка заливки прошивки.
6. если ее нет то повторение процедуры.
Примечание - если после 5 сек. прошивка не залилась или была какая либо тишины и роутер загрузился то вас испортилась (появилаь еще одна) запись arp (удаляем все записи которые касаются роутера = 192.168.11... и 192.168.1.... и опять перезапуск ПК) так что будьте внимательны.
Докладываю. "arp -s" помогло, передача файла успешно проходит.
Пардон. Надо было сразу уточнить, что передача проходит при помощи упомянутого выше Tftp32 в режиме tftp-сервера. Именно сервера на стороне ПК; стандартный tftp и прочие tftp-клиенты вообще не соединяются.
Поскольку tftp-клиент сидит в загрузчике маршрутизатора и сам запрашивает прошивку с конкретным именем "firmware.ram", обращаясь к 192.168.11.2
Докладываю. "arp -s" помогло, передача файла успешно проходит.
Пардон. Надо было сразу уточнить, что передача проходит при помощи упомянутого выше Tftp32 в режиме tftp-сервера. Именно сервера на стороне ПК; стандартный tftp и прочие tftp-клиенты вообще не соединяются.
Поскольку tftp-клиент сидит в загрузчике маршрутизатора и сам запрашивает прошивку с конкретным именем "firmware.ram", обращаясь к 192.168.11.2
Значит я ранее делал что-то не так из под Win7 для Buffalo.
put - передает файл источник с локального компьютера в файл результат на удаленном компьютере
get - Передает файл источник с удаленного компьютера в файл результат на локальном компьютере
источник - имя файла для передачи
результат - куда записывать получаемый файл
Значит я ранее делал что-то не так из под Win7 для Buffalo.
Можно предположить, что в загрузчике вашего Buffalo был tftp-сервер, тогда как в моём совершенно точно tftp-клиент.
Выше я приводил данные из Wireshark (программа-анализатор ethernet трафика). Идёт запрос по tftp от загрузчика на файл с именем "firmware.ram", т.е. активно запрашивает, а не ожидает, что пришлют.
vasek00 wrote:
Данная команда TFTP запускалась до момента включения роутера, ее ключи
put - передает файл источник с локального компьютера в файл результат на удаленном компьютере
get - Передает файл источник с удаленного компьютера в файл результат на локальном компьютере
источник - имя файла для передачи
результат - куда записывать получаемый файл
Передача между двумя TFTP клиентами без сервера?
Я пробовал таким образом передать файл в локальной сети между двумя Windows ПК. На одной стороне GET, на другой PUT.
Безуспешно! ("Истек таймаут"/"Сбой запроса на подключение")
Однако, если на одной стороне запустить сервер (tftp32.exe), то в его сторону можно как передавать (PUT), так и от него получать (GET) файлы.
Что вполне логично.
Posted: Sat Jun 03, 2017 15:45 Post subject: Цель достигнута!
В итоге цель достигнута: удалось установить DD-WRT на Buffalo WBMR-HP-G300H-RU.
Возможно мой опыт будет кому-то полезен.
Как уже в этой теме сказано выше, "стандартные" способы перехода с родной прошивки на DD-WRT не проходили. А именно: заливка специальной версии прошивки (buffalo_to_dd-wrt_MULTI.enc) через web-интерфейс родной прошивки Ver1.79; заливка образа uImage.bin через tftp начального загрузчика. Пробовал различные сборки прошивки, пробовал менять местами и заливать не предназначенные для данного типа загрузки образы - всё без толку: на месте оставалась родная прошивка.
Помог метод описанный здесь - Buffalo WBMR-HP-G300H How to recover from bricking.
(Мне он попадался и в самом начале, но предлагает окольные пути достижения результата и при этом формально предназначен для восстановления "кирпича". Хотя казалось бы есть более простые и прямые способы. Но увы.)
Первое замечание, важно использовать именно предложенный там образ firmware.ram - никакие другие у меня не срабатывали.
Второе, прошивать из загруженной OpenWrt нужно образ uImage.bin, однако далеко не из любой сборки DD-WRT! Загрузка самой свежей (на текущий момент) сборки r32170 приводит к кирпичу и необходимости повторять всё с начала. Точно работают r29519, r29739.
P.S. На текущий момент, ставить прошивки старше r30082 нет смысла, т.к. там не работает Wi-Fi; а начиная с r31690 идут кирпичи.