Если вдруг вы оказались случайным или не случайным владельцем данного роутера, то наверняка уже успели разочароваться, бедной стандартной прошивкой и крайне скудным внутренним потенциалом. Если вам также не повезло как и мне, то роутер имеет в наличии flash размером 4 мб (W25Q32FV) и SDRAM 16 мб (EM639165TS-6G). В этой статье я расскажу, как можно изменить печальную ситуацию с этим роутером в лучшую сторону и получить в конечном итоге роутер с прошивкой от Zyxel с возможностью обновления.
В самом начале статьи хотелось бы указать на необходимые детали/оборудование, которые понадобятся, для того, чтобы претворить наш план в реальность:
SDRAM размером 32 мб — EM63A165TS-6G;
Программатор SPI Flash (я использовал CH341a);
USB-UART конвертер (имеется в CH341a);
Паяльный фен. Необязательно, но очень желательно, я справился без него, но далее вы увидите, к чему это привело;
Паяльник;
Прямые руки, желательно, прямее чем у меня;
Дамп флеши с рабочего Keenetic, на просторах интернета я нашел дамп от Keenetic 4G II.
Также я менял flash на 8мб (W25Q64FV), но для данной статьи это не обязательно. Так как размер прошивки не превышает 4мб.
Все детали я заказывал на Aliexpress. Получив их, начинаем творить.
Сперва сливаем прошивку, которой одарили нас китайцы. На всякий случай. Сделать это можно, либо выпаять флешку, либо использовать прищепку, или поступить как я:
Просто припаяны короткие провода прямо к флешке. Провода должны быть как можно короче. Изначально были длинными, флеш терялась, пришлось укоротить. Если будете поступать как я, то сливайте несколько раз, и проверьте бинарники на одинаковость, например тем же md5hash.
Далее необходимо отпаять sdram, для меня это чуть было не закончилось трагедией. Но все же удалось восстановить оторванные дорожки, и не спрашивайте каким образом я их оторвал. Второй ряд контактов микросхемы я просто отломал. Ибо и так уже ее испортил.
Припаиваем на место новенький sdram на 32 мб (как все-таки просто описывать эту операцию, буквально уложился в несколько предложений, но под ними скрываются часы кропотливой работы (без фена), а сколько нервов!).
Я надеюсь, у вас выйдет без таких косяков, как у меня. Двигаемся дальше.
Далее можно залить дамп от Keenetic 4G II при помощи программатора и запускать роутер, вот только вас ждет жестокий облом: после всех пройденных испытаний роутер не запустится, так как определяется память все еще в объеме 16 мб. На этом моменте я по незнанию потратил очень много времени, так как большинство материалов, которые мне попадались, указывали на несовершенство загрузчика (u-boot), мол, нужен специальный, который видит весь объем памяти sdram. Я их перепробовал целую кучу. До тех пор, пока не наткнулся на одну из статей: оказалось, для того, чтобы роутер увидел весь объем памяти, необходимо перенести пару резисторов.
Ну и конечно же, отпаивая детали размером в миллиметр, я их прикончил. Поискав в закромах, была найдена старая материнская плата, которая и послужила донором. Резисторы там, правда, покрупнее, поэтому сделать удалось так:
Что делаем далее. Далее распаиваем контакты для подключения uart. Необходимые контакты находятся с обратной стороны платы под наклеенной фольгой. Плюсовой контакт нам не понадобится, GND берем рядом. Зачищаем контакты, припаиваем, тут уже кто что хочет: я сразу провода припаял, так как со штырьками мне показалось неудобно. Для подключения к COM порту я использовал Putty, скорость выставляем 56700. Далее подключаем аккумулятор к роутеру (здесь важно отметить, что после отключения аккумулятора и последующего подключения роутер не включается, необходимо на короткое время подключить его к зарядке). Запускаем роутер, в консоли должен отображаться этап загрузки, примерный текст следующего вида.
Если у вас в консоли ничего нет, возможно неверно подключили uart, если кракозябры, значит не выставили скорость порта.
TOTAL_MEMORY_SIZE должен быть 32 MBytes если он у вас 16, значит что-то сделали не так, вероятно, забыли про резисторы. Да, у меня после первой попытки их перепаять TOTAL_MEMORY_SIZE стал 8Мб. Оказалось, плохо припаян резистор ближайший к Ralink.
Итак sdram перепаян, flash прошита, резисторы перепаяны, загрузчик показывает 32Мб. Что делаем дальше? Дальше пробуем запустить роутер. Должен работать.
Подключаем кабель, переходим в веб интерфейс (192.168.1.1). Смотрим. На этом этапе у вас не должно быть сервисного кода:
В журнале должна проскакивать ошибка: что-то вроде «key not found sevicetag» (предполагается, что роутер подключен к интернету). Далее перезагружаем роутер, естественно с подключенным usb-uart, и сразу же быстро нажимаем в консоли клавишу 4. Далее набираем данные команды по очереди.
Перезагружаем устройство. В интерфейсе должен отображаться сервисный код (роутер должен быть подключен к интернет). Переходим в обновления. Вот тут устройство сразу отказывается искать обновления. Я несколько раз пробовал перезагружать страницу, роутер напрочь отказывался обновляться. До тех пор пока я не выбрал один из компонентов (Интернет фильтр Яндекс DNS), перед этим выбрав «работать в офлайне», там была активна кнопка удалить. Нажав на нее, получил сообщение «настройки сохранены» (что-то вроде этого), через какое-то время всплыло окно о том, что имеются обновления, согласился на них. После этого проблем с изменением конфигурации прошивки через веб-интерфейс роутера не возникало. На данный момент версия прошивки v2.05(AAKW.1)C1. На этом все.
P.S.: Если после обновления вновь подключиться к роутеру через usb-uart и вывести все значения (printenv), то помимо введенных вами ранее zyxelsn и servicetag вы увидите новый параметр servicepass. Так вот, до этого я заливал прошивку, скачанную с сайта Zyxel, через usb-uart, то есть используя загрузчик от сторонней прошивки, и параметр servicepass не появлялся. В журнале роутера при этом появлялось сообщение что-то вроде «key not found servicepass» и конечно же обновляться он не хотел.
Используемые материалы: 4pda, mysku
В самом начале статьи хотелось бы указать на необходимые детали/оборудование, которые понадобятся, для того, чтобы претворить наш план в реальность:
SDRAM размером 32 мб — EM63A165TS-6G;
Программатор SPI Flash (я использовал CH341a);
USB-UART конвертер (имеется в CH341a);
Паяльный фен. Необязательно, но очень желательно, я справился без него, но далее вы увидите, к чему это привело;
Паяльник;
Прямые руки, желательно, прямее чем у меня;
Дамп флеши с рабочего Keenetic, на просторах интернета я нашел дамп от Keenetic 4G II.
Также я менял flash на 8мб (W25Q64FV), но для данной статьи это не обязательно. Так как размер прошивки не превышает 4мб.
Все детали я заказывал на Aliexpress. Получив их, начинаем творить.
Сперва сливаем прошивку, которой одарили нас китайцы. На всякий случай. Сделать это можно, либо выпаять флешку, либо использовать прищепку, или поступить как я:
Фото 1
Просто припаяны короткие провода прямо к флешке. Провода должны быть как можно короче. Изначально были длинными, флеш терялась, пришлось укоротить. Если будете поступать как я, то сливайте несколько раз, и проверьте бинарники на одинаковость, например тем же md5hash.
Далее необходимо отпаять sdram, для меня это чуть было не закончилось трагедией. Но все же удалось восстановить оторванные дорожки, и не спрашивайте каким образом я их оторвал. Второй ряд контактов микросхемы я просто отломал. Ибо и так уже ее испортил.
Припаиваем на место новенький sdram на 32 мб (как все-таки просто описывать эту операцию, буквально уложился в несколько предложений, но под ними скрываются часы кропотливой работы (без фена), а сколько нервов!).
Я надеюсь, у вас выйдет без таких косяков, как у меня. Двигаемся дальше.
Далее можно залить дамп от Keenetic 4G II при помощи программатора и запускать роутер, вот только вас ждет жестокий облом: после всех пройденных испытаний роутер не запустится, так как определяется память все еще в объеме 16 мб. На этом моменте я по незнанию потратил очень много времени, так как большинство материалов, которые мне попадались, указывали на несовершенство загрузчика (u-boot), мол, нужен специальный, который видит весь объем памяти sdram. Я их перепробовал целую кучу. До тех пор, пока не наткнулся на одну из статей: оказалось, для того, чтобы роутер увидел весь объем памяти, необходимо перенести пару резисторов.
Фото 2
Синим указано старое расположение, красным новое.
Синим указано старое расположение, красным новое.
Ну и конечно же, отпаивая детали размером в миллиметр, я их прикончил. Поискав в закромах, была найдена старая материнская плата, которая и послужила донором. Резисторы там, правда, покрупнее, поэтому сделать удалось так:
Фото 3
Резисторы (выделены синим) приклеены верхней стороной на свободных местах (сопротивление — 4,7 к).
Резисторы (выделены синим) приклеены верхней стороной на свободных местах (сопротивление — 4,7 к).
Что делаем далее. Далее распаиваем контакты для подключения uart. Необходимые контакты находятся с обратной стороны платы под наклеенной фольгой. Плюсовой контакт нам не понадобится, GND берем рядом. Зачищаем контакты, припаиваем, тут уже кто что хочет: я сразу провода припаял, так как со штырьками мне показалось неудобно. Для подключения к COM порту я использовал Putty, скорость выставляем 56700. Далее подключаем аккумулятор к роутеру (здесь важно отметить, что после отключения аккумулятора и последующего подключения роутер не включается, необходимо на короткое время подключить его к зарядке). Запускаем роутер, в консоли должен отображаться этап загрузки, примерный текст следующего вида.
U-Boot 1.1.3 (Apr 8 2014 - 19:03:10)
Board: Ralink APSoC DRAM: 32 MB
relocate_code Pointer at: 81fb4000
USB mode is Host.
spi_wait_nsec: 42
spi device id: ef 40 17 0 0 (40170000)
Warning: un-recognized chip ID, please update bootloader!
*** Warning - bad CRC, using default environment
============================================
Ralink UBoot Version: 3.5.2.5_ZyXEL
--------------------------------------------
ASIC 5350_MP (Port5<->None)
DRAM_CONF_FROM: Boot-Strapping
DRAM_TYPE: SDRAM
DRAM_SIZE: 256 Mbits
DRAM_WIDTH: 16 bits
DRAM_TOTAL_WIDTH: 16 bits
TOTAL_MEMORY_SIZE: 32 MBytes
Flash component: SPI Flash
Date:Apr 8 2014 Time:19:03:10
Если у вас в консоли ничего нет, возможно неверно подключили uart, если кракозябры, значит не выставили скорость порта.
TOTAL_MEMORY_SIZE должен быть 32 MBytes если он у вас 16, значит что-то сделали не так, вероятно, забыли про резисторы. Да, у меня после первой попытки их перепаять TOTAL_MEMORY_SIZE стал 8Мб. Оказалось, плохо припаян резистор ближайший к Ralink.
Итак sdram перепаян, flash прошита, резисторы перепаяны, загрузчик показывает 32Мб. Что делаем дальше? Дальше пробуем запустить роутер. Должен работать.
Подключаем кабель, переходим в веб интерфейс (192.168.1.1). Смотрим. На этом этапе у вас не должно быть сервисного кода:
Фото 4
В журнале должна проскакивать ошибка: что-то вроде «key not found sevicetag» (предполагается, что роутер подключен к интернету). Далее перезагружаем роутер, естественно с подключенным usb-uart, и сразу же быстро нажимаем в консоли клавишу 4. Далее набираем данные команды по очереди.
setenv zyxelsn S132E30046258
setenv servicetag 101614015618458
saveenv
Перезагружаем устройство. В интерфейсе должен отображаться сервисный код (роутер должен быть подключен к интернет). Переходим в обновления. Вот тут устройство сразу отказывается искать обновления. Я несколько раз пробовал перезагружать страницу, роутер напрочь отказывался обновляться. До тех пор пока я не выбрал один из компонентов (Интернет фильтр Яндекс DNS), перед этим выбрав «работать в офлайне», там была активна кнопка удалить. Нажав на нее, получил сообщение «настройки сохранены» (что-то вроде этого), через какое-то время всплыло окно о том, что имеются обновления, согласился на них. После этого проблем с изменением конфигурации прошивки через веб-интерфейс роутера не возникало. На данный момент версия прошивки v2.05(AAKW.1)C1. На этом все.
P.S.: Если после обновления вновь подключиться к роутеру через usb-uart и вывести все значения (printenv), то помимо введенных вами ранее zyxelsn и servicetag вы увидите новый параметр servicepass. Так вот, до этого я заливал прошивку, скачанную с сайта Zyxel, через usb-uart, то есть используя загрузчик от сторонней прошивки, и параметр servicepass не появлялся. В журнале роутера при этом появлялось сообщение что-то вроде «key not found servicepass» и конечно же обновляться он не хотел.
Используемые материалы: 4pda, mysku
Комментарии (11)
DikSoft
23.11.2015 17:04…
«проходили это на dir620 и Keenetic, емнип, в 2010-11 годах»
— напомните, please, в чём засада?
Просто дома до сих пор работает как раз тех лет переделка из 620-го в Keenetic. Какого подвоха ждать, не включится, зависнет, в botnet сам себя внесет?doomscar
23.11.2015 19:09+1Видимо имелась в виду, так называемая, проблема «желтоглазости». Zyxel в свои прошивки внедрял защиту от прошивания в сторонние устройства. Через несколько дней эксплуатации затирался загрузчик.
lolipop
24.11.2015 10:53если бездумно влить прошивку v1 для keenetic 4g ii в подобные обозреваемому роутеру, произойдёт то же самое.
evr1ka
24.11.2015 08:11Может лучше кто подскажет, как Zyxel Zywall 70W EE в че-нить современное перепрошить?
На своей ZyNOS уже не то…
en1gma
скоро придёт дядя из ndm systems (например, Игорь Мокрушин более известный как McMCC) и скажет, что так низя делать. в чем, кстати, он абсолютно прав.
если люди не согласятся, то в одной из будущих прошивок может появиться деструктивный код. проходили это на dir620 и Keenetic, емнип, в 2010-11 годах
KOLANICH
А смысл? Новых прошивок для кинетика давно не выпускалось, в последнее время и для 2.0 не выпускается, видимо решили забросить.
lolipop
выпускаются, но только для новых моделей.
собственно:
service.ndmsystems.com/changelog.html