I had the same problem. In my case, S.M.A.R.T had been working properly on the device for years while using Ubuntu 12.04, and then under Ubuntu 14.04 it happened exactly what you tell in the question.
The problem is related to a new kernel module that was introduced in Linux Kernel 3.15 called
uas (USB Attached SCSI) (see release announcement).
That module is now the responsible of managing USB Mass Storage Devices. There is a thread where people complain that
uas in kernel 3.15 is causing their USB devices to fail. Another one says that it might be the cause of S.M.A.R.T problems.
Fortunately, those problems seem to be gone at kernel 3.19 (which I am using), as my device is being detected correctly. Only the S.M.A.R.T problem remains.
To fix it, you need to disable the use of
uas module for the given device.
uas without rebooting
First, unplug all USB devices that might be using it. Then, remove the
sudo modprobe -r uas
sudo modprobe -r usb-storage
usb-storage module with a parameter that tells it to not use
uas for a given device:
sudo modprobe usb-storage quirks=VendorId:ProductId:u
ProductId must be replaced by your device vendor and product id, which can be obtained with
lsusb command (they are the characters after
For example, I have the following device:
Bus 002 Device 011: ID 0bc2:3320 Seagate RSS LLC SRD00F2 [Expansion Desktop Drive]
So my vendor id is
0bc2, and my product id is
3320. My command is:
sudo modprobe usb-storage quirks=0bc2:3320:u
usb-storage to ignore
uas for the device (see source).
At this point, you can insert the USB device, and it will know not to use
uas, making S.M.A.R.T work properly. You will see lines like these in
dmesg when inserting the USB device:
usb 2-2: UAS is blacklisted for this device, using usb-storage instead
usb-storage 2-2:1.0: USB Mass Storage device detected
usb-storage 2-2:1.0: Quirks match for vid 0bc2 pid 3320: 800000
scsi host12: usb-storage 2-2:1.0
Make the change permanent
The previous quirk will only last until you reboot the system. To make it persistent, you need to follow the steps described here, which I copy below:
First, create a file named
ignore_uas.conf in the
/etc/modprobe.d/ directory with the following content:
options usb-storage quirks=VendorId:ProductId:u
As before, substitute
ProductId by your device vendor and product id obtained from
Next, regenerate your inital ramdisk:
mkinitcpio -p linux
or, on newer Ubuntu versions:
sudo update-initramfs -u
Finally, reboot your computer.
More background on the issue, and another way to get around it without disabling uas (which has better throughput than usb-storage) can be found here: https://www.smartmontools.org/ticket/971#comment:12
It seems that kernel is blacklisting
SAT ATA PASS-THROUGH on some devices when running in uas mode, as they have broken firmware.
So, the blacklisting can be disabled (at your own risk) by using the previous method I mention in the answer, but removing the final
u from the quirk, ie:
Please note, however, that I have not tested this approach.