Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2025, 00:17   #71
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 432
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Так поэтому и не стоит им самим заниматься восстановлением. Если мастер окирпичит роутер, то зальёт прошивку прямо на флешку программатором.
Мастер конечно зальёт, но цена может не понравится.... Стоит самим ещё как стоит , производитель не зря режим восстановления реализовал по ftpd, воткнуть патч корд в роутер и компьютер и произвести несложные действия должен пользователь, а не мастер.Програматор , это уже крайняя мера... Сегодня девчонки на приёмки всё быстро и легко восстанавливали по ftpd и клиентов обучали, чтоб по ерунде не бегали. А сложные случаи, уже я восстанавливал, там либо бут совсем затёрт, либо аппаратный ремонт сначала. 8 к одному такая вот статистика.
Я домой забрал все сложные сейчас ремонтирую и прошиваю. Но опять проблема, достать полный fulflesh проблема, я стараюсь где возможно считать дамп, правлю его и зашиваю. А то боюсь месяца нехватит бегать по рессурсам в поисках дампов.
sergey.serg-72 вне форума Ответить с цитированием
Старый 02.03.2025, 00:24   #72
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 432
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Если говорить про TP-Link, то, кажется, слово up в названии прошивки просто сокращение от update. А noboot и boot означают отсутствие или наличие загрузчика.
Это совершенно верно, я тоже к этому пришёл.
sergey.serg-72 вне форума Ответить с цитированием
Старый 02.03.2025, 00:32   #73
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 432
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Потому что нельзя один раз написать универсальную программу. Нужно будет постоянно следить за производителями и вносить правки. Если прошивка скачана с сайта производителя, еще как-то можно ориентироваться на название файла, но если со стороннего ресурса, то файлы могли переименовать. Нужно ориентироваться на размер файла, как-то анализировать содержимое файла (что-то аналогичное binwalk). Вот и получается, что проще копить знания, для какой модели что и как обрезать, и делать это "тупыми" командами dd, чем свести это в готовую программу.
Следить уже не придётся, новые модели идут уже без boot и с улучшенным интерфейсом и возможностями. А вот старые модели ещё в наличии и ещё выпускаются, недорогие, бюджетные и их много. А вот размеры, это утопия, чуть обновлённая и уже размер увеличивается, а вот структура boot остаётся неизменной. По этому как раз универсальная и нужна для большинства бюджетных моделей. А поправки и дополнения уже не будут нужны.

Последний раз редактировалось sergey.serg-72; 02.03.2025 в 01:09.
sergey.serg-72 вне форума Ответить с цитированием
Старый 02.03.2025, 00:40   #74
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 432
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Да, нормально нескучно выглядит, хотя кнопок для новичка многовато.
А как ещё можно без кнопочек? это не я, это производитель такой размах развёл.
И для новичка, как раз удобно, всё видно и понятно.
Конечно могу оставить одну кнопку, чтоб пользователь сам вводил нужное количество байт для обрезки и всё. Но боюсь, как раз для новичка, в спешке введёт не 512 байт, а 511 и всё, считай испортил. А тут понятно. Внизу кнопка, позволяет выбирать, но вводить придётся ручками.
Я могу комбо-бокс конечно, но где гарантия что завтра производитель придумает boot_ а там 600 байт надо будет обрезать? Вот тогда уже надо обновлять. Я на этот случай внизу и сделал кнопку с выбором. Конечно для вас, для себя я бы одну оставил и всё, но думать надо и о домохозяйке и для полного лузера.
sergey.serg-72 вне форума Ответить с цитированием
Старый 02.03.2025, 00:59   #75
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 432
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Возможно и не переименована, просто проиводитель перестал указывать boot в названии файла. Например, тут:
Цитата:
The latest TP-Link firmware for V1 revision (wr741nv4_en_3_12_11_up(120320).bin ) doesn't have the word 'boot' in it. However, the 120320 firmware has also the bootloader (bigger file, 4063744 vs 3932160, it's 131584 bytes larger, equals to 0x20200 in hex, the amount you have to trim when flashing those files as described in wiki!)
Нет BDA, в данных случаях не производитель, а кто то случайно, а может быть и нет просто переименовал типа уже обрезана и выложил. Вы думаете я не анализировал? всё до байтика сверял, скачал с тп-линка и в сравнения один, в один и там есть boot.

По этой модели и опен-врт не нужен.

Хотите введу вас в ступор ?
Пожалуйста :

wr840n v1 именно версия 1 , попробуйте найдите справку по этой.
wr844 v1 именно версия 1 , попробуйте найдите справку по этой.
wr820 v2 именно версия 2 , попробуйте найдите справку по этой.
Arher C24 v2 именно версия 2 , попробуйте найдите справку по этой.
Arher C54 v1 именно версия 1 , попробуйте найдите справку по этой.
Arher A54 v1 именно версия 1 , попробуйте найдите справку по этой.
Не найдёте и не потому что не поддерживают, по uart поддерживают все и восстанавливаются.
Но вот справки по ним , вы не найдёте сколько из них вырезать.
И openwrt и еже с ним по этим моделям молчок и на спец ресурсах тоже.
А это бюджетники и так же можно восстановить, вот только инфы по ним нет и не найдёте.
Очень удобно с лёгкими вариантами, а где сложней, всё, все молчок и поддержки нет и информации нет.
Вот сами попробуете найти и посмотрим по времени сколько займёт.

особенно wr840n v1.
sergey.serg-72 вне форума Ответить с цитированием
Старый 03.03.2025, 00:57   #76
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 432
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Да, нормально нескучно выглядит, хотя кнопок для новичка многовато.
Тут как сказать BDA тут люди не только на пальцах считают, есть ещё хуже как оказалось...
Люди пошли ахтунг.....
Можно конечно так , сделать, но у меня уже сомнения, что люди смогут комбобокс переключить, или вбить в ручную....
Изображения
Тип файла: jpg новая прога без кнопок.JPG (37.0 Кб, 48 просмотров)
sergey.serg-72 вне форума Ответить с цитированием
Старый 08.03.2025, 02:02   #77
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,428
По умолчанию

Цитата:
Сообщение от sergey.serg-72 Посмотреть сообщение
Ввод данных из одного memo в том то и проблема, чтоб компактно было и нет разных полей, поставишь для одного, закроешь другое...
Ну удобный графический интерфейс это тоже наука. Если пользователь программы обязан всегда указывать MAC, модель и PIN, то удобнее было бы сделать 3 поля ввода для них со своей проверкой на корректность для каждого поля и выдачей соответствующих предупреждений (плюс показ пользователю по каким адресам они будут записаны). И, например, еще два поля ввода: для любой информации и по любому заданному адресу. А если у вас всего два поля (для информации и для адреса), то как вы будете предупреждать об ошибках новичков?
Цитата:
Сообщение от sergey.serg-72 Посмотреть сообщение
Я могу комбо-бокс конечно, но где гарантия что завтра производитель придумает boot_ а там 600 байт надо будет обрезать? Вот тогда уже надо обновлять. Я на этот случай внизу и сделал кнопку с выбором.
Если программа предполагается "умная" и сама определяет размер отрезаемого, то нужно всего два варианта: предложенный программой размер или введённый пользователем вручную на его усмотрение.
Цитата:
Сообщение от sergey.serg-72 Посмотреть сообщение
особенно wr840n v1.
В исходниках binwalk (https://github.com/ReFirmLabs/binwal...ures/tplink.rs) нашел ссылку на описание tp-link заголовка первой версии (https://github.com/jtreml/firmware-m...c/Image_layout) и случайно нашел описание заголовка третьей версии (https://github.com/xdarklight/mktplinkfw3). Почему-то у wr840nv1 нет второго tp-link заголовка, а вместо него идет trx заголовок. Если судить по дампу из темы (https://forum.tp-linkru.com/viewtopic.php?t=7729), то обрезать нужно 131584 байт. Но если в этой модели нету ftp recovery, то для прошивки через uart, насколько понимаю, можно ничего не обрезать (если не использовать команду mtd, а только cp.b), но нужно будет верно указывать адреса.
Цитата:
Сообщение от sergey.serg-72 Посмотреть сообщение
А это бюджетники
В них слишком мало flash и ram памяти, из-за чего они не проходят под требования систем, основанных на Linux.

Некоторые мысли по структуре файла прошивки (Arher C24v2, Arher C54v1). В binwalk описан 148 байтовый tp-link rtos заголовок, но я бы рассматривал их как два заголовка. В начале файла первый заголовок размером 20 байт (в описании указываю hex-адрес относительно начала структуры, а потом остальные данные):
0x0000: 4 байта - сигнатура - 00 14 2F C0;
0x0004: 16 байтов - md5 проверочная сумма файла (можно проверить, подставив на это место байты CC 96 28 EE 8D FB 21 BB 3D EF 6C B5 9F 77 4C 7C, взятые отсюда https://forum.archive.openwrt.org/vi...p?id=41040&p=1, и посчитав md5 получившегося файла).
Потом идёт второй заголовок размером 128 байт:
0x0000: 4 байта - сигнатура - 49 4D 47 30 (т.е. строка "IMG0" для прошивок, в имени которых IMG0) или 28 76 C4 4D (т.е. строка "(vДM" для прошивок, в имени которых TPOS);
0x0004: 4 байта - размер данных (вместе с заголовком);
0x0008: 2 байта - модель (но, например, для C24v2 и C54v1 указано одинаковое число 0C 54);
0x000A: 1 байт - старшая версия ревизии; 0x000B: 1 байт - младшая версия ревизии (например, для C20v6.20 указано 06 20, а для C54v1 указано 00 01);
...
0x0024: 4 байта - смещение относительно адреса конца заголовка - предположительно, адрес следующего заголовка (например, для C54v1 указано 00 02 00 00, а для wr820v2 указано 00 00 D0 00);
...
0x0058: 4 байта - смещение относительно адреса начала заголовка; 0x005С: 4 байта - размер - предположительно, секция с описанием регионов, для которых предназначена прошивка;
...

В прошивках с именем noboot есть 20 байтовый заголовок и только один 128 байтовый заголовок, а в прошивках с именем boot 20 байтовый заголовок и два 128 байтовых заголовка. Можно предположить, что нужно отрезать 0x20094 (для C54v1) байт (20 байтовый заголовок, один 128 байтовый заголовок и все данные до второго заголовка), а затем добавить в начало файла новый 20 байтовый заголовок. Но меня смущает, что строка "U-Boot" встречается как после первого заголовка, так и после второго, будто в файле прошивки есть два загрузчика. Может быть нужно еще во втором заголовке занулить 4 байта по адресу 0x0068 и 4 байта по адресу 0x006С (в этом состоит отличие прошивки C20v6.20-TPOS-up-noboot от c24v2-TPOS-up-boot). Чтобы разобраться в таких тонкостях без документации, нужно изучать ассемблерный код, чтобы установить, что откуда читается и куда записывается.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 11.03.2025, 14:35   #78
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 432
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Ну удобный графический интерфейс это тоже наука. Если пользователь программы обязан всегда указывать MAC, модель и PIN, то удобнее было бы сделать 3 поля ввода для них со своей проверкой на корректность для каждого поля и выдачей соответствующих предупреждений (плюс показ пользователю по каким адресам они будут записаны). И, например, еще два поля ввода: для любой информации и по любому заданному адресу. А если у вас всего два поля (для информации и для адреса), то как вы будете предупреждать об ошибках новичков?
Да, наука это точно. Три поля были изначально сделаны и изначально сразу запись из трёх окон была, потом пришлось убрать. Только вывод данных, в которых адрес можно менять в ручную.
Почему ?, да потому что, по правильному, надо в свой дамп записывать и модель и мак адрес и пин , но многие просто свой мак прописывают и всё на этом. Ну кто то мак и пин и на этом всё.
А большинство и этого не делают, как дали дамп, так и записывают....
Один, считает, что мака достаточно, другой мак и пин, третий всё надо записывать, четвёртый вообще ни чего не надо и не хочу....
По этому пришлось убрать запись сразу трёх данных, а оставить на выбор пользователю.
Изображения
Тип файла: jpg 55555555555555.JPG (25.8 Кб, 14 просмотров)
sergey.serg-72 вне форума Ответить с цитированием
Старый 11.03.2025, 14:39   #79
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 432
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Если программа предполагается "умная" и сама определяет размер отрезаемого, то нужно всего два варианта: предложенный программой размер или введённый пользователем вручную на его усмотрение.
Так и есть, программа выводит как надо, но при этом можно выбрать из списка в комбобоксе или ввод в ручную своих данных, это предусмотрено.
sergey.serg-72 вне форума Ответить с цитированием
Старый 11.03.2025, 14:55   #80
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 432
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
В исходниках binwalk (https://github.com/ReFirmLabs/binwal...ures/tplink.rs) нашел ссылку на описание tp-link заголовка первой версии (https://github.com/jtreml/firmware-m...c/Image_layout) и случайно нашел описание заголовка третьей версии (https://github.com/xdarklight/mktplinkfw3). Почему-то у wr840nv1 нет второго tp-link заголовка, а вместо него идет trx заголовок. Если судить по дампу из темы (https://forum.tp-linkru.com/viewtopic.php?t=7729), то обрезать нужно 131584 байт. Но если в этой модели нету ftp recovery, то для прошивки через uart, насколько понимаю, можно ничего не обрезать (если не использовать команду mtd, а только cp.b), но нужно будет верно указывать адреса.
Я тоже пришёл к этому выводу что 131584, но опять , это предположение, а надо точно.
Что касается Uart, то согласно википендии и бывалым спецам, то обрезать обязательно по Uart тоже.
sergey.serg-72 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
чтобы я мог вводить данные не только в Memo ALEXandr20333 Общие вопросы Delphi 9 04.11.2014 19:04
Считывание из поля Memo Qwerik Помощь студентам 8 07.11.2012 11:29
Считывание из Memo в массив WiseElrond C++ Builder 1 24.10.2011 00:00
Построчное считывание информации memo xpams Компоненты Delphi 2 16.09.2011 19:36
Как сделать посточное считывание с Memo Sanek777 Общие вопросы Delphi 19 25.09.2008 23:43