2

I am trying to connect a new device (Keysight U2722A) and it does not appear in /dev. I have tried this in Ubuntu, Fedora, and openSuse, all with the same results. Currently working in Fedora. When I plug it in, I can see it appear in:

dmesg:

[58451.072367] usb 3-2.4.2: new high-speed USB device number 11 using xhci_hcd
[58451.287716] usb 3-2.4.2: New USB device found, idVendor=0957, idProduct=4218
[58451.287720] usb 3-2.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[58451.287722] usb 3-2.4.2: Product: Agilent U2722A/U2723A
[58451.287724] usb 3-2.4.2: Manufacturer: Agilent Technologies
[58451.287725] usb 3-2.4.2: SerialNumber: MY57070005

journalctl -fe

Oct 05 09:36:47 geronto kernel: usb 3-2.4.4: new high-speed USB device number 10 using xhci_hcd
Oct 05 09:36:48 geronto kernel: usb 3-2.4.4: New USB device found, idVendor=0957, idProduct=4218
Oct 05 09:36:48 geronto kernel: usb 3-2.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Oct 05 09:36:48 geronto kernel: usb 3-2.4.4: Product: Agilent U2722A/U2723A
Oct 05 09:36:48 geronto kernel: usb 3-2.4.4: Manufacturer: Agilent Technologies
Oct 05 09:36:48 geronto kernel: usb 3-2.4.4: SerialNumber: MY57230002
Oct 05 09:36:48 geronto mtp-probe[4578]: checking bus 3, device 10: "/sys/devices/pci0000:00/0000:00:07.1/0000:24:00.3/usb3/3-2/3-2.4/3-2.4.4"
Oct 05 09:36:48 geronto mtp-probe[4578]: bus: 3, device: 10 was not an MTP device

However, there is no change in the /dev directory. My understanding is this should appear as a usbtmc device. In fact, Keysight has a page for usbtmc devices (here). However, this page is out of date and the link to the driver no longer works. I assume this is because the built in linux driver handles all of this now? I have also tried to find the device using the National Instruments VISA library, which does not work.

I think if there is a device node, I should be able to communicate with it. That led me to writing a udev rule. I wrote the following rules:

ATTR{idVendor}=="0957", ATTR{serial}=="MY57070005", SYMLINK+="keysight0"
ATTR{idVendor}=="0957", ATTR{serial}=="MY57230002", SYMLINK+="keysight1"
ATTR{idVendor}=="05e6", ATTR{serial}=="4022588", SYMLINK+="keithley"

The first 2 rules are for the devices of interest. The third is for a device that is properly recognized (my control to see if I made the rules correctly). These recognize the devices and populate the devices in /dev. However, these links do not seem to work to control the devices, even for the keithley, which has a proper usbtmc device that can be used and the same commands do work with the usbtmc device. I think there is something wrong with my rules. I can investigate the devices:

> udevadm info -n /dev/keysight0
P: /devices/pci0000:00/0000:00:07.1/0000:24:00.3/usb3/3-2/3-2.4/3-2.4.2
N: bus/usb/003/011
S: keysight0
E: BUSNUM=003
E: DEVLINKS=/dev/keysight0
E: DEVNAME=/dev/bus/usb/003/011
E: DEVNUM=011
E: DEVPATH=/devices/pci0000:00/0000:00:07.1/0000:24:00.3/usb3/3-2/3-2.4/3-2.4.2
E: DEVTYPE=usb_device
E: DRIVER=usb
E: ID_BUS=usb
E: ID_MODEL=Agilent_U2722A_U2723A
E: ID_MODEL_ENC=Agilent\x20U2722A\x2fU2723A
E: ID_MODEL_ID=4218
E: ID_REVISION=1111
E: ID_SERIAL=Agilent_Technologies_Agilent_U2722A_U2723A_MY57070005
E: ID_SERIAL_SHORT=MY57070005
E: ID_USB_INTERFACES=:000000:
E: ID_VENDOR=Agilent_Technologies
E: ID_VENDOR_ENC=Agilent\x20Technologies
E: ID_VENDOR_FROM_DATABASE=Agilent Technologies, Inc.
E: ID_VENDOR_ID=0957
E: MAJOR=189
E: MINOR=266
E: PRODUCT=957/4218/1111
E: SUBSYSTEM=usb
E: TYPE=0/0/0
E: USEC_INITIALIZED=58451223677

I believe that the issue may be in DEVNAME=/dev/bus/usb/003/011. Am I allowed to connect using a symlink? Is the root of the issue that I don't have it connected to a 'proper device node' like usbtmc0? The keithley has a usbtmc0 node, but the rule is not linking it to that, but to a bus address as well when I create the symlink. That makes me believe that there is something wrong with my rule?

Thank you!

  • Is modul usbtmc loaded? lsmod | grep -i usbtmc – user192526 Oct 6 '17 at 10:42
  • Yes, usbtmc was working on the other instrument. This was a hardware specific problem. – user2636043 Oct 7 '17 at 13:12
2

For general amusement, or anyone interested in this piece of equipment, The device has to be opened using the windows only Agilent Memory Manager first. This loads the ability to communicate into RAM (note: not ROM). Then it becomes recognized as a usbtmc device and can be communicated with correctly. If you ever unplug it, you have to go through this process again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.