備忘録

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

USBデバイスの情報を確認する

udevのルールを作るために、ホストのUSBに繋がっているUSB-Serialの情報を取得する

# udevadm info --attribute-walk --path=/sys/bus/usb-serial/devices/ttyUSB0

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

looking at device '/devices/platform/imx27-usb.0/ci_hdrc.0/usb1/1-1/1-1:1.0/ttyUSB0':
KERNEL=="ttyUSB0"
SUBSYSTEM=="usb-serial"
DRIVER=="pl2303"
ATTR{port_number}=="0"

looking at parent device '/devices/platform/imx27-usb.0/ci_hdrc.0/usb1/1-1/1-1:1.0':
KERNELS=="1-1:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="pl2303"
ATTRS{bInterfaceClass}=="ff"
ATTRS{bInterfaceSubClass}=="00"
ATTRS{bInterfaceProtocol}=="00"
ATTRS{bNumEndpoints}=="03"
ATTRS{supports_autosuspend}=="1"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceNumber}=="00"

looking at parent device '/devices/platform/imx27-usb.0/ci_hdrc.0/usb1/1-1':
KERNELS=="1-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{devpath}=="1"
ATTRS{idVendor}=="067b"
ATTRS{speed}=="12"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{busnum}=="1"
ATTRS{devnum}=="2"
ATTRS{configuration}==""
ATTRS{bMaxPower}=="500mA"


このあとは、*.rulesファイルで
ACTION=="remove", GOTO="tty_end"
SUBSYSTEM!="tty", GOTO="tty_end"
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", DRIVERS=="pl2303", ACTION=="add", ENV{ID_VENDOR_ID}=="067B", ENV{ID_MODEL_ID}=="2303", ENV{ID_USB_INTERFACE_NUM}=="00", KERNELS=="1-1:1.*", SYMLINK+="ttyUSB2SERIAL"
LABEL="tty_end"

な形で、デバイスをttyUSB2SERIALに固定しました。
スポンサーサイト

テーマ:ハードウェア - ジャンル:コンピュータ

  1. 2016/02/02(火) 13:01:11|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。