fdisk 找不到 USB 存储

fdisk 找不到 USB 存储

Linux 中 USB 存储的一个问题已经耗费了我一天多的时间: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]

系统级接口

 # 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

答案1

最后,我解决了这个问题!:-P

事实证明,我insmod scsi_mod.osd_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)

答案2

“内核是 2.4.32”——真的吗?你不能用更现代的版本吗?

您是否尝试过查看“cat /proc/scsi/scsi”?“fdisk -l /dev/sda”怎么样?

“fdisk -l” 本身并不总是会尝试系统中的所有磁盘类设备。给它一个特定的设备将迫使它查看该设备并告诉你它的分区表。

答案3

插入 USB 设备时仔细查看 dmesg - 我猜想它没有在 /dev/sda 上被探测。

相关内容