[Replicant] QMI-RIL

Josh Branning lovell.joshyyy at gmail.com
Thu Mar 15 15:38:18 UTC 2018


On 14/03/18 17:59, Denis 'GNUtoo' Carikli wrote:
> On Tue, 13 Mar 2018 00:20:32 +0000
> Josh Branning <lovell.joshyyy at gmail.com> wrote:
>
>> Hi,
> Hi,

Thank you for your reply Denis.

>
>> looks as if it has support for sending AT commands to a
>> QMI modem.
> I'm not sure that AT commands are the best idea to talk to Qualcomm
> modems. The DIAG interface might be more appropriate. ModemManager
> might support that interface too probably through libqmi.

Possibly. Though when I looked at the code for making calls for 
ModemManager, I found it linked back to AT commands.

>
>> Just a quick message to say that if you are not already aware,
>> ModemManager
> ModemManager probably uses libqmi to support Qualcomm modems. I think
> that Woflgang is using libqmi in qmi-ril[1]. So I would guess that he is
> already aware of hardware support software that uses libqmi.

Perhaps, but voice and SMS is thus far incomplete in qmi-ril, and I have 
thus far struggled to find a working example of such using libqmi.

>
> == Using ModemManager or higher level hardware software support ? ==
> I don't know if it makes sense architecturally speaking, to interface
> ModemManager with the Android RIL interface.

No, I agree, but it's easier to write code if you have a prototype, or a 
working example to base the code off of.

>However I see many
> advantages in using GNU/Linux hardware support software[2].
>
> Looking at existing GNU/Linux implementation of the protocol, and
> being able to reuse as much as possible of the stack is a really good
> idea. I've started documenting the rationale behind using upstream
> GNU/Linux software that makes hardware work (instead of upstream
> Android for that) in the wiki[2].
>
> However, if it's faster to make it work with qmi-ril and libqmi, it
> might be more strategic to do that now, and maybe consider interfacing
> higher level GNU/Linux hardware support software to the Android RIL
> later on.
>
> I also don't know the state of the such software in GNU/Linux: I've no
> idea if ModemManager is the most adapted framework for that. I also
> don't know which one has the most hardware support and contributions.
> I also don't know where most of them[3] are in the stack, and the
> amount of things they do and do not do. Do they take care of audio
> routing for instance?
>
>  From the top of my head, the following projects might or might not be
> involved with modems support in GNU/Linux, at various levels of the
> stack:
> - Ofono: Only support(ed?) modems.
> - Freesmartphone.org (doesn't seem to have much activity anymore): Full
>    stack with modem support, power management(display, input, audio,
>    etc), GPS, etc...
> - libqmi
> - ModemManager
> - NetworkManager
> - Many other projects that I am probably not aware of.

Thank you for mentioning these, I may look at the code and see if any 
implement DIAG calling.

>
> == Testing ModemManager (or other equivalent software) ==
>> Though I am not sure if in practice it can make calls. It
>> would be nice to test.
> To test, you could try to port/compile ModemManager to run on Android.
> If this is not possible, you could try exporting the modem USB to the
> connector: There might be a chip which can switch between the USB of
> the processor running Android, its serial port, and some modem
> interface like USB. If this still doesn't work you could try adding
> support for the i9305 in upstream Linux: The i9300 is already supported
> (in arch/arm/boot/dts/exynos4412-trats2.dts) but I didn't check if
> there is a driver for the modem.
>
> References:
> -----------
> [1]git://git.replicant.us/wiewo/qmi-ril
> [2]https://redmine.replicant.us/projects/replicant/wiki/Upstream
> [3]I only looked at ofono and Freesmartphone.org.
>
> Denis.
>

Thanks again,

Josh


More information about the Replicant mailing list