CentOS / dev / bus / usb Struktur

13

Auf meinem Ubuntu 12.04, wenn ich ein USB-Gerät anschließe, wird unter dev directory tree das USB-Gerät folgendermaßen hinzugefügt:

/dev/bus/usb/001/001

Auf meinem CentOS 5 wie folgt hinzugefügt:

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

lsusb benötigt usb-geräte, die unter / dev wie beim ersten erstellt werden. Um dieses Problem zu beheben, wenn ich versuche, sie manuell zu verknüpfen, gibt das Betriebssystem "No such file or directory error."

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

In Ubuntu gibt das Erstellen unter / dev / bus / usb keine Fehler aus.

Wenn ich mein USB-Gerät unter CentOS-Protokollen einstecke, sieht das so aus:

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

Was kann die Ursache sein und wie kann ich das lösen?

denizeren
quelle
1
Ich habe keine Zeit, eine Antwort zu schreiben, aber vielleicht funktioniert das Erstellen eines Symlinks mit udev selbst. Hier einige Informationen linuxfromscratch.org/lfs/view/6.2/chapter07/symlinks.html
artifex

Antworten:

1

Sie müssen die folgenden Pakete aktualisieren, wenn Sie die alten Versionen von ihnen haben.

  • 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

Und dann müssen Sie das Verzeichnis "usb / bus / 001 /" unter "/ dev /" erstellen. wenn das problem nicht gelöst wird. Sie können Knoten mit dem Befehl "mknod" erstellen.

Nyzsirt
quelle
0

Ich glaube, dass lsusb die / sys gemounteten sysfs verwendet, um Geräte zu erkennen. Ich habe dies durch einen Blick auf die Ausgabe von bestätigt strace lsusb 2>&1 | grep open. Sind Sie sicher, dass Sie / sys richtig gemountet haben? So wird mein sysfs auf Ubuntu gemountet:

$ mount | grep sysfs
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
Wren T.
quelle
0

In aktuellen Systemen ist der /devNamespace dynamisch und wird von verwaltet udev(7). Vielleicht sind die Konfigurationen, die Gerätedateien zuweisen, unterschiedlich?

vonbrand
quelle
0

Mein Eindruck ist, dass Ihr udev zu alt für Ihren Kernel ist. Möglicherweise müssen Sie Ihr udev aktualisieren, wenn es nicht auf dem neuesten Stand ist. Siehe auch http://us.generation-nt.com/answer/2-6-37-rc1-wait-sysfs-prints-errors-help-200947741.html (insbesondere den Patch in Cooment 4)

lsusb sollte nicht verwandt sein. Aber wenn es nicht funktioniert, stellen Sie sicher, dass Ihr sysfs auf / sys mit den richtigen Berechtigungen gemountet ist.

Proski
quelle