Re: Petalinux Kernel Compatability

Charles Lane <[email protected]> Thu, 7 Nov 2024 13:38:42 -0500
Newsgroups gmane.linux.hardware.gpib.general
Organization Drexel University Particle Physics
Message-ID <[email protected]>
Setting up the /dev/gpib* devices is something that 
you might want to look at udev for...but as I recall 
there's some problems. That isn't necessarily in the
linux-gpib git project, maybe in linux-gpib-packaging
project....where the idea is to wrap the linux-gpib 
code in an rpm package (so that installation deals 
with udev scripts, protection issues, etc) 

On Thu, 7 Nov 2024 09:51:32 -0700
Michael Jaggers <[email protected]> wrote:

> 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



-- 
Drexel University  |/             /    ·   ν ·   Chuck Lane   |D
======]--->---C-----π+--<                Disque 911  |U
Particle Physics    \             \    ~~ e+~~   215-895-1545 |N
[email protected]                    -​μ+--+νν                 |E


_______________________________________________
Linux-gpib-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-gpib-general