Beyond those basics you should also look for and include relevant messages in /var/log/syslog or the output of dmesg.
For a properly behaving USB interface you'll have the usual commands available such as
lsusb and (IMO, better)
usb-devices.
Here's the output from the
usb-devices command on my CM4 mounted on an official Raspberry Pi CM4 IO board with no USB devices plugged in
Code:
pi@CM4:~ $ usb-devices
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=05.04
S: Manufacturer=Linux 5.4.77-v7l+ xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=fe9c0000.xhci
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 4
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=02 MxPS=64 #Cfgs= 1
P: Vendor=0424 ProdID=2514 Rev=0b.b3
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=2mA
I: If#=0x0 Alt= 1 #EPs= 1 Cls=09(hub ) Sub=00 Prot=02 Driver=hub
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 0
D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
P: Vendor=1d6b ProdID=0003 Rev=05.04
S: Manufacturer=Linux 5.4.77-v7l+ xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=fe9c0000.xhci
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=(none)
If your Jcat board were detected properly by Raspberry Pi OS then there would be additional stanzas for it.
In my case, plugging in a USB DAC (Khadas Tone 1 board) results in an additional stanza showing up
Code:
T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 2
P: Vendor=3353 ProdID=a001 Rev=02.00
S: Manufacturer=Khadas
S: Product=Tone1
C: #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=0mA
I: If#=0x0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=20 Driver=snd-usb-audio
I: If#=0x1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio
I: If#=0x2 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
You should see something like that for your USB DAC, of course with differing bus/level/prnt/port numbers depending on whether it's connected directly or through the Jcat board.
Note the OS has invoked the snd-usb-audio driver for this Khadas board. (In
lsusb -v output you'd see the board has audio interfaces.) If it hadn't, then moOde wouldn't pick it up as an eligible audio output device.
I have no knowledge or experience with the PCIe interface on my CM4 IO board.
Regards,
Kent