On Tue, 16 May 2006, Adisorn Ermongkonchai wrote:

> Hi, 
> 
> First of, I am very new to USB. My project is wireless related (not 
> USB) and I am in the process of testing the Linux (kernel 2.6.16.15) 
> wireless performance using wireless usb devices. I use D-Link USB
> (54Mbps) device as my testing device. The max performance of wireless
> transmission is roughly around 25Mbps. I am currently using 
> 2 wireless channels (chan 6 and 11) without encryption. My tests
> are as followed.
> 
> Using 4 PCs called PC1, PC2, PC3, and PC4, PC1 and PC2 
> are connected with each other in Ad-Hoc mode channel 6. 
> PC3 and PC4 are connected using channel 11 also Adhoc mode. 
> The performance is as expected. Each pair is transmitted at 
> expected speed around 20-25Mbps. I use "ttcp" to test its speed. 
> This test is to ensure that channel 6 and 11 do not interfere with 
> each other and they seemed that they do not interfere with each 
> other. 
> 
> But when I used 2 PC's with 2 channels per PC. again in 
> Adhoc mode and ran ttcp on both channels simultaneously, 
> the speed of each channel went down by 1/3 to 1/2 of the 
> expected speed. I suspect that it is USB related.

Do you have any evidence to back up this suspicion?  For example, what 
happens if you run with 1 channel per PC but with a second USB device 
(like a flash disk) installed and in use?

> BTW, I don't have any other devices running on the USB port,
> just the 2 wireless USBs. 
> 
> 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. 

Which wMaxPacketSize did you check?  Is it the value for endpoint 0 or the
value for one of the bulk endpoints?

> BTW, I don't have USB analyzer to look at the USB bus. Any 
> suggestions are appreciated. Hopefully, there is some place 
> that I could tweak in the kernel to improve the performance. 

The kernel's USB stack is already tuned for maximum performance.

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