Centos5

CentOS /dev/bus/usb 結構

  • March 6, 2015

在我的 Ubuntu 12.04 上,當我插入 USB 設備時,在 dev 目錄樹下添加 USB 設備,如下所示:

/dev/bus/usb/001/001

在我的 CentOS 5 上添加如下:

/dev/bus/usb/devices/2-1.4/

lsusb 需要像第一個一樣在 /dev 下創建 USB 設備。為了解決這個問題,當我嘗試手動連結它們時,作業系統會給出“沒有這樣的文件或目錄錯誤。”,但是在 ubuntu 下可以毫無問題地連結相同的目錄。

中央作業系統:

ln -s /dev/bus/usb/devices/2-1.4/descriptors /sys/bus/usb/001/001
ln: creating symbolic link `/sys/bus/usb/001/001' to `/dev/bus/usb/devices/2-1.4/descriptors': No such file or directory

在 /dev/bus/usb 下創建的 ubuntu 不會出錯。

當我在 CentOS 下插入我的 USB 設備時,日誌是這樣的:

Dec  5 12:20:18 2012 kernel: [74465.103460] usb 2-1.4: new high-speed
USB device number 36 using ehci_hcd
Dec  5 12:20:18 2012 kernel: [74465.194011] scsi62 : usb-storage 2-1.4:1.0
Dec  5 12:20:18 2012 kernel: [74465.194091] scsi63 : usb-storage 2-1.4:1.1
Dec  5 12:20:19 2012 kernel: [74466.196062] scsi 62:0:0:0: CD-ROM
     HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
Dec  5 12:20:19 2012 kernel: [74466.196441] scsi 63:0:0:0:
Direct-Access     HUAWEI   TF CARD Storage       PQ: 0 ANSI: 2
Dec  5 12:20:19 2012 kernel: [74466.198548] sr0: scsi-1 drive
Dec  5 12:20:19 2012 kernel: [74466.198630] sr 62:0:0:0: Attached scsi
generic sg1 type 5
Dec  5 12:20:19 2012 kernel: [74466.198719] sd 63:0:0:0: Attached scsi
generic sg2 type 0
Dec  5 12:20:19 2012 kernel: [74466.201555] sd 63:0:0:0: [sdb]
Attached SCSI removable disk
Dec  5 12:20:22 2012 udevd-event[18390]: wait_for_sysfs: waiting for
\'/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/host62/ioerr_cnt\'
failed
Dec  5 12:20:22 2012 udevd-event[18391]: wait_for_sysfs: waiting for
\'/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.1/host63/ioerr_cnt\'
failed
Dec  5 12:20:25 2012 udevd-event[18443]: wait_for_sysfs: waiting for
\'/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.1/host63/target63:0:0/ioerr_cnt\'
failed
Dec  5 12:20:25 2012 udevd-event[18442]: wait_for_sysfs: waiting for
\'/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/host62/target62:0:0/ioerr_cnt\'
failed

可能是什麼原因,我該如何解決?

如果您有舊版本的軟體包,則必須升級以下軟體包。

  • libusb1-1.0.8-0.1.el5.i386.rpm
  • libusb1-devel-1.0.8-0.1.el5.i386.rpm
  • libusb1-static-1.0.8-0.1.el5.i386.rpm

然後你需要在“/dev/”目錄下創建“usb/bus/001/”目錄。如果問題不解決。您可以使用“mknod”命令創建節點。

我相信 lsusb 使用 /sys 掛載的 sysfs 來發現設備。我通過查看strace lsusb 2>&1 | grep open. 您確定您已正確安裝 /sys 嗎?這是我的 sysfs 在 Ubuntu 上的安裝方式:

$ mount | grep sysfs
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)

引用自:https://serverfault.com/questions/457079