Watch
1
0
Fork
You've already forked SouveraineOS
0
SouveraineOS/blueline/cellular/README.md
Fimeg 7ec2479f83 blueline: consolidate wifi bring-up, adopt cellular/MMS path, task audit
wifi: bringup unit now carries the union ordering (slpi/adsp for TZ MSA,
rmtfs+tqftpserv for firmware serving — the 2026-07-20 boot proved the old
load unit's ordering incomplete) and supersedes blueline-wifi-load;
msa-release adopted into the repo (shutdown unload that keeps warm
reboots clean).

cellular: adopt blueline-clat service+script. clat script now pins a host
route to the Fido MMS proxy via the CLAT — with wifi up the wlan default
beat the clat default and MMS died off-carrier. mmsd config contract
documented (MMS_APN must match the bearer APN ltemobile.apn; shipped as
netsvcs which matches nothing).

tasks: retire 06 qtpim (no longer the contacts path), archive 10 (done),
index catches up on 11 (archived); 01 re-pointed at a contacts-store
decision.
2026-07-20 22:21:15 -04:00

1.6 KiB

blueline cellular data + MMS path

Fido's LTE bearer (ltemobile.apn, modem netdev qmapmux0.0) is IPv6-only with NAT64. IPv4 exists on the phone only through 464XLAT: blueline-clat.service runs blueline-clat.sh, which derives a CLAT IPv6 address from the bearer's current /64 and runs clatd (PLAT prefix via RFC 7050 DNS64 discovery against the carrier's resolvers). The CLAT installs a v4 default at metric 2048, so WiFi (metric 600) stays preferred for ordinary traffic.

The MMS routing trap

MMS is carrier-internal: the MMSC proxy (205.151.11.13:80) answers only from inside Fido's network, i.e. only via the CLAT. With WiFi up, the plain routing table sends it out wlan0 and MMS silently dies. The clat script pins 205.151.11.13/32 dev clat after clatd brings the device up. If Fido ever changes the proxy (it is set in ~/.mms/modemmanager/mms CarrierMMSProxy), update both places.

mmsd-tng config contract (~/.mms/modemmanager/mms)

  • MMS_APN must equal the APN of the connected bearer — ltemobile.apn. (It shipped as netsvcs, which matches nothing; mmsd-tng then never considers the bearer usable. Fixed 2026-07-20.)
  • CarrierMMSC=http://mms.fido.ca, CarrierMMSProxy=205.151.11.13:80.
  • mmsdtng runs in the user session; chatty is the D-Bus consumer (org.ofono.mms).

Known-good state (2026-07-20)

mmcli -m any: Fido LTE attached, bearer ipv4v6 requested, v6-only granted. curl to the proxy over the pinned clat route: TCP connect OK from 192.0.0.1. IPv6 has no WiFi default (LAN is v4-only), so all v6 traffic rides the bearer even on WiFi — metered-data caveat, accepted for now.