Bug 909591 - Driver of cypress corrupts file-system and partition table of external hard drives with M6116 SATA Bridge
Summary: Driver of cypress corrupts file-system and partition table of external hard d...
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel   
(Show other bugs)
Version: 17
Hardware: i686
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: Josh Boyer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-02-09 17:47 UTC by Carsten S.
Modified: 2013-02-25 15:45 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-02-24 08:36:56 UTC
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

Description Carsten S. 2013-02-09 17:47:37 UTC
I have an issue which is kind of grave. I bought an external hard drive case with an Super Top M6116 SATA Bridge controller (USB ID 14cd:6116). The problem is that the kernel driver is not working correctly and corrupts completely the information on the hard drive. First, I thought that the hard drive was bad but it was not. The external drive work correctly in Windows XP with the generic mass storage controller. I investigated further and found a posting on the Arch Linux forum referring to the same issues I have. I also have the same issue on Gentoo as well. It seams to affect all upstream Linux Kernels.

Link to the forum discussion.
https://bbs.archlinux.org/viewtopic.php?id=152011

The issue comes from a patch applied in 2010 to the kernel called unusual_cypress.h The last device added is the one I have and that causes the problem.

UNUSUAL_DEV( 0x14cd, 0x6116, 0x0000, 0x9999,
    "Super Top",
    "USB 2.0  SATA BRIDGE",
    USB_SC_CYP_ATACB, USB_PR_DEVICE, NULL, 0),

The devide information is following ...

$ lsusb -vd 14cd:6116
  idVendor           0x14cd Super Top
  idProduct          0x6116 M6116 SATA Bridge
  bcdDevice          2.20

People in the forum offered the solution to remove the line which affect the cypress driver for this device. Unfortunately, Fedora comes with a per-compiled kernel. I tried to blacklist ums_cypress module but the drive became unaccessible. So a quick fix would be welcome since it damages the information on the hard drive and makes it impossible to recover the data!

uname -a 
Linux icecaster 3.7.3-101.fc17.i686 #1 SMP Fri Jan 18 17:52:48 UTC 2013 i686 i686 i386 GNU/Linux

Comment 1 Josh Boyer 2013-02-11 12:46:01 UTC
Do you know if that was sent upstream?

Comment 2 Carsten S. 2013-02-11 19:12:44 UTC
(In reply to comment #1)
> Do you know if that was sent upstream?

I don't know ... As far as I can tell this issue is not that wide spread and known yet.

Comment 3 Josh Boyer 2013-02-12 14:19:42 UTC
Could you give this scratch kernel a try when it completes and let us know if it fixes your issue?

http://koji.fedoraproject.org/koji/taskinfo?taskID=4952916

Comment 4 Carsten S. 2013-02-13 15:25:00 UTC
Hello Josh!

     I did give the kernel 3.7.7-101.1.fc17 a try and it seams to work. I created two partitions, one NTFS and one LUKS with ext4. I transfered about 50GB of data at approx 24MB/s. All is still there without any data or partition corruption.

I also downloading the source so I can apply the changes to my Gentoo Kernel 3.6.11 as well. I assume the fix will be released with coming kernel version 3.7.7?

Comment 5 Josh Boyer 2013-02-14 01:13:50 UTC
(In reply to comment #4)
> Hello Josh!
> 
>      I did give the kernel 3.7.7-101.1.fc17 a try and it seams to work. I
> created two partitions, one NTFS and one LUKS with ext4. I transfered about
> 50GB of data at approx 24MB/s. All is still there without any data or
> partition corruption.

Wonderful.  Thank you for testing.

> I also downloading the source so I can apply the changes to my Gentoo Kernel
> 3.6.11 as well. I assume the fix will be released with coming kernel version
> 3.7.7?

Well, not upstream 3.7.7, no.  I haven't sent the fix to the USB developers yet.  While the patch is fairly obvious, I didn't want to send it untested entirely and I don't have the hardware.  Now that you've at least verified it doesn't make things worse, I'll send it upstream first thing in the morning.  I'd be happy to CC you.

From the Fedora side of things, I'll get it included tomorrow across all branches.  Bodhi will leave a comment here when it's available in a repository.

Comment 6 Josh Boyer 2013-02-14 14:44:14 UTC
Patch sent upstream and committed to all active branches.

Comment 7 Carsten S. 2013-02-14 15:35:07 UTC
Thank you Josh! I did the change also on my Gentoo Kernel 3.6.11 and all seams to work fine now! I can use the drive on my Fedora driven Laptop and on my Gentoo driven Workstation. I really appreciate the fast response.

Comment 8 Fedora Update System 2013-02-15 16:55:44 UTC
kernel-3.7.8-102.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/kernel-3.7.8-102.fc17

Comment 9 Fedora Update System 2013-02-17 03:27:56 UTC
Package kernel-3.7.8-102.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing kernel-3.7.8-102.fc17'
as soon as you are able to, then reboot.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-2597/kernel-3.7.8-102.fc17
then log in and leave karma (feedback).

Comment 10 Fedora Update System 2013-02-20 03:59:01 UTC
Package kernel-3.7.9-101.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing kernel-3.7.9-101.fc17'
as soon as you are able to, then reboot.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-2597/kernel-3.7.9-101.fc17
then log in and leave karma (feedback).

Comment 11 Carsten S. 2013-02-20 15:50:44 UTC
I will test both this coming weekend. Since I have already valuable data on the external drive, I don't like to play Russian Roulette with my data. I have another 500GB hard drive that I can plug-in to test the kernels. I will let you know how it went.

Comment 12 Fedora Update System 2013-02-24 08:36:58 UTC
kernel-3.7.9-101.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 13 Carsten S. 2013-02-25 15:45:40 UTC
cypress works on kernel 3.7.8-102 and 3.7.9-101 worked without any issue!


Note You need to log in before you can comment on or make changes to this bug.