Boy*_*Boy 9 linux linux-device-driver linux-kernel usb-flash-drive
你如何确定哪种媒体附加到系统?
我有Ubuntu,当我插入SD卡时,它注意到它实际上是一张SD卡.USB记忆棒数量相同.
但是,如何在插入新设备时确定低级别,它是什么类型的?
似乎没有任何信息可以找到.
编辑:只是为了更完整:我说它是一个Linux环境,但实际上它是嵌入式环境中的Android.我将它标记为Linux,因为我确实试图从命令行进行检查.
udevadm命令不可用,lsusb -vv显示:
Bus 001 Device 001: ID 1d6b:0002
Bus 001 Device 002: ID 0424:2640
Bus 001 Device 003: ID 0424:4040
Bus 002 Device 001: ID 1d6b:0001
Run Code Online (Sandbox Code Playgroud)
这是非常少的信息.
该lsusb命令列出系统中注册的USB设备.尝试lsusb -vv更详细的信息.您可以使用该-s标志来定位特定设备.
更新:这取决于您的帐户的权限,一些细节需要更高的权限.例如,这是我鼠标的输出:
Bus 003 Device 003: ID 04f3:0230 Elan Microelectronics Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x04f3 Elan Microelectronics Corp.
idProduct 0x0230
bcdDevice 24.58
iManufacturer 0
iProduct 2 USB+PS/2 Optical Mouse
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 34
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 52
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 10
Device Status: 0x0000
Run Code Online (Sandbox Code Playgroud)
运行这样的命令可能很有用:
$ udevadm info -a -p $(udevadm info -q path -n /dev/sdX)
Run Code Online (Sandbox Code Playgroud)
输出可能如下所示:
[...]
looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5':
KERNELS=="1-1.5"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="80"
ATTRS{bMaxPower}=="200mA"
ATTRS{urbnum}=="6519"
ATTRS{idVendor}=="13fe"
ATTRS{idProduct}=="1d00"
ATTRS{bcdDevice}=="0100"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{speed}=="480"
ATTRS{busnum}=="1"
ATTRS{devnum}=="3"
ATTRS{devpath}=="1.5"
ATTRS{version}==" 2.00"
ATTRS{maxchild}=="0"
ATTRS{quirks}=="0x0"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="Kingston"
ATTRS{product}=="DataTraveler 2.0"
ATTRS{serial}=="5B7A08A1010F"
[...]
Run Code Online (Sandbox Code Playgroud)
您可以看到一些ATTRS描述设备的内容。