From: Charles L. <la...@dc...> - 2024-11-07 18:54:23
|
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 <mgj...@gm...> 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 la...@dc... -μ+--+νν |E |