2

Проблема с USB-накопителем в Linux стоила мне больше одного дня: dmesg говорит, что USB обнаружен, но fdisk -l не может найти USB-накопитель.

Мое ядро 2.4.32.

Информацию об этом USB-накопителе также можно найти через proc:

# cat /proc/scsi/usb-storage-0/0 
   Host scsi0: usb-storage
       Vendor: USB 2.0
      Product: USB Flash Drive
Serial Number: 00000000001485
     Protocol: Transparent SCSI
    Transport: Bulk
         GUID: 048d11670000000000001485
     Attached: Yes

lsmod показывает:

# lsmod | grep usb
usb-storage            27800   0 
usbcore                56864   0  [ehci-hcd uhci usb-storage]
scsi_mod              108120   1  [usb-storage]

SCSI

 # cat /proc/scsi/scsi     
    Attached devices: 
    Host: scsi0 Channel: 00 Id: 00 Lun: 00
      Vendor: USB 2.0  Model: USB Flash Drive  Rev: 0.00
      Type:   Direct-Access                    ANSI SCSI revision: 02

«fdisk -l /dev /sda» мне ничего не дает, а «strace fdisk -l /dev /sda» показывает мне:

open("/dev/sda", O_RDONLY|O_LARGEFILE)  = -1 ENXIO (No such device or address)

хвост dmesg

hub.c: new USB device 00:1d.7-2, assigned address 2
usb.c: kmalloc IF af910660, numif 1
usb.c: new device strings: Mfr=1, Product=2, SerialNumber=3
usb.c: USB device number 2 default language ID 0x409
Manufacturer: USB 2.0
Product: USB Flash Drive
SerialNumber: 00000000001485
scsi0 : SCSI emulation for USB Mass Storage devices
  Vendor: USB 2.0   Model: USB Flash Drive   Rev: 0.00
  Type:   Direct-Access                      ANSI SCSI revision: 02
WARNING: USB Mass Storage data integrity not assured
USB Mass Storage device found at 2
usb.c: usb-storage driver claimed interface af910660
usb.c: kusbd: /sbin/hotplug add 2
hub.c: port 3, portstatus 100, change 0, 12 Mb/s
hub.c: port 4, portstatus 100, change 0, 12 Mb/s
hub.c: port 5, portstatus 100, change 0, 12 Mb/s
hub.c: port 6, portstatus 100, change 0, 12 Mb/s
hub.c: port 7, portstatus 100, change 0, 12 Mb/s
hub.c: port 8, portstatus 100, change 0, 12 Mb/s

3 ответа3

4

Наконец-то я решил эту проблему! :-П

Оказалось, что я insmod scsi_mod.o и sd_mod.o , но ядро уже поддерживало SCSI.

вздох ~

Я также обнаружил , что scsi_mod следует insmod «ред перед sd_mod и ehci_hcd.o перед USB-storage.o. Если нет, dmesg скажет usb.c: USB device not accepting new address=2 (error=-71) .

0

Посмотрите более внимательно на dmesg, когда вы вставляете usbstick - я предполагаю, что t не будет зависеть от /dev /sda.

0

"ядро 2.4.32" - правда? Разве вы не можете использовать что-то более современное?

Вы пытались посмотреть на "cat /proc /scsi /scsi"? Как насчет "fdisk -l /dev /sda"?

"fdisk -l" сам по себе не всегда пробует все дисковые устройства в системе. Предоставление ему конкретного устройства заставит его посмотреть на это и сообщить вам таблицу разделов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .