Page 5 of 5

Re: receive hangs; was TCP send() performance and eventual hangs

Posted: Sun Mar 07, 2010 1:33 am
by z.g
maximal speed that i can get with dswifi is about 40kbyte/s. packet size is 1420 bytes, vblank happens 30 times per second. 1420*30=42600=41.6kbyte. is it coincidence?

Re: receive hangs; was TCP send() performance and eventual hangs

Posted: Sun Mar 07, 2010 2:23 am
by sgstair
Yes, it is coincidence. Nothing in dswifi is synchronized to vblank. (with the exception of a failsafe in arm7, that checks for packets and fixes the wifi interrupt if it broke)
DSWifi notifies the arm9 via an interrupt (through fifo code) every time a packet comes in, so it's not even limited to the timer interrupt rate. (which is 50Hz, I think)

Most likely your latency + some inefficiency just mean transfers occur every 30ms or so, which isn't unreasonable.
I have seen speeds of 120kbyte/s in both directions on my local network. (note that this is about 1.1-1.2 mbit, including packet overhead), so it is capable of more under good conditions.

-Stephen