Thread (27 messages) 27 messages, 5 authors, 2021-03-18

Re: Amazon Kindle disconnect after Synchronize Cache

From: Matthias Schwarzott <zzam@gentoo.org>
Date: 2021-03-07 06:03:37

Am 05.03.21 um 20:14 schrieb Alan Stern:
On Fri, Mar 05, 2021 at 05:54:43PM +0100, Matthias Schwarzott wrote:
quoted
One major difference I noticed looking at service answer time statistics:
Windows sends a lot more requests of type "Test Unit Ready".
* Windows: 6385 calls
* linux: 71 calls
It's generally well known that Windows issues lots and lots of redundant
commands to USB storage drives.


Unless the Kindle advertises removable media, there doesn't seem to be
any real point to all those TEST UNIT READY commands.  Unless they are
what prevents the disconnections...
This is kernel log from connecting:
[41709.248006] usb 3-4: new high-speed USB device number 6 using xhci_hcd
[41709.380015] usb 3-4: New USB device found, idVendor=1949, 
idProduct=0004, bcdDevice= 1.00
[41709.380019] usb 3-4: New USB device strings: Mfr=1, Product=2, 
SerialNumber=3
[41709.380021] usb 3-4: Product: Amazon Kindle
[41709.380022] usb 3-4: Manufacturer: Amazon
[41709.380023] usb 3-4: SerialNumber: REMOVED
[41709.493988] usb-storage 3-4:1.0: USB Mass Storage device detected
[41709.494080] scsi host6: usb-storage 3-4:1.0
[41710.510122] scsi 6:0:0:0: Direct-Access     Kindle   Internal Storage 
0100 PQ: 0 ANSI: 2
[41710.510245] sd 6:0:0:0: Attached scsi generic sg3 type 0
[41710.513059] sd 6:0:0:0: Power-on or device reset occurred
[41710.526331] sd 6:0:0:0: [sdc] Attached SCSI removable disk
[41712.629152] sd 6:0:0:0: [sdc] 6688768 512-byte logical blocks: (3.42 
GB/3.19 GiB)
[41712.846353] sd 6:0:0:0: [sdc] Write cache: enabled, read cache: 
enabled, doesn't support DPO or FUA
[41712.846357] sdc: detected capacity change from 0 to 6688768
[41712.849499]  sdc: sdc1

As it prints "Attached SCSI removable disk" the device advertises 
removable media.
quoted
How can I get further on this topic?
Is runtime power management enabled?  Maybe the Kindle disconnects
whenever the computer tries to suspend it.  This typically happens 2
seconds after the last command was issued, which matches your
observations.  If runtime PM is enabled, you can try disabling it.
I assume this means autosuspend is not used:

# cat /sys/block/sde/device/power/control
on

# lsusb:
[...]
Bus 003 Device 017: ID 1949:0004 Lab126, Inc. Amazon Kindle 3/4/Paperwhite
Device Descriptor:
   bLength                18
   bDescriptorType         1
   bcdUSB               2.00
   bDeviceClass            0
   bDeviceSubClass         0
   bDeviceProtocol         0
   bMaxPacketSize0        64
   idVendor           0x1949 Lab126, Inc.
   idProduct          0x0004 Amazon Kindle 3/4/Paperwhite
   bcdDevice            1.00
   iManufacturer           1 Amazon
   iProduct                2 Amazon Kindle
   iSerial                 3 REMOVED....
   bNumConfigurations      1
OTG Descriptor:
   bLength                 3
   bDescriptorType         9
   bmAttributes         0x03
     SRP (Session Request Protocol)
     HNP (Host Negotiation Protocol)
   Configuration Descriptor:
     bLength                 9
     bDescriptorType         2
     wTotalLength       0x0023
     bNumInterfaces          1
     bConfigurationValue     1
     iConfiguration          4 Self-powered
     bmAttributes         0xc0
       Self Powered
     MaxPower                2mA
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        0
       bAlternateSetting       0
       bNumEndpoints           2
       bInterfaceClass         8 Mass Storage
       bInterfaceSubClass      6 SCSI
       bInterfaceProtocol     80 Bulk-Only
       iInterface              5 Mass Storage
       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     0x01  EP 1 OUT
         bmAttributes            2
           Transfer Type            Bulk
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0200  1x 512 bytes
         bInterval               1
Device Qualifier (for other device speed):
   bLength                10
   bDescriptorType         6
   bcdUSB               2.00
   bDeviceClass            0
   bDeviceSubClass         0
   bDeviceProtocol         0
   bMaxPacketSize0        64
   bNumConfigurations      1
Device Status:     0x0001
   Self Powered

Regards
Matthias
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help