Unusual USB Devices in Linux Kernel

Some USB devices (especially cheap ones) are not fully compatible with the USB Stack and when you connect such devices to your target board, the kernel may output errors similar to the one below even though most other devices work perfectly.

sd 3:0:0:0: SCSI error: return code = 0x10070000
end_request: I/O error, dev sda, sector 0
Buffer I/O error on device sda, logical block 0
sd 3:0:0:0: SCSI error: return code = 0x10070000
end_request: I/O error, dev sda, sector 8
Buffer I/O error on device sda, logical block 1
sd 3:0:0:0: SCSI error: return code = 0x10070000
end_request: I/O error, dev sda, sector 16
sd 3:0:0:0: SCSI error: return code = 0x10070000
end_request: I/O error, dev sda, sector 24
sd 3:0:0:0: SCSI error: return code = 0x10070000

It previously happened to us with a IDE to USB adapter based on Super Top Bridge ( VID: 0x14CD / PID: 0x6600).

The Linux kernel has a special file to handle such devices (mass storage class only) called unusual_devs.h in drivers/usb/storage/, where you just need to add your device (with VID/PID) and add relevant flags.

The code for the device above is:


This is now part of the kernel tree and a patch is available at https://lists.one-eyed-alien.net/pipermail/usb-storage/2007-February/002890.html.

Please check The unusual_devs.h Guide for full details.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
0 Comments
oldest
newest
Boardcon Rockchip and Allwinner SoM and SBC products