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

Reply via email to