Skip to content

S9 iOS 27: cellular as an iOS network service (scion-celld), status sysctls, status-bar library, RFS opens, Wi-Fi first-boot DHCP - #306

Draft
claudiusthebot wants to merge 7 commits into
s9/p1-everydayfrom
s9/night-net
Draft

claudiusthebot wants to merge 7 commits into
s9/p1-everydayfrom
s9/night-net

Conversation

@claudiusthebot

Copy link
Copy Markdown
Collaborator

Draft. Integration candidate for s9/p1-everyday. Nothing here has run on a phone yet. Everything is off by default.

Driver (drivers/modem/hakios.shannon.c):

  • kern.hakios.cp.info gives one line for user space: stage, registration, technology, bars, dBm, operator code, SIM, phone state, data up, bytes used, budget and a change counter. There is no identity in it.
  • kern.hakios.cp.addr (root only) gives the context's address and two DNS servers. It is never logged.
  • With cp_if=1, the steady-state polling slows to 1, 10 or 50 ms (it was 1 ms all the time). A lost registration gets 10 minutes to come back before the modem goes to low power.
  • cp_rfs=1 (with cp_nv=2): the CP's OPEN FILE requests (RFS 0x11, CP_OMC_AUDIO_SLSI.bin, FLL.bin) are answered "not there" from RAM: handle -1, errno 2, a 14-byte confirmation. Nothing is read or opened.
  • The quiesce wait is now 5 s.

tools/ios27/modem/:

  • scion-celld: publishes pdp_ip0 to configd as a network service with PrimaryRank Last, an IPv4 entity with Router equal to the address, and a DNS entity.
  • scion-fetch and the com.scion.celltest job are for test roots only.
  • scion-bars (c.dylib in SpringBoard): shows status bar bars and the carrier name. It is on only when /private/var/local/scion-bars exists, and it turns itself off after 3 SpringBoard starts that crash.
  • 66-celld.sh is the root step.

tools/ios27/wifi/63-wifi-netservice.sh: on a fresh root, the first-boot DHCP waited about 4 minutes, because preferences.plist had no network service at all. This step writes the en0 service ahead of time.

docs/ios27/MODEM-IOS.md is updated and now includes the CommCenter shim plan (not started).

Tested off the phone: scion-celld ran against macOS configd/IPMonitor with a stand-in interface (a model, not the phone). The service was accepted, IPMonitor added a scoped default route, and the existing primary stayed primary.

…scion-celld (pdp_ip0 as a configd network service, rank Last), idle polling in the steady state, cp_rfs=1 file opens answered ENOENT; all off by default
…n before the first boot (first-boot DHCP waited ~4 min for iOS to create it)
…ellular entry from kern.hakios.cp.info, off unless /private/var/local/scion-bars; 66-celld installs it
… to come back before the modem goes to low power
…on-bars, everyday-mode behaviour; the CommCenter shim plan (not started)
…e=SELECTOR to rebuild SpringBoard's status bar data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant