Если вдруг вы оказались случайным или не случайным владельцем данного роутера, то наверняка уже успели разочароваться, бедной стандартной прошивкой и крайне скудным внутренним потенциалом. Если вам также не повезло как и мне, то роутер имеет в наличии 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. Получив их, начинаем творить.

Сперва сливаем прошивку, которой одарили нас китайцы. На всякий случай. Сделать это можно, либо выпаять флешку, либо использовать прищепку, или поступить как я:

Фото 1
image

Просто припаяны короткие провода прямо к флешке. Провода должны быть как можно короче. Изначально были длинными, флеш терялась, пришлось укоротить. Если будете поступать как я, то сливайте несколько раз, и проверьте бинарники на одинаковость, например тем же md5hash.

Далее необходимо отпаять sdram, для меня это чуть было не закончилось трагедией. Но все же удалось восстановить оторванные дорожки, и не спрашивайте каким образом я их оторвал. Второй ряд контактов микросхемы я просто отломал. Ибо и так уже ее испортил.

Припаиваем на место новенький sdram на 32 мб (как все-таки просто описывать эту операцию, буквально уложился в несколько предложений, но под ними скрываются часы кропотливой работы (без фена), а сколько нервов!).

Я надеюсь, у вас выйдет без таких косяков, как у меня. Двигаемся дальше.

Далее можно залить дамп от Keenetic 4G II при помощи программатора и запускать роутер, вот только вас ждет жестокий облом: после всех пройденных испытаний роутер не запустится, так как определяется память все еще в объеме 16 мб. На этом моменте я по незнанию потратил очень много времени, так как большинство материалов, которые мне попадались, указывали на несовершенство загрузчика (u-boot), мол, нужен специальный, который видит весь объем памяти sdram. Я их перепробовал целую кучу. До тех пор, пока не наткнулся на одну из статей: оказалось, для того, чтобы роутер увидел весь объем памяти, необходимо перенести пару резисторов.

Фото 2


Синим указано старое расположение, красным новое.

Ну и конечно же, отпаивая детали размером в миллиметр, я их прикончил. Поискав в закромах, была найдена старая материнская плата, которая и послужила донором. Резисторы там, правда, покрупнее, поэтому сделать удалось так:

Фото 3


Резисторы (выделены синим) приклеены верхней стороной на свободных местах (сопротивление — 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)


  1. en1gma
    23.11.2015 13:59
    +1

    скоро придёт дядя из ndm systems (например, Игорь Мокрушин более известный как McMCC) и скажет, что так низя делать. в чем, кстати, он абсолютно прав.
    если люди не согласятся, то в одной из будущих прошивок может появиться деструктивный код. проходили это на dir620 и Keenetic, емнип, в 2010-11 годах


    1. KOLANICH
      23.11.2015 20:37

      А смысл? Новых прошивок для кинетика давно не выпускалось, в последнее время и для 2.0 не выпускается, видимо решили забросить.


      1. lolipop
        24.11.2015 10:55

        выпускаются, но только для новых моделей.
        собственно:
        service.ndmsystems.com/changelog.html


  1. DikSoft
    23.11.2015 17:04

    «проходили это на dir620 и Keenetic, емнип, в 2010-11 годах»
    — напомните, please, в чём засада?
    Просто дома до сих пор работает как раз тех лет переделка из 620-го в Keenetic. Какого подвоха ждать, не включится, зависнет, в botnet сам себя внесет?


    1. doomscar
      23.11.2015 19:09
      +1

      Видимо имелась в виду, так называемая, проблема «желтоглазости». Zyxel в свои прошивки внедрял защиту от прошивания в сторонние устройства. Через несколько дней эксплуатации затирался загрузчик.


      1. sashabeep
        24.11.2015 01:46

        Как ни юзал — не столкнулся


        1. BusteR27
          24.11.2015 09:15

          Аналогично, dir620 прошитый в зухель работает уже больше 3 лет


      1. lolipop
        24.11.2015 10:53

        если бездумно влить прошивку v1 для keenetic 4g ii в подобные обозреваемому роутеру, произойдёт то же самое.


  1. Sergey_datex
    24.11.2015 01:26

    Аналогично, живут два 620х перепрошитых, года 3 уже.


  1. sashabeep
    24.11.2015 01:47

    Да ну ее, эту 2-ю версию. Без opkg неинтересно


  1. evr1ka
    24.11.2015 08:11

    Может лучше кто подскажет, как Zyxel Zywall 70W EE в че-нить современное перепрошить?
    На своей ZyNOS уже не то…