On 08/09/16 17:47, David Laight wrote: > Try writing with: > dd if=768MB.test of=/dev/sdb oflag=direct bs=1M seek_bytes seek=$((n*512)) > for several small values of 'n' so that the writes are misaligned. > > It may also be worth finding out what the USB transfers look like. I was wrong when I wrote that the stick fails on 4.7.2 as well. I confused it with the last 4.6.7 update for Fedora. And I found the difference. 4.7.2 uses max_sectors 2048 with this stick and this seems to work flawlessly. 4.6.x used 240. If I set max_sectors to 2048 on 4.6.x it works as well. So at least my unusual_devs addition seems obsolete (at least for 4.7.x) Most interestingly reading with n*512 skip=... dd if=/dev/sdh iflag=skip_bytes,direct of=sdh2g bs=1M skip=1024 count=2048 status=progress ... for 512,1024,1536,2048 leads to hangs followed by usb 2-4: reset SuperSpeed USB device number 4 using xhci_hcd every 90-110MB. The read hangs for several seconds until the reset and then the next chunk is read. This happens on my homesystem with Intel Z170 chipset (USB PCI ID 8086:a12f (rev 31)) and i5-6500 on kernel 4.7.2-201.fc24.x86_64. sha1sum is correct afterwards for 512. writing with seek=512,1024,1536 worked with usual speed without hangs. Reading with offset 1536 large chunks of the file are broken. I've usbmon dump available of both write and read if of interest. Some broken regions: 0810 3A00-0810 3DFF 0810 7A00-081F FFFF 1020 3A00-1020 3DFF 1020 7A00-102F FFFF 1830 3A00-1830 3DFF 1830 7A00-183F FFFF 2040 3A00-2040 3DFF 2040 7A00-.... But these are read errors. If I read without skip and strip the first 1536 afterwards the file is identical again. With kind regards, Wolfgang -- Wolfgang Breyha <wbreyha@xxxxxxx> | http://www.blafasel.at/ Vienna University Computer Center | Austria -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html