-1
私は2つの同一のUSBデバイスを別々のUSBホストコントローラに接続しています。デバイスの初期化順序が変更され、デバイスの列挙が途絶えることがあります。 lsusbを使ってユーザー空間で行われているように、デバイスドライバにUSBバス番号を取得する方法はありますか(正しい初期化を実装するには十分でしょう)?LinuxデバイスドライバからUSBバス番号にアクセスする方法は?
私は2つの同一のUSBデバイスを別々のUSBホストコントローラに接続しています。デバイスの初期化順序が変更され、デバイスの列挙が途絶えることがあります。 lsusbを使ってユーザー空間で行われているように、デバイスドライバにUSBバス番号を取得する方法はありますか(正しい初期化を実装するには十分でしょう)?LinuxデバイスドライバからUSBバス番号にアクセスする方法は?
私は決定を見つけました。タスクは、カーネルモジュールでUSBバス番号を取得することでしたが、同様のタスクはthis postにありました。あなたが求めているもの
struct usb_device *usbdev;
struct usb_bus *mybus;
usbdev=interface_to_usbdev(pusb_intf);
mybus=usbdev->bus;
printk("USB Bus number is %d\n",mybus->busnum);
完全に明確ではないが、多分あなたは何が必要なものを見つけ、SYS-fsの中で参照します。ドライバの初期化関数でusb_device構造のBUSNUMメンバー> BUS-を取得する必要がありました。 (例えば '/ sys/bus/usb'の中に) – h0ch5tr4355