デバイスノードが作成されていません。

デバイスノードが作成されていません。

新しいデバイス(Keysight U2722A)を接続しようとしていますが、/ devには表示されません。私はUbuntu、Fedora、openSuseでこれを試しましたが、同じ結果を得ました。現在Fedoraで作業しています。挿入すると、次の場所に表示されるものが表示されます。

情報:

[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

logctl-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

ただし、/ devディレクトリは変更されません。私の理解は、これがusbtmcデバイスとしてマークされなければならないということです。実際、Keysightにはusbtmcデバイスのページがあります(ここ)。ただし、このページは古く、ドライバへのリンクは無効です。組み込みのLinuxドライバがこれをすべて処理できるからだと思いますか?また、National Instruments VISAライブラリを使用してデバイスを見つけようとしましたが、うまくいきませんでした。

デバイスノードがあればそれと通信できる必要があると思います。これはudevルールを作成しました。私は次の規則を書きました:

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

最初の2つのルールは関心のあるデバイスに適用されます。 3番目は、正しく識別されたデバイスに関するものです(ルールが正しく作成されたことを確認するための制御)。デバイスを識別し、/ devにデバイスを入力します。しかし、これらのリンクは、動作する適切なusbtmcデバイスを持ち、同じコマンドがusbtmcデバイスで動作するkeithleyの場合でもデバイスを制御しないようです。私の考えでは、私のルールに何か問題があると思います。次のデバイスを調べることができます。

> 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

問題はDEVNAME=/dev/bus/usb/003/011にあるようです。シンボリックリンクを使って接続できますか? usbtmc0のような「正しいデバイスノード」に接続しないのが問題の原因ですか? keithleyにはusbtmc0ノードがありますが、ルールはそれをそのノードに接続するのではなく、シンボリックリンクを作成するときにバスアドレスに接続することです。これは私のルールに問題があると信じていますか?

ありがとうございます!

答え1

一般的なエンターテイメントを楽しんだり、このデバイスに興味がある人は、まずWindows専用のAgilent Memory Managerを使用してデバイスを開く必要があります。これは通信機能をRAM(注意:ROMではない)にロードします。これにより、usbtmcデバイスとして認識され、正しく通信できます。電源装置を取り外したら、この手順をやり直す必要があります。

関連情報