[Solved] Samsung Fit Plus 256 GB USB Flash Drive too slow in linux
If you have a Samsung Fit Plus 256GB USB Flash Drive (or any other size) and it is very slow in linux then here comes the explanation.
For the Samsung Fit Plus USB Flash Drive exists a Kernel Quirk that reduces the speed of file transfers by a factor of approx 6.
Normal read speed is around 240 MB/s (linux running in Parallels on a Mac Mini). The kernel reduces the speed to around 40MB/s.
We can remove the kernel restriction by the following methods:
a) "on the fly" by executing following commands (do not change the numbers)
# rmmod uas usb_storage
# modprobe usb_storage quirks=090c:1000:
b) permanently by adding/editing the file /etc/modprobe.d/usb_storage.conf and adding this line:
options usb_storage quirks=090c:1000:
It is important that the Flash Drive is connected directly to a USB 3.0 port without any adapter in between. Otherwise I saw the kernel complaining and disconnecting the device.
Useful commands:
# hdparm -t /dev/sdj /dev/sdj: Timing buffered disk reads: 922 MB in 3.00 seconds = 307.19 MB/sec
# dd if=/dev/sdj of=/dev/null bs=1M count=1000 1048576000 bytes (1.0 GB, 1000 MiB) copied, 3.51042 s, 299 MB/s
# cat /proc/scsi/usb-storage/*
Host scsi9: usb-storage Vendor: Samsung Product: Flash Drive FIT Serial Number: 0302320100001796 Protocol: Transparent SCSI Transport: Bulk Quirks: SANE_SENSE
If you do not get close to this numbers than the old kernel quirks is still active (try to reboot your system).