On Wed, Apr 20, 2011 at 4:40 PM, yingchun li <sword.l.dragon@xxxxxxxxx> wrote: > On Wed, Apr 20, 2011 at 7:04 PM, Rajaram R <rajaram.officemail@xxxxxxxxx> wrote: >> On Wed, Apr 20, 2011 at 4:29 PM, yingchun li <sword.l.dragon@xxxxxxxxx> wrote: >>> >>> My device has three interface: adb, usb mass storage and general serial. >>> when I connect cable, the usb mass storage setup fail, and pc will reset >>> usb bus sometimes, below is the infomation from usbmon: >>> >>> From log, I can see after PC send the command >>> cca5f000 4015670100 S Bo:1:091:2 -115 31 = 55534243 0c000000 00100000 >>> 80000a28 00000000 00000008 00000000 000000 >>> the callback return -71(protocol error), what's wrong in this case? >>> and I see in the device it enqueue the request of this, but didn't wait the >>> request complete and receive the bus reset. >>> >>> But if the device build with two interface(adb+mass storage) or only one, it is >>> always OK! could someone give me some advice on where I should check? >> >> Are you using Kernel 2.6.34 ? > > kernel version is 2.6.32 I guess the androind f_mass_storage.c does a check " if (w_index != 0 || w_value != 0) { " in function static int fsg_setup(struct usb_function *f, const struct usb_ctrlrequest *ctrl) which could be the cause.. ( w_index != 0 is not zero in case of composite) You may refer http://lxr.free-electrons.com/source/drivers/usb/gadget/f_mass_storage.c?v=2.6.34 for solution. >> >>> >>> f70ae400 4010276390 C Ii:1:001:1 0:2048 2 = 0400 >>> f70ae400 4010276403 S Ii:1:001:1 -115:2048 4 < >>> e1320300 4010276410 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> e1320300 4010276419 C Ci:1:001:0 0 4 = 01050100 >>> e1320300 4010276422 S Co:1:001:0 s 23 01 0010 0002 0000 0 >>> e1320300 4010276426 C Co:1:001:0 0 0 >>> e1320300 4010276428 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> e1320300 4010276430 C Ci:1:001:0 0 4 = 01050000 >>> e1320300 4010307937 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> e1320300 4010307946 C Ci:1:001:0 0 4 = 01050000 >>> e1320300 4010339447 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> e1320300 4010339455 C Ci:1:001:0 0 4 = 01050000 >>> e1320300 4010371940 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> e1320300 4010371949 C Ci:1:001:0 0 4 = 01050000 >>> e1320300 4010403452 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> e1320300 4010403461 C Ci:1:001:0 0 4 = 01050000 >>> e1320300 4010403473 S Co:1:001:0 s 23 03 0004 0002 0000 0 >>> e1320300 4010403476 C Co:1:001:0 0 0 >>> e1320300 4010459446 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> e1320300 4010459656 C Ci:1:001:0 0 4 = 03051000 >>> e1320300 4010515951 S Co:1:001:0 s 23 01 0014 0002 0000 0 >>> e1320300 4010515960 C Co:1:001:0 0 0 >>> e1320300 4010515977 S Ci:1:000:0 s 80 06 0100 0000 0040 64 < >>> e1320300 4010516284 C Ci:1:000:0 0 18 = 12010002 00000040 8217035d 27020102 0301 >>> e1320300 4010516293 S Co:1:001:0 s 23 03 0004 0002 0000 0 >>> e1320300 4010516298 C Co:1:001:0 0 0 >>> e1320300 4010571938 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> e1320300 4010572154 C Ci:1:001:0 0 4 = 03051000 >>> e1320300 4010627444 S Co:1:001:0 s 23 01 0014 0002 0000 0 >>> e1320300 4010627453 C Co:1:001:0 0 0 >>> e1320300 4010627458 S Co:1:000:0 s 00 05 005b 0000 0000 0 >>> e1320300 4010627661 C Co:1:000:0 0 0 >>> e1320300 4010647941 S Ci:1:091:0 s 80 06 0100 0000 0012 18 < >>> e1320300 4010648285 C Ci:1:091:0 0 18 = 12010002 00000040 8217035d 27020102 0301 >>> e1320300 4010648299 S Ci:1:091:0 s 80 06 0200 0000 0009 9 < >>> e1320300 4010648532 C Ci:1:091:0 0 9 = 09024e00 030100e0 fa >>> e1320300 4010648541 S Ci:1:091:0 s 80 06 0200 0000 004e 78 < >>> e1320300 4010648781 C Ci:1:091:0 0 78 = 09024e00 030100e0 fa090400 >>> 0002ff42 01000705 81020002 00070501 02000200 >>> e1320300 4010648796 S Ci:1:091:0 s 80 06 0300 0000 00ff 255 < >>> e1320300 4010649030 C Ci:1:091:0 0 4 = 04030904 >>> e1320300 4010649038 S Ci:1:091:0 s 80 06 0302 0409 00ff 255 < >>> e1320300 4010649280 C Ci:1:091:0 0 42 = 2a035300 70007200 65006100 >>> 64007400 72007500 6d002000 6f007000 65006e00 >>> e1320300 4010649289 S Ci:1:091:0 s 80 06 0301 0409 00ff 255 < >>> e1320300 4010649531 C Ci:1:091:0 0 22 = 16035300 70007200 65006100 >>> 64007400 72007500 6d00 >>> e1320300 4010649539 S Ci:1:091:0 s 80 06 0303 0409 00ff 255 < >>> e1320300 4010649781 C Ci:1:091:0 0 18 = 12033100 39003700 36003100 32003000 3200 >>> e1320300 4010649999 S Co:1:091:0 s 00 09 0001 0000 0000 0 >>> e1320300 4010650532 C Co:1:091:0 0 0 >>> f2719d80 4011651540 S Ci:1:091:0 s 80 06 0300 0000 0100 256 < >>> f2719d80 4011651763 C Ci:1:091:0 0 4 = 04030904 >>> f2719d80 4011651813 S Ci:1:091:0 s 80 06 0303 0409 0100 256 < >>> f2719d80 4011652007 C Ci:1:091:0 0 18 = 12033100 39003700 36003100 32003000 3200 >>> f2719000 4011652142 S Bi:1:091:1 -115 24 < >>> c99d1380 4011652188 S Bo:1:091:1 -115 24 = 434e584e 00000001 00100000 >>> 07000000 32020000 bcb1a7b1 >>> c99d1380 4011652258 C Bo:1:091:1 0 24 > >>> c99d1900 4011652300 S Bo:1:091:1 -115 7 = 686f7374 3a3a00 >>> c99d1900 4011652633 C Bo:1:091:1 0 7 > >>> f2719000 4011663937 C Bi:1:091:1 0 24 = 434e584e 00000001 00100000 >>> 09000000 e4020000 bcb1a7b1 >>> f2719000 4011663958 S Bi:1:091:1 -115 9 < >>> f2719000 4011664257 C Bi:1:091:1 0 9 = 64657669 63653a3a 00 >>> f2719000 4011664312 S Bi:1:091:1 -115 24 < >>> cca5f000 4015647462 S Ci:1:091:0 s a1 fe 0000 0001 0001 1 < >>> cca5f000 4015647923 C Ci:1:091:0 -32 0 >>> cca5f000 4015648112 S Bo:1:091:2 -115 31 = 55534243 01000000 24000000 >>> 80000612 00000024 00000000 00000000 000000 >>> cca5f000 4015648168 C Bo:1:091:2 0 31 > >>> caffce80 4015648214 S Bi:1:091:2 -115 36 < >>> caffce80 4015648793 C Bi:1:091:2 0 36 = 00800202 1f000000 53707265 >>> 61647472 756d6f70 656e7068 6f6e6520 20202020 >>> cca5f000 4015648822 S Bi:1:091:2 -115 13 < >>> cca5f000 4015648917 C Bi:1:091:2 0 13 = 55534253 01000000 00000000 00 >>> cca5f000 4015650247 S Bo:1:091:2 -115 31 = 55534243 02000000 00000000 >>> 00000600 00000000 00000000 00000000 000000 >>> cca5f000 4015650293 C Bo:1:091:2 0 31 > >>> cca5f000 4015650358 S Bi:1:091:2 -115 13 < >>> cca5f000 4015650793 C Bi:1:091:2 0 13 = 55534253 02000000 00000000 01 >>> cca5f000 4015651077 S Bo:1:091:2 -115 31 = 55534243 03000000 12000000 >>> 80000603 00000012 00000000 00000000 000000 >>> cca5f000 4015651169 C Bo:1:091:2 0 31 > >>> caffc400 4015651197 S Bi:1:091:2 -115 18 < >>> caffc400 4015651667 C Bi:1:091:2 0 18 = 70000600 0000000a 00000000 29000000 0000 >>> cca5f000 4015653312 S Bi:1:091:2 -115 13 < >>> cca5f000 4015653420 C Bi:1:091:2 0 13 = 55534253 03000000 00000000 00 >>> cca5f000 4015662416 S Bo:1:091:2 -115 31 = 55534243 04000000 00000000 >>> 00000600 00000000 00000000 00000000 000000 >>> cca5f000 4015662547 C Bo:1:091:2 0 31 > >>> cca5f000 4015662606 S Bi:1:091:2 -115 13 < >>> cca5f000 4015663043 C Bi:1:091:2 0 13 = 55534253 04000000 00000000 00 >>> cca5f000 4015663175 S Bo:1:091:2 -115 31 = 55534243 05000000 08000000 >>> 80000a25 00000000 00000000 00000000 000000 >>> cca5f000 4015663291 C Bo:1:091:2 0 31 > >>> ebd7e680 4015663343 S Bi:1:091:2 -115 8 < >>> ebd7e680 4015663667 C Bi:1:091:2 0 8 = 00064a0f 00000200 >>> cca5f000 4015663818 S Bi:1:091:2 -115 13 < >>> cca5f000 4015663917 C Bi:1:091:2 0 13 = 55534253 05000000 00000000 00 >>> cca5f000 4015664695 S Bo:1:091:2 -115 31 = 55534243 06000000 c0000000 >>> 8000061a 003f00c0 00000000 00000000 000000 >>> cca5f000 4015664792 C Bo:1:091:2 0 31 > >>> dfeaa080 4015664844 S Bi:1:091:2 -115 192 < >>> dfeaa080 4015665292 C Bi:1:091:2 -121 4 = 03000000 >>> cca5f000 4015665335 S Bi:1:091:2 -115 13 < >>> cca5f000 4015665541 C Bi:1:091:2 0 13 = 55534253 06000000 bc000000 00 >>> cca5f000 4015665738 S Bo:1:091:2 -115 31 = 55534243 07000000 00000000 >>> 00000600 00000000 00000000 00000000 000000 >>> cca5f000 4015665792 C Bo:1:091:2 0 31 > >>> cca5f000 4015665831 S Bi:1:091:2 -115 13 < >>> cca5f000 4015666291 C Bi:1:091:2 0 13 = 55534253 07000000 00000000 00 >>> cca5f000 4015666513 S Bo:1:091:2 -115 31 = 55534243 08000000 00000000 >>> 0000061e 00000001 00000000 00000000 000000 >>> cca5f000 4015666541 C Bo:1:091:2 0 31 > >>> cca5f000 4015666568 S Bi:1:091:2 -115 13 < >>> cca5f000 4015667042 C Bi:1:091:2 0 13 = 55534253 08000000 00000000 00 >>> cca5f000 4015667134 S Bo:1:091:2 -115 31 = 55534243 09000000 00000000 >>> 00000600 00000000 00000000 00000000 000000 >>> cca5f000 4015667167 C Bo:1:091:2 0 31 > >>> cca5f000 4015667192 S Bi:1:091:2 -115 13 < >>> cca5f000 4015667792 C Bi:1:091:2 0 13 = 55534253 09000000 00000000 00 >>> cca5f000 4015668373 S Bo:1:091:2 -115 31 = 55534243 0a000000 08000000 >>> 80000a25 00000000 00000000 00000000 000000 >>> cca5f000 4015668415 C Bo:1:091:2 0 31 > >>> dfeaa200 4015668433 S Bi:1:091:2 -115 8 < >>> dfeaa200 4015668915 C Bi:1:091:2 0 8 = 00064a0f 00000200 >>> cca5f000 4015668932 S Bi:1:091:2 -115 13 < >>> cca5f000 4015669165 C Bi:1:091:2 0 13 = 55534253 0a000000 00000000 00 >>> cca5f000 4015669213 S Bo:1:091:2 -115 31 = 55534243 0b000000 c0000000 >>> 8000061a 003f00c0 00000000 00000000 000000 >>> cca5f000 4015669291 C Bo:1:091:2 0 31 > >>> dfeaa200 4015669306 S Bi:1:091:2 -115 192 < >>> dfeaa200 4015669789 C Bi:1:091:2 -121 4 = 03000000 >>> cca5f000 4015669806 S Bi:1:091:2 -115 13 < >>> cca5f000 4015670040 C Bi:1:091:2 0 13 = 55534253 0b000000 bc000000 00 >>> cca5f000 4015670100 S Bo:1:091:2 -115 31 = 55534243 0c000000 00100000 >>> 80000a28 00000000 00000008 00000000 000000 >>> cca5f000 4015670165 C Bo:1:091:2 0 31 > >>> dfeaa200 4015670181 S Bi:1:091:2 -115 4096 < >>> dfeaa200 4015675790 C Bi:1:091:2 -71 0 >>> >>> FROM here PC receive protocol error and reset bus >>> >>> f2719000 4015676039 C Bi:1:091:1 -108 0 >>> dfeaa200 4015676064 S Co:1:001:0 s 23 03 0004 0002 0000 0 >>> dfeaa200 4015676068 C Co:1:001:0 0 0 >>> dfeaa600 4015731951 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> dfeaa600 4015732161 C Ci:1:001:0 0 4 = 03051000 >>> dfeaaa00 4015787954 S Co:1:001:0 s 23 01 0014 0002 0000 0 >>> dfeaaa00 4015787963 C Co:1:001:0 0 0 >>> dfeaaa00 4015787980 S Ci:1:000:0 s 80 06 0100 0000 0040 64 < >>> dfeaaa00 4015788288 C Ci:1:000:0 0 18 = 12010002 00000040 8217035d 27020102 0301 >>> dfeaaa00 4015788298 S Co:1:001:0 s 23 03 0004 0002 0000 0 >>> dfeaaa00 4015788304 C Co:1:001:0 0 0 >>> dfeaa600 4015843951 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> dfeaa600 4015844159 C Ci:1:001:0 0 4 = 03051000 >>> dfeaa600 4015899949 S Co:1:001:0 s 23 01 0014 0002 0000 0 >>> dfeaa600 4015899959 C Co:1:001:0 0 0 >>> dfeaa600 4015899963 S Co:1:000:0 s 00 05 005b 0000 0000 0 >>> dfeaa600 4015900165 C Co:1:000:0 0 0 >>> dfeaa600 4015919945 S Ci:1:091:0 s 80 06 0100 0000 0012 18 < >>> dfeaa600 4015920289 C Ci:1:091:0 0 18 = 12010002 00000040 8217035d 27020102 0301 >>> dfeaa600 4015920302 S Ci:1:091:0 s 80 06 0200 0000 004e 78 < >>> dfeaa600 4015920536 C Ci:1:091:0 0 78 = 09024e00 030100e0 fa090400 >>> 0002ff42 01000705 81020002 00070501 02000200 >>> dfeaa600 4015920546 S Ci:1:091:0 s 80 06 0303 0409 00ff 255 < >>> dfeaa600 4015920662 C Ci:1:091:0 0 18 = 12033100 39003700 36003100 32003000 3200 >>> dfeaa600 4015920670 S Co:1:091:0 s 00 09 0001 0000 0000 0 >>> dfeaa600 4015921661 C Co:1:091:0 0 0 >>> cca5f000 4015921771 S Bo:1:091:2 -115 31 = 55534243 0d000000 00100000 >>> 80000a28 00000000 00000008 00000000 000000 >>> cca5f000 4015925160 C Bo:1:091:2 0 31 > >>> dfeaa600 4015925218 S Bi:1:091:2 -115 4096 < >>> dfeaa600 4015929161 C Bi:1:091:2 -71 0 >>> ebd7ef80 4015929201 S Co:1:001:0 s 23 03 0004 0002 0000 0 >>> ebd7ef80 4015929206 C Co:1:001:0 0 0 >>> ebd7ef80 4015983452 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> ebd7ef80 4015983660 C Ci:1:001:0 0 4 = 03051000 >>> ebd7ef80 4016039450 S Co:1:001:0 s 23 01 0014 0002 0000 0 >>> ebd7ef80 4016039459 C Co:1:001:0 0 0 >>> ebd7ef80 4016039476 S Ci:1:000:0 s 80 06 0100 0000 0040 64 < >>> ebd7ef80 4016039783 C Ci:1:000:0 0 18 = 12010002 00000040 8217035d 27020102 0301 >>> ebd7ef80 4016039795 S Co:1:001:0 s 23 03 0004 0002 0000 0 >>> ebd7ef80 4016039799 C Co:1:001:0 0 0 >>> ebd7ef80 4016095453 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> ebd7ef80 4016095652 C Ci:1:001:0 0 4 = 03051000 >>> ebd7ef80 4016151442 S Co:1:001:0 s 23 01 0014 0002 0000 0 >>> ebd7ef80 4016151451 C Co:1:001:0 0 0 >>> ebd7ef80 4016151455 S Co:1:000:0 s 00 05 005b 0000 0000 0 >>> ebd7ef80 4016151659 C Co:1:000:0 0 0 >>> ebd7ef80 4016171449 S Ci:1:091:0 s 80 06 0100 0000 0012 18 < >>> ebd7ef80 4016171784 C Ci:1:091:0 0 18 = 12010002 00000040 8217035d 27020102 0301 >>> ebd7ef80 4016171800 S Ci:1:091:0 s 80 06 0200 0000 004e 78 < >>> ebd7ef80 4016172031 C Ci:1:091:0 0 78 = 09024e00 030100e0 fa090400 >>> 0002ff42 01000705 81020002 00070501 02000200 >>> ebd7ef80 4016172042 S Ci:1:091:0 s 80 06 0303 0409 00ff 255 < >>> ebd7ef80 4016172279 C Ci:1:091:0 0 18 = 12033100 39003700 36003100 32003000 3200 >>> ebd7ef80 4016172289 S Co:1:091:0 s 00 09 0001 0000 0000 0 >>> ebd7ef80 4016173280 C Co:1:091:0 0 0 >>> cca5f000 4016173372 S Bo:1:091:2 -115 31 = 55534243 0e000000 00100000 >>> 80000a28 00000000 00000008 00000000 000000 >>> cca5f000 4016173904 C Bo:1:091:2 0 31 > >>> dfeaaa00 4016173929 S Bi:1:091:2 -115 4096 < >>> e354dd00 4016653576 S Ci:1:091:0 s 80 06 0300 0000 0100 256 < >>> e354dd00 4016653894 C Ci:1:091:0 0 4 = 04030904 >>> e354dd00 4016653944 S Ci:1:091:0 s 80 06 0303 0409 0100 256 < >>> e354dd00 4016654145 C Ci:1:091:0 0 18 = 12033100 39003700 36003100 32003000 3200 >>> e354d080 4016654280 S Bi:1:091:1 -115 24 < >>> dfeaaf00 4016654330 S Bo:1:091:1 -115 24 = 434e584e 00000001 00100000 >>> 07000000 32020000 bcb1a7b1 >>> dfeaaf00 4016654395 C Bo:1:091:1 0 24 > >>> dfeaa380 4016654439 S Bo:1:091:1 -115 7 = 686f7374 3a3a00 >>> dfeaa380 4016654769 C Bo:1:091:1 0 7 > >>> e354d080 4016656019 C Bi:1:091:1 0 24 = 434e584e 00000001 00100000 >>> 09000000 e4020000 bcb1a7b1 >>> e354d080 4016656062 S Bi:1:091:1 -115 9 < >>> e354d080 4016656269 C Bi:1:091:1 0 9 = 64657669 63653a3a 00 >>> e354d080 4016656312 S Bi:1:091:1 -115 24 < >>> f70ae400 4019832961 C Ii:1:001:1 0:2048 2 = 0400 >>> f70ae400 4019832969 S Ii:1:001:1 -115:2048 4 < >>> d51c1980 4019833060 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> d51c1980 4019833067 C Ci:1:001:0 0 4 = 00010100 >>> d51c1980 4019833076 S Co:1:001:0 s 23 01 0010 0002 0000 0 >>> d51c1980 4019833080 C Co:1:001:0 0 0 >>> e354d080 4019833198 C Bi:1:091:1 -108 0 >>> dfeaaa00 4019836823 C Bi:1:091:2 -71 0 >>> ed991e00 4019845049 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> ed991e00 4019845055 C Ci:1:001:0 0 4 = 00010000 >>> e376aa00 4019875454 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> e376aa00 4019875463 C Ci:1:001:0 0 4 = 00010000 >>> e9234480 4019907445 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> e9234480 4019907454 C Ci:1:001:0 0 4 = 00010000 >>> ca6f7980 4019939449 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> ca6f7980 4019939457 C Ci:1:001:0 0 4 = 00010000 >>> e0f6c400 4019971605 S Ci:1:001:0 s a3 00 0000 0002 0004 4 < >>> e0f6c400 4019971614 C Ci:1:001:0 0 4 = 00010000 >>> -- >>> 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 >> > -- 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