Na moim Ubuntu 12.04, kiedy podłączam urządzenie USB, w drzewie katalogów dev urządzenie USB jest dodawane w następujący sposób:
/dev/bus/usb/001/001
Na moim CentOS 5 dodano jak poniżej:
/dev/bus/usb/devices/2-1.4/
lsusb potrzebuje urządzeń USB do utworzenia w / dev jak pierwsze. Aby rozwiązać ten problem, gdy próbuję połączyć je ręcznie, system operacyjny wyświetla komunikat „Nie ma takiego błędu pliku lub katalogu”, ale łączenie tego samego katalogu można wykonać w systemie Ubuntu bez problemu.
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
W Ubuntu tworzenie pod / dev / bus / usb nie powoduje błędów.
Po podłączeniu urządzenia USB w dziennikach CentOS wygląda to tak:
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
Co może być przyczyną i jak to rozwiązać?
Odpowiedzi:
Musisz zaktualizować następujące pakiety, jeśli masz ich stare wersje.
Następnie musisz utworzyć katalog „usb / bus / 001 /” w katalogu „/ dev /”. jeśli problem nie zostanie rozwiązany. możesz utworzyć węzeł za pomocą polecenia „mknod”.
źródło
Wierzę, że lsusb używa zamontowanych sysów / sys do wykrywania urządzeń. Potwierdziłem to, patrząc na wyniki
strace lsusb 2>&1 | grep open
. Czy jesteś pewien, że masz / sys poprawnie zamontowany? Oto jak mój sysfs jest zamontowany na Ubuntu:źródło
W obecnych systemach
/dev
przestrzeń nazw jest dynamiczna i obsługiwana przezudev(7)
. Być może konfiguracje przypisujące pliki urządzeń są różne?źródło
Mam wrażenie, że twój udev jest za stary dla twojego jądra. Być może musisz zaktualizować swój udev, jeśli nie jest aktualny. Zobacz także http://us.generation-nt.com/answer/2-6-37-rc1-wait-sysfs-prints-errors-help-200947741.html (szczególnie łatka w coomencie nr 4)
lsusb powinien być niezwiązany. Ale jeśli to nie działa, upewnij się, że sysfs jest zamontowany na / sys z prawidłowymi uprawnieniami.
źródło