Hi Kyle!
Amon,
Ok, I've made a few changes. I have added support for the ping pong feature on the HC. With the Ethernet device I have been using, I was able to get ~15% better performance with the ping pong feature. Depending on how the driver for the individual device is written, you may or may not see a performance increase with ping pong. To enable the ping pong functionality, CONFIG_USB_PING_PONG must be defined. In order to use ping pong, the ATL buffer size must be at most the size of the smallest bulk and control endpoint of all devices on the bus. This is set with the ATL_BLOCK_SZ constant. For instance, the device I have been using has endpoints of size 64. Therefore, I set the size of ATL_BLOCK_SZ to 64. If I do not use ping pong, I can actually set it to 128 and it will still work. I'm not sure why the device still accepts the data, but for some reason it does. But if I use a size of 128 with ping pong, nothing works. I can actually achieve better throughput rates without using ping pong and an ATL_BLOCK_SZ of 128, but if other devices on the bus do not accept 128 byte packets, I would then have to back it down to 64 and use ping pong. Depending on your devices, you may have to play with these settings to attain the best performance.
with CONFIG_USB_PING_PONG defined and ATL_BLOCK_SZ 64 I get
bash-2.05# time dd if=/dev/sda1 of=/tmp/dump-32MB.bin count=32 bs=1M 31+1 records in 31+1 records out
real 1m20.551s user 0m0.010s sys 0m2.270s
so.. a bit better! :-)
with ATL_BLOCK_SZ 128 (and CONFIG_USB_PING_PONG as you request) I have:
bash-2.05# time dd if=/dev/sda1 of=/tmp/dump-32MB.bin count=32 bs=1M 31+1 records in 31+1 records out
real 0m59.943s user 0m0.000s sys 0m2.220s
which is very close to the Philips one! (yours takes only 10 seconds more...) Good work! :-)
I have also been able to fix a couple of crashes. I have not seen a crash all afternoon so it is definitely more stable than yesterday. There is still a problem with removing some devices and with hub support. I plan on getting to these next week when I get back. I also see another way of getting even better performance out of the driver, but I want to get other things working properly before I go there.
I cannot see the Keyboard kernel panic anymore, so it seems it is working quite better..
all the other problem are still there (keyboard not working, mouse stop working after a while and so on..)
Also, you have noted that you got a Memory Stick working. What driver did you use and what did you have to do to get it working? It is just another thing we would like to try out.
I'm currently using an USB 1.0 32MB Memory Stick, with the standard USB Storage device driver provided
with the 2.4.20 kernel (no changes required).
Best Regards,
Amon
DAVE Electronics System House - R&D Department web: http://www.dave-tech.it email: r&[EMAIL PROTECTED]
------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel