Limits
Audio
- 48 kHz only. Encoders send L24. Decoders play L24 and L16.
- 1 to 8 channels.
- Clock drift is corrected by dropping or repeating single frames, not by resampling.
- Each board's port is 100 Mbit/s.
Serial server
- One USB serial adapter, no hub; up to 4 ports.
- Up to 3 clients per port.
- No flow control, no break, and no RS-485 direction control from RTS.
- FTDI FT232H, FT2232H and FT4232H are not supported yet.
USB/IP server
- One device, no hubs, one host at a time.
- Only the configuration the board enumerated the device with.
- Transfers of at most 127 packets.
- Isochronous transfers haven't been tested.
See USB/IP server.
Security
- No HTTPS. The admin password travels unencrypted, in HTTP Basic auth.
- The serial sockets and USB/IP have no password or encryption: use their allow lists.
Hardware
- The M5Stack Unit PoE-P4X (rev 3.x silicon) isn't supported.
Not tested yet
- Dante hardware: decoders playing a Dante stream, and a Dante device as PTP grandmaster. Encoders to Dante receivers work.
- The Windows USB/IP setup script
- Isochronous USB transfers
Compatibility
PTP runs over UDP/IPv4. Firmware from before that change ran PTP over Ethernet directly, so update every board: old and new firmware won't share a clock.