Running Chirp Software on Librem 5

So I installed Chirp to my Librem 5 from the Snap Store. It installs without incident. I purchased a USB-C to USB-A adaptor so I could plug my two-way radio in to the Librem 5 using the radio’s normal programming cable and the USB adaptor. In a PC, this configuration would allow Chirp to import a table of programmed frequencies in to Chirp via an upload from the radio to the PC via the USB cable. From there, the table could be edited before down loading it from the PC back in to the radio. But on my Librem 5, there is no port connection visible. In Chirp on a PC, the software typically sees the connection via a serial port (according to Chirp), even though a USB cable is the connection. That works on a PC. But sometimes, you have to select a different serial port in Chirp, before you get a connection to the radio. Apparently, Chirp can not see a connection at all when connected to the Librem 5, even when the hardware on the other end is there and plugged-in. There is also no ability in Chirp to select a different serial port. Does anyone here know what might be different on the Librem 5 USB port that makes some software not see it? There is no equivalent to Chirp in Android or Apple. If we can get Chirp working on the Librem 5, that will be a first application of its kind to work on any phone.

1 Like

Some basic troubleshooting on the Librem 5:

  1. Using lsusb before and after plugging the device into the Librem 5, does anything change? That is, does the Librem 5 even see that a USB device has been plugged in?
  2. If yes, what kind of device does it see? e.g. lsusb -v -sM:N where M and N are the appropriate bus and device numbers.
  3. If a serial port is supposed to be created, does ls -1 /dev before and after indicate whether something got created.
  4. If yes, are permissions appropriate so that the serial port device can be accessed by the software?

Note that none of the above requires any software to be installed on the Librem 5. It is just verifying basic connectivity.

Unfortunately, not having such a device, I can’t really take the troubleshooting further.


I have absolutely 0 experience with Chirp, so feel free to ignore me. Years ago, I worked in the realm of software-defined radios (REDHAWK in particular and a tiny bit of GNURadio) and it would be intriguing to hook up the L5 to my RTL-SDR and test things out. I know REDHAWK runs on top of CentOS (probably Rocky Linux now) but I remember that some folks got it to run reasonably well on a Raspberry Pi 2 at the time via Yocto, so I’m assuming that the L5 would work alright as well. It could be a fun miniature radio station.

I think the OP has a real radio. The USB connection is only used for configuring the radio, I think.

Still, if SDR is your bag, I think a search of this forum will show that at least one user is already doing it with his Librem 5.


CHIRP is a program that lets you set up radio frequencies for HAM radios. Instead of imputing repeater info manually into a radio, which is a pain, CHIRP works akin to an excel document. Been a while since I used it, I always used an SD Card to transfer the files. Using CHIRP on the L5 is an interesting concept. Wish I still had a radio to test it now.

I’ll troubleshoot and report back here. It seems logical to me that any software that runs on Linux should run on the Librem 5. But I am using a real two-way radio. Chirp only uploads a table in to the two way radio that configures which frequencies the channels are set to, and which offsets and PL tones and other information define the channel properties. Using Chirp, you can use Ms-Excel to manage multiple different tables on spreadsheets, that can be uploaded to the radio. The upload time is roughly two to three seconds. It can potentially save you several hours that would otherwise be spent manually reprogramming each channel and its properties in to the radio using only the manual keypad on the radio. Some radios do not have a keypad and can thus, can only be programmed via a Linux or Windows PC. For some models of radio, from the PC, you can also lock the keypad to prevent manual programming of the radio.

1 Like

Irvinewade, Your post was so valuable. I went through all four steps.
1.) I could see when the USB device was plugged in
2.) I could see the kind of device and it matched the USB device as it appears in the Chirp app on my PC, but is not visible in Chirp on my Libren 5.
3.) Following your step 3 instructions, ttyUSB4 is created
4.)Using instructions found in another forum, I was able to add permissions to add user purism to the dialog group.

The remaining problem is that on Chirp on my PC, the software operates differently. There is a drop down menu under “Radio” called “Download from Radio”. When you select to download from radio on the PC, a gui comes up asking for the radio manufacturer, model, and port number. After entering that information, the download from the radio starts. But in Chirp on my librem 5, after you select “Download from Radio”, nothing happens. The software doesn’t ask about either the radio make and model, and doesn’t ask for the port information. Instead, nothing happens.

Well, as stated above, without having a radio and the software, I don’t know how much further I could troubleshoot this but I can envisage two speculative possibilities (from among potentially many others).

  • Container problems
  • GUI problems

By container problems I mean … I think you said you are running the software as a snap. Are you doing that on both the PC and the Librem 5? Is it the case that the snap does not have access to the serial port? (If you are using it native on the PC but a snap on the Librem 5 then that is an extra unknown. If you are using it as a snap on both then it is possible that you need to replicate some snap configuration from the PC to the Librem 5.)

By GUI problems I mean … the software isn’t designed for a phone-sized screen and things don’t quite work e.g. a helpful dialog box is beyond the screen. If you have a lapdock or a basic dock, you may be able to fault isolate that. (Not saying that a dock would be a good solution for this specific task but at least you would know whether this is or is not a problem.)

Thanks irvinewade,
These are good areas for me to troubleshoot. So your inputs here are very valuable. On the PC, I installed Chirp using an apt-get. On the Librem 5, I used a snap version of Chirp. It looks like the best path will be to get convergence working on the phone and then installing an apt-get version of Chirp on to the phone from there. I have a four-way KVM switch with an open slot for another computer to go there. I just need to get a docking station to go through to properly route the video and USB inputs correctly from the Librem 5 in to that KVM switch. That’ll give me two big monitors, mouse, keyboard, and more USB inputs in to the Librem 5… if it works.