Перейти до основного вмісту

Icom IC F300 reverse engineering project

Не вистачає потужності блока живлення

Мотивація

Програмне забезпечення Icom CS для ряду моделі IC-F300 родом з 1997 року, працює лише під DOS і не корисніше, ніж xxb. Група ентузіастів отримала в своє розпорядження два Icom IC-F320-6 після таксопарку в невідомому стані. Після тестів виявилось що обидва трансівера працездатні і можуть бути використані в якості APRS igate точок. Задумано працювати з ними через Direwolf і для цього потрібно:

  1. Реалізувати PTT через GPIO на Raspberry Pi
  2. Вивести мікрофон і динамік на зовнішній роз'єм аудіокарти Raspberry Pi
  3. По можливості прошивати їх не маючи фізичного доступу до трансмітера

Перші два пункти дуже прості і були загалом виконані на колінці за вечір. Останній пункт зовсім не обов'язковий, але дуже цікавий виключно з точки зору розваги.

Інструменти

В якості USB TTL конвертера був використаний якийсь китайський клон PL2303. Працює на windows 11 без проблем.

Схема розпіновки RJ45 роз'єму трансмітера:

T-568B

  1. 8V
  2. CLONE
  3. AFO
  4. PTT
  5. MIC -
  6. MIC +
  7. GND
  8. HANGER

Схема розпіновки RJ45 роз'єму трансмітера

інформація

В якості USB TTL/UART можна використати Flipper Zero.

Для збірки кабелю вам також знадобиться діод 1N4148 чи щось подібне. Нас цікавить лище земля і CLONE піни з рації.

  • GND до GND вашого USB TTL чи Flipper Zero.
  • CLONE напряму до RX піна USB TTL чи Flipper Zero.
  • CLONE через діод до TX піна USB TTL чи Flipper Zero.

Для моніторингу(сніфінгу) протоколу оригінального прошивальщика і рації був використаний проект com0com і hub4com.

REM use hub4com-2.1.0.0-386
REM com0com setup:
REM
REM COM11 real device you want to "man in the middle"
REM virtual pair: COM5 CNCB0
REM virtual pair: COM7 CNCB1
REM
REM hook COM 11 to real device, hook COM5 to application, hook COM7 to monitoring app - eg.realterm

hub4com --route=0:1,2 --route=1:0,2 --octs=off --baud=9600 \\.\COM11 \\.\CNCB0 \\.\\CNCB1

Для запуску оригінального прошивальщика використовувався DOSBox. Я пробував майже все(різні реалізації dos, VirtualBox, virtualbox з windowsxpX86 та інше), але спрацював лише цей варіант. Треба лише прокинути serial порт.

Мій конфіг для DOSBox: dosbox-0.74-3.conf

Там нас цікавить лише дві категорії:

Налаштування портів:

[serial]
serial1=directserial realport:COM5

і автозапуск прошивальщика:

[autoexec]
MOUNT G C:\Users\I\Downloads\cs-f300
G:
ICCF300.EXE

Автозапуск не обов'язковий, але дуже зручний.

Повна схема рації

З офіційного сервіс мануалу

Приклади прошивок

Прошивка з першим каналом з частотою RX\TX 144.800Mhz в першому каналі і High Power

  • Абсолютно пуста прошивка: EMPTY.ICF
  • Прошивка з першим каналом RX\TX 144.800MHz в 1 каналі і High Power: 144800_0.ICF
  • Прошивка з першим каналом RX\TX 144.800MHz в 1 каналі і L1 Power: 144800LO.ICF
  • Прошивка з першим каналом RX\TX 144.800MHz в 1 каналі і L2 Power: 144800L2.ICF
  • Прошивка з першим каналом RX\TX 144.800MHz в 1 каналі, 142.500MHz в 9 каналі, 172.950MHz в 31 каналі і High Power для всіх каналів: 1C9C31C.ICF
  • Якась жоска прошивка розбита по банкам, багато системних налаштувань з реальної рації: OUR.ICF

Деякі результати роботи

Оригінальні файли від Icom

  • f310_320_service.pdf - оригінальний сервіс-мануал до рацій F310/320
  • CS-f300.zip - софт для прошивки рації під DOS