Hi Greg,

Thanks for your response.  Comments below.

Greg KH wrote:

On Tue, May 16, 2006 at 09:27:22AM -0700, 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.

Why?  Isn't this expected behavior based on how the wireless network
protocol works?
I don't think that this is an expected behavior of wireless network. I should
be able to run at full speed for each channel.  Each channel has different
frequency with 5 Mhz guard band.  The 4 PCs test that I've mentioned shows
that channel 6 and 11 doesn't interfere with each other.

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.

Why not ask the authors of the driver about this?  They would be the
best ones to know if increasing the size of the urb would cause any
problems or not.
I will sure post a question to the support website of this device. Here is the
website if anyone interested.

http://rt2x00.serialmonkey.com

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.

You might invest in some good tools to try to track down performance
problems.  The problem might not be in the USB code at all.
I did ran test that Alan has suggested (please refer to Alan response).
Flash device doesn't affect speed of the wireless device.  That means
the wireless driver may not use the USB bus efficiently.  I will
look at the driver code some more and post question to the
wireless driver website.

good luck,

greg k-h

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
_______________________________________________
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