Sandisk USB not detected by Ubuntu 14.04 but detected by Windows 7

I have a SanDisk 16GB USB drive that is not being detected by Ubuntu 14.04 but is detected by Windows 7.

lsusb detects it but sudo fdisk -l or blkid doesn't.
Even GParted and Disks don't detect it.

Here's some terminal output:

lsusb

Bus 002 Device 006: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem
Bus 002 Device 004: ID 0781:5576 SanDisk Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 1a2c:0021 China Resource Semico Co., Ltd Keyboard
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 04f2:b070 Chicony Electronics Co., Ltd 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

tail -f /var/log/syslog

Sep 10 22:28:22 xhakz kernel: [ 2203.587319] usb 2-2: USB disconnect, device number 4
Sep 10 22:28:25 xhakz kernel: [ 2206.212045] usb 2-2: new high-speed USB device number 7 using ehci-pci
Sep 10 22:28:25 xhakz mtp-probe: checking bus 2, device 7: "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-2"
Sep 10 22:28:25 xhakz kernel: [ 2206.344889] usb 2-2: New USB device found, idVendor=0781, idProduct=5576
Sep 10 22:28:25 xhakz kernel: [ 2206.344895] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Sep 10 22:28:25 xhakz kernel: [ 2206.344897] usb 2-2: Product: Cruzer Facet
Sep 10 22:28:25 xhakz kernel: [ 2206.344900] usb 2-2: Manufacturer: SanDisk
Sep 10 22:28:25 xhakz kernel: [ 2206.344902] usb 2-2: SerialNumber: 4C532000030522108444
Sep 10 22:28:25 xhakz mtp-probe: bus: 2, device: 7 was not an MTP device

usb-devices

T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  7 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0781 ProdID=5576 Rev=01.26
S:  Manufacturer=SanDisk
S:  Product=Cruzer Facet
S:  SerialNumber=4C532000030522108444
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)

I don't know what to do anymore to get it detected and I don't want to format it as it contains important data.


I backed up my data in another laptop, formatted the drive in Windows 7 but still it's not recognized. The funny thing is that Windows 7 detects it and uses it fine but it's not detected in Ubuntu except by the lsusb command. Weird.


EDIT

Requested command output:

sudo lsblk

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 149.1G  0 disk 
├─sda1   8:1    0   1.5G  0 part 
├─sda2   8:2    0  74.4G  0 part 
├─sda3   8:3    0     1K  0 part 
├─sda4   8:4    0    32G  0 part /media/kagz/New Volume
├─sda5   8:5    0   1.9G  0 part [SWAP]
└─sda6   8:6    0  39.4G  0 part /
sr0     11:0    1  1024M  0 rom

sudo lshw

http://paste.ubuntu.com/8332788/

uname -a

Linux xhakz 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:58:01 UTC 2014 i686 i686 i686 GNU/Linux

EDIT 2

Something interesting:
The USB DOES NOT work in guest mode but WORKS in live session mode. All running Ubuntu 14.04.
Re-installing is not an option.


EDIT 3

Other USB's don't work, this is a problem with the system not the USB.


It turned out the usb-storage module was not being loaded at startup and so couldn't detect any USB drives.

To try it first, I inserted my usb, opened up the terminal and typed sudo modprobe usb-storage and it was detected.

To make the changes permanent, I edited the file /etc/modules as root and added the line usb-storage

My file now looks like this:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

usb_storage
lp

Source: ubuntuforums


I think there is a problem with the ehci / high speed USB 3.0 modules in the kernel. I've read about this problem with multiple distributions and kernels, and on occasion I read that it had been patched. Early logs of the problem indicated that the kernel would not allocate enough power to deal with the new demands of the high speed USB, which might explain why it works in host mode (because the kernel didn't get a chance to limit the amount of power allocated), as well as on Windows, but not in Ubuntu.

I have also read that, despite the insufficient power allocation, if you leave the USB stick plugged in for anywhere from 5-15 minutes, it will eventually get prioritized enough to be recognized and mounted.

I'll follow up later with some links, very curious to see how this turns out.

edit: Alternatively it could be a problem with FUSE. Have you tried mounting it from the command line directly, rather than letting FUSE try and fail repeatedly to automount?

edit 2: Here is a compilation of other instances of the same problem on varying kernels at varying times. It seems to be a regression which keeps appearing in the later kernels just as it is resolved in the originally problematic ones. In each case this was a blkid/udev failure/timeout, and in each case the culprit was a USB 3.0 device being handled by ehci/some variant thereof, and in each case the device is ultimately recognized after a long string of timeouts. In all of the reported instances, forcefully mounting the device with sudo mount was successful, though this may be a fluke.

Worth noting, by the way, is that a kernel downgrade will resolve the issue. The latest release I saw mentioned as working smoothly was 3.10.7, and before that most people were only successful at <3.10.

So, without further adieu, your evidence:

Ubuntu 13.04 Does not recognize USB Drives

Can't mount specific usb device after kernel upgrade

USB device constantly being reset

Current Kernel causes blkid USB error

Selective Blindness to Certain USB Devices