Hi everybody,


I'm trying to use MC7304 chip with ofono (yes, exactly like Dirk Meul few months ago).

It's a QMI-interfaced GSM.
I've used
Bjørn Mork's patches and with a little hack in setup_sierra (forcing qmi device name), the modem is "detected" and initialized.
... But the "gprs" feature is not detected !

I'm a newbie on ofono project ... Can anyone can explain me how the features detection is done please ?

FYI, Please find below ofono debug log :


ofonod[1110]: src/modem.c:ofono_modem_create() name: (null), type: sierra
ofonod[1110]: plugins/udevng.c:setup_sierra() /sys/devices/soc0/soc.0/2100000.aips-bus/2184000.usb/ci_hdrc.0/usb1/1-1
ofonod[1110]: plugins/udevng.c:setup_sierra() /dev/ttyUSB0 255/255/255 00 (null)
ofonod[1110]: plugins/udevng.c:setup_sierra() /dev/ttyUSB1 255/0/0 02 (null)
ofonod[1110]: plugins/udevng.c:setup_sierra() /dev/ttyUSB2 255/0/0 03 (null)
ofonod[1110]: plugins/udevng.c:setup_sierra() wwan0 255/255/255 08 (null)
ofonod[1110]: plugins/udevng.c:setup_sierra() wwan1 255/255/255 0a (null)
ofonod[1110]: plugins/udevng.c:setup_sierra() wwan2 255/255/255 0b (null)
ofonod[1110]: src/modem.c:ofono_modem_set_driver() type: gobi
ofonod[1110]: plugins/udevng.c:setup_sierra() modem=/dev/ttyUSB2 app=(null) net=wwan0 diag=/dev/ttyUSB0 qmi=/dev/cdc-wdm1
ofonod[1110]: src/modem.c:set_modem_property() modem 0x20d4d28 property Device
ofonod[1110]: src/modem.c:set_modem_property() modem 0x20d4d28 property Modem
ofonod[1110]: src/modem.c:set_modem_property() modem 0x20d4d28 property App
ofonod[1110]: src/modem.c:set_modem_property() modem 0x20d4d28 property Diag
ofonod[1110]: src/modem.c:set_modem_property() modem 0x20d4d28 property NetworkInterface
ofonod[1110]: src/modem.c:ofono_modem_register() 0x20d4d28
ofonod[1110]: plugins/gobi.c:gobi_probe() 0x20d4d28
ofonod[1110]: src/modem.c:emit_modem_added() 0x20d4d28
ofonod[1110]: src/modem.c:call_modemwatches() 0x20d4d28 added:1
ofonod[1110]: plugins/smart-messaging.c:modem_watch() modem: 0x20d4d28, added: 1
ofonod[1110]: plugins/push-notification.c:modem_watch() modem: 0x20d4d28, added: 1
ofonod[1110]: plugins/gobi.c:gobi_enable() 0x20d4d28
ofonod[1110]: src/modem.c:get_modem_property() modem 0x20d4d28 property Device
ofonod[1110]: plugins/gobi.c:discover_cb()
ofonod[1110]: plugins/gobi.c:discover_cb() WDS 1.36
ofonod[1110]: plugins/gobi.c:discover_cb() DMS 1.14
ofonod[1110]: plugins/gobi.c:discover_cb() NAS 1.25
ofonod[1110]: plugins/gobi.c:discover_cb() QOS 1.3
ofonod[1110]: plugins/gobi.c:discover_cb() WMS 1.10
ofonod[1110]: plugins/gobi.c:discover_cb() PDS 1.0
ofonod[1110]: plugins/gobi.c:discover_cb() AUTH 1.2
ofonod[1110]: plugins/gobi.c:discover_cb() AT 1.2
ofonod[1110]: plugins/gobi.c:discover_cb() VOICE 2.1
ofonod[1110]: plugins/gobi.c:discover_cb() CAT 2.16
ofonod[1110]: plugins/gobi.c:discover_cb() UIM 1.25
ofonod[1110]: plugins/gobi.c:discover_cb() PBM 1.4
ofonod[1110]: plugins/gobi.c:discover_cb() SAR 1.0
ofonod[1110]: plugins/gobi.c:discover_cb() (null) 1.0
ofonod[1110]: plugins/gobi.c:discover_cb() TS 1.0
ofonod[1110]: plugins/gobi.c:discover_cb() TMS 1.0
ofonod[1110]: plugins/gobi.c:discover_cb() (null) 1.10
ofonod[1110]: plugins/gobi.c:discover_cb() (null) 1.0
ofonod[1110]: plugins/gobi.c:discover_cb() (null) 1.0
ofonod[1110]: plugins/gobi.c:discover_cb() (null) 1.0
ofonod[1110]: plugins/gobi.c:discover_cb() (null) 1.0
ofonod[1110]: plugins/gobi.c:discover_cb() (null) 1.0
ofonod[1110]: plugins/gobi.c:discover_cb() (null) 1.0
ofonod[1110]: plugins/gobi.c:create_dms_cb()
ofonod[1110]: plugins/gobi.c:get_caps_cb()
ofonod[1110]: plugins/gobi.c:get_caps_cb() service capabilities 4
ofonod[1110]: plugins/gobi.c:get_caps_cb() sim supported 2
ofonod[1110]: plugins/gobi.c:get_caps_cb() radio = 4
ofonod[1110]: plugins/gobi.c:get_caps_cb() radio = 5
ofonod[1110]: plugins/gobi.c:get_caps_cb() radio = 8
ofonod[1110]: plugins/gobi.c:get_oper_mode_cb()
ofonod[1110]: src/modem.c:modem_change_state() old state: 0, new state: 1
ofonod[1110]: plugins/gobi.c:gobi_pre_sim() 0x20d4d28
ofonod[1110]: drivers/qmimodem/devinfo.c:qmi_devinfo_probe()
ofonod[1110]: drivers/qmimodem/sim.c:qmi_sim_probe()
ofonod[1110]: drivers/qmimodem/voicecall.c:qmi_voicecall_probe()
ofonod[1110]: drivers/qmimodem/location-reporting.c:qmi_location_reporting_probe()
ofonod[1110]: drivers/qmimodem/devinfo.c:create_dms_cb()
ofonod[1110]: drivers/qmimodem/devinfo.c:qmi_query_manufacturer()
ofonod[1110]: drivers/qmimodem/voicecall.c:create_voice_cb()
ofonod[1110]: drivers/qmimodem/sim.c:create_uim_cb()
ofonod[1110]: drivers/qmimodem/location-reporting.c:create_pds_cb()
ofonod[1110]: drivers/qmimodem/devinfo.c:string_cb()
ofonod[1110]: drivers/qmimodem/devinfo.c:qmi_query_model()
ofonod[1110]: drivers/qmimodem/sim.c:event_registration_cb()
ofonod[1110]: drivers/qmimodem/sim.c:event_registration_cb() event mask 0x0003
ofonod[1110]: drivers/qmimodem/location-reporting.c:set_event_cb()
ofonod[1110]: drivers/qmimodem/devinfo.c:string_cb()
ofonod[1110]: drivers/qmimodem/devinfo.c:qmi_query_revision()
ofonod[1110]: drivers/qmimodem/sim.c:get_card_status_cb()
ofonod[1110]: src/sim.c:ofono_sim_add_state_watch() 0x20d9aa0
ofonod[1110]: src/sim.c:ofono_sim_add_state_watch() 0x20d9aa0
ofonod[1110]: src/sim.c:ofono_sim_add_state_watch() 0x20d9aa0
ofonod[1110]: drivers/qmimodem/sim.c:get_card_status_cb() ofono_sim_register OK
ofonod[1110]: drivers/qmimodem/sim.c:get_card_status_cb() exit func
ofonod[1110]: drivers/qmimodem/sim.c:qmi_read_attributes() file id 0x6fb7 path len 0
ofonod[1110]: drivers/qmimodem/devinfo.c:string_cb()
ofonod[1110]: drivers/qmimodem/devinfo.c:qmi_query_serial()
ofonod[1110]: drivers/qmimodem/sim.c:get_file_attributes_cb()
ofonod[1110]: src/voicecall.c:ecc_g2_read_cb() 0
ofonod[1110]: drivers/qmimodem/sim.c:qmi_read_attributes() file id 0x6fb7 path len 0
ofonod[1110]: drivers/qmimodem/devinfo.c:get_ids_cb()
ofonod[1110]: drivers/qmimodem/sim.c:get_file_attributes_cb()
ofonod[1110]: src/voicecall.c:ecc_g3_read_cb() 0
ofonod[1110]: drivers/qmimodem/sim.c:qmi_read_attributes() file id 0x2fe2 path len 0
ofonod[1110]: drivers/qmimodem/sim.c:get_file_attributes_cb()
ofonod[1110]: drivers/qmimodem/sim.c:qmi_read_transparent() file id 0x2fe2 path len 0
ofonod[1110]: drivers/qmimodem/sim.c:read_generic_cb()
ofonod[1110]: src/simfs.c:sim_fs_op_read_block_cb() bufoff: 0, dataoff: 0, tocopy: 10
ofonod[1110]: drivers/qmimodem/sim.c:qmi_read_attributes() file id 0x6f05 path len 0
ofonod[1110]: drivers/qmimodem/sim.c:get_file_attributes_cb()
ofonod[1110]: drivers/qmimodem/sim.c:qmi_read_attributes() file id 0x2f05 path len 0
ofonod[1110]: drivers/qmimodem/sim.c:get_file_attributes_cb()
ofonod[1110]: drivers/qmimodem/sim.c:qmi_read_transparent() file id 0x2f05 path len 0
ofonod[1110]: drivers/qmimodem/sim.c:read_generic_cb()
ofonod[1110]: src/simfs.c:sim_fs_op_read_block_cb() bufoff: 0, dataoff: 0, tocopy: 10
ofonod[1110]: drivers/qmimodem/sim.c:qmi_query_passwd_state() passwd state 0
ofonod[1110]: src/sim.c:sim_pin_query_cb() sim->pin_type: 0, pin_type: 0
ofonod[1110]: drivers/qmimodem/sim.c:qmi_query_pin_retries() passwd state 0
ofonod[1110]: drivers/qmimodem/sim.c:qmi_read_attributes() file id 0x6fae path len 0
ofonod[1110]: drivers/qmimodem/sim.c:qmi_read_attributes() file id 0x6fad path len 0
ofonod[1110]: drivers/qmimodem/sim.c:get_file_attributes_cb()
ofonod[1110]: drivers/qmimodem/sim.c:qmi_read_attributes() file id 0x6f16 path len 0
ofonod[1110]: drivers/qmimodem/sim.c:get_file_attributes_cb()
ofonod[1110]: drivers/qmimodem/sim.c:qmi_read_attributes() file id 0x6f38 path len 0
ofonod[1110]: drivers/qmimodem/sim.c:get_file_attributes_cb()
ofonod[1110]: drivers/qmimodem/sim.c:qmi_read_transparent() file id 0x6f07 path len 0
ofonod[1110]: drivers/qmimodem/sim.c:read_generic_cb()
ofonod[1110]: Unable to read IMSI, emergency calls only

and the result of list-modem test script :

/usr/lib/ofono/test # ./list-modems
[ /sierra_1 ]
    Features = sim gps
    Emergency = 0
    Powered = 1
    Lockdown = 0
    Interfaces = org.ofono.SimManager org.ofono.LocationReporting org.ofono.VoiceCallManager
    Online = 0
    Model = MC7304
    Revision = SWI9X15C_05.05.58.00 r27038 carmd-fwbuild1 2015/03/04 21:30:23
    Type = hardware
    Serial = 0
    Manufacturer = Sierra Wireless, Incorporated
    [ org.ofono.SimManager ]
        Retries = [pin2 = 2] [puk2 = 10] [pin = 3] [puk = 10]
        FixedDialing = 0
        SubscriberNumbers =
        PreferredLanguages = fr en de es it
        BarredDialing = 0
        CardIdentifier = 89331037150919602451
        LockedPins =
        PinRequired = none
        Present = 1
    [ org.ofono.LocationReporting ]
        Type = nmea
        Enabled = 0
    [ org.ofono.VoiceCallManager ]
        EmergencyNumbers = 08 000 999 110 112 911 118 119





Thanks for your help,

--
Martin