On 07/04/17 21:16, Rohit Agrawal wrote:
I am new to ofono. Can you please list down the steps to test ofono on MediaTek and
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
- 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
- I selected it in udevng.c:setup_telitqmi() by doing this:
- 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.
- 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.
ofono mailing list