Flight Mode Support for Ubuntu Touch

Registered by Tony Espy on 2013-08-09

This blueprint describes plans for supporting "Flight Mode" on Ubuntu Touch. The plan involves extending the existing urfkill daemon to support persistent settings, the concept of "Flight Mode", and the capability to control devices that don't support the standard rfkill mechanism ( eg. oFono/RILD ).

Blueprint information

Status:
Started
Approver:
Loïc Minier
Priority:
Undefined
Drafter:
Tony Espy
Direction:
Needs approval
Assignee:
Tony Espy
Definition:
New
Series goal:
Proposed for saucy
Implementation:
Started
Milestone target:
None
Started by
Tony Espy on 2013-08-28

Whiteboard

Although Ubuntu Touch currently has rudimentary support for radio controls via the current indicator-network, these controls are not sufficient for supporting "Flight Mode".

The UI design and some user experience for flight mode in system settings and indicators is covered in: https://wiki.ubuntu.com/Networking#Flight_mode

At time of writing, Ubuntu Touch images have a range of daemons indirectly talking to components with radios such as oFono, Network Manager, BlueZ, location service...

The overall approach proposed here is to leverage urfkill as a basis for controlling and persisting system flight mode state.

This entails the following:

1. Adding a DBus API for enabling/disabling flight mode.

2. Added persistence logic so that flight mode state is preserved across reboots.

3. Adding the ability to disable/enable radios that don't utilize the standard rfkill mechanism ( eg. oFono/rilmodem, some BT devices ) by requesting the desired state to the corresponding middleware.

NB: The killswitch for ofono/rilmodem is NOT the same as the NetworkManager 'WwanEnabled', which current toggles ofono/rilmodem ConnectionManager's 'Powered' property. The killswitch for device power will need to toggle the ModemManager 'Powered' property instead.

(?)

Work Items

Work items for ubuntu-13.09:
Integrate urfkilld with logind: DONE
Define Flight-Mode DBus API: DONE
Implement Flight-Mode DBus API: DONE
Create upstart job for ufrkill: DONE
Design/Implement persistence/settings logic: DONE
Implement ofono/ril flight-mode logic: TODO
Re-work ofono/ril plugin to not auto-power-up: INPROGRESS
Re-factor telepathy-ofono to not toggle modem 'Online' property: TODO
Investigate whether NM toggles modem 'Online' property: TODO
Write autopilot tests (with device simulation): TODO

This blueprint contains Public information 
Everyone can see this information.