-
Notifications
You must be signed in to change notification settings - Fork 3
Troubleshooting FAQ
- Toolkit doesn't see the radio
- Apply Changes fails / verification mismatch
- DFU mode doesn't start /
dfu-infofails - Stock K5 V3: writes succeed but nothing changes
- Windows SmartScreen blocks the .exe
- The .exe takes ~10 seconds to start
- Wheel scroll changes settings instead of scrolling the page
- GUI looks broken / fonts wrong / dark theme white
- CSV import: scan-list assignments not preserved
- I bricked my radio
- Can I use the toolkit fully offline?
- Does it support [some other radio]?
- How does it differ from CHIRP / Multi-UVTools / UVTools2?
Checklist:
- Is the cable USB-data, not USB-power-only? Many cheap USB cables, especially USB-C-to-USB-A, are charge-only. Try a known-good cable (e.g. one that carries data for a phone).
- Is the radio powered on and in normal mode? (LCD shows the boot logo / channel display, not blank.)
-
Does the OS see the device?
-
Windows: Device Manager → Ports (COM & LPT) — look for an entry like
USB-SERIAL CH340 (COM3)(CH340 cable) orUSB Serial Device (COM3)(UV-K1 native). -
macOS:
ls /dev/cu.*— look forcu.usbserial-XXXX(CH340) orcu.usbmodemXXXX(UV-K1 native). -
Linux:
dmesg | tailafter plugging in — should mentionch341-uartorcdc_acm.
-
Windows: Device Manager → Ports (COM & LPT) — look for an entry like
- On Windows: do you have the CH340 driver? Windows 10/11 ships it via Update; older Windows needs manual install: https://www.wch-ic.com/downloads/CH341SER_EXE.html.
- On macOS: do you have the WCH driver? Required for CH340/CH9102 cables: https://www.wch-ic.com/downloads/CH34XSER_MAC_ZIP.html.
-
On Linux: are you in the right group?
groups | grep -E 'dialout|uucp'. If not:sudo usermod -aG dialout $USERand log out/in.
If all of the above check out and python -m quansheng_toolkit info still fails, open an issue with the OS, cable type, radio model, and the exact error.
The toolkit performs byte-for-byte readback verification of every 64-byte block during apply. If a block doesn't match the intended image, the toolkit retries it. If retries are exhausted, you get an error.
Causes, in rough order of frequency:
- Bad cable — same cause as "doesn't see the radio". Marginal cables drop bytes mid-write but the connection still survives. Replace the cable.
- USB hub between PC and radio — connect directly to a motherboard USB port. Hubs (especially passive ones) introduce latency that the protocol doesn't tolerate.
- Stock K5 V3 — the firmware silently rejects writes. See the next section.
- Power-saving / USB selective suspend — Windows can suspend the USB port during a long write. Power Options → Change advanced → USB settings → USB selective suspend → Disabled.
If you see a per-block error message in the log, that block's address is shown. Do not power-cycle the radio — re-run apply-full and the retry will pick up where it left off. The image on the radio is in a partially-written state until the apply completes successfully.
DFU mode is a precise key combination:
- Power off.
- Connect USB cable (powered).
- Hold PTT and Side Key 2 firmly.
- While holding both, rotate the power knob to on.
- LCD must stay completely blank — no logo, no backlight.
Tip
A trick: start holding the keys before turning the radio on. If you start holding after, the firmware may have already booted past the bootloader-handoff window.
If the LCD lights up: you missed the timing. Power off, wait 2 seconds, try again.
If the LCD stays blank but dfu-info reports "no response": the cable, the OS device entry, or the driver. Run the doesn't see the radio checklist.
If dfu-info works but flashing fails: see the cable / hub / power-suspend points above.
The Quansheng stock firmware on UV-K5 V3 (versions 7.00.x) silently rejects EEPROM writes at the firmware level. The protocol acknowledges, the toolkit's verify also matches because the radio echoes the buffer it would have written — but the persistent EEPROM is never modified. After a power-cycle, your edits are gone.
This isn't a toolkit bug. Every open-source toolkit (Multi-UVTools, UVTools2, CHIRP-with-K5-driver) hits the same wall on stock K5 V3. The only known fix is to flash F4HWN, which is open-source and writes work normally.
The toolkit detects this scenario after apply-full (the post-write read shows the original bytes) and prints a warning.
SmartScreen flags any unsigned executable from an untrusted source. The toolkit's .exe isn't code-signed (signing certs are paid; on the roadmap).
Workaround: More info → Run anyway. To verify the file is genuine, compare its SHA-256 against the value listed on the Releases page:
-
Windows:
certutil -hashfile quansheng-toolkit.exe SHA256 -
PowerShell:
Get-FileHash quansheng-toolkit.exe
PyInstaller's --onefile mode unpacks the bundled Python interpreter and Qt to a temporary directory on every launch. First launch is slowest because the OS hasn't cached the files yet; subsequent launches are quicker.
If startup is consistently slow: try a non-system drive (e.g. SSD), or build from source which avoids the unpack step.
The toolkit's wheel-edit guard is supposed to prevent this, but in older versions it didn't catch all widget types. Update to the latest release.
If you can repro on the latest version, open an issue with the page name and the widget you scrolled over.
-
Wrong-looking fonts on Linux: install a system fallback font like
fonts-interorfonts-liberation. - High-DPI scaling weird on Windows: Settings → System → Display → Scale. Try 100%, 125%, 150%. Qt sometimes mis-handles fractional ratios on multi-monitor setups.
- Dark theme not applying: Toolkit Settings → Theme. The cockpit themes default to Dark; if you see Light, the theme system fell back to OS native. Re-pick a cockpit family from the dropdown.
Make sure you're using --derive-from-comment (CLI) or Channels → Import CSV → Derive scan list from Comment column (GUI). Without that flag, scan-list assignments aren't read from the Comment column and default to OFF.
See Flashing Firmware → Recovery. Most "bricks" are recoverable from DFU mode — re-flash the right firmware. If DFU mode itself is dead, the cable is the most common cause; try a different cable on a different USB port before assuming hardware failure.
Yes — fully. Both the GUI and the CLI work without any internet connection.
- The single Windows
.exeships everything bundled (Python interpreter, Qt, the toolkit code, all 9 firmware images and the manifest) — no network calls during normal operation. - From-source installs depend on the network only at install time (
pip install); after that, runpython -m quansheng_toolkit.guifrom anywhere. - The only thing that touches the network is clicking a release-link inside one of the firmware info cards (those open in your default browser).
Tip
Carry a USB stick with quansheng-toolkit.exe and a folder of per-radio backups. You have a complete portable maintenance kit you can plug into any Windows PC at a hamfest, club meeting or remote site — no internet required.
See Hardware Compatibility for the full matrix. Short version:
- Yes: UV-K1, UV-K1(8) v3 Mini Kong, UV-K5 V3 (PY32F071 family).
- Untested but should work read-only: UV-K5, UV-K5(8), UV-K6, 5R+ (DP32G030 family — same protocol, different MCU).
- Roadmap: UV-TK11 Taiko Kong.
- Out of scope: UV-5R+, Baofeng / Radtel / TYT clones.
If your radio talks the same EEPROM protocol but isn't on the matrix, python -m quansheng_toolkit info will tell you. Don't write or flash without confirming the bootloader version first.
| quansheng_toolkit | CHIRP | Multi-UVTools | UVTools2 | |
|---|---|---|---|---|
| Channels CSV | ✅ (CHIRP-compatible) | ✅ | ❌ | ❌ |
| F4HWN settings | ✅ ~76 entries | ❌ | ✅ partial | ✅ |
| Calibration backup/restore | ✅ with diff | ❌ | ❌ | ✅ |
| DFU firmware flashing | ✅ anti-brick allowlist | ❌ | ✅ web-based | ✅ |
| Bundled firmwares | ✅ 9 images | ❌ | ❌ download separately | ❌ download separately |
| Live LCD mirror | ✅ | ❌ | ❌ | ✅ |
| DTMF phonebook | ✅ 16-slot editor | ❌ | ❌ | ✅ |
| Hex viewer | ✅ | ❌ | ❌ | ❌ |
| Single-file .exe | ✅ | ✅ | ❌ web-only | ✅ |
| Fully offline | ✅ everything bundled | ✅ | ❌ requires browser + Web Serial | ✅ |
| Open source | ✅ Apache-2.0 | ✅ GPL-3 | ✅ GPL | ✅ |
| Cross-platform | ✅ Win/Mac/Linux | ✅ | ✅ web |
The toolkit's distinctive points:
- Bundles 9 verified firmwares with sha256 manifest — one-click flash, no separate downloads, fully offline.
- CHIRP-compatible CSV format — drop in your existing CHIRP exports without conversion.
- Anti-brick DFU allowlist with three-stage confirmation.
- Calibration diff — verify a flash didn't touch your factory tuning.
If you have a question not covered here, please start a Discussion. Common questions get folded back into this FAQ.
quansheng_toolkit · Apache-2.0 · Open-source desktop toolkit for Quansheng UV-K1, UV-K1(8) v3 Mini Kong and UV-K5 V3 radios · Fully offline.