Support for qmi
We should add support for broadband interface using QMI. In general I think it might be suitable to create new foris-controller plugin for it (same as new reForis plugin).
How it in general works is that there is device (such as serial one) and configuration in /etc/config/network
such as follows:
network.wan=interface
network.wan.proto='qmi'
network.wan.apn='internet'
network.wan.device='/dev/cdc-wdm0'
network.wan.auth='none'
network.wan.pdptype='ipv4'
should be approximately enough to configure it.
Initial problem to solve is how to detect device
. This can be in general any device but we can support only driver cdc_wdm/qmi_wwan with its naming scheme /dev/cdc-wdm*
. This also means that (although unlikely) we should support multiple devices at once as there can be multiple such devices connected/available.
In the end what should be user able to enter is:
apn
-
pdptype
with possibilitiesipv4
/ipv6
/ipv4v6
(probably as selection of two booleans) -
pincode
(this should be optional as sim card might not have pin code configured)
We should provide possibility to prefill valid apn
and pdptype
from common databases. This should be package/python library with database generated from other sources. This should be solved the same way as it is now done https://gitlab.nic.cz/turris/turris-os-packages/-/tree/master/utils/ouidb. Selection should be according to MCC + MNC (Mobile Country Code + Mobile Network Code) of sim card.
Note that this also creates new interface. It makes sense to add support so we can also add it to LAN or WAN or GUEST (although it makes sense mostly to have it in wan only). That means support for these interfaces in interfaces tab (in reForis).
It might be interesting to also think about integrating mwan3 as part of this (this can be again separate task in the end as it might make sense to have it not just with broadband connection).
(In reference to https://gitlab.nic.cz/turris/project/-/issues/108)