USB drive not being recognized under Linux

by on April 11, 2006 · 3 comments· LAST UPDATED April 11, 2006

in

In order to access USB drive under Linux you need to load special USB driver and support must be included in running Linux kernel. Try following command one by one to solve your problem:

Step # 1 : Make sure your external drive detected by system
Run dmesg command which print or control the kernel ring buffer:

# dmesg

OR

# dmesg | grep –i USB

Output:

SLPB PCI0 HUB0 USB0 USB1 USB2 USBE
usbcore: registered new driver usbfs
usbcore: registered new driver hub
USB Universal Host Controller Interface driver v2.3
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2
hub 2-0:1.0: USB hub found
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3
usb 1-2: new full speed USB device using uhci_hcd and address 2
hub 3-0:1.0: USB hub found

As you see USB support is included in kernel. You can also verify this with following command:

# lspci -v | grep HCI

Output:

0000:00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 02) (prog-if 00 [UHCI])
0000:00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 02) (prog-if 00 [UHCI])
0000:00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 02) (prog-if 00 [UHCI])
0000:00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 02) (prog-if 20 [EHCI])

Step # 2 : Load USB modules/driver
If you cannot see your external USB drive in above dmesg output then try to load usb-uhci and usb-ohci modules (driver):

# modprobe usb-uhci
# modprobe usb-ohci
# modprobe usb-storage

Now again run dmesg:

# dmesg

Output:

usb 4-1: new high speed USB device using ehci_hcd and address 3
scsi2 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 3
usb-storage: waiting for device to settle before scanning
Vendor: SAMSUNG   Model: SV4002H           Rev: 0811
Type:   Direct-Access                      ANSI SCSI revision: 00
SCSI device sdb: 78242976 512-byte hdwr sectors (40060 MB)
sdb: assuming drive cache: write through
SCSI device sdb: 78242976 512-byte hdwr sectors (40060 MB)
sdb: assuming drive cache: write through
 sdb: sdb1
sd 2:0:0:0: Attached scsi disk sdb
usb-storage: device scan complete

Step 3 : Use external USB drive
As you see device sdb assigned to an external USB drive use mount command to mount drive:
List partitions on /dev/sdb:

# fdisk -l | grep sdb

Output:

Disk /dev/sda doesn't contain a valid partition table
Disk /dev/sdb: 40.0 GB, 40060403712 bytes
/dev/sdb1               1        4870    39118243+   c  W95 FAT32 (LBA)

Now mount partition:

# mount /dev/sdb1 /mnt

See also:

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 3 comments… read them below or add one }

1 Peko March 17, 2009 at 3:56 pm

Hi Vivek,

I am still enjoying your site.

Check the typo for [grep] arguments
“dmesg | grep –i USB”

Reply

2 Jyothi April 1, 2009 at 4:34 am

hi,

i am still facing problem with detecting USB. I tried everything that u have mentioned. If i plug usb pendrive the light will glow in the pendrive but it is not showing any mount point in fstab and it is not detecting automatically. I need your valuable solution to fix this problem

Thank u

Reply

3 Jeremy April 22, 2011 at 6:45 pm

Thanks, this worked for me (had to run modprobe usb-storage followed by dmesg)

Reply

Leave a Comment

Tagged as:

Previous Faq:

Next Faq: