Search found 358 matches
- Tue Jul 07, 2009 4:50 pm
- Forum: DS/DSi Development
- Topic: receive hangs; was TCP send() performance and eventual hangs
- Replies: 41
- Views: 124275
Re: TCP send() performance and eventual hangs
Wifi_Update on the arm9 does modify WifiData->rxbufIn while interrupts are enabled - which I suspect could lead to processing the same packet twice (maybe?). void Wifi_Timer(int num_ms) { Wifi_Update(); sgIP_Timer(num_ms); } does Wifi_Timer need to call Wifi_Update anymore. I think this was needed b...
- Tue Jul 07, 2009 2:13 pm
- Forum: DS/DSi Development
- Topic: receive hangs; was TCP send() performance and eventual hangs
- Replies: 41
- Views: 124275
Re: TCP send() performance and eventual hangs
Didn't notice the protocol is unsigned short* until now - a pointer to protocol settings then? the cast for the protocol is for the buffer pointer not the value at index 6. the protocol is encoded as 2 bytes at offset 12 and 13 in the packet - so casting the buffer as an unsigned short allows readi...
- Tue Jul 07, 2009 3:30 am
- Forum: DS/DSi Development
- Topic: receive hangs; was TCP send() performance and eventual hangs
- Replies: 41
- Views: 124275
Re: TCP send() performance and eventual hangs
I suspect there may be an issue with the libnds fifo system. in particular fifoInternalRecvInterrupt. this function does not backup and restore REG_IME. instead it enables and disables it by writing 1 and 0 repectively - regardless of the current state. I think that if a packet is received while fi...
- Mon Jul 06, 2009 3:15 pm
- Forum: DS/DSi Development
- Topic: receive hangs; was TCP send() performance and eventual hangs
- Replies: 41
- Views: 124275
Re: TCP send() performance and eventual hangs
while(tmb->next) tmb=tmb->next; dswifi is maintaining a linked list of packets that have been received. this code is trying to find the end of the list - which is where new packets are added. it would appear that this list is becoming corrupt when packets are being received very close together. dsw...
- Sat Jul 04, 2009 5:27 pm
- Forum: DS/DSi Development
- Topic: receive hangs; was TCP send() performance and eventual hangs
- Replies: 41
- Views: 124275
Re: TCP send() performance and eventual hangs
it is to support hardware exceptions - accessing invalid memory addresses, stack overflow, etc.
can you post your source code and binary somewhere? I would be interested in taking a look.
can you post your source code and binary somewhere? I would be interested in taking a look.
- Sat Jul 04, 2009 2:32 am
- Forum: DS/DSi Development
- Topic: receive hangs; was TCP send() performance and eventual hangs
- Replies: 41
- Views: 124275
Re: TCP send() performance and eventual hangs
do you have an exception handler in place? this will install the default one: defaultExceptionHandler(); it uses iprintf to display. make sure that you are using the latest version of libnds and dswifi. when libnds switched ipc to use fifo it introduced a lot of instability to the dswifi module. it ...
- Fri Jul 03, 2009 3:29 am
- Forum: DS/DSi Development
- Topic: receive hangs; was TCP send() performance and eventual hangs
- Replies: 41
- Views: 124275
Re: TCP send() performance and eventual hangs
if you are able to utilize the full 2 mbit bandwidth than this is only ~4 packets a frame. so, probably 2-3 packets per frame is going to be the best you can hope for - most likely less if there is a lot of other network traffic.
- Thu Jul 02, 2009 1:42 pm
- Forum: DS/DSi Development
- Topic: receive hangs; was TCP send() performance and eventual hangs
- Replies: 41
- Views: 124275
Re: TCP send() performance and eventual hangs
I suspect when send returns less than 1420 that the internal send buffers are full and that you are exceeding the transmission rate on the ds. it is only 2Mbit/s - though I think people typically see 1Mbit/s at best. you could try waiting a frame or two if the send is smaller than 1420. I think I re...