USB drive not being recognized under Linux

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


# dmesg | grep –i USB


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


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


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


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:

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 7 comments so far... add one

CategoryList of Unix and Linux commands
Disk space analyzersdf ncdu pydf
File Managementcat cp mkdir tree
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network UtilitiesNetHogs dig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
7 comments… add one
  • Peko Mar 17, 2009 @ 15:56

    Hi Vivek,

    I am still enjoying your site.

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

  • Jyothi Apr 1, 2009 @ 4:34


    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

  • Jeremy Apr 22, 2011 @ 18:45

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

  • Lukas Oct 26, 2014 @ 23:03


    thanks a lot, “modprobe usb-storage” did it for me and saved my life!

  • Burak May 25, 2016 @ 7:32

    I like this site, thaks..
    I have a problem, “modprobe” commands not run.
    I take this error “modprobe: cannot parse modules.dep”
    What can I do?

  • Ben Jul 16, 2020 @ 0:20

    Hello Vivek,

    I still having problem using this method, any other method i can use.
    I am using Zorin 15


  • Kushal Khanal Feb 11, 2021 @ 11:03

    Run in root :

    if you are getting :

    smartctl 6.5 2016-05-07 r4318 [x86_64-linux-4.11.0-0.rc7.git0.1.fc26.x86_64] (local build)
    Copyright (C) 2002-16, Bruce Allen, Christian Franke,
    /dev/sdb: Unknown USB bridge [0x1058:0x25ee (0x4004)]

    after running :
    smartctl -a /dev/sdb

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Still have questions? Post it on our forum