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
Этот коммит содержится в:
@@ -0,0 +1,26 @@
|
||||
from .escaper import escaper
|
||||
from .escaper import unescaper
|
||||
from .rdadebug import compute_check
|
||||
from .rdadebug import rda_debug_frame
|
||||
from .rdadebug import read_word
|
||||
from .rdadebug import write_register_int8
|
||||
from .rdadebug import read_register_int8
|
||||
from .rdadebug import write_block
|
||||
from .a6commands import h2p_command
|
||||
from .a6commands import set_uart_to_host
|
||||
from .a6commands import set_uart_to_normal
|
||||
from .a6commands import read_uart_to_host
|
||||
from .a6commands import ate_command
|
||||
from .a6commands import cps_command
|
||||
from .a6commands import reboot_and_freeze
|
||||
from .serialio import send_uart_setup
|
||||
from .serialio import fetch_memory_address
|
||||
from .serialio import send_ate_command
|
||||
from .serialio import send_cps_command
|
||||
from .serialio import atecps_resp_read
|
||||
from .serialio import read_mem_range
|
||||
from .serialio import get_chan_info
|
||||
from .serialio import get_freq_err
|
||||
from .serialio import parse_freq_err_resp
|
||||
from .serialio import set_freq_err
|
||||
from .serialio import SerialIO
|
||||
Ссылка в новой задаче
Block a user