Linux kernel 6.1 - drivers/usb/storage/unusual_cypress.h "Super Top" minimum bcdDevice too high

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,	

in kernel 6.1 (maybe 5.x - 6.x) there's an ATACB setting for "Super Top USB 2.0 SATA Bridge" -devices, where the minimum bcdDevice version to match has been set to 1.60. It's in the file drivers/usb/storage/unusual_cypress.h:

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

My old USB HDD with a "Super Top" bridge has bcdDevice version 1.50, thus the setting won't match and it will not mount.

I'm not sure when this changed (after kernel 4.x?), but it used to work before. Reading some earlier bug reports, it seems that the max version used to be 0x9999, which then caused corruption in "Super Top" devices with version >=2.20. So that's a reason for lowering the maximum value, but I wonder why the minimum value has also been set to 0x0160.


I created a patch, changing 0x0160 to 0x0150 (though I should've left the max version as it was...):

"""
UNUSUAL_DEV( 0x14cd, 0x6116, 0x0150, 0x0150,
"""

Built, installed and rebooted; now the USB HDD can be mounted and works perfectly again. I did some write & read tests, checked with diff, cmp and md5sum - no corruption, everything OK 👍


Best regards,
LihaS



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux