Hi Oliver,

I looked through the driver transmit code
and the way it implemented is that there is
only one URB instance in each device structure
and therefore there is no way that this
driver can submit more URB before the
completion callback without risking corrupting
the previous one.

On the other hand, why would 2 channels
slowed down then.  The timeslice should
be given the another channel to transmit
and therefore shouldn't slow both chans
down.  Again, I don't know enough about
USB architecture yet.

Adisorn.



--- aermongk <[EMAIL PROTECTED]> wrote:

> Hi Oliver,
> 
> Thanks for your response, comments below.
> 
> Oliver Neukum wrote:
> 
> >Am Dienstag, 16. Mai 2006 18:27 schrieb Adisorn
> Ermongkonchai:
> >  
> >
> >>So I dig into the D-link USB driver (open source
> by Ralink) and 
> >>found that it uses Bulk transfer mode. And the
> code seems to 
> >>be reasonable. It calls "usb_fill_bulk_urb" with
> "usb_sndbulkpipe" 
> >>and "complete" callback function and then calls
> "usb_submit_urb" 
> >>to do the transmit. When "complete" callback is
> called, the 
> >>transmit procedure is repeated if there are still
> packets in the 
> >>queue. 
> >>
> >>I check the "wMaxPacketSize", it is already set to
> 64 when the 
> >>probe function is called. Is there anything that I
> could do to 
> >>enhance the performance.
> >>    
> >>
> >
> >You must make sure that there's no time during
> which no URB is queued.
> >Submitting the next URB in the completion handler
> is too late. You should
> >maintain a reasonably sized pool of URBs.
> >
> >     Regards
> >             Oliver
> >
> >  
> >
> I apologize that I don't know enough about USB yet. 
> So far what I've 
> read from
> wireless driver code, each channel has its own
> sk_buff TX queue.  The driver
> is called by kernel IP stack with sk_buff.  The
> driver then put this 
> sk_buff in
> TX queue and initiate transmission procedure that
> I've described previously.
> 
> If I understand you correctly, the driver should
> pull out the sk_buff 
> from its
> TX queue and keep pumping it to USB (in URB format)
> and don't wait for
> the complete.  This might be it.  I will play around
> with this some more.
> 
> Thanks,
> Adisorn.
> 
> 
> 
>
-------------------------------------------------------
> 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
> _______________________________________________
> [email protected]
> To unsubscribe, use the last form field at:
>
https://lists.sourceforge.net/lists/listinfo/linux-usb-users
> 





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

Reply via email to