Patrick Lidstone
Self-hosted

Development log

A cellular modem in an M.2 slot

· Path OS

I was lucky enough to get an X1 that has an integral modem, a Fibocom L850-GL. It looks like it might also support GNSS/GPS, which would be a useful thing to have for free.

The modem itself sits in an M.2 slot, which I did not expect. I would have thought it would use a couple of USB ports the way the 3G stick modems did. A lot of the ground work has already been done before me in terms of interfacing with it: it sits as a memory-mapped device, and it should be possible to use it for voice, text and internet access, assuming it supports VoLTE (the 4G version of VoIP).

My guess going in was that I would need to add SLIP or PPP to the TCP/IP stack, though given the memory-mapped presentation I hoped it might be something simpler.

After a bit of investigation, it does turn out to be simpler. It is a PDU-based protocol passing packets back and forth, so no PPP and no SLIP required. VoLTE is delivered quite elegantly via SIP signalling, for which I already have all the code from the PBX work, so that is rather tidy.

That is the interface understood rather than a call placed. The VoLTE path is a plan with all the parts already to hand, not something that has been run end to end.