My external USB 3 hard drive is behaving very strangely:

  • If I plug it into a USB 2 port, it works fine
  • If I plug it into a USB 3 port, it doesn't work at all. It's not even mentioned in /var/log/messages.
  • If I plug a USB 2 device (memory stick) into the same USB 3 port, it works fine.
  • I think the USB 3 drive is mentioned in dmesg during boot up when it's plugged into the USB 3 port, but it's hard to tell. There are no clear device names listed, just serial ids etc.

The last time I used it on this machine, everything was alright, but that was at least a month ago. Since then I've gone through a few kernel upgrades and a number of package updates. My guess is something went wrong in the process, so I'm here to try and narrow that down.

Useful information:

  • I'm running Gentoo (kernel version: 3.7.4-gentoo)
  • CONFIG_USB_STORAGE is enabled in the kernel (obviously, since USB 2 works)
  • CONFIG_USB_XHCI_HCD is also enabled in the kernel

The hardware involved is:

  • Lenovo X1 laptop
  • WD 1tb portable drive. There's no external power options, and I've never needed one (when it was working)
  • Is there a more precise name for the drive, "WD 1tb portable drive" does not give much info?
    – Johan
    Jan 29, 2013 at 10:55
  • I would suggest pastebinning your dmesg
    – lkraav
    Jan 29, 2013 at 14:30
  • In an effort to figure out what was going on, I enabled xhci debugging in the kernel, rebooted, and magically it worked! Then, as a test, I disabled debugging and it worked again :-( I think I may just have a flakey drive on my hands: Bus 003 Device 002: ID 1058:1042 Western Digital Technologies, Inc. I guess it's appropriate to delete this question now? Jan 29, 2013 at 14:58
  • @DanielQuinn, better answer your own question with what you found out, and accept the answer.
    – vonbrand
    Jan 29, 2013 at 18:52

1 Answer 1


So after a lot of toying with this, it started to work, though for the life of me I can't figure out why. Here's a list of things I tried:

  • Didn't work
    • Rebooting
    • Unplugging and plugging it back in while the laptop is running
    • Booting up with it plugged in
    • Plugging it in post-boot up
    • Recompiling my kernel with the same options
  • Did work
    • Recompiling my kernel with USB3 debuging enabled
    • Re-recompiling my kernel with USB3 debugging turned off

So basically I tried recompiling my kernel with debugging enabled to see what was wrong, and lo-and-behold it worked perfectly. Then, as an experiment, I recompiled again, this time with debugging off, and it still worked.

I have no idea what happened, but for those who might come here in search of an answer one day, I offer you what I have.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .