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

Reply via email to