Загрузчик ловится/держится на Linux (catch link-check + SetBaudRate смена бода). Но read-команды
флеша нет (0x03/08/09/0a/0b не дают флеш; 0x08 = битовая карта). Сходится с DMR Upgrade Tool
(только erase/write). Дамп только физически (SPI-клипса). Но BK4819 найден -> TX-фикс без дампа.
tools/bk_module_dump.py, bk_bootloader_catch.py, bk_read_probe.py.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NikMGoqQWWk9wy2ww2vJAr
Слушая COM при включении в режим прошивки, поймал boot модуля: баннер HKLFBOOT......
VERSION:01020032 RF_IC:BK_4819. ВЧ-трансивер = Beken BK4819 (как в UV-K5, полностью
реверснут) -> частотная калибровка = регистры BK4819, можно чинить TX по мануалу.
Загрузчик HKLFBOOT достижим через мост (мост прозрачен, CH34x держит связь через
перезагрузку), ждёт хендшейк в окне '......'; стандартный Beken 01 E0 FC не подходит.
Обновлены docs/fm100b-firmware-re.md, память.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NikMGoqQWWk9wy2ww2vJAr
docs/fm100b-firmware-re.md: образ = ARM(старт)+Thumb-2/FPU, 1.5МБ, без символов,
база RAM ~0x0360xxxx. Карта регионов. КЛЮЧЕВОЕ: «Vocoder» в прошивке = WebRTC
audio (шумодав NSX + AGC, открытый код), а НЕ AMBE. Сам AMBE — вне ARM-образа
(DSP/ROM A6), в прошивке только интерфейс ATVoiceEnc/Dec + RecvAmbedata. Найдены
open-source либы: EasyFlash (NV/калибровка), WebRTC (аудио). Честная оценка: свой
вокодер для эфирного DMR невозможен (нет AMBE-совместимости); реально моддить —
WebRTC-параметры, кодек-гейны, NV-калибровку, логику DMR.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NikMGoqQWWk9wy2ww2vJAr
tools/tuning_read.py: реплика Read-последовательности тюнера через 0x68-мост (--direct,
без 34.. Connect, который в режиме Обновление DMR не отвечает). РАБОТАЕТ: модуль отвечает
на CmdOpenCal + Read-команды. Снят baseline: DMR VCCN=0x40 vs аналог 0x80 (аналог рабочий) —
вероятный виновник сдвига DMR TX. research/tuning-re/module-cal-baseline.txt.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NikMGoqQWWk9wy2ww2vJAr
- tools/a6_probe.py: проверка достижимости RDA-debug через мост.
РЕЗУЛЬТАТ: 0x68-мост жив, но RDA knock молчит на 115200/921600 (XON/XOFF и без) —
прошивка модуля держит UART, ROM-debug недоступен. Значит a6tools/AT+DMOFREQERR
напрямую не пробить; калибровку писать через 0x68.
- docs/tuning-software-protocol.md: декомпиляция Radio Tuning Software 241219.exe
(dnfile). Сборка UV5118_4819_Tune. Калибровка идёт ТЕМ ЖЕ 0x68 (не 0xAAAA),
команды 0xB0-0xBD извлечены из статических шаблонов: 0xBD connect, 0xB1 границы
диапазонов (UHF 400/435/470, VHF 136/150/174 МГц), 0xB2/B4 девиация, 0xB6/B7/B8
мощность/частотные точки, num_U_DigFreq = смещение DMR-частоты. Достижимо через
наш мост -> путь к правильной калибровке TX без прибора (фидбек по MMDVM BER).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NikMGoqQWWk9wy2ww2vJAr