CentOS / dev / bus / usb構造


13

Ubuntu 12.04でusbデバイスを接続すると、devディレクトリツリーの下にusbデバイスが次のように追加されます。

/dev/bus/usb/001/001

私のCentOS 5では以下のように追加されました:

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

lsusbでは、最初のデバイスのように/ devの下にusbデバイスを作成する必要があります。手動でリンクしようとするとそれを解決するために、OSは「No such file or directory error。」と表示しますが、ubuntuで同じディレクトリを問題なくリンクできます。

CentOS:

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

ubuntuでは、/ dev / bus / usbの下に作成してもエラーは発生しません。

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

原因は何ですか?どのように解決できますか?


1
私は答えを書く時間を持っていますが、おそらくistelfが動作するudevを使用したシンボリックリンクを作成し、ここにいくつかの情報であるいけないlinuxfromscratch.org/lfs/view/6.2/chapter07/symlinks.htmlは
のArtifex

回答:


1

古いバージョンを使用している場合は、次のパッケージをアップグレードする必要があります。

  • 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」コマンドでノードを作成できます。


0

lsusbは/ sysにマウントされたsysfsを使用してデバイスを検出すると考えています。これを確認するには、の出力を確認しましたstrace lsusb 2>&1 | grep open。/ sysが正しくマウントされていますか?私のsysfsがUbuntuにマウントされる方法は次のとおりです。

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

0

現在のシステムでは、/dev名前空間は動的であり、によって処理されudev(7)ます。おそらく、デバイスファイルに割り当てる構成は異なりますか?


0

私の印象では、udevはカーネルには古すぎるという印象です。最新でない場合は、udevを更新する必要があるかもしれません。http://us.generation-nt.com/answer/2-6-37-rc1-wait-sysfs-prints-errors-help-200947741.html(特にcooment#4のパッチ)も参照してください。

lsusbは無関係である必要があります。ただし、機能しない場合は、sysfsが正しい権限で/ sysにマウントされていることを確認してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.