Petalinux Kernel Compatability
Michael Jaggers <[email protected]> Thu, 7 Nov 2024 09:51:32 -0700
| Newsgroups | gmane.linux.hardware.gpib.general |
|---|---|
| Message-ID | <CAHewNo2Ac+JSTZPui7q2-RTg-M_E760UyxfRoKSsyoQm797sHQ@mail.gmail.com> |
Hello,
I'm working on installing the gpib kernel drivers to the Petalinux
platform. So far, I've managed to get the headers and get the gpib drivers
compiled + installed. The modules show up with modprobe, and when I plug my
gpib dongle in the driver loads properly and it seems to recognize it.
Below is the message I get when plugging in the dongle:
[19163.768240] usb 1-1.4: new high-speed USB device number 11 using xhci-hcd
[19164.020393] usb 1-1.4: config 1 interface 0 altsetting 0 endpoint 0x81
has an invalid bInterval 0, changing to 7
[19164.030876] usb 1-1.4: New USB device found, idVendor=3923,
idProduct=709b, bcdDevice= 1.01
[19164.039247] usb 1-1.4: New USB device strings: Mfr=1, Product=2,
SerialNumber=3
[19164.046560] usb 1-1.4: Product: GPIB-USB-HS
[19164.050739] usb 1-1.4: Manufacturer: National Instruments
[19164.056138] usb 1-1.4: SerialNumber: 01D9F4A4
Here is where the issue comes up. When ibopen goes to set things up with
the dongle, the /dev/gpib0 doesn't seem to be properly configured. I get
this message when I run the ibtest utility:
[84391.688217] gpib debug: pid 0, gpib: opening minor 0
[84391.696029] gpib debug: pid 0, gpib: request module returned 256
[84391.702071] gpib debug: pid 0, minor 0, ioctl 3, interface=, use=0,
onl=0, arg=d8a171a0
[84391.710090] gpib: no gpib board configured on /dev/gpib0
[84391.715398] gpib debug: pid 0, minor 0, ioctl 3, interface=, use=0, onl=0
[84391.722212] gpib debug: pid 0, minor 0, ioctl 5, interface=, use=0,
onl=0, arg=d8a17120
[84391.730218] gpib: no gpib board configured on /dev/gpib0
[84391.735527] gpib debug: pid 0, minor 0, ioctl 5, interface=, use=0, onl=0
[84391.742357] gpib debug: pid 0, minor 0, ioctl 5, interface=, use=0,
onl=0, arg=d8a17180
[84391.750363] gpib: no gpib board configured on /dev/gpib0
[84391.755673] gpib debug: pid 0, minor 0, ioctl 5, interface=, use=0, onl=0
[84391.762675] audit: type=1701 audit(1730996390.861:20): auid=0 uid=0
gid=0 ses=2 pid=10840 comm="ibtest" exe="/usr/local/bin/ibtest" sig=6 res=1
[84391.764574] gpib debug: pid 0, gpib: closing minor 0
I've been debugging this for a week or so now. I'm fairly confident that
the probing of the dongle works. In fact, when I find the dongle in the sys
path, I see that the module driver is in that path of the device itself:
root@tester0:~# ls -ll /sys/bus/usb/drivers/ni_usb_gpib/1-1.4\:1.0/
total 0
-rw-r--r-- 1 root root 4096 Nov 7 16:25 authorized
-r--r--r-- 1 root root 4096 Nov 7 16:25 bAlternateSetting
-r--r--r-- 1 root root 4096 Nov 7 16:25 bInterfaceClass
-r--r--r-- 1 root root 4096 Nov 7 16:25 bInterfaceNumber
-r--r--r-- 1 root root 4096 Nov 7 16:25 bInterfaceProtocol
-r--r--r-- 1 root root 4096 Nov 7 16:25 bInterfaceSubClass
-r--r--r-- 1 root root 4096 Nov 7 16:25 bNumEndpoints
lrwxrwxrwx 1 root root 0 Nov 7 16:25 driver ->
../../../../../../../../../../bus/usb/drivers/ni_usb_gpib
drwxr-xr-x 3 root root 0 Nov 7 16:25 ep_02
drwxr-xr-x 3 root root 0 Nov 7 16:25 ep_06
drwxr-xr-x 3 root root 0 Nov 7 16:25 ep_81
drwxr-xr-x 3 root root 0 Nov 7 16:25 ep_84
drwxr-xr-x 3 root root 0 Nov 7 16:25 ep_88
-r--r--r-- 1 root root 4096 Nov 7 16:25 modalias
drwxr-xr-x 2 root root 0 Nov 7 16:25 power
lrwxrwxrwx 1 root root 0 Nov 7 16:18 subsystem ->
../../../../../../../../../../bus/usb
-r--r--r-- 1 root root 4096 Nov 7 16:25 supports_autosuspend
-rw-r--r-- 1 root root 4096 Nov 7 16:18 uevent
root@tester0:~# grep ^ /sys/bus/usb/drivers/ni_usb_gpib/1-1.4\:1.0/modalias
usb:*v3923p709B*d0101dc00dsc00dp00icFFisc00ip00in00
The driver itself tells me that the interface registers properly too (my
apologies for the extra debug messages):
[85375.091233] ni_usb_gpib driver loading
[85375.098301] ni_usb_driver_probe
[85375.101436] set bus interface 0 to address 0x00000000bca009b3
[85375.107200] ni_usb_gpib: probe succeeded for path:
usb-xhci-hcd.1.auto-1.4
[85375.119145] usbcore: registered new interface driver ni_usb_gpib
[85375.128308] gpib: registered ni_usb_b interface
However, everywhere I look in the code doesn't indicate to me where the
disconnect occurs. I'm fairly certain the issue is that the /dev/gpib*
section isn't pointing to the dongle area and that's my problem. I've been
trying to create a workaround to this that shows the device working at all,
but I'm not having any luck there.
So I'm at a loss for where to go next. Any suggestions? RIght now, I'm
trying to figure out why I'm getting "interface=". I feel like that's the
underlying problem, but I can't confirm it.
Just in case, here is some extra information about he system I'm on:
Operating System: PetaLinux 2023.2+update-61_04172258- (langdale)
Kernel: Linux 6.1.30-xilinx-v2023.2
Architecture: arm64
Thanks,
Michael
_______________________________________________
Linux-gpib-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-gpib-general