[From QnA]WIZ830 problem with TX memory allocation


#1

In the past I have used the module W810 without any kind of problem.
Now, with the W830 I have a sort of hard problem with TX memory allocation.

Module work in 16bit mode in direct mode. All register setting are done when I read them
I’ve tried to leave default memory allocation too(after Reset), but without any solution:

After Registers settings (SHAR,GAR,SUBR,SIPR) I open UDP socket
Like default, MTYPER=0x00FF and ALL RX/TX socket have 8Kb allocated

(Ex: socket0)
Wiz5300_write_value(UDP_Mode, w5300_s0_mr) // Socket0 = UDP mode
Wiz5300_write_value(0x4B0, w5300_s0_portr) // Port: 1200
Wiz5300_write_value(OPEN, w5300_s0_cr) // OPEN command to socket0

After this, I CAN RECEIVE all(well) packets on Port 1200 but I CAN’T SEND anything because
TX free memory is always = 0
I’ve tried any socket (0 to 7) but no one of them have free TX memory.
Do I have forget something to do??

Thanks in advanced
Best Regards


#2

Hello,
Thank you for using our products.
You may refering the W5300 driver v1.2.1 for your application.
To use the TX memory on W5300, just assign the memory size and type writing TMSR, RMSR and MTYPEER.
If you cannot use TX memory even you have set right value to TMSR, RMSR and MTYPER, check your code which get the free size of TX memory.
Refer to the getSn_TX_FSR() function in the W5300.c of W5300 driver v1.2.1.
Thanks.


#3

Solved!
I’ve checked my code… as you said: I read in wrong way the Sn_TX_FSR register (only the first word)

Many, many, thanks again!
Best regards