Google
  Web www.spinics.net

Re: how mass storage device cope with unsupported commands?

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


Alan Stern,您好!

	    thank you !!!
        my firmware can now act as a udisk now.
        and can do creat ,copy ,delete etc .

        yeah,i response the unsupported command  as Alan said.

        __then__ I read the Bulk-out endpoint to get next CBW.

        the bus reset was caused by I didn't response to the next command after stall.

        but my firmware is still unstable.

        when I remove some printk message in read/write endpoint IO accessing function,
		the device still raise bus reset.
 
        and the speed is too low ,only 2KB/s in FS mode.

		

======= 2006-06-29 22:42:31 您在来信中写道:=======

>On Thu, 29 Jun 2006, JackRain wrote:
>
>> 		  because I write the device usb firmware by myself,i print less message only for the software flow chart.
>> 
>> 		  now:
>> 		   1)when device get READ_FORMAT_CAPCITY(0x23) command ,stall the bulk-in endpoint. 
>>        	   2)waitting for ep0setup interrupt,and get the clear_feature request \
>> 			 unstall the endpoint and toggle the DATA pid by disable then enable the bulk-in endpoint (isp1582)
>
>You're supposed to set the data toggle to 0.  Maybe disabling and then
>enabling the endpoint does that.
>
>> 		   3)bulk-in endpoint send a ACK signal to PC;
>
>This should not happen.  The bulk-in endpoint should not send an ACK,
>since it has not received an IN pid.
>
>> 		   4)then send the CSW to PC to reflect the command status of this unsupported command 
>
>Okay.  Remember to set dCSWResidue = dCBWDataTransferLength.
>
>> 		   5)EP0TX send a ACK signal to PC
>
>This isn't right.  ep0 is supposed to send a 0-length packet to perform
>the handshake stage of the control message.  Then the _host_ sends an ACK.
>
>> 		   6) bus reset.
>>            7)bulk-out endpoint interrypt occurs,read CBW 
>> 		   if command unsupported ,do the same thing 1~5;
>> 		
>> 		   again bus reset.
>> 
>>            if command supported ,it's normal and go on processing SCSI protocol.
>> 		   and I can't see the disk tray icon on windows.
>> 		   but because bus reset ,the device still won't work.
>
>Probably the bus resets occur because of the earlier protocol mistakes.
>
>Alan Stern
>

= = = = = = = = = = = = = = = = = = = =
			

        致
礼!
 
				 
        JackRain
        hejieming@xxxxxxxxx
          2006-06-30

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-users@xxxxxxxxxxxxxxxxxxxxx
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

[Linux USB]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Video Projectors]     [PDAs]     [Free Online Dating]     [Hacking TiVo]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Devices]     [Big List of Linux Books]     [16.7MP]

Powered by Linux