Summer of Pinephone: Week 10

Welcome to week 10, in which my Pinephone can now make phone calls without needing any external configuration. Up until Friday, I would have to ssh into the phone and run a sequence of commands to get it ready for calling. I would even have to launch mowc, the Wayland compositor, manually. This is no longer the case: I can now power on the phone, press a button to turn on the modem, wait 19 seconds for the modem to boot, and make a phone call. I will explain what I did to automate the setup:

Firstly, rather than running getty on tty1, we simply launch mowc, using the -t flag on swc-launch. This way the compositor starts on boot.

Whenever, we toggle the modem on in the compositor overlay panel, we wait for the modem to start up (19 seconds), then launch atd and calld.

atd now has the ability to run commands on startup, so to get caller info on RING, we run AT+CLIP=1.

Finally, to set up audio to and from the modem, calld toggles some ALSA switches when the call is activated or deactivated.

The control panel now has a brightness slider, although there is no "slider" to give visual feedback on what the relative brightness level is.

The keyboard layouts have gotten a massive facelift, and some of the semantics of the keyboard have been changed to make it act more like iOS or Android. The shift key now works, meaning the terminal is actually somewhat usable.

Many many subtle bugs with the interface were squashed, and many probably remain. I will fix them as they manifest.

Next stop: SMS.