Once again the turn-time issue, which is really serious for the usb-storage
device i'm fighting with, since it can only do max 4k transfers (again this
EZ-USB thing that doesn't enumerate and therfore doesn't change the
interfaces).
Trying to optimize following sequence:
- send command to bulk ep 4. I call this the 'master-urb'
- recieve data from bulk ep 2. I call this the 'slave-urb'
I have tried following:
a)
FILL_BULK_USB(master) FILL_BULK_USB(slave)
usb_submit_urb( master )
usb_submit_urb( slave )
wait_for( master->status != EINPROGRESS )
if( master transfer ok ){
wait_for( slave->status != EINPROGRESS )
}else{
usb_unlink_urb( slave)
}
On 2.4.2 & 2.4.3 usb-uhci this work very well (and fast) for a few seconds
an then the
machine freezes.
On 2.4.3-pre7 & 2.4.4 this freezes the machine instantly.
b)
FILL_BULK_USB(master) FILL_BULK_USB(slave)
master->next = slave;
slave->next = 0;
usb_submit_urb( master )
wait_for( master->status != EINPROGRESS )
if( master transfer ok ){
wait_for( slave->status != EINPROGRESS )
}else{
usb_unlink_urb( slave)
}
On 2.4.4 usb-uhci this work crashes the machine.
On 2.4.4 uhci this work nicely for a while and then suddenly stops.
I guess this is the same issue that Martin Diehl is having ?
The completion handler i'm using just does the usual wakeup.
c) Same as a, but only calling
usb_submit_urb( slave )
in the completion handler of the master urb.
Crashes with 2.4.3 usb-uhci. Works lovely with 2.4.4 (both uhci+usb-uhci
?) but isn't any faster than a
submit(),wait(),submit(),wait() sequence..
What am I doing wrong / is there any known good way to queue bulk urb to
different ep's ?
Btw. for the EZ-USB FX interrested: the UISDC & UISDA Flash card readers I
have (available from www.carry.com.tw) are using a CY7C64613-128NC.
UISDA = SmartMedia + SecureDigital + ATA-Flash
UISDC = SmartMedia + SecureDigital + CompactFlash
- sda
p.s. sigh: reading the mapping table of a 64MB SmartMadia card still takes
16 seconds ~= 512 bulks/sec.
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
http://lists.sourceforge.net/lists/listinfo/linux-usb-devel