16 апреля 2025 Linux Radio Programming Software Baofeng BF-777


Можете сразу перейти к запуску chirp из исходник или почитать какие криворкукие программисты из виндузят

Для начала необходимо установить chirp

sudo apt- install -y chirp

Это python-программа для работы с прошивками радиостанций, найти можно в: Приложения->Стандартные->CHIRP или

apt-file list chirp | grep /bin/

Запускаем /usr/bin/chirpw и видим такое окно

CHIRP linux

Затем необходимо настроить подключение радиостанции к ПК, для этого подключаем программатор и наблюдаем логи

 tail -f /var/log/kern.log 

usb 1-2: new full-speed USB device number 15 using xhci_hcd
usb 1-2: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64
usb 1-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
usb 1-2: Product: USB Serial ch341 1-2:1.0: ch341-uart converter detected
usb 1-2: ch341-uart converter now attached to ttyUSB0
input: BRLTTY 6.4 Linux Screen Driver Keyboard as /devices/virtual/input/input57
usb 1-2: usbfs: interface 0 claimed by ch341 while 'brltty' sets config Test
ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
ch341 1-2:1.0: device disconnected

Если имеется сообщение что устройство отключено и в списке устройств не появилось новое /dev/ttyUSB*

ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0

то это означает, что работает служба брайля (для слепых) и она блокирует подключение

sudo systemctl stop brltty.service
sudo systemctl disable brltty.service
sudo apt remove brltty

Останавливаем, отключаем и удаляем службу brltty

Снова запускае CHIRP, в меню REDIO настраиваем подключение, указав порт, вендора и модель, жмём скачать. Радиостанция при этом мигает красным светодиодом

Если получаем сообщение об ошибке

CHIRP module collections has no attribute Callable

module 'collections' has no attribute 'Callable'

то это означает, что чирп скачал данные с радиостанции, но при обработке случилась ошибка из-за проблемы с версиями питон модулей

Начинаем разбираться с кодом, ищем  объект Callable в коде приложения

grep Callable -R /usr/lib/python3/dist-packages/chirp/
/usr/lib/python3/dist-packages/chirp/pyPEG.py:        if isinstance(pattern, collections.Callable):
/usr/lib/python3/dist-packages/chirp/pyPEG.py:            if isinstance(pattern, collections.Callable):
/usr/lib/python3/dist-packages/chirp/pyPEG.py:    while isinstance(language, collections.Callable):

тут видно, что это объект используется только в файле chirp/pyPEG.py, проблема локализована! Если копаться дальше то выясниться что идущая вместе с дистрибутивом версия chirp сильно устарела и лучше установить новую из репозитариев

Запуск CHIRP из исходников

git clone https://github.com/kk7ds/chirp
cd chirp
python3.10 -m venv venv3
source  venv3/bin/activate

Так как программу разрабатывают виндузята, то там всё очень криво в списке зависимостей, по этому ставим зависимости сами

pip install attrdict3==2.0.2 certifi==2025.1.31 charset-normalizer==3.4.1 idna==3.10 lark==1.2.2 numpy==2.2.4 pyserial==3.5 requests==2.32.3 six==1.17.0 suds==1.2.0 typing_extensions==4.13.2 urllib3==2.4.0 wxPython==4.2.3 yattag==1.16.1

запускаем Чирп из исходников и получаем вот такое красивое окно с переводами

CHIRP release_0_4_0

./chirpwx.py