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?
Antworten:
Sie müssen die folgenden Pakete aktualisieren, wenn Sie die alten Versionen von ihnen haben.
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.
quelle
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:quelle
In aktuellen Systemen ist der
/dev
Namespace dynamisch und wird von verwaltetudev(7)
. Vielleicht sind die Konfigurationen, die Gerätedateien zuweisen, unterschiedlich?quelle
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.
quelle