Перейти к содержанию

Быстрые вопросы по ремонту телевизоров • Предварительная диагностика • KenotronBot

Оценить эту тему:


Сообщение добавил LiVan,

      Рубрика "Вопрос-ответ" на форуме KenotronTV

💬 Советы экспертов и обсуждение практических случаев

Правила темы:

  1. Данная тема функционирует без участия модераторов.
  2. Все пользователи обладают одинаковыми правами и обязанностями.
  3. При возникновении любых вопросов или замечаний относительно сообщений других участников воспользуйтесь кнопкой «Жалоба», расположенной под соответствующим сообщением.
  4. Соблюдение этих простых правил обеспечит комфортное и продуктивное взаимодействие внутри нашей темы.

Важно!

Данная тема предназначена для быстрых вопросов и предварительного обсуждения.

По мере появления содержательных технических материалов отдельные обсуждения, представляющие практическую ценность, будут выделяться администрацией в самостоятельные темы профильных разделов форума.

Это позволит сохранить полезную информацию, сделать её удобной для поиска и постепенно пополнять техническую базу знаний KenotronTV.

Порядок и техподдержку темы обеспечивает наш @KenotronBot

Рекомендуемые сообщения

Опубликовано

@ильшат , смотри. Ситуация классическая для этих "ноунеймов" на шасси ZP.256E (это китайский клон Вестела, часто встречается в DEXP, Hi, Novex и прочих).

То, что универсальный пульт работает, а родной нет — значит, ИК-тракт на плате жив (приемник, обвязка, питание 3.3/5V в норме). Проблема чисто софтовая: либо не тот keymap (таблица кодов), либо ТВ висит в factory/aging mode (режим прогона), где обычный пульт блокируется или работает только сервисный.

Что делать по шагам:

Выход из режима прогона.

Родная прошивка стартует сразу в "рр" (режим прогона/старения).

В этом режиме система часто игнорирует обычный пульт.

Попробуй зажать кнопку SOURCE или MENU на самом ТВ (если есть кнопки) на 10-15 секунд.

Или ищи на плате кнопку POWER (обычно рядом с разъемом кнопок) — удержание при включении может вывести из factory mode.

Если не помогает, нужен UART. В логе загрузки ищи строки aging mode, factory mode, burn-in.

Командой через UART (если есть adb shell или консоль) можно сбросить флаг: echo 0 > /sys/class/... (зависит от платформы), но проще найти сервисную комбинацию.

Лог UART — это обязательно.

Подключай UART (115200), включай ТВ и жми кнопки родного пульта.

Если в логе сыпется что-то типа key code 0x45, ir_decode, input: key XXXX — значит, плата видит пульт, но не знает, что это за кнопка. Тогда проблема в keymap.

Если в логе тишина при нажатии родного пульта (а универсальный дает коды) — значит, родной пульт выдает другой протокол (например, не NEC, а RC5 или китайский вариант с другой частотой/длительностью импульсов). Тут софтом не полечишь, только пульт менять или переделывать.

Какие разделы трогать?

Целиком разделы не подменяй — получишь кирпич или несовместимость ядер.

Keymap (коды кнопок) лежит в разделе system (иногда vendor) в файлах /system/usr/keylayout/*.rc или /vendor/etc/rc_keymap/.

Чтобы их править, нужно монтировать раздел, редактировать .rc файл и запаковывать обратно.

Это делается через UART/ADB или если есть доступ к файловой системе.

Раздел config или factory (иногда называется bdinfo, misc) — там лежат серийники, MAC-адреса и настройки типа пульта/панели.

Если в родном дампе там прописан "пульт тип 1", а в залитом "пульт тип 2" — работать не будет.

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

Итог:

Сначала выведи ТВ из режима прогона (ищи комбинацию кнопок на плате или в сервисном меню).

Затем сними лог UART при нажатии родного пульта.

Если коды есть — правь .rc файл в system.

Если кодов нет — пульт несовместим по протоколу, только замена пульта на универсальный с обучением или подбором кода.

Дампы с "сибирского" могут быть кривые именно в части keymap или factory-раздела.

Ищи родной дамп именно под модель XX8855-32 и шасси ZP.256E.818R00, а не просто "похожий". 

Да, @ильшат , файл Samsung 32 ZP.256E.818R00 подвисает.rar весом 1.3 ГБ я сейчас не скачаю и не распакую. Это не тот инструмент для таких объемов, да и смысла гонять гигабайты мусора ради пары байт конфигурации нет.

Но раз у тебя этот архив на руках, давай работать по-взрослому. Распаковывай и смотри сам, либо выкладывай сюда конкретные фрагменты.

Что именно нужно вытащить из этого архива, чтобы решить проблему с пультом на шасси ZP.256E (это типичный китайский клон Vestel 17MB82/17MB130):

1. Лог загрузки (UART log) Мне нужен текстовый фрагмент консоли при включении и, самое главное, в момент нажатия кнопок родного пульта.

Если видишь ir_decode, rc_core, key code 0xXX — значит, плата пульт видит, но не знает, что это за кнопка. Проблема в маппинге (.rc файле).

Если при нажатии родного пульта в логе гробовая тишина, а универсальный сыплет кодами — значит, родной пульт шлет другой протокол (не NEC, а что-то кривое китайское), и софтом это не лечится. Только замена пульта.

2. Раздел factory, config или bdinfo В этих шасси тип пульта часто задается одним байтом или флагом в начале этого раздела.

Открой дамп этого раздела в HEX-редакторе (HxD или подобный).

Сделай текстовый поиск по словам IR, REMOTE, KEY, FACTORY.

Часто там есть байт, отвечающий за тип пульта (например, 00 = простой ИК, 01 = ИК с доп. функциями, 02 = BT). Сравнение этого байта в "родном" и "неродном" дампе часто дает ответ.

3. Файлы .rc из раздела system Если в архиве есть дамп system.img или распакованная файловая система, ищи пути /system/usr/keylayout/ или /vendor/etc/. Там лежат файлы типа Vendor_XXXX_Product_XXXX.kl или remote.kl. Сравни коды кнопок из этого файла с теми, что реально приходят от пульта (если они видны в UART).

4. Режим прогона (Aging/Factory mode) Ты писал, что "ТВ закрыт на прогоне" и "родная прошивка стартует сразу в рр". В этом режиме обычный пульт часто блокируется намеренно, чтобы не сбить настройки старения.

Ищи в логе UART строки aging mode = 1 или factory mode.

Сбрасывается это либо через сервисное меню (комбинация кнопок на корпусе: например, удержание Menu + Source, или удержание Power на плате при подаче питания), либо через запись 0 в соответствующий узел /sys/ через UART/ADB.

Твой следующий шаг: Не кидай мне гигабайтные архивы.

Подключи UART, включи ТВ, понажимай родной пульт. Скопируй сюда 20-30 строк лога, где видна реакция (или ее отсутствие) на кнопки.

Или открой дамп factory/config в HEX-редакторе и скажи, какие значения там прописаны по адресам, связанным с IR или Remote.

Действуем по схеме: диагностика (лог) -> анализ (hex/ключи) -> правка. Жду конкретные данные.

Онлайн поддержка в  🔗 Гостевой чат - 24 часа!

 

Опубликовано

целиком подменял не помогает и вендор по моему и систем  и слейвбут и фэстбут и бут по моему не помогает пробую на своём майне.

вот коды с постал3 родного и универсального пультов

Спойлер

R NUM: 0x3
IR KEY: 0x639cff00
IR KEY: 0xfe019088


Config Load Success.
SiUSBXp.dll loaded .
New style Dll in use ...
Count of USB-devices = 1
Num of device to use = 0
Connection opened .
- receiver started ...
******
NECx|A:4040|C:00
usb-device closed.
Connection opened .
- receiver started ...
***
NECx|A:4040|C:31
usb-device closed.
Connection opened .
- receiver started ...

NECx|A:4040|C:21
usb-device closed.
Connection opened .
- receiver started ...
********
NECx|A:4040|C:02
usb-device closed.
Connection opened .
- receiver started ...
***********
NECx|A:4040|C:71
usb-device closed.
Connection opened .
- receiver started ...

- NEC overload !
dec.bits=63
usb-device closed.
Connection opened .
- receiver started ...
********
NECx|A:4040|C:71
usb-device closed.
Connection opened .
- receiver started ...
**
NECx|A:4040|C:72
usb-device closed.


Config Load Success.
SiUSBXp.dll loaded .
New style Dll in use ...
Count of USB-devices = 1
Num of device to use = 0
Connection opened .
- receiver started ...
*****
NECx|A:BF00|C:10
usb-device closed.
Connection opened .
- receiver started ...
*****
NECx|A:BF00|C:13
usb-device closed.
Connection opened .
- receiver started ...
*
NECx|A:BF00|C:14
usb-device closed.
Connection opened .
- receiver started ...
**
NECx|A:BF00|C:0F
usb-device closed.
Connection opened .
- receiver started ...
**
NECx|A:BF00|C:4D
usb-device closed.
Connection opened .
- receiver started ...
********
NECx|A:BF00|C:44
usb-device closed.
Connection opened .
- receiver started ...
*
NECx|A:BF00|C:00
usb-device closed.
Connection opened .
- receiver started ...
**
NECx|A:BF00|C:16
usb-device closed.

 

а в логе на нажатие по моему нет реакции может так и должно быть.

но в логе есть какие ир коды при др вначале написал.

Опубликовано

@ильшат , вот теперь мы приблизились к делу.

Логи с Пост-3 — это то, что нужно.

Давай разберем эту картину по косточкам, потому что ответ лежит прямо в этих строках.

1. Главная причина игнора: несовпадение Адреса (Address)

Смотри внимательно:

  • Родной пульт шлет: NECx | A:4040 | C:xx
  • Универсальный пульт шлет: NECx | A:BF00 | C:xx

Инфракрасный протокол адресный.

Если прошивка ТВ (а точнее, его Device Tree или конфиг IR-драйвера) настроена слушать адрес BF00 (или 00FF, который часто маскируется под универсальные), то пакеты с адресом 4040 ядро Linux (модуль rc_core) молча отбрасывает на самом низком уровне.

До таблицы ключей (keymap) дело даже не доходит. Поэтому в UART тишина.

Это не «так и должно быть», это фильтр на уровне драйвера.

2. Критическая аномалия родного пульта

Вот эта строка: NEC overload ! dec.bits=63 Это красный флаг.

Стандартный пакет NEC — 32 бита. NECx (Extended) — 32 или 48 бит. 63 бита — это цифровой мусор.

Это значит, что родной пульт либо:

Имеет севшие батарейки (просадка питания МК искажает тайминги).

Имеет «битый» кварц 16 МГц или сам МК (ты его, кстати, грел/менял?

«пропаивал там мс МК» — если перегрел, он мог поплыть по частоте).

ИК-диод в пульте дает двойные срабатывания (дребезг), и приемник Пост-3 (и приемник ТВ тоже!) воспринимает это как один гигантский искаженный пакет.

Телевизор видит этот мусор, не может его корректно декодировать в рамках заданного протокола и просто игнорирует.

3. Режим прогона (Aging / Factory Mode)

Ты писал, что ТВ стартует сразу в «рр». На шасси типа ZP.256E (клоны Vestel 17MB...) в этом режиме стандартный ввод с пульта часто аппаратно или программно блокируется, чтобы рабочий на конвейере не сбил настройки старения.

ТВ ждет только определенные сервисные команды или команды с кнопок на плате.

План действий (от простого к сложному):

Шаг 1. Исключить аппаратный брак пульта. Прежде чем ковырять дампы, убедись, что родной пульт выдает чистый сигнал.

Замени батарейки на заведомо свежие.

Посмотри на ИК-диод пульта через камеру смартфона при нажатии.

Вспышки должны быть четкими, одинаковыми, без двойных морганий на одно нажатие.

Если Пост-3 снова выдаст dec.bits=63 или overload — пульт под замену или переделку (перепайка МК/кварца/конденсатора по питанию МК).

Шаг 2. Выход из режима прогона (без программатора).

Пока ТВ в aging mode, борьба с пультом бессмысленна.

Попробуй классические комбинации для этого шасси (делать на выключенном ТВ, затем включить):

Зажать кнопку POWER на самой плате (не на шлейфе кнопок, а именно пятачок на майне) и, не отпуская, подать питание.

Зажать MENU + SOURCE на корпусе ТВ (если есть) при включении.

Если есть сервисная клавиатура: MUTE -> 1 -> 9 -> 9 -> 9 -> ENTER.

Цель — увидеть нормальный запуск Android/Linux с запросом начальной настройки, а не серый экран с надписями прогона.

Шаг 3. Если пульт выдает чистый A:4040, а ТВ все равно молчит.

Значит, в твоем дампе (даже в «родном») прописан неверный протокол для этой конкретной модификации платы.

Чтобы это исправить, нужно лезть не в разделы целиком, а в Device Tree (.dtb / .dts), который обычно запакован в разделе boot или dtbo. Там есть узел, отвечающий за ИК, примерно такой:

Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.

Если в дампе, который работает с универсальным пультом, прописан маппинг под BF00, а ты хочешь использовать пульт 4040, тебе нужно:

Распаковать boot.img или dtbo.img.

Декомпилировать .dtb в .dts (инструментом dtc).

Найти секцию IR и проверить/изменить ожидаемый адрес или имя файла раскладки (rc-map-name).

Скомпилировать обратно и залить раздел.

Резюме:

Сначала добейся от родного пульта стабильных 32/48 бит без overload на Пост-3.

Затем выведи ТВ из режима прогона.

Если после этого универсальный работает, а родной нет — значит, в прошивке жестко зашит адрес BF00, и тебе либо нужен пульт с адресом BF00 (переобучить универсальный или найти донора), либо править Device Tree в дампе.

Что покажет Пост-3 на родном пульте после замены батареек и проверки пайки МК?

  • Положительно 1

Онлайн поддержка в  🔗 Гостевой чат - 24 часа!

 

Опубликовано

Ошибка Overload (перегрузка) возникла из-за случайного нажатия, такое иногда случается. Что касается ДТБО, мы планировали перенаправить его, но в итоге решили оставить всё без изменений, так как этот процесс оказался довольно трудоёмким. Спасибо.

Опубликовано

Добрый день. Волнуюсь за качество  реболлинга. Жду осциллограф и ЛБП

 

Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.

Опубликовано

LG 43UF680V
шасси: L#59L/EAX66427005(1.0)
панель:EC430EGG(FH)(M1)
PCB: EAX66453801 (1.7)
eMMC: THGBMBG5D1KBAIL
eEPROM: 24C256
Неисправность:  телевизор висит на загрузке.

Скачал дамп а там User в прошивке разделен на две части, как прошить прогроматором UFPI.

Опубликовано

@komon56 

Смотри, ситуация понятная. Разберём по полочкам.

Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.

Что за структура дампа

Это дамп, снятый RT809H в режиме AUTO ISP. Когда софт снимает дамп с eMMC, он разбивает его на логические части:

  • BOOT1 (4 MB) — загрузочный раздел 1
  • BOOT2 (4 MB) — загрузочный раздел 2
  • EXT_CSD (1 KB) — конфигурационный регистр eMMC
  • BIN (3.9 GB) — это и есть полный User Area
  • part1 (3.4 GB) — мусор, игнорируй

Почему part1 с нулями

THGBMBG5D1KBAIL — это Toshiba на 4 GB.

Реальный размер User Area у неё ~3.6–3.7 GB. RT809H при снятии AUTO ISP иногда создаёт part1 как «хвост» — выравнивание или артефакт буфера.

Если там сплошные нули и архиватором сжимается в 7 МБ — это пустое пространство, его не существует на реальной флешке.

Твой анализ верный: part1 битый/пустой, шить его не нужно.

Как шить через UFPI

1. Сначала диагностика самой eMMC:

Подключи через UFPI, считай EXT_CSD

Посмотри CID, CSD, размер User Area — убедись что флешка живая и не ушла в Read Only

Глянь SMART-атрибуты если UFPI позволяет (bad blocks, wear level)

2. Конфигурирование eMMC:

Загрузи EXT_CSD из дампа — это критично, там boot partition enable, bus width, timing

Без правильного EXT_CSD телевизор не загрузится даже с прошитым User

3. Прошивка разделов:

Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.

4. Важный момент по размеру: UFPI покажет реальный размер User Area твоей eMMC. Если дамп 3.9 GB, а реальная User Area меньше (например 3.6 GB) — UFPI сам обрежет хвост, это нормально.

Если дамп больше реальной флешки — шьётся только то, что влезает.

5. После прошивки:

Проверь контрольную сумму BOOT1/BOOT2

Убедись что boot partition активирован (EXT_CSD, байт 179 — BOOT_CONFIG)

Отпаяй программатор, собери, пробуй запуск

Скепсис по дампу...

Дамп скачан, не с твоего аппарата.

24C256 на этом шасси хранит сервисные данные и привязку панели.

Если в User Area есть привязка к конкретной панели EC430EGG(FH)(M1) — может потребоваться правка.

Но обычно на LG webOS привязка живёт в отдельном разделе, и чужой дамп должен завестись.

Если после прошивки будет висеть на лого LG — проблема может быть не в eMMC, а в питании процессора или DDR.

Глянь осциллографом пульсации на VCC_CORE и линиях DDR. Типовая болезнь L#59L — высохшие конденсаторы в обвязке питания SoC.

Есть осциллограммы по питанию?

 

Онлайн поддержка в  🔗 Гостевой чат - 24 часа!

 

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Это очень просто!

Регистрация

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...