Ham Radio Programming not working, serial issue?

I tried to program my Quangsheng UV-K5(8) using CHIRP and the UVMOD website on my 11th Gen Framework 13 using 22.04 LTS Kubuntu, and the Chromium browser. However, every time I tried to program it, it gave me an error saying that the radio failed to connect to the serial port, or something like that. The only reason I am asking for help here and not on Ham radio forums is that on my Windows 10 PC, it works like a charm.

My first guess is that it could be an issue with the USB-A expansion card, maybe there’s a chip that doesn’t play right, or maybe its an issue with serial connections and Linux, or maybe just Ubuntu.

It’s not pertinent, I don’t forsee having to program my radio on the go, but if anyone has an explanation, I’d appreciate it. Thank you.

OK, I’m not a radio expert so please can you explain more your setup? Like whats that adapter you talked about? A picture could help.

My first guess is that in windows drivers are downloaded dynamically, while in linux drivers are in the kernel (or modules of that kernel that can be dynamically loaded at runtime but lets say kernel for simplification sake). Here your device is not mainstream enough for its drivers to be included into the kernel. Maybe the drivers are available but were not included when ubuntu compiled the kernel as the kernel usually doesn’t include drivers for weird use cases by default to be more slim and fast. (a kernel is the basis of your system, what interfaces between your hardware and the applications if you will,

Search the net, maybe there is a driver available for it in the linux kernel. I would suggest arch and gentoo forums; you have the best chance to find the answers for an advanced use case on advanced distros forums.

As an advanced user, you are supposed to know how to compile a kernel and use it. Please use a guide for this, search ‘how to compile kernel manually ubuntu’. Once you are at the make config step, pause and search for the drivers through the menus, navigate with tab, enter and the kerboard arrows, and select the driver using the spacebar. Make sure the driver is [*] not which means its selected. Then select the ‘Save’ at the bottom, write the file as the default name by hitting enter once more and compile using ‘make -j8’ (here the 8 is to be replaced with the number of core in your pc). This will take some time, then you have to boot on that kernel on next boot, idk how you do that with ubuntu, you can search for it online, I would suggest you switch to something more adapted to advanced users like arch linux for that kind of use case.

As a fellow HAM enthusiast I had the same issue running Linux Mint on a System76 laptop. The problem turned out to be the way browsers are sandboxed by default on Linux. I had to resort to passing the usb through to a Windows vm to get mine programmed.

OK, if its that then it will be very simple: I ran into the same problem as you when trying to flash grapheneOS on a linux laptop. Ignore my previous reply. The problem is that ubuntu and its derivatives ship a broken chromium snap by default, without the USB support! Here is an extract from the grapheneOS project: (something phone related that also needs to use browser usb support)

Officially supported operating systems for the web install method:
Windows 10
Windows 11
macOS Monterey (12)
macOS Ventura (13)
macOS Sonoma (14)
Arch Linux
Debian 11 (bullseye)
Debian 12 (bookworm)
Ubuntu 20.04 LTS
Ubuntu 22.04 LTS
Ubuntu 23.04
Ubuntu 23.10
Linux Mint 20 (follow Ubuntu 20.04 LTS instructions)
Linux Mint 21 (follow Ubuntu 22.04 LTS instructions)
Linux Mint Debian Edition 6 (follow Debian 12 instructions)
[…]
Officially supported browsers for the web install method:
Chromium (outside Ubuntu, since they ship a broken Snap package without working WebUSB)
Google Chrome
Microsoft Edge
Brave (with Brave Shields disabled, since it caps storage usage at a low value to avoid fingerprinting available storage)

Source: Web installer | Install | GrapheneOS

The important part is the browsers section: either use brave as described or use the flatpak version of chromium (NOT ungoogled chromium but chromium), I remember using brave and it working fine, but brave is complicated to install on ubuntu so I would just recommend the chromium flatpak version!

To use the flatpak version of chromium, enter a terminal and do:

apt update && apt upgrade && apt install flatpak plasma-discover-backend-flatpak && flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo && flatpak install flathub org.chromium.Chromium && flatpak run org.chromium.Chromium

Try another of these browsers if you still cannot program it! (or try another linux OS as ubuntu does non-standard things…)

I might try the VM idea, however, I did learn of the browser issue while doing research, and used a non snap version of Chromium. The snap version didn’t even see serial connection, while the non snap version did, but again, no dice. Also, the drivers are supposed to be included in most linux distros, so maybe they aren’t? I don’t know. The reason why I think it could be a OS or FW issue is because CHIRP, a piece of actual (non-browser) software, didn’t connect to my radio at all, except on my Win10 PC. If I find a USB-C to USB-A dongle, I’ll try that because I feel like I remember hearing about an issue with the Expansion Cards and serial connections, its a bit foggy if I haven’t just lost my mind.

Maybe try the linux-zen kernel as it includes more firmware, else the only solution is to google!

Found these for you: