Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S948171AbcKAA3T (ORCPT ); Mon, 31 Oct 2016 20:29:19 -0400 Received: from ni.piap.pl ([195.187.100.4]:43900 "EHLO ni.piap.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S948153AbcKAA3Q (ORCPT ); Mon, 31 Oct 2016 20:29:16 -0400 From: khalasa@piap.pl (Krzysztof =?utf-8?Q?Ha=C5=82asa?=) To: lkml Cc: linux-usb@vger.kernel.org Subject: Super Top USB SD card reader resets and corruption - XHCI Date: Tue, 01 Nov 2016 01:29:11 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-KLMS-Rule-ID: 1 X-KLMS-Message-Action: clean X-KLMS-AntiSpam-Lua-Profiles: 104925 [Nov 01 2016] X-KLMS-AntiSpam-Version: 5.6.0.28 X-KLMS-AntiSpam-Envelope-From: khalasa@piap.pl X-KLMS-AntiSpam-Rate: 0 X-KLMS-AntiSpam-Status: not_detected X-KLMS-AntiSpam-Method: none X-KLMS-AntiSpam-Info: LuaCore: 139 139 1b957577de19bd6872dbb1e4d46257785dc1fdee, Auth:dkim=none X-KLMS-AntiSpam-Interceptor-Info: scan successful X-KLMS-AntiPhishing: Clean, 2016/10/31 13:16:54 X-KLMS-AntiVirus: Kaspersky Security 8.0 for Linux Mail Server, version 8.0.1.721, bases: 2016/10/31 16:28:00 #8092804 X-KLMS-AntiVirus-Status: Clean, skipped Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 8332 Lines: 174 Hi, I came across a problem with an USB SD card reader apparently causing USB resets and corrupting data on the card. The reader in question is a very cheap: 14cd:1212 Super Top microSD card reader (SY-T18) The card is an old SDHC, 32 GB, Sandisk brand. The problems don't seem to exist now if I connect the reader to an EHCI-equipped machine (an old Core2 duo + ICH10). I can read and write MBs of data, however older logs suggest that this computer also had the issue in the past (with Linux 4.6.3-300.fc24.x86_64, with both EHCI and UHCI). I can't use it with an XHCI. Both: Intel Corp 8 Series/C220 Series Chipset Family USB xHCI (rev 04) (prog-if 30 [XHCI]) (SandyBridge laptop with only USB2.0 connectors) and: Intel Corp Sunrise Point-H USB 3.0 xHCI Controller (rev 31) (a Skylake + Z170 and USB3, though the reader is USB2) have the issue. I have spotted the following writted to the SD card, I guess it's some USB mass storage write command: 3d085000 55 53 42 43 ca 08 00 00 00 e0 01 00 00 00 0a 2a |USBC...........*| 3d085010 00 00 1e 83 70 00 00 f0 00 00 00 00 00 00 00 b2 |....p...........| 3d085020 2d 00 38 00 a9 c8 f4 ab 10 8d cc 39 e1 8f 43 45 |-.8........9..CE| I think the problem doesn't manifest itself if I don't write (RO mount) to the SD card. However, even light writes seem to trigger the issue. The kernels are basically recent Fedora, 4.7.4-200.fc24.x86_64, 4.7.9-200.fc24.x86_64 but it seems e.g. 4.6.3-300.fc24.x86_64 was also affected. The one which doesn't cause problems now (EHCI) is 4.7.2-201.fc24.x86_64 (though EHCI did cause problems previously). Could it be faulty hw? What can I do with this? [80125.418020] usb 1-1: new high-speed USB device number 9 using xhci_hcd [80125.583307] usb 1-1: New USB device found, idVendor=14cd, idProduct=1212 [80125.583315] usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=2 [80125.583320] usb 1-1: Product: Mass Storage Device [80125.583324] usb 1-1: Manufacturer: Generic [80125.583327] usb 1-1: SerialNumber: 121220130416 [80125.585139] usb-storage 1-1:1.0: USB Mass Storage device detected [80125.585392] scsi host6: usb-storage 1-1:1.0 [80126.586670] scsi 6:0:0:0: Direct-Access Mass Storage Device 1.00 PQ: 0 ANSI: 0 CCS [80126.587547] sd 6:0:0:0: Attached scsi generic sg3 type 0 [80126.775260] sd 6:0:0:0: [sdc] 62333952 512-byte logical blocks: (31.9 GB/29.7 GiB) [80126.775504] sd 6:0:0:0: [sdc] Write Protect is off [80126.775510] sd 6:0:0:0: [sdc] Mode Sense: 03 00 00 00 [80126.775686] sd 6:0:0:0: [sdc] No Caching mode page found [80126.775696] sd 6:0:0:0: [sdc] Assuming drive cache: write through [80126.787956] sdc: sdc1 [80126.789309] sd 6:0:0:0: [sdc] Attached SCSI removable disk [80396.165947] usb 1-1: reset high-speed USB device number 9 using xhci_hcd [80408.251009] usb 1-1: USB disconnect, device number 9 [80408.256545] sd 6:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK [80408.256555] sd 6:0:0:0: [sdc] tag#0 CDB: Write(10) 2a 00 00 02 82 50 00 00 f0 00 [80408.256560] blk_update_request: I/O error, dev sdc, sector 164432 [80408.256567] Buffer I/O error on dev sdc1, logical block 19530, lost async page write [80408.256578] Buffer I/O error on dev sdc1, logical block 19531, lost async page write [80408.256583] Buffer I/O error on dev sdc1, logical block 19532, lost async page write [80408.256587] Buffer I/O error on dev sdc1, logical block 19533, lost async page write [80408.256592] Buffer I/O error on dev sdc1, logical block 19534, lost async page write [80408.256596] Buffer I/O error on dev sdc1, logical block 19535, lost async page write [80408.256600] Buffer I/O error on dev sdc1, logical block 19536, lost async page write [80408.256604] Buffer I/O error on dev sdc1, logical block 19537, lost async page write [80408.256608] Buffer I/O error on dev sdc1, logical block 19538, lost async page write [80408.256611] Buffer I/O error on dev sdc1, logical block 19539, lost async page write [80408.340407] VFS: Dirty inode writeback failed for block device sdc1 (err=-5). [80408.618642] usb 1-1: new high-speed USB device number 10 using xhci_hcd [80408.783479] usb 1-1: New USB device found, idVendor=14cd, idProduct=1212 [80408.783487] usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=2 [80408.783492] usb 1-1: Product: Mass Storage Device [80408.783496] usb 1-1: Manufacturer: Generic [80408.784034] usb-storage 1-1:1.0: USB Mass Storage device detected [80408.784253] scsi host6: usb-storage 1-1:1.0 [80409.786335] scsi 6:0:0:0: Direct-Access Mass Storage Device 1.00 PQ: 0 ANSI: 0 CCS [80409.787089] sd 6:0:0:0: Attached scsi generic sg3 type 0 [80409.975129] sd 6:0:0:0: [sdc] 62333952 512-byte logical blocks: (31.9 GB/29.7 GiB) [80409.975380] sd 6:0:0:0: [sdc] Write Protect is off [80409.975389] sd 6:0:0:0: [sdc] Mode Sense: 03 00 00 00 [80409.976494] sd 6:0:0:0: [sdc] No Caching mode page found [80409.976503] sd 6:0:0:0: [sdc] Assuming drive cache: write through [80409.988785] sdc: sdc1 [80409.990105] sd 6:0:0:0: [sdc] Attached SCSI removable disk [80618.854694] usb 1-1: reset high-speed USB device number 10 using xhci_hcd [80649.844604] usb 1-1: reset high-speed USB device number 10 using xhci_hcd [80650.181794] usb 1-1: reset high-speed USB device number 10 using xhci_hcd [80662.195423] usb 1-1: USB disconnect, device number 10 [80662.201162] sd 6:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK [80662.201172] sd 6:0:0:0: [sdc] tag#0 CDB: Write(10) 2a 00 00 02 8a 50 00 00 f0 00 [80662.201177] blk_update_request: I/O error, dev sdc, sector 166480 [80662.203472] sd 6:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK [80662.203478] sd 6:0:0:0: [sdc] tag#0 CDB: Write(10) 2a 00 00 02 8b 40 00 00 f0 00 [80662.203481] blk_update_request: I/O error, dev sdc, sector 166720 Bus 001 Device 015: ID 14cd:1212 Super Top microSD card reader (SY-T18) Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x14cd Super Top idProduct 0x1212 microSD card reader (SY-T18) bcdDevice 1.00 iManufacturer 1 Generic iProduct 3 Mass Storage Device iSerial 2 121220130416 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 32 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 250mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk-Only iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 bNumConfigurations 1 can't get debug descriptor: Resource temporarily unavailable Device Status: 0xff00 (Bus Powered) -- Krzysztof Halasa Industrial Research Institute for Automation and Measurements PIAP Al. Jerozolimskie 202, 02-486 Warsaw, Poland