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