07 февраля 2026

Обновление прошивки tinySA Ultra+ ZS407 в Linux

В этом посте описан процесс обновления прошивки для анализатора спектра tinySA Ultra+ ZS407, для других версий стоит свериться с инструкцией на сайте tinysa.org.

Если до этого не обновляли прошивку, то до обновления прошивки стоит выполнить процедуру самопроверки (self-test) чтобы не гадать о причинах если она не пройдёт после обновления. Сайт tinysa.org предупреждает о подделках tinySA которые не пройдут самопроверку после установки официальной прошивки.

Для обновления прошивки понадобится сам tinySA, USB Type-C кабель и утилита dfu-util. В Debian 13 она есть в репозитарии и её можно установить через APT

$ sudo apt install --update -y dfu-util

Далее выключить tinySA, зажать джойстик и включить снова (экран ничего не будет показывать). Затем подключить tinySA к USB порту (я использовал порт USB 2.0 без всяких хабов) и убедиться что в логе ядра появились сообщения о подключении нового устройства.

Feb 05 22:04:32 dragoncore kernel: usb 1-1: new full-speed USB device number 14 using xhci_hcd
Feb 05 22:04:32 dragoncore kernel: usb 1-1: New USB device found, idVendor=0483, idProduct=df11, bcdDevice=22.00
Feb 05 22:04:32 dragoncore kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Feb 05 22:04:32 dragoncore kernel: usb 1-1: Product: STM32  BOOTLOADER
Feb 05 22:04:32 dragoncore kernel: usb 1-1: Manufacturer: STMicroelectronics
Feb 05 22:04:32 dragoncore kernel: usb 1-1: SerialNumber: 205D38572036

Скачать файл прошивки с расширением .bin с сайта http://athome.kaashoek.com/tinySA4/DFU/ (на момент написания это tinySA4_v1.4-217-gc5dd31f.bin выпущенная 18 декабря 2025). Прежние версии прошивки лежат в http://athome.kaashoek.com/tinySA4/DFU/old/

$ wget http://athome.kaashoek.com/tinySA4/DFU/tinySA4_v1.4-217-gc5dd31f.bin

$ mv tinySA4_v1.4-217-gc5dd31f.bin tinySA.bin

$ dfu-util -a 0 -s 0x08000000:leave -D tinySA.bin
dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Warning: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release
Opening DFU capable USB device...
Device ID 0483:df11
Device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Interface #0 ...
Determining device status...
DFU state(10) = dfuERROR, status(10) = Device's firmware is corrupt. It cannot return to run-time (non-DFU) operations
Clearing status
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash  "
Downloading element to address = 0x08000000, size = 184916
Erase   	[=========================] 100%       184916 bytes
Erase    done.
Download	[=========================] 100%       184916 bytes
Download done.
File downloaded successfully
Submitting leave request...
Transitioning to dfuMANIFEST state

После завершения прошивки устройство самостоятельно перезагрузилось и в логе ядра появились новые сообщения.

Feb 05 22:08:40 dragoncore kernel: usb 1-1: USB disconnect, device number 14
Feb 05 22:08:41 dragoncore kernel: usb 1-1: new full-speed USB device number 15 using xhci_hcd
Feb 05 22:08:41 dragoncore kernel: usb 1-1: New USB device found, idVendor=0483, idProduct=5740, bcdDevice= 2.00
Feb 05 22:08:41 dragoncore kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Feb 05 22:08:41 dragoncore kernel: usb 1-1: Product: tinySA4
Feb 05 22:08:41 dragoncore kernel: usb 1-1: Manufacturer: tinysa.org
Feb 05 22:08:41 dragoncore kernel: usb 1-1: SerialNumber: 400
Feb 05 22:08:41 dragoncore kernel: cdc_acm 1-1:1.0: ttyACM0: USB ACM device

Версия прошивки в настройках отображается корректно, но сделать снимок экрана не даёт - пришлось фотографировать бликующий экран. Об этом написано в FAQ

  • Q: Why can't I do a screen capture of the version screen?
  • A: As long as the tinySA is in a busy wait in the UI there is insufficient memory for the execution of screen captures.

Самопроверка прошла без ошибок и можно считать что мне досталась вполне официальная версия.

Чтобы сделать снимок экрана использовал скрипт nanotiny_capture.py из репозитария nanovna-tools.


Вы можете следить за обновлениями блога с помощью Atom/RSS и Telegram.

Комментариев нет:

Отправить комментарий