Powered by Invision Power Board


Страницы: (14) « Первая ... 12 13 [14]   ( Перейти к первому непрочитанному сообщению ) ОтветитьНовая темаСоздать опрос

> Модкит для Keenetic, разборка прошивки Keenetic
IvyGel
Отправлено: Окт 12 2011, 16:38
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 178
Пользователь №: 19
Регистрация: 12-Октября 11
Статус: Offline

Репутация: 3



Уважаемый deadc0de публиковал на форуме DD-WRT свой модкит для Keenetic.

Мне очень пригодился этот модкит для пересборки прошивки, когда я обнаружил, что в прошивке Кинетика в процессе исполнения setup-target.sh монтируется раздел /storage:

ls /dev/mtdblock/6 >/dev/null 2>&1 && mount -t jffs2 /dev/mtdblock/6 /storage >/dev/null 2>&1 || format_jffs

Этот раздел объемом 2 мегабайта доступен для записи, но штатно используется под экзотические цели - http://forum.zyxmon.org/post2473.html#p2473

По сути, единственный способ сделать что-то полезное с этим разделом - пересобрать прошивку от deadc0de с добавлением вызова какого-нибудь исполняемого скрипта по аналогии с ext_init.sh

На всякий случай перепубликую тут: http://depositfiles.com/ru/files/oww6rkogk распаковывает (unpack.sh) или упаковывает (pack.sh) прошивки Keenetic, скачанный архив содержит бинарные исполняемые файлы для 64-разрядных ОС.

Пользователи 32-разрядных ОС могут собрать firmware_mod_kit (svn export http://firmware-mod-kit.googlecode.com/svn/trunk/ fmk && cd fmk/trunk/src && make) и keeneticfix из исходника. Или скачать готовые бинарники с http://depositfiles.com/files/zim9jgxs0.
[Показать/Скрыть]
Код
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <string.h>

#define szbuf 32768

u_int32_t crc_tab[256];

const char header[] = {
0x5a, 0x4e, 0x42, 0x47, 0x15, 0x42, 0x00, 0x00, 0x5a, 0x79, 0x58, 0x45, 0x4c, 0x20, 0x4b, 0x45,
0x45, 0x4e, 0x45, 0x54, 0x49, 0x43, 0x2d, 0x56, 0x31, 0x2e, 0x30, 0x30, 0x5b, 0x42, 0x46, 0x57,
0x2e, 0x33, 0x5d, 0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

u_int32_t chksum_crc32 (FILE *f)
{
  register unsigned long crc;
  unsigned long i, j;
  char *buffer = malloc(szbuf);
  char *buf;

  crc = 0xFFFFFFFF;
  while (!feof(f)) {
j = fread(buffer, 1, szbuf, f);
buf = buffer;
for (i = 0; i < j; i++) {
  crc = ((crc >> 8) & 0x00FFFFFF) ^ crc_tab[(crc ^ *buf++) & 0xFF];
  }
}
  free(buffer);
 return crc;
}

void chksum_crc32gentab ()
{
  unsigned long crc, poly;
  int i, j;

  poly = 0xEDB88320L;
  for (i = 0; i < 256; i++)
  {
 crc = i;
 for (j = 8; j > 0; j--)
 {
if (crc & 1)
{
  crc = (crc >> 1) ^ poly;
}
else
{
  crc >>= 1;
}
 }
 crc_tab[i] = crc;
  }
}


int main(int argc, char *argv[]) {
 FILE *f;
 unsigned int crc32;
 unsigned int fsize;
 unsigned int bufsz;
 char *buf;

 if (argc < 1)
return 1;
 else {
chksum_crc32gentab();
f = fopen(argv[1], "r+");
if (f != NULL) {
 fseek(f, 0, SEEK_END);
 fsize = ftell(f);
 if (fsize > 0x04c0000)
  return 1;
 bufsz = 0x04c0000 - fsize;
 buf = malloc(bufsz);
 memset(buf, 0, bufsz);
 fwrite(buf, bufsz, 1, f);
 free(buf);
 fseek(f, 0, SEEK_SET);
 crc32 = chksum_crc32(f);
 fwrite(&header[0], sizeof(header), 1, f);
 fwrite(&crc32, 4, 1, f);
 fclose(f);
 }
}
 return 0;
}
PMEmail Poster
Top
zazafa
Отправлено: Янв 7 2015, 13:40
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 270
Пользователь №: 2,104
Регистрация: 20-Сентября 12
Статус: Offline

Репутация: 6



PMEmail Poster
Top
solalex
Отправлено: Апр 14 2015, 21:46
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 38
Пользователь №: 431
Регистрация: 19-Февраля 12
Статус: Offline

Репутация: 1



Цитата (Dr.Acid @ Сен 29 2014, 18:53)
Ладно, вот, выложу: keenetic_all /modkit/keenetic_modkit.tar.gz
Это модкит для прошивок V1, не мой(я допиливал, но так и не допилил до конца). Главное его свойство - способность разбирать/собирать прошивки V1.11 так, что они работают wink.gif

В общем, кому интересно, может заняться...

Может кто краткую инструкцию набросает, как этим добром пользоваться?
PMEmail Poster
Top
Dr.Acid
Отправлено: Апр 15 2015, 21:11
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 765
Пользователь №: 407
Регистрация: 14-Февраля 12
Статус: Offline

Репутация: 12



Цитата (solalex @ Апр 14 2015, 21:46)
Может кто краткую инструкцию набросает, как этим добром пользоваться?

Дык там в README_modkit вроде есть, кратко.
Ещё можно где-то тут поискать (в постах S-trace)
Суть: надо взять 2 прошивки - от "вашего" роутера(имеется ввиду Заксель - а вам брать соответствующий, подходящий) версии 1.10(оттуда берется ядро), от "вашего" 1.11 и кинетик 1.11
На выходе получается "Франкенштейн" с родным ядром 1.10, и возможностями кинетика(местами даже поболее) tongue.gif
Ну и, конечно, скрипты патчи и т.п. правим "под себя" wink.gif
PMEmail Poster
Top
Miratvorets311
Отправлено: Апр 1 2016, 07:43
Цитата


Новичок
*

Группа: Пользователи
Сообщений: 2
Пользователь №: 10,445
Регистрация: 1-Апреля 16
Статус: Offline

Репутация: нет



Приветствую. Нужна ваша помощь,восстановить роутер DIR 620.
Предыстория:
Цитата:
Miratvorets311
Привет,помоги роутер оживить.
Была прошивка Keenetic,решил подключить принтер по сети. Пока изучал вопрос,надумал обновить прошивку. В итоге интерфейс стал "богаче",но подключить(настроить) интернет своими силами не получилось,wi-fi просил включить какой то тумблер,аналогично и с принтером.
Надумал "откатиться" на старую версию "по проще". По незнанию поставил прошивку KEENETIC-V1.00[BFW.4.4]D0. Прошивка прошла удачно,но после перезагрузки роутер перестал работать.
По факту имеем цикличную аунтефикацию(сеть не находит),индикация питания загорается,но гаснет LAN порт и наоборот,и так по кругу.
Пробовал перепрошиться через tftp cервер,но ничего не происходит.
Из твоих записей понял,что нужно "залить" в роутер через USB (флешку)загрузчик,чтобы прошивка пошла. Но загвоздка в том,что в web интерфейс роутера не зайти. На первом этапе понял(думаю) нужно запихнуть в роутер загрузчик,без него никак по ходу.
Два дня пыхчу,изучаю,в голове каша.
Имею на руках программатор USBDM (прошивал приборку),может им можно воспользоваться,восстановить маршрутизатор.
Просвяти,научи.
Заранее признателен.
22:38 _Danila_Master_
Поздравляю, если ты поставил родную немодифицированную прошивку Кинетика KEENETIC-V1.00[BFW.4.4]D0, то получил "желтый глаз"
Читаем это (ссылка на вашу тему) и понимаем, что сделали с роутером.
Т.е. теперь загрузчик в роутере запорот и ни tftpd (если бы заранее залили Зухельский загрузчик), ни консольный кабель уже не помогут.
Теперь, чтобы восстановить работоспособность, нужно собирать jtag - читаем в шапке темы.
Удачи.

Так вот попал в эту тему. Прочитал ветку (14 страниц) и понял,что здесь я "транзитный пассажир". Но под чутким руководством,готов учиться,осваивать прежде чуждую мне науку.
Из темы узнал,что нужно пересобрать прошивку(скачал вот это,готовый вариант keeneticmodkit.tar), дальше мне с ним,что делать? blink.gif
Еще одну вещь понял,что нужно,цитата:
Отпаял 4-ю ногу vc125a от дорожки (чтобы она висела в воздухе)
и соединил её с 7-й ногой этой-же микросхемы.?

Ну, тогда, наверное должен был получиться полный аналог кинетика.
Можно проверить заливкой оригинально прошивки от NDMS

Готов все это дело проделать,но что то мне подсказывает,что не хватает нескольких пазлов в этой ситуации.
Кто возмется помочь? huh.gif

З Ы руки не из опы,голова на месте
PMEmail Poster
Top
sergdvin
Отправлено: Апр 1 2016, 08:31
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 45
Пользователь №: 4,052
Регистрация: 4-Декабря 13
Статус: Offline

Репутация: 2



Пиши на почту, помогу по мере возможности.
PMEmail Poster
Top
sergdvin
Отправлено: Апр 1 2016, 08:49
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 45
Пользователь №: 4,052
Регистрация: 4-Декабря 13
Статус: Offline

Репутация: 2



http://dir620.ipb.su/index.php?showtopic=416 Вот тут достаточно подробно все описано, кабель я использовал самый простой LPT и пять резисторов. Для того чтоб использовать JTAG LPT пришлось собирать ПК уровня П-3 , с более современным не работало.
PMEmail Poster
Top
Ludovig
Отправлено: Апр 1 2016, 09:44
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 686
Пользователь №: 2,298
Регистрация: 23-Октября 12
Статус: Offline

Репутация: 18



Цитата (Miratvorets311 @ Апр 1 2016, 07:43)

Была прошивка Keenetic,решил подключить принтер по сети. Пока изучал вопрос,надумал обновить прошивку. В итоге интерфейс стал "богаче",но подключить(настроить) интернет своими силами не получилось,wi-fi просил включить какой то тумблер,аналогично и с принтером.///

По факту имеем цикличную аунтефикацию(сеть не находит),индикация питания загорается,но гаснет LAN порт и наоборот,и так по кругу.//

Пробовал перепрошиться через tftp cервер,но ничего не происходит.
Из твоих записей понял,что нужно "залить" в роутер через USB (флешку)загрузчик,чтобы прошивка пошла.

Miratvorets311

Тебе нужно не загрузчик заливать, а прошивку. Загрузчик жив.

1. Какая версия была залита первой? Если V.1.4 То должен был обновиться загрузчик и восстанавливать надо по методу Zyxel - https://zyxel.ru/kb/2146/

2. Если первый метод не проходит (загрузчик не обновился), то восстановить через консольный кабель (UART) - https://geektimes.ru/post/256878/


--------------------
Гигабайт Яндекс диска дополнительно и бесплатно по моей ссылке - https://disk.yandex.ru/invite/?hash=ILNWNKUD

Keenetic, DIR620A1
PM
Top
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Topic Options Страницы: (14) « Первая ... 12 13 [14]  ОтветитьНовая темаСоздать опрос

 


Текстовая версия