|
Вы находитесь в режиме просмотра. Для участия в дискуссиях клуба вам необходимо зарегистрироваться (если вы этого не сделали) и войти в систему.
|
|
Читаю ФАК по коре и плачу. :)(+)
Отправлено: riptopaz 06.10.2007 в 00:54
|
Проблема НА ПУСТОМ МЕСТЕ! Смотрите сами:
4.5. У меня есть USB card-reader для чтения разных видов флэш-карт. Но система почему-то видит только одно устройство. Что делать?
[FC4] В Fedora Core 4 ядро наконец-то собрано с поддержкой CONFIG_SCSI_MULTI_LUN. Таким образом таких ситуаций быть не должно - по крайней мере два совершенно разных USB card-reader а у меня дома и на работе продиагностировались нормально. Пользователи Fedora Core 3 и ниже могут читать далее.
Проблема в том, что ядро в Red Hat и Fedora Core собрано с выключеной опцией CONFIG_SCSI_MULTI_LUN. Из-за этого ядро видит только первое SCSI устройство на канале. Поскольку доступ к USB устройствам в Linux делается через эмуляцию SCSI, то соответственно в card-reader ах, где несколько слотов под разные типы карт, всегда будет видно только одно первое устройство, которое будет доступно в системе как /dev/sda.
Существует два пути решения проблемы. Первый - пересобрать ядро [))))))))] с опцией CONFIG_SCSI_MULTI_LUN. Второй - воспользоваться одной хитрой возможностью псевдофайловой системы /proc. Для этого сперва необходимо узнать для первого USB устройства его SCSI интерфейс, channel, id и lun. Сделать это просто. Нужно посмотреть в файл /var/log/messages после загрузки системы. Вы увидите что-то вроде этого:
[дальше пошёл песдец полный. ниасилил.]
Nov 15 19:30:01 vitachi kernel: SCSI subsystem initialized
Nov 15 19:30:01 vitachi kernel: Initializing USB Mass Storage driver...
Nov 15 19:30:01 vitachi kernel: scsi0 : SCSI emulation for USB Mass Storage devices
Nov 15 19:30:01 vitachi kernel: Vendor: NEODIO Model: USB Storage-MMC Rev: 305M
Nov 15 19:30:01 vitachi kernel: Type: Direct-Access ANSI SCSI revision: 02
Nov 15 19:30:01 vitachi kernel: usbcore: registered new driver usb-storage
Nov 15 19:30:01 vitachi kernel: USB Mass Storage support registered.
Nov 15 19:30:01 vitachi kernel: Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
Обратите внимание на текст, который выделен красным. Т.е. scsi0, channel=0, id=0 и lun=0. Теперь выполняем хитрые манипуляции с файловой системой /proc. Допустим у нас card-reader на четыре разных типа карт. Первое псевдоустройство уже инициализировано. Остаётся инициализировать оставшиеся три. Для этого выполняем следующие команды:
echo "scsi add-single-device 0 0 0 1" /proc/scsi/scsi
echo "scsi add-single-device 0 0 0 2" /proc/scsi/scsi
echo "scsi add-single-device 0 0 0 3" /proc/scsi/scsi
Эти команды заставляют ядро просканировать канал SCSI для поиска новых устройств. После их выполнения вы увидите что-то типа этого:
Nov 15 19:30:08 vitachi kernel: Vendor: NEODIO Model: USB Storage-CFC Rev: 305M
Nov 15 19:30:08 vitachi kernel: Type: Direct-Access ANSI SCSI revision: 02
Nov 15 19:30:08 vitachi kernel: Attached scsi removable disk sdb at scsi0, channel 0, id 0, lun 1
Nov 15 19:30:08 vitachi kernel: Vendor: NEODIO Model: USB Storage-SMC Rev: 305M
Nov 15 19:30:08 vitachi kernel: Type: Direct-Access ANSI SCSI revision: 02
Nov 15 19:30:08 vitachi kernel: Attached scsi removable disk sdc at scsi0, channel 0, id 0, lun 2
Nov 15 19:30:08 vitachi kernel: Vendor: NEODIO Model: USB Storage-MSC Rev: 305M
Nov 15 19:30:09 vitachi kernel: Type: Direct-Access ANSI SCSI revision: 02
Nov 15 19:30:09 vitachi kernel: Attached scsi removable disk sdd at scsi0, channel 0, id 0, lun 3
Nov 15 19:30:10 vitachi scsi.agent[2739]: disk at /devices/pci0000:00/0000:00:1f.4/usb2/2-2/2-2:1.0/host0/0:0:0:1
Nov 15 19:30:10 vitachi scsi.agent[2749]: disk at /devices/pci0000:00/0000:00:1f.4/usb2/2-2/2-2:1.0/host0/0:0:0:2
Nov 15 19:30:10 vitachi scsi.agent[2759]: disk at /devices/pci0000:00/0000:00:1f.4/usb2/2-2/2-2:1.0/host0/0:0:0:3
[песдец! моск вынесло окончательно!]
Теперь в системе у вас должны стать доступными такие устройства как /dev/sdb, /dev/sdc и /dev/sdd. |
|
- Читаю ФАК по коре и плачу. :)(+) riptopaz 06.10.07 00:54
|
|
|
|