Setting Up Hamlib and CQRLOG with my FT-840
Step 0) Get CQRLOG from its PPA.
CQRLOG wants you to get their stuff from their own repo.2) Add ke1az to the dialout group.
[sudo] password for ke1az:
Step 1) Figure out how to connect to the rig.
dmesg
15.088854] usbcore: registered new interface driver usbserial_generic
[ 15.088875] usbserial: USB Serial support registered for generic
[ 15.198003] usbcore: registered new interface driver ftdi_sio
[ 15.198019] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 15.198090] ftdi_sio 1-3.4:1.0: FTDI USB Serial Device converter detected
[ 15.198126] usb 1-3.4: Detected FT232RL
[ 15.199949] usb 1-3.4: FTDI USB Serial Device converter now attached to ttyUSB0
[ 15.226954] usbcore: registered new interface driver pl2303
[ 15.226972] usbserial: USB Serial support registered for pl2303
[ 15.226990] pl2303 1-1:1.0: pl2303 converter detected
[ 15.227733] usb 1-1: pl2303 converter now attached to ttyUSB1
The 99- governs the order of execution within the udev startup.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 064e:930b Suyin Corp. HP Truevision HD
Bus 001 Device 006: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 001 Device 005: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 001 Device 003: ID 2109:2812 VIA Labs, Inc. VL812 Hub
Bus 001 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
crw-rw---- 1 root dialout 188, 0 Jan 22 13:29 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 Jan 22 13:29 /dev/ttyUSB1
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
You can compose a rule to match using the attributes of the device
and the attributes from one single parent device.
KERNEL=="ttyUSB0"
SUBSYSTEM=="tty"
DRIVER==""
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4/1-3.4:1.0/ttyUSB0':
KERNELS=="ttyUSB0"
SUBSYSTEMS=="usb-serial"
DRIVERS=="ftdi_sio"
ATTRS{latency_timer}=="16"
ATTRS{port_number}=="0"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4/1-3.4:1.0':
KERNELS=="1-3.4:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="ftdi_sio"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceClass}=="ff"
ATTRS{bNumEndpoints}=="02"
ATTRS{bInterfaceSubClass}=="ff"
ATTRS{bInterfaceProtocol}=="ff"
ATTRS{bInterfaceNumber}=="00"
ATTRS{authorized}=="1"
ATTRS{interface}=="FT232R USB UART"
ATTRS{supports_autosuspend}=="1"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4':
KERNELS=="1-3.4"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bDeviceSubClass}=="00"
ATTRS{product}=="FT232R USB UART"
ATTRS{tx_lanes}=="1"
ATTRS{speed}=="12"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bMaxPower}=="90mA"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{urbnum}=="16"
ATTRS{bNumConfigurations}=="1"
ATTRS{rx_lanes}=="1"
ATTRS{maxchild}=="0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="FTDI"
ATTRS{ltm_capable}=="no"
ATTRS{idVendor}=="0403"
ATTRS{quirks}=="0x0"
ATTRS{configuration}==""
ATTRS{version}==" 2.00"
ATTRS{bDeviceClass}=="00"
ATTRS{idProduct}=="6001"
ATTRS{devnum}=="6"
ATTRS{serial}=="A8007UXh"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bcdDevice}=="0600"
ATTRS{devpath}=="3.4"
ATTRS{bMaxPacketSize0}=="8"
ATTRS{removable}=="unknown"
ATTRS{busnum}=="1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="a0"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-3':
KERNELS=="1-3"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{urbnum}=="40"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bMaxPower}=="0mA"
ATTRS{rx_lanes}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bDeviceClass}=="09"
ATTRS{idProduct}=="2812"
ATTRS{bDeviceSubClass}=="00"
ATTRS{maxchild}=="4"
ATTRS{authorized}=="1"
ATTRS{ltm_capable}=="no"
ATTRS{devnum}=="3"
ATTRS{bNumConfigurations}=="1"
ATTRS{configuration}==""
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{tx_lanes}=="1"
ATTRS{idVendor}=="2109"
ATTRS{bDeviceProtocol}=="01"
ATTRS{devpath}=="3"
ATTRS{busnum}=="1"
ATTRS{bcdDevice}=="0be0"
ATTRS{version}==" 2.10"
ATTRS{product}=="USB2.0 Hub "
ATTRS{quirks}=="0x0"
ATTRS{removable}=="removable"
ATTRS{speed}=="480"
ATTRS{manufacturer}=="VIA Labs, Inc. "
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1':
KERNELS=="usb1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bcdDevice}=="0511"
ATTRS{authorized_default}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{version}==" 2.00"
ATTRS{quirks}=="0x0"
ATTRS{authorized}=="1"
ATTRS{devpath}=="0"
ATTRS{maxchild}=="8"
ATTRS{busnum}=="1"
ATTRS{configuration}==""
ATTRS{devnum}=="1"
ATTRS{product}=="xHCI Host Controller"
ATTRS{tx_lanes}=="1"
ATTRS{speed}=="480"
ATTRS{manufacturer}=="Linux 5.11.0-34-generic xhci-hcd"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceProtocol}=="01"
ATTRS{bDeviceSubClass}=="00"
ATTRS{ltm_capable}=="no"
ATTRS{idProduct}=="0002"
ATTRS{idVendor}=="1d6b"
ATTRS{serial}=="0000:00:14.0"
ATTRS{urbnum}=="60"
ATTRS{rx_lanes}=="1"
ATTRS{interface_authorized_default}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bDeviceClass}=="09"
ATTRS{bMaxPower}=="0mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{removable}=="unknown"
looking at parent device '/devices/pci0000:00/0000:00:14.0':
KERNELS=="0000:00:14.0"
SUBSYSTEMS=="pci"
DRIVERS=="xhci_hcd"
ATTRS{driver_override}=="(null)"
ATTRS{d3cold_allowed}=="1"
ATTRS{local_cpulist}=="0-3"
ATTRS{dma_mask_bits}=="64"
ATTRS{dbc}=="disabled"
ATTRS{irq}=="43"
ATTRS{device}=="0x9c31"
ATTRS{broken_parity_status}=="0"
ATTRS{msi_bus}=="1"
ATTRS{numa_node}=="-1"
ATTRS{vendor}=="0x8086"
ATTRS{enable}=="1"
ATTRS{consistent_dma_mask_bits}=="64"
ATTRS{class}=="0x0c0330"
ATTRS{revision}=="0x04"
ATTRS{subsystem_device}=="0x80c3"
ATTRS{power_state}=="D0"
ATTRS{subsystem_vendor}=="0x103c"
ATTRS{local_cpus}=="f"
ATTRS{ari_enabled}=="0"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
Here is the other USB.
looking at device '/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/ttyUSB1/tty/ttyUSB1':
KERNEL=="ttyUSB1"
SUBSYSTEM=="tty"
DRIVER==""
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/ttyUSB1':
KERNELS=="ttyUSB1"
SUBSYSTEMS=="usb-serial"
DRIVERS=="pl2303"
ATTRS{port_number}=="0"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0':
KERNELS=="1-1:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="pl2303"
ATTRS{supports_autosuspend}=="1"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bNumEndpoints}=="03"
ATTRS{bInterfaceSubClass}=="00"
ATTRS{bInterfaceProtocol}=="00"
ATTRS{bInterfaceClass}=="ff"
ATTRS{authorized}=="1"
ATTRS{bAlternateSetting}==" 0"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-1':
KERNELS=="1-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{ltm_capable}=="no"
ATTRS{authorized}=="1"
ATTRS{bDeviceClass}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{tx_lanes}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{maxchild}=="0"
ATTRS{urbnum}=="21"
ATTRS{devpath}=="1"
ATTRS{idProduct}=="2303"
ATTRS{product}=="USB-Serial Controller D"
ATTRS{version}==" 1.10"
ATTRS{devnum}=="2"
ATTRS{speed}=="12"
ATTRS{manufacturer}=="Prolific Technology Inc. "
ATTRS{configuration}==""
ATTRS{bcdDevice}=="0400"
ATTRS{removable}=="removable"
ATTRS{bConfigurationValue}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bNumInterfaces}==" 1"
ATTRS{busnum}=="1"
ATTRS{idVendor}=="067b"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bmAttributes}=="80"
ATTRS{bMaxPower}=="100mA"
ATTRS{quirks}=="0x0"
ATTRS{rx_lanes}=="1"
ATTRS{bDeviceSubClass}=="00"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1':
KERNELS=="usb1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bNumInterfaces}==" 1"
ATTRS{manufacturer}=="Linux 5.11.0-34-generic xhci-hcd"
ATTRS{product}=="xHCI Host Controller"
ATTRS{speed}=="480"
ATTRS{devpath}=="0"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{bConfigurationValue}=="1"
ATTRS{authorized_default}=="1"
ATTRS{version}==" 2.00"
ATTRS{bcdDevice}=="0511"
ATTRS{bDeviceClass}=="09"
ATTRS{devnum}=="1"
ATTRS{idProduct}=="0002"
ATTRS{interface_authorized_default}=="1"
ATTRS{removable}=="unknown"
ATTRS{tx_lanes}=="1"
ATTRS{rx_lanes}=="1"
ATTRS{bDeviceSubClass}=="00"
ATTRS{urbnum}=="60"
ATTRS{bNumConfigurations}=="1"
ATTRS{maxchild}=="8"
ATTRS{bmAttributes}=="e0"
ATTRS{busnum}=="1"
ATTRS{ltm_capable}=="no"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{idVendor}=="1d6b"
ATTRS{serial}=="0000:00:14.0"
ATTRS{quirks}=="0x0"
ATTRS{bMaxPower}=="0mA"
ATTRS{bDeviceProtocol}=="01"
ATTRS{configuration}==""
ATTRS{authorized}=="1"
looking at parent device '/devices/pci0000:00/0000:00:14.0':
KERNELS=="0000:00:14.0"
SUBSYSTEMS=="pci"
DRIVERS=="xhci_hcd"
ATTRS{subsystem_device}=="0x80c3"
ATTRS{dbc}=="disabled"
ATTRS{subsystem_vendor}=="0x103c"
ATTRS{class}=="0x0c0330"
ATTRS{power_state}=="D0"
ATTRS{d3cold_allowed}=="1"
ATTRS{enable}=="1"
ATTRS{msi_bus}=="1"
ATTRS{ari_enabled}=="0"
ATTRS{device}=="0x9c31"
ATTRS{broken_parity_status}=="0"
ATTRS{numa_node}=="-1"
ATTRS{vendor}=="0x8086"
ATTRS{driver_override}=="(null)"
ATTRS{local_cpus}=="f"
ATTRS{revision}=="0x04"
ATTRS{consistent_dma_mask_bits}=="64"
ATTRS{irq}=="43"
ATTRS{dma_mask_bits}=="64"
ATTRS{local_cpulist}=="0-3"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
With those in mind, create and edit the rules file.
sudo emacs /etc/udev/rules.d/99-ham_rig.rules
SUBSYSTEM=="tty", DRIVERS=="cp210x", ATTRS{interface}=="Standard*", SYMLINK+="rig1s"
SUBSYSTEM=="tty", DRIVERS=="cp210x", ATTRS{interface}=="Enhanced*", SYMLINK+="rig1e"
~$ sudo service udev restart
[sudo] password for ke1az:
lrwxrwxrwx 1 root root 7 Jan 22 14:42 /dev/rig1e -> ttyUSB1
lrwxrwxrwx 1 root root 7 Jan 22 14:42 /dev/rig1s -> ttyUSB0
~$ rigctld -m 111 -r /dev/rig1e -t 4532 -s 4800 --set-conf=data_bits=8, stop_bits=2, serial_parity=None, serial_handshake=None, dtr_state=OFF, rts_state=ON &
[1] 83876
ke1az@ke1az-HP-Notebook:~$ rig_open: error = IO error
^C
[1]+ Exit 2 rigctld -m 111 -r /dev/rig1e -t 4532 -s 4800 --set-conf=data_bits=8, stop_bits=2, serial_parity=None, serial_handshake=None, dtr_state=OFF, rts_state=ON
ke1az@ke1az-HP-Notebook:~$ rigctld -m 111 -r /dev/rig1s -t 4532 -s 4800 --set-conf=data_bits=8, stop_bits=2, serial_parity=None, serial_handshake=None, dtr_state=OFF, rts_state=ON &
[1] 83877
ke1az@ke1az-HP-Notebook:~$ rig_open: error = IO error
^C
[1]+ Exit 2 rigctld -m 111 -r /dev/rig1s -t 4532 -s 4800 --set-conf=data_bits=8, stop_bits=2, serial_parity=None, serial_handshake=None, dtr_state=OFF, rts_state=ON~$ ls -la /dev/ttyUSB1
ke1az@ke1az-HP-Notebook:~$ ls -la /dev/rig1e
lrwxrwxrwx 1 root root 7 Jan 22 14:42 /dev/rig1e -> ttyUSB1
dialout:x:20:ke1az
Step 2) Getting ther Winkeyer to go.
[ 762.711127] ftdi_sio 1-3.4:1.0: device disconnected
[ 764.735666] usb 1-3.4: new full-speed USB device number 10 using xhci_hcd
[ 764.853975] usb 1-3.4: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
[ 764.853982] usb 1-3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 764.853985] usb 1-3.4: Product: FT232R USB UART
[ 764.853987] usb 1-3.4: Manufacturer: FTDI
[ 764.853989] usb 1-3.4: SerialNumber: A8007UXh
[ 764.861008] ftdi_sio 1-3.4:1.0: FTDI USB Serial Device converter detected
[ 764.861063] usb 1-3.4: Detected FT232RL
[ 764.861613] usb 1-3.4: FTDI USB Serial Device converter now attached to ttyUSB3