I have a device that makes programming my amateur radio’s much easier it clones the radio in a program called chirps that is installed in a qube, I can program the radio in chirps then chirps reprograms the radio. It is a nightmare to program a radio manually. Really fast in chirps.
It is my understanding that all ports allow outgoing but no ports allow incoming how can I configure one of my ports to allow incoming?
I do not see how to change anything in the firewall and I know nothing about iptables.
I think you need a Serial port. The Qubes firewall is only for network ports (I believe), and it seems most likely that your Chirp software contacts the radio, not the inverse.
If it is RS232…
Did you try a USB-serial adapter? I may need this in the future, so I am interested…
Do you have sys-usb? Can you pass the USB-serial device to your Chirp qube? Is it recognised ? You can run ‘sudo dmesg -w’ to look for kernel messages in your qube.
OK, I answer my own questions (I was so excited, I just had to try it):
In Qubes 4.2…
- USB-serial converter appears in the USB devices - mine shows FTDI_Chip in the name, which gives it away.
- I can create a new disposable qube, run ‘sudo dmesg -w’ and then attach the USB device to the disposable.
- The kernel indicates that it has recognised the device, and created /dev/ttyUSB0 (this is actually an old Fedora-39 disposable)
- Run ‘ls -l /dev/ttyUSB0’, and see the permissions on the port. If you want to use it in your ‘Chirp’ qube, you will need probably need to change the ownership or otherwise give permission to your Chirp user.
- For example : ‘sudo chown user /dev/ttyUSB0’ each time you connect the device, or do some magic to set the owner automatically when the device is attached. It would equally be possible to add ‘user’ to the group-owner of the device - in my case it is ‘dialout’. All the commands below use sudo, but that is probably not ideal for long term use.
- For testing…
- Configure the port. For example, ‘sudo stty -F /dev/ttyUSB0 9600 cs8 cstopb -parenb -crtscts -ixon’ should set up the port without flow control. I saw no transmission when I tried without the ‘-ixon’ - I think maybe the Xon/Xoff was configured by default. It is very probable that your software will take care of this.
- If you have a simple serial loopback DB9 connector, with a short link between pins 2 and 3, then you should be able to test like this:
- open a new terminal and run ‘sudo cat /dev/ttyUSB0’
- open another new terminal, and run ‘echo fish | sudo tee /dev/ttyUSB0’
- You should see the fish swim out of the ‘cat’ terminal…
This is as far as I have tested, but now I have a new excuse to play with Qubes for work.
Let us know if you have success.
Device= 1.00
[ 195.450618] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 195.450635] usb 1-1: Product: USB Audio CODEC
[ 195.450647] usb 1-1: Manufacturer: Burr-Brown from TI
[ 195.474904] input: Burr-Brown from TI USB Audio CODEC as /devices/platform/vhci_hcd.0/usb1/1-1/1-1:1.3/0003:08BB:2904.0001/input/input1
[ 195.525592] hid-generic 0003:08BB:2904.0001: input,hidraw0: USB HID v1.00 Device [Burr-Brown from TI USB Audio CODEC ] on usb-vhci_hcd.0-1/input3
[ 195.630778] mc: Linux media interface: v0.10
[ 195.944309] usbcore: registered new interface driver snd-usb-audio
[ 647.109952] landlock: Disabled but requested by user space. You should enable Landlock at boot time: Landlock: unprivileged access control — The Linux Kernel documentation
[ 6966.698560] vhci_hcd: connection closed
[ 6966.698687] vhci_hcd: stop threads
[ 6966.698708] vhci_hcd: release socket
[ 6966.698742] usb 1-1: USB disconnect, device number 2
[ 6966.698819] vhci_hcd: disconnect device
[11807.326156] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(0)
[11807.326179] vhci_hcd vhci_hcd.0: devid(131079) speed(2) speed_str(full-speed)
[11807.326207] vhci_hcd vhci_hcd.0: Device attached
[11807.493991] vhci_hcd: vhci_device speed not set
[11807.544828] usb 1-1: new full-speed USB device number 3 using vhci_hcd
[11807.607838] vhci_hcd: vhci_device speed not set
[11807.658773] usb 1-1: SetAddress Request (3) to port 0
[11807.687487] usb 1-1: New USB device found, idVendor=08bb, idProduct=2904, bcdDevice= 1.00
[11807.687510] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[11807.687527] usb 1-1: Product: USB Audio CODEC
[11807.687539] usb 1-1: Manufacturer: Burr-Brown from TI
[11807.937010] input: Burr-Brown from TI USB Audio CODEC as /devices/platform/vhci_hcd.0/usb1/1-1/1-1:1.3/0003:08BB:2904.0002/input/input2
[11807.996339] hid-generic 0003:08BB:2904.0002: input,hidraw0: USB HID v1.00 Device [Burr-Brown from TI USB Audio CODEC ] on usb-vhci_hcd.0-1/input3
[12227.853568] xen_netfront: backend supports XDP headroom
[12227.853587] vif vif-0: bouncing transmitted data to zeroed pages
[13399.054761] vhci_hcd: connection closed
[13399.054950] vhci_hcd: stop threads
[13399.054974] vhci_hcd: release socket
[13399.055013] usb 1-1: USB disconnect, device number 3
[13399.056374] vhci_hcd: disconnect device
$ sudo ls -l /dev/ttyUSB0
ls: cannot access ‘/dev/ttyUSB0’: No such file or directory
user@Radio:~$
Chirp installation was not persistent, I installed it and after reboot it was not there so I created debian templet installed chirps then cloned the templet. Not sure if that was the correct thing to do but it seems to work. I’m kind of clueless here all I can do is follow directions.
This is recognised as an audio device. It will not give a serial port, if that is how Chirps communicates with the hardware.
It would be useful if you can describe what radio hardware you have, and how it connects to the computer. Is the manual available? If it has a USB cable, does it have controls for its behaviour?
Signal link is a sound card.
https://tigertronics.com/slusbmain.htm
The radio does not connect to the computer I have no idea how Signal Link does it’s magic. Signal link converts analog to digital.
The radio is analog not digital it does not connect to the computer it connectes to signal link. I don’t understand it but the set up works well I used this equipment 4 or 5 years ago working disasters for the Red Cross I wasn’t using qubes then it was probably Mint. If I wasn’t hard headed and just used Windows it would be plug and play.
I doubt you want to read this manual but here it is.
https://www.yaesu.com/indexVS.cfm?cmd=DisplayProducts&encProdID=6EC43B29CEF0EC2B4E19BB7371688B7F
There is a usb cable that connects to the signal box then a cable that connects to the transceiver. The transceiver cannot communicate directly to the computer.
It seems that SignalLink is connected correctly to the VM when you see the messages for “USB Audio CODEC” at 11807 seconds in your log . I do not see anything in documentation relating to digital programming of the radio device through SignalLink, and the Yaesu model does not seem to have any direct digital interface.
I suspect that you now need to find some suitable software for using SignalLink as an interface to your radio - I see that the manufacturer mentions many different packages here https://tigertronics.com/sl_soft.htm.
My experience of radio use is limited to frequency, volume and squelch, so I think I cannot really help much more…
If you can use usb over ethernet, you can play with remserial.
also it can produce fake devices /dev/ttyS9 or the like so you can interconnect it with a modem tool and get the data out using network and reconvert the data to a serial link using another remserial. You can also telnet to remserial to talk serial to it.
Try it out, maybe it is of help
Chirp is the software needed to program radio’s using SignalLink, this is the error I get from chirp when I try to clone the radio.
[Errno 13] could not open port /dev/ttyS0: [Errno 13] Permission denied: ‘/dev/ttyS0’
Chirp and SignalLink have been around for years Chirp is in debian repositories, it is pretty much plug and play in say Mint. I suppose I could make my computer a dual boot rig and use another flavor of linux for my ham radio I just really don’t want to do that but I don’t know how to fix this.
I looked out my old ICOM and its manual. For programming and cloning, I think you would need a programming cable, not an audio interface.
A cable like this one, maybe : https://televideo.ws/index.php/ft-60-programming-cable. It may also be possible to buy a ready made device for your radio.
You may notice that the small red-coloured board is an FTDI device, exactly like my USB-Serial converter. It will appear to the computer in a very similar way. Then you will have a /dev/ttyUSB0 or some similar new device - and you can configure Chirp so it can talk to it.
It may also be possible to buy a ready made device for your radio.
Signal Link is the device made for this task, actually the more I look at this the more I think the problem is chirp, qubes sees the signal link device and it is attached to my Radio cube, but chirps can’t see it must be a permission issue with chirps. Maybe one or the other is not in the right group?
What I have works well I have used it many times in the past but qubes is not happy about something and that’s all I’m sure of.
I stumbled across this chirps docs “The most common cause is that the user(s) do not have permission to use the serial connection. Permission must be established for the user.”
Being in the dialout
group means permission is granted for the TTY set that includes serial and USB connections.
I guess this means I need to add my radio qube to the dialout group?
whoami tells me I am user user so I sudo usermod -aG dialout user
Looks like the radio and Chirp tried to communicate then I got the same error no permission for ttyS0. My dmesg log has changed.
The radio and chirp definitely tried to communicate this time so I gotta be close to solving this.
dmesg.log (35.4 KB)
It still seems to me that SignaLink is for audio interfacing to your radio, via the microphone and headphone i/o, so that you can transmit and receive via your PC. A different cable is required for digital interfacing.
This is from the SignaLink USB FAQ…
Can I use the SignaLink USB to control my radio, or will I need a separate CAT interface?
The SignaLink USB is a sound card interface that provides the necessary hardware to operate virtually all sound card digital and voice modes, but it does NOT provide the “CAT” (Computer Assisted Tuning) hardware needed to control the radio. If you want to control your radio (tuning, band/mode selection, etc.), then you will need a separate CAT interface.
I am not trying to transmit or receive with the radio signal link allows my analog radio to communicate with chirp, chirp will clone my radio’s programming functions and in chirp I can reprogram those functions and send the new program functions back to the radio. It is a fast easy process compared to doing it manually. I have used this equipment many times to do this with the cable that I have that came with the signal link equipment for this purpose.
I am just hoping someone can see something in the new dmesg.log as it has changed since adding user to dialout.