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