Kernel regression? Seagate USB HDD doesn't work since kernel 3.15

I run os13.1 with factory kernel (currently 3.16.1). Recently I bought a 2TB Seagate Backup Plus Portable USB HDD. I plugged it into my PC… and nothing happened… At that time I was still running kernel 3.15, but nothing has changed with 3.16. I tried an older kernel (3.14.4). And everything works fine. Hence, there seems to be a regression from 3.14 to 3.15.

Output of dmesg running kernel 3.16.1 (same with 3.15):

   27.779929] usb 2-5: new high-speed USB device number 4 using xhci_hcd
   27.946840] usb 2-5: New USB device found, idVendor=0bc2, idProduct=ab21
   27.946843] usb 2-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
   27.946844] usb 2-5: Product: BUP Slim BL
   27.946845] usb 2-5: Manufacturer: Seagate 
   27.946846] usb 2-5: SerialNumber: NA777SS7

Output of dmesg running kernel 3.14.4:

  895.879593] usb 2-5: new high-speed USB device number 4 using xhci_hcd
  896.046812] usb 2-5: New USB device found, idVendor=0bc2, idProduct=ab21
  896.046821] usb 2-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
  896.046826] usb 2-5: Product: BUP Slim BL
  896.046830] usb 2-5: Manufacturer: Seagate 
  896.046833] usb 2-5: SerialNumber: NA777SS7
  896.047509] usb-storage 2-5:1.0: USB Mass Storage device detected
  896.048588] scsi7 : usb-storage 2-5:1.0
  897.052198] scsi 7:0:0:0: Direct-Access     Seagate  BUP Slim BL      0143 PQ: 0 ANSI: 6
  897.053071] sd 7:0:0:0: Attached scsi generic sg9 type 0
  897.054074] sd 7:0:0:0: [sdi] Spinning up disk...
  900.786528] .ready
  900.786860] sd 7:0:0:0: [sdi] 3907029167 512-byte logical blocks: (2.00 TB/1.81 TiB)
  900.787456] sd 7:0:0:0: [sdi] Write Protect is off
  900.787462] sd 7:0:0:0: [sdi] Mode Sense: 2b 00 10 08
  900.788059] sd 7:0:0:0: [sdi] Write cache: enabled, read cache: enabled, supports DPO and FUA
  900.865488]  sdi: sdi1
  900.867413] sd 7:0:0:0: [sdi] Attached SCSI disk

What’s going wrong here? Why is usb-storage not detecting the HDD as a mass storage device anymore?

I hope someone can help me.

Cheers
Frank

I do not know what goes wrong, but the main message that is involved here is

USB Mass Storage device detected

As long as that is missing, it will not be detected as, well, Mass storage/disk.

Exactly. That means, something must be wrong (or at least different) with the usb-storage driver since kernel 3.15.

BTW all my other USB HDDs work well.

Frank

I have also a seagate usb 500G drive which I recently cloned an OS to. I have a strange issue a little bit different from yours as my kernel is only 3.11.

But everytime (twice in fact) I use this OS on my laptop, then I bring it to the office PC, the Office PC will report the /home partition is corrupted and won’t boot normally. Then I have to use fsck to fix it.

But if I use it on the same machine continuesly there’s no problem.

@bonedriven:
I think that is completely unrelated. For me it never works with kernel 3.15 or 3.16, the HDD is not even recognized as storage device.

Frank

Although I’d be a bit surprised that support for a popular brand external disk storage device might be faulty, it’s probably not totally unexpected if you’re using a factory kernel.

The factory kernels I’ve used in the past have been missing <many> kernel modules that have been part of the stable kernel for many versions, but in my case they were perhaps a little less well known… things like ZFS and aufs support, various TCP/IP congestion control algorithms. I’m sure there must be many more missing modules than what I’ve noticed.

I expect that by the time the kernel makes its way out of factory and becomes stable, those missing parts should be fixed.
In my experience, factory kernels should be used only for specific features not available in the stable kernel, and with caveats.

TSU

@tsu2:
With “factory kernel” I mean the kernel from the opensuse factory repository. These are stable kernels. And the usb-storage module is not missing. It is there and working for other USB storage devices.

Frank

Some data points for you.

I have a 1T Seagate portable Backup Plus drive. I have three computers running factory. The disk was properly recognized in all of them:

Computer 1: Using USB3: recognized
Computer 2: Using USB3 or USB2: recognized
Computer 3: Using USB2: recognized (older computer with only USB2).

All three are running kernel “3.16.0-1-desktop”. On all tests, the KDE device notifier popped up to show that the device was present, and “dmesg” indicated that the disk was attached.

I guess, if my problem would be more widely spread, Linux forums would be full of people complaining :wink:

I expect that this specific HDD model (maybe be few others) does something different.

In any case, it worked before now it doesn’t. What has changed?

Cheers
Frank

If I remember correctly, there wa a similar thread here on the forums not long ago. Maybe some searching might catch it.

O.k. I found this thread that seems to discuss the same problem (also with a Seagate USB HDD):
http://forums.opensuse.org/showthread.php/499665-USB-3-0-external-HDD-not-recognized

But there is no solution…

Frank

I see you asked there. If there is no answer or no solution, I think a bug report is advisable.

In case you do not know where to go for that, you can start here: http://en.opensuse.org/Submitting_Bug_Reports
You can use the same username/password as here on the forums.

Found a solution here:
https://bbs.archlinux.org/viewtopic.php?id=183190

I added
options usb-storage quirks=Vendor_ID : Product_ID:u
(for me options usb-storage quirks=0bc2:ab21:u)

to /etc/modprobe.d/99-local.conf and restarted usb-storage (=rmmod usb-storage, it will be restarted automatically).

Now it works. Problem seems to be uas related.

Cheers
Frank

Thanks for reporting back for the benifit of others.

From what I’ve seen, anything in factory is not “stable” an that includes kernels. They may be stable in that they won’t probably crash but as I’ve described they are <definitely> missing expected features, and that may include a verified and supported device list as you’ve found.

Glad to see you found your answer using a bbs archlinux source. I’ve found that the archlinux wikis are very useful and reliable if not documented by openSUSE.

TSU