DMR-чип опознан по схеме: HF6853 = AUCTUS A6 (RDA8809), не SCT3258

Опознание БЕЗ разбора рации, по схеме RT4DDLT01 (Radtel v2.1):
DMR-модуль «FM100B» = один чип U700 HF6853 — одночиповый DMR-SoC
семейства Auctus A6 (внутри RDA8809): CPU + ВЧ-трансивер + DSP +
AMBE-вокодер + аудио-кодек в одном кристалле, прошивка во внешнем
SPI-flash, кварц 26 МГц. Прежняя версия «Sicomm SCT3258TD» неверна
(SCT3258 — baseband-only без ВЧ; и нативный протокол другой).

Скрытый ATE/CPS-интерфейс полностью реверснут (jhart99/a6tools,
вендорен в research/a6tools). Даёт КОНКРЕТНУЮ починку нашей
TX-проблемы: AT+GETFREQERR / AT+DMOFREQERR=N, offset=-2500+10*N,
±2500 Гц — наши ~1100 Гц внутри диапазона. Плюс DMR_ADJTXSYMDEV
(девиация), FGU_AFC, DMOSETPOWER, CPS chanInfo, дамп прошивки модуля.

- docs/hf6853-auctus-a6.md — идентификация + протокол + план TX-fix
- tools/a6_freqfix.py — заготовка тула (probe/read/write, не запускать вслепую)
- research/a6tools/ — вендоренный реверс (MIT), atcommands.md/cpecommands.md
- docs/dmr-tx-recovery.md, README — путь 0 (AT+DMOFREQERR) как лучший
- research/rt4ddlt01-dmr-module-sheet.png — рендер листа схемы DMR-модуля

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NikMGoqQWWk9wy2ww2vJAr
Этот коммит содержится в:
2026-07-24 03:10:24 +09:00
co-authored by Claude Opus 4.8
родитель 6d49ba3cba
Коммит c10ab3c6f1
20 изменённых файлов: 1373 добавлений и 1 удалений
+30
Просмотреть файл
@@ -0,0 +1,30 @@
#!/usr/bin/env python3
""" Reboot and freeze
Reset the AUCTUS A6 processor and freeze execution. This allows for
uninterupted dumping of the normally problematic BCPU rom.
"""
from a6 import SerialIO, reboot_and_freeze
__author__ = "jhart99"
__license__ = "MIT"
if __name__ == "__main__":
import argparse
parser = argparse.ArgumentParser(description='Auctus A6 reboot and freeze')
parser.add_argument('-p', '--port', default='/dev/ttyUSB0',
type=str, help='serial port')
parser.add_argument('-b','--baudrate', default=921600,
type=int, help='baud rate')
parser.add_argument('-v','--verbosity', default=0, action='count',
help='print sent and received frames to stderr for debugging')
parser.add_argument('-V', '--version', action='version',
version='%(prog)s 0.0.1',
help='display version information and exit')
args = parser.parse_args()
uart = SerialIO(args.port, args.baudrate, args.verbosity)
uart.write(reboot_and_freeze())