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 нужно, чтобы USB-устройства создавались в / dev, как в первую очередь. Чтобы решить эту проблему, когда я пытаюсь связать их вручную, ОС выдает «Нет такого файла или ошибки каталога», но связывание этого же каталога может быть выполнено в 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 не дает ошибок.

Когда я подключаю USB-устройство под CentOS, логи выглядят так:

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

В чем может быть причина и как я могу ее решить?

denizeren
источник
1
У меня нет времени, чтобы написать ответ, но, возможно, создание символической ссылки с помощью udev istelf работает, вот некоторая информация linuxfromscratch.org/lfs/view/6.2/chapter07/symlinks.html
artifex

Ответы:

1

Вы должны обновить следующие пакеты, если у вас есть их старые версии.

  • libusb1-1.0.8-0.1.el5.i386.rpm
  • libusb1-разви-1.0.8-0.1.el5.i386.rpm
  • libusb1 статический-1.0.8-0.1.el5.i386.rpm

Затем вам нужно создать каталог «usb / bus / 001 /» в каталоге «/ dev /». если проблема не будет решена. Вы можете создать узел с помощью команды "mknod".

nyzsirt
источник
0

Я считаю, что lsusb использует смонтированные sysfs / sys для обнаружения устройств. Я подтвердил это, посмотрев на вывод 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). Возможно, конфигурации файлов устройств присвоения отличаются?

vonbrand
источник
0

У меня сложилось впечатление, что ваш udev слишком стар для вашего ядра. Может быть, вам нужно обновить свой udev, если он не обновлен. Также, пожалуйста, смотрите http://us.generation-nt.com/answer/2-6-37-rc1-wait-sysfs-prints-errors-help-200947741.html (особенно патч в кулете № 4)

lsusb должен быть не связанным. Но если это не работает, убедитесь, что ваш sysfs смонтирован в / sys с правильными разрешениями.

proski
источник