Обновление прошивки OpenWRT на Wi-Fi роутере Linksys EA3500
Предостережение: При перепрошивке роутера Linksys EA3500 всегда что-то может пойти не так. Автор данной инструкции НЕ несёт ответственность за любые проблемы, которые могут возникнуть в процессе установки неродной прошивки. Используйте инструкцию по прошивке ниже на свой страх и риск. Она сработала для автора, но потенциально может превратить ваш роутер в кирпич, сделать его небезопасным,...
Почему не получится обновить OpenWRT версии 23.05.5 до 24.10.0 на роутере Linksys EA3500 из панели управления
6 февраля 2025г. вышла прошивка OpenWRT 24.10.0. Обновил прошивку на роутере Netgear WNR3500L v1 и после успешного тестирования решил повторить процесс с Linksys EA3500.
- Скачал прошивку openwrt-24.10.0-kirkwood-generic-linksys_ea3500-squashfs-sysupgrade.bin с https://downloads.openwrt.org/releases/24.10.0/targets/kirkwood/generic/
- Скачал файл с хэш суммами sha256 для openwrt 24.10.0
В терминале Ubuntu для этого можно выполнить командуwget https://downloads.openwrt.org/releases/24.10.0/targets/kirkwood/generic/sha256sums
- Cравнил хэш скаченного файла.
В терминале Ubuntu для этого можно выполнить командуsha256sum -c sha256sums 2> /dev/null | grep OK
которая выводит ОК в случае совпадения. - Зашёл в панель управления OpenWRT, введя в браузере https://openwrt.lan (192.168.1.1) и выбрал "System" -> "Backup/Flash Firmware".
- На странице "Flash Operations" нажал на кнопку "Flash image..." в разделе "Flash new firmware image"
- В появившемся диалоге "Uploading file..." нажал на кнопку "Browse..." и выбрал скаченную прошивку openwrt-24.10.0-kirkwood-linksys_ea3500-squashfs-sysupgrade.bin, после чего нажал на кнопку "Upload".
- После 100% загрузки прошивки появилась новая страница "Flash image?", на которой был указаны хэш суммы (md5 и sha256). Можно сравнить sha256 с указанным в скаченном текстовом файле, если не делали этого на 3-ем шаге.
- И на этом этапе меня ждал сюрприз в виде сообщения об ошибке:
The device is supported, but this image is incompatible for sysupgrade based on the image version (2.0->3.0). Thu Feb 6 17:55:44 MSK 2025 upgrade: !The partitioning of the router has changed! Partition design has changed compared to older versions (up to 23.05) due to kernel size restrictions. Upgrade via sysupgrade mechanism is not possible, so u-boot args adjustment and new installation via factory style image is required. Upgrade instructions: 2. Run folowing commands in console (ssh or serial): fw_printenv fw_setenv nandboot "$(fw_printenv nandboot | awk -F= '{sub(/^nandboot=/, "");print}' | sed 's/0x300000/0x400000/g')" fw_setenv altnandboot "$(fw_printenv altnandboot | awk -F= '{sub(/^altnandboot=/, "");print}' | sed 's/0x300000/0x400000/g')" 3. Test if envs are ok by 'fw_printenv'. It should be the same except last argument of 'nand read.e' in 'nandboot' and 'altnandboot'. 4. If envs are ok, please apply FACTORY image with command: sysupgrade -F -n OPENWRT_FACTORY_IMAGE.bin 5. System should start normally. If not, serial console will be required. Image check failed.
- Оказалось, что роутер поддерживается, а вот обновление из панели управления с sysupgrade образом выполнить не удастся. Всё дело ограничениях на размер ядра.
- Продолжать прошивать из панели управления нельзя, хотя галочка "force upgrade" присутствует.
- Пришлось разбираться, как обновить роутер из консоли при помощи factory image.
Ещё раз сделаю предупреждение о том, что выполнение инструкций в консоли может привести к непредсказуемым последствиям. Если Вы совсем не понимаете, что за команды выполняются, а не представляете, как восстанавливаются окирпиченные устройства, то Вам, возможно, не стоит обновлять прошивку. Автор не несёт отвествтенность за корректность инструкции и последствия её применения.
Как обновить OpenWRT версии 23.05.5 до 24.10.0 на роутере Linksys EA3500
- Подключитесь к роутеру по SSH. В Ubuntu для этого достаточно выполнить следующие команды:
ssh-keygen -f ~/.ssh/known_hosts -R openwrt.lanssh root@openwrt.lan
- root - это имя пользователя администратора роутера. Вместо openwrt.lan можно использовать 192.168.1.1.
- Выполните команды, которые предлагались при попытке прошить sysupgrade образ из панели управления, а именно:
fw_printenvfw_setenv nandboot "$(fw_printenv nandboot | awk -F= '{sub(/^nandboot=/, "");print}' | sed 's/0x300000/0x400000/g')"fw_setenv altnandboot "$(fw_printenv altnandboot | awk -F= '{sub(/^altnandboot=/, "");print}' | sed 's/0x300000/0x400000/g')"
- Повторно выполните команду
fw_printenv
- Проверьте, что переменные nandboot и altnandboot изменили свои значения.
- Если ошибок при изменении переменных не было, то можно приступать к перепрошивке из консоли. Для этого выполняем на роутере следующие команды:
cd /tmpwget https://downloads.openwrt.org/releases/24.10.0/targets/kirkwood/generic/openwrt-24.10.0-kirkwood-generic-linksys_ea3500-squashfs-factory.binsysupgrade -F -n openwrt-24.10.0-kirkwood-generic-linksys_ea3500-squashfs-factory.bin
- Здесь мы переходим во временную директорию, скачиваем прошивку openwrt-24.10.0-kirkwood-generic-linksys_ea3500-squashfs-factory.bin (именно factory образ!), после чего выполняем команду sysupgrade.
При выполнении команды возникло сообщение, что метаданные отсутствуют. Но процесс прошивки всё равно стартанул. При этом SSH подключени конечно же сразу разорвалось. Как и подключение компьютера к роутеру. После перепрошивки подключение восстановилось. - Далее после восстановления подключения компьютера к роутеру нужно зайти в панель управления OpenWRT, введя в браузере https://openwrt.lan (192.168.1.1). После этого нужно изменить пароль от панели управления, настроить точку доступа Wi-Fi. Плюс в целом можно внести любые изменения, но важно учитывать, что после такой перепрошивки никаких настроек не сохранилось. В частности, тёмную тему нужно выбирать заново. И конечно же устанавливать пакеты вроде adblock, wifi toggle, wi-fi schedule также придётся повтроно.
OpenWRT 24.10.0 хорошо работает на Linksys EA3500