AnsweredAssumed Answered

SPWF01 limitations

Question asked by morozov.alexander on Jan 13, 2015
Latest reply on Jan 19, 2015 by Gerardo Gallucci
Hi,

we are designing a VoIP (SIP/RTP) device with a stm32 microcontroller. It must also have WiFi connectivity, so SPWF01 would be a natural choice. However we've run into limitations of built-in TCP/IP stack while checking required functionality with devkit:

1) It's not possible to specify local port that client UDP socket binds to. We could do instead with a) creating socket, b) finding out local port it's bound to, c) specifying remote host:port to "connect" to, but that can't be done either.

2) Server UDP socket cannot communicate with several clients. Packets from the same IP from different ports are merged in common data stream. Packets from other addresses are ignored.

3) It's not possible to reliably identify boundaries of individual packets. UDP packets are merged in single datastream. Actually in command mode it's possible to calculate boundaries of packets from receive notifications, but in data mode notifications are not delivered and information about packet sizes is lost.

So is there a way to solve those problems? Have I missed something in documentation?

It would be great if there was a "raw ip socket" or "raw ethernet socket" so we could just receive/send raw frames and plug that into network stack on MCU. Is there a possibility to do so?

Outcomes