Amazon Kindle disconnect after Synchronize Cache

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi folks,

I have an issue with my Amazon Kindle. Since some time the device disconnects 2 seconds after a sync command sent via USB.

See also this matching bug report:
https://bugzilla.kernel.org/show_bug.cgi?id=203973

My current workaround is this udev-rule:
SUBSYSTEM=="block", ACTION=="add", ENV{DEVTYPE}=="disk", ENV{ID_VENDOR}=="Kindle", RUN+="/bin/bash -c 'echo write\ through > /sys/block/%k/queue/write_cache'"

But I like to find a proper solution.

I did various recordings of usb-traffic with wireshark on linux and windows.

On windows, the device does not disconnect after the "Synchronize Cache" command.

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

After most of the "Synchronize Cache" commands on windows there was directly a following "WRITE" command. It seems WRITE commands avoid the disconnect.

But sending a plain "Synchronize Cache" under windows (8.1 and 10) does not trigger the disconnect.

Windows:
1583 14.891478 host 1.6.1 USBMS 58 SCSI: Synchronize Cache(10) LUN: 0x00 (LBA: 0x00000000, Len: 0)
1584	14.891595	1.6.1	host	USB	27	URB_BULK out
1585	14.891613	host	1.6.1	USB	27	URB_BULK in
1586 14.896866 1.6.1 host USBMS 40 SCSI: Response LUN: 0x00 (Synchronize Cache(10)) (Good)
1589	15.687209	host	1.6.1	USBMS	58	SCSI: Test Unit Ready LUN: 0x00
1590	15.687353	1.6.1	host	USB	27	URB_BULK out
1591	15.687358	host	1.6.1	USB	27	URB_BULK in
1592 15.687405 1.6.1 host USBMS 40 SCSI: Response LUN: 0x00 (Test Unit Ready) (Good)
1713	16.699689	host	1.6.1	USBMS	58	SCSI: Test Unit Ready LUN: 0x00
1714	16.699820	1.6.1	host	USB	27	URB_BULK out
1715	16.699825	host	1.6.1	USB	27	URB_BULK in
1716 16.699915 1.6.1 host USBMS 40 SCSI: Response LUN: 0x00 (Test Unit Ready) (Good)
1717	17.709334	host	1.6.1	USBMS	58	SCSI: Test Unit Ready LUN: 0x00
1718	17.709547	1.6.1	host	USB	27	URB_BULK out
1719	17.709552	host	1.6.1	USB	27	URB_BULK in
1720 17.709586 1.6.1 host USBMS 40 SCSI: Response LUN: 0x00 (Test Unit Ready) (Good)
1721	18.712864	host	1.6.1	USBMS	58	SCSI: Test Unit Ready LUN: 0x00
1722	18.713081	1.6.1	host	USB	27	URB_BULK out
1723	18.713086	host	1.6.1	USB	27	URB_BULK in
1724 18.713148 1.6.1 host USBMS 40 SCSI: Response LUN: 0x00 (Test Unit Ready) (Good)
1741	19.735245	host	1.6.1	USBMS	58	SCSI: Test Unit Ready LUN: 0x00
1742	19.735410	1.6.1	host	USB	27	URB_BULK out
1743	19.735415	host	1.6.1	USB	27	URB_BULK in
1744 19.735474 1.6.1 host USBMS 40 SCSI: Response LUN: 0x00 (Test Unit Ready) (Good)
1811	20.747477	host	1.6.1	USBMS	58	SCSI: Test Unit Ready LUN: 0x00
1812	20.747699	1.6.1	host	USB	27	URB_BULK out
1813	20.747704	host	1.6.1	USB	27	URB_BULK in
1814 20.747766 1.6.1 host USBMS 40 SCSI: Response LUN: 0x00 (Test Unit Ready) (Good)
1905	21.755419	host	1.6.1	USBMS	58	SCSI: Test Unit Ready LUN: 0x00
1906	21.755579	1.6.1	host	USB	27	URB_BULK out
1907	21.755584	host	1.6.1	USB	27	URB_BULK in
1908 21.755674 1.6.1 host USBMS 40 SCSI: Response LUN: 0x00 (Test Unit Ready) (Good)
1911	22.769205	host	1.6.1	USBMS	58	SCSI: Test Unit Ready LUN: 0x00
1912	22.769355	1.6.1	host	USB	27	URB_BULK out
1913	22.769360	host	1.6.1	USB	27	URB_BULK in
1914 22.769415 1.6.1 host USBMS 40 SCSI: Response LUN: 0x00 (Test Unit Ready) (Good)

How can I get further on this topic?

Thanks
Matthias

linux:
===========================================================================
SCSI Service Antwortzeit - kindle-linux-copy.pcap:
Index  Procedure  Calls  Min SRT (s)  Max SRT (s)  Avg SRT (s)  Sum SRT (s)
---------------------------------------------------------------------------
SBC (disk)
Inquiry         18      1     0.000742     0.000742     0.000742 0.000742
Mode Sense(6) 26 6 0.104194 0.110284 0.108607 0.651640 Prevent/Allow Medium Removal 30 10 0.000115 0.015012 0.002431 0.024309 Read Capacity(10) 37 3 0.000631 0.001004 0.000835 0.002506
Read(10)         40   2200     0.000136     0.020928     0.002452 5.393555
Request Sense 3 27 0.000295 0.003102 0.001022 0.027604 Synchronize Cache(10) 53 6 0.000223 2.703190 0.654663 3.927976 Test Unit Ready 0 71 0.000081 0.007955 0.000816 0.057908
Write(10)         42    195     0.001204     0.236517     0.022452 4.378117
SBC (disk)
---------------------------------------------------------------------------

windows:
===========================================================================
SCSI Service Antwortzeit - Kindle-sideload-win81.pcapng:
Index  Procedure  Calls  Min SRT (s)  Max SRT (s)  Avg SRT (s)  Sum SRT (s)
---------------------------------------------------------------------------
SBC (disk)
Inquiry         18      6     0.001026     0.109327     0.055329 0.331972
Mode Select(6) 21 2 0.001499 0.002851 0.002175 0.004350 Mode Sense(6) 26 8 0.102380 0.116633 0.108400 0.867199 Prevent/Allow Medium Removal 30 9 0.000274 0.644009 0.072284 0.650556 Read Capacity(10) 37 51 0.000144 0.109027 0.009779 0.498711
Read(10)         40   1269     0.000537     0.107562     0.003026 3.840104
Request Sense 3 19 0.000461 0.001388 0.000889 0.016893 Start Stop Unit 27 1 0.001695 0.001695 0.001695 0.001695 Synchronize Cache(10) 53 7 0.000511 0.001765 0.001052 0.007362 Test Unit Ready 0 6385 0.000090 0.083883 0.000605 3.859785 Unknown-0x%02x 35 3 0.108739 0.111119 0.109720 0.329159
Write(10)         42    303     0.001117     0.257120     0.030089 9.117113
SBC (disk)
---------------------------------------------------------------------------



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux