On Tue, 22 Aug 2006, Peter.Chen wrote: > Grab the packet at windowsXP host using BUSHound.I can find below unusual > log: > ................. > 14 DO 55 53 42 43 - 48 35 8a 81 - 00 00 01 00 - 80 00 0a 28 00 00 > 0c f6 - 77 00 00 80 - 00 00 00 00 - 00 00 00 2.0ms > > 14 DI 82 e0 31 8e - ee 83 7c b8 - 7d fc e0 cf - f9 a0 b1 38 > 36 4f b5 5b - 49 d8 b0 66 - 20 e7 ae 0c - 7b c7 86 66 6O 75ms > > 14 DI 55 53 42 53 - 48 35 8a 81 - 00 00 00 00 - 00 > USBSH5....... 986us > 14 DO 55 53 42 43 - 48 35 8a 81 - 00 00 01 00 - 80 00 0a 28 00 00 > 0c f6 - f7 00 00 80 - 00 00 00 00 - 00 00 00 1.0ms 184381.1.0
At this point it looks like your device did not respond to the READ command. > 14 USTS 00 00 01 c0 canceled 9.7sc > 184382.1.0 > 14 DO 55 53 42 43 - 90 c6 14 82 - 08 00 00 00 - 80 00 0a 25 00 > 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 259ms > 14 USTS 00 00 01 c0 > canceled 9.7sc 184384.1.0 > ...........(8 times,just like i said last email the host would reset 8 > times) > at USTS 00 00 01 c0 canceled 9.7sc > 00 00 01 c0 is USBD_STATUS,I don't what means,do u konw it? No. > after that,no data will transfer. > 14 DO 55 53 42 43 - 48 35 8a 81 - 08 00 00 00 - 80 00 0a 25 > 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 2.0ms > 14 DI 00 1e 45 ff - 00 00 02 00 2.0ms > 14 DI 55 53 42 53 - 48 35 8a 81 - 00 00 00 00 - 00 1.9ms That part looks okay. > > > Now,i use "stall=n" option when i load g_file_storage. > > > If load "stall=y",there are some errors. > > > > Are there errors if you use "stall=n"? > yeah,there are errors when i use stall=n,the error is i > gave u below > > Are you certain this is the CBW you received? Maybe you received a valid > > CBW and it was overwritten before you printed it out. Or maybe the host > > sent a valid CBW and there is a bug in your UDC driver. > you are cool.yesterday,i use BusHound,the 00 1e 45 ff 00 00 02 00 is the > data the device sends to host,and the CBW is valid.I am puzzled why i > would print > 0: 00 1e 45 ff 00 00 02 00 08 00 00 00 80 00 0a 25 > 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > > The data i get from the BusHound is: > DO 55 53 42 43 - 90 c6 14 82 - 08 00 00 00 - 80 00 0a 25 > 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 > DI 00 1e 45 ff - 00 00 02 00 1.9ms > DI 55 53 42 53 - 90 c6 14 82 - 00 00 00 00 - 00 > > >From the above,DI data overwrite the CBW.I save the CBW at bulk_out_complete. > why it was overwritten before i printed it out? At which line in bulk_out_complete did you save the data? If you saved it after the call to wakeup_thread(fsg) then perhaps the fsg thread overwrote the buffer before you saved it. The best place to save the data is before the call to spin_lock(). > > If the host sends multiple resets, it must be because the device isn't > > responding properly. This could mean there's a bug in the UDC driver. > I also hope that,if it is hardware problem,then it hard to deal with. > I think the bugs are at ep0 interrupt,most likely,at SET_CONFIGURATION > ,SET_INTERFACE.Do u think so? Could be, but I have no way to tell. If you want better debugging, use a host with Linux 2.6.17 and use usbmon (instructions in Documentation/usb/usbmon.txt). Alan Stern ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel