Hi Rohit,
On 07/04/17 21:16, Rohit Agrawal wrote:
> Hi Folks,
>
> I am new to ofono. Can you please list down the steps to test ofono on
> MediaTek and Qualcomm Modem.
> I have got MediaTek and Qualcomm boards with me. What are the necessary
> arrangements I need to do in order
> to test ofono on these boards. MediaTek board comes with vendor-ril.so and as
> per ofono documentation it talks to RILD
> over unix socket interface. How exactly the flow happens. Can any one
> explain to me ?
>
> How about Qualcomm modem ? Ofono talks through qmi, is this through qmi_wwan
> driver ? If yes so can someone
> please throw the light on the flow for Qualcomm modem too ?
I can try to explain the process, which I went through myself a short while ago
with a Telit/Qualcomm QMI modem.
1. You need to look at plugins/udevng.c
- the first important structure is: struct vendor_list[] - it assigns ofono
driver name to udev devices, based on linux driver name, and vendor/product IDs
- the second one is: struct driver_list[] - it matches ofono driver name to a
setup function
- then you go to a setup function - for my modem, I had to create
setup_telitqmi() - my modem creates several devices: qmi_wwan, cdc-wdm, and a
bunch of usb-serial "option" adapters. You have to filter the ones which are
required, based on device/subsystem IDs - for QMI, you need the qmi_wwan and
cdc ones.
2. Plugin file
- Most QMI modems should behave quite similarly to each other. A generic plugin
for them is plugins/gobi.c
- I selected it in udevng.c:setup_telitqmi() by doing this:
ofono_modem_set_driver(modem->modem, "gobi");
- Additionally, my modem required setting two optional flags, to go through
slightly different code paths:
ofono_modem_set_boolean(modem->modem, "ForceSimLegacy", TRUE);
ofono_modem_set_boolean(modem->modem, "AlwaysOnline", TRUE);
Other QMI modems may or may not need those.
3. Driver
- The gobi plugin will instantiate the main driver code in: drivers/qmimodem.c
If you are lucky, and your modem is not too different to other QMI ones, you
will only need to add your vendor/product/device IDs to udevng.c
Hope this helps.
Lukasz
>
> -Best Regards,
> Rohit Agrawal
>
>
> _______________________________________________
> ofono mailing list
> [email protected]
> https://lists.ofono.org/mailman/listinfo/ofono
>
_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono