All of lore.kernel.org
 help / color / mirror / Atom feed
* Add Support for Sierra MC73xx
@ 2016-04-29 13:08 Martin Chaplet
  2016-04-29 15:13 ` Denis Kenzior
  0 siblings, 1 reply; 8+ messages in thread
From: Martin Chaplet @ 2016-04-29 13:08 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 9008 bytes --]

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*

[-- Attachment #2: attachment.html --]
[-- Type: text/html, Size: 12061 bytes --]

[-- Attachment #3: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Add Support for Sierra MC73xx
  2016-04-29 13:08 Add Support for Sierra MC73xx Martin Chaplet
@ 2016-04-29 15:13 ` Denis Kenzior
  2016-04-29 15:38   ` Martin Chaplet
  0 siblings, 1 reply; 8+ messages in thread
From: Denis Kenzior @ 2016-04-29 15:13 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 8635 bytes --]

Hi Martin,

On 04/29/2016 08:08 AM, Martin Chaplet wrote:
> 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)

If this is a QMI card, then setup_sierra isn't the right place for this 
detection.  It should likely be setup_gobi.

> 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

Your modem doesn't seem to want to read anything from the SIM.  So that 
is why your gprs isn't showing up.

Do you have a SIM in there or a PIN set?

Regards,
-Denis

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Add Support for Sierra MC73xx
  2016-04-29 15:13 ` Denis Kenzior
@ 2016-04-29 15:38   ` Martin Chaplet
  2016-04-29 15:44     ` Denis Kenzior
  0 siblings, 1 reply; 8+ messages in thread
From: Martin Chaplet @ 2016-04-29 15:38 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 9637 bytes --]

Hi Denis,

Thanks for your quick reply !

On 29/04/2016 17:13, Denis Kenzior wrote:
> Hi Martin,
>
> On 04/29/2016 08:08 AM, Martin Chaplet wrote:
>> 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)
>
> If this is a QMI card, then setup_sierra isn't the right place for
> this detection.  It should likely be setup_gobi.

Yes, you're right. It came from Bjørn Mork's patches who did this patch :

https://lists.ofono.org/pipermail/ofono/2013-February/014239.html

The "gobi" driver is plugged "manually" by ofono_modem_set_driver function

This card is mainly QMI but also have Diag, NMEA and AT interfaces
(ttyUSB). I think that's why he did it in setup_sierra.


>
>> 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
>
> Your modem doesn't seem to want to read anything from the SIM.  So
> that is why your gprs isn't showing up.
>
> Do you have a SIM in there or a PIN set?


OK, so I understand that Data feature is detected by scanning SIM
capabilities + chip capabilities (UMTS, LTE, ...)
Am I right ?

My SIM doesn't have PIN and I can use Standard QMI tools (libqmi) to
bring up a connection.
I will so investigate around SIM QMI requests / replies.

> Regards,
> -Denis
>
Thanks for your help,
Regards,

Martin

[-- Attachment #2: attachment.html --]
[-- Type: text/html, Size: 13566 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Add Support for Sierra MC73xx
  2016-04-29 15:38   ` Martin Chaplet
@ 2016-04-29 15:44     ` Denis Kenzior
  2016-04-29 15:53       ` Martin Chaplet
  0 siblings, 1 reply; 8+ messages in thread
From: Denis Kenzior @ 2016-04-29 15:44 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1431 bytes --]

Hi Martin,

>>
>> If this is a QMI card, then setup_sierra isn't the right place for
>> this detection.  It should likely be setup_gobi.
>
> Yes, you're right. It came from Bjørn Mork's patches who did this patch :
>
> https://lists.ofono.org/pipermail/ofono/2013-February/014239.html
>
> The "gobi" driver is plugged "manually" by ofono_modem_set_driver function
>
> This card is mainly QMI but also have Diag, NMEA and AT interfaces
> (ttyUSB). I think that's why he did it in setup_sierra.
>

What is the AT interface capable of?  Can this modem be driven using AT 
commands instead?  Would certainly be easier to debug.

>>
>> Your modem doesn't seem to want to read anything from the SIM.  So
>> that is why your gprs isn't showing up.
>>
>> Do you have a SIM in there or a PIN set?
>
>
> OK, so I understand that Data feature is detected by scanning SIM
> capabilities + chip capabilities (UMTS, LTE, ...)
> Am I right ?

Sort of.  oFono is a full telephony stack, so we expect the basics to be 
provided.  IMSI availability tells us that the SIM has been initialized 
to the point that it is useable.  E.g. PIN has been unlocked/entered.

>
> My SIM doesn't have PIN and I can use Standard QMI tools (libqmi) to
> bring up a connection.
> I will so investigate around SIM QMI requests / replies.

Are sim operations supported / working on this modem with libqmi?

Regards,
-Denis

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Add Support for Sierra MC73xx
  2016-04-29 15:44     ` Denis Kenzior
@ 2016-04-29 15:53       ` Martin Chaplet
  2016-04-29 16:01         ` Denis Kenzior
  0 siblings, 1 reply; 8+ messages in thread
From: Martin Chaplet @ 2016-04-29 15:53 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 2028 bytes --]



On 29/04/2016 17:44, Denis Kenzior wrote:
>
>>
>> This card is mainly QMI but also have Diag, NMEA and AT interfaces
>> (ttyUSB). I think that's why he did it in setup_sierra.
>>
>
> What is the AT interface capable of?  Can this modem be driven using
> AT commands instead?  Would certainly be easier to debug.

All main commands are available ( ETSI) but I don't think PPP can be used.
Additionnaly, it's a 4G modem, using PPP layer instead QMI will reduce
performances, isn't it ?

Do you mean I can use an "hybrid" mode using modem management through AT
and network through QMI ?

>
>>>
>>> Your modem doesn't seem to want to read anything from the SIM.  So
>>> that is why your gprs isn't showing up.
>>>
>>> Do you have a SIM in there or a PIN set?
>>
>>
>> OK, so I understand that Data feature is detected by scanning SIM
>> capabilities + chip capabilities (UMTS, LTE, ...)
>> Am I right ?
>
> Sort of.  oFono is a full telephony stack, so we expect the basics to
> be provided.  IMSI availability tells us that the SIM has been
> initialized to the point that it is useable.  E.g. PIN has been
> unlocked/entered.
>
OK, I see.
>>
>> My SIM doesn't have PIN and I can use Standard QMI tools (libqmi) to
>> bring up a connection.
>> I will so investigate around SIM QMI requests / replies.
>
> Are sim operations supported / working on this modem with libqmi?
Yes.
Please find few tests below

$ qmicli -d /dev/cdc-wdm0 --dms-uim-get-imsi   
[/dev/cdc-wdm0] UIM IMSI retrieved:
        IMSI: '208103790757141'

$ qmicli -d /dev/cdc-wdm0 --dms-uim-get-state
[/dev/cdc-wdm0] UIM state retrieved:
        State: 'initialization-completed'

$ qmicli -d /dev/cdc-wdm0 --dms-uim-get-pin-status
[/dev/cdc-wdm0] PIN status retrieved successfully
[/dev/cdc-wdm0] PIN1:
        Status: disabled
        Verify: 3
        Unblock: 10
[/dev/cdc-wdm0] PIN2:
        Status: enabled-not-verified
        Verify: 2
        Unblock: 10


>
> Regards,
> -Denis
>


[-- Attachment #2: attachment.html --]
[-- Type: text/html, Size: 3653 bytes --]

[-- Attachment #3: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Add Support for Sierra MC73xx
  2016-04-29 15:53       ` Martin Chaplet
@ 2016-04-29 16:01         ` Denis Kenzior
  2016-04-29 16:46           ` Martin Chaplet
  0 siblings, 1 reply; 8+ messages in thread
From: Denis Kenzior @ 2016-04-29 16:01 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 2864 bytes --]

Hi Martin,

On 04/29/2016 10:53 AM, Martin Chaplet wrote:
>
>
> On 29/04/2016 17:44, Denis Kenzior wrote:
>>
>>>
>>> This card is mainly QMI but also have Diag, NMEA and AT interfaces
>>> (ttyUSB). I think that's why he did it in setup_sierra.
>>>
>>
>> What is the AT interface capable of?  Can this modem be driven using
>> AT commands instead?  Would certainly be easier to debug.
>
> All main commands are available ( ETSI) but I don't think PPP can be used.
> Additionnaly, it's a 4G modem, using PPP layer instead QMI will reduce
> performances, isn't it ?

You definitely don't want ppp.  Besides, ppp requires 2 functional AT 
ports, and it looks like this card has just one.

Does Sierra provide network management via vendor AT commands?

>
> Do you mean I can use an "hybrid" mode using modem management through AT
> and network through QMI ?

This is quite possible as well.

>
>>
>>>>
>>>> Your modem doesn't seem to want to read anything from the SIM.  So
>>>> that is why your gprs isn't showing up.
>>>>
>>>> Do you have a SIM in there or a PIN set?
>>>
>>>
>>> OK, so I understand that Data feature is detected by scanning SIM
>>> capabilities + chip capabilities (UMTS, LTE, ...)
>>> Am I right ?
>>
>> Sort of.  oFono is a full telephony stack, so we expect the basics to
>> be provided.  IMSI availability tells us that the SIM has been
>> initialized to the point that it is useable.  E.g. PIN has been
>> unlocked/entered.
>>
> OK, I see.
>>>
>>> My SIM doesn't have PIN and I can use Standard QMI tools (libqmi) to
>>> bring up a connection.
>>> I will so investigate around SIM QMI requests / replies.
>>
>> Are sim operations supported / working on this modem with libqmi?
> Yes.
> Please find few tests below
>
> $ qmicli -d /dev/cdc-wdm0 --dms-uim-get-imsi
> [/dev/cdc-wdm0] UIM IMSI retrieved:
>          IMSI: '208103790757141'
>
> $ qmicli -d /dev/cdc-wdm0 --dms-uim-get-state
> [/dev/cdc-wdm0] UIM state retrieved:
>          State: 'initialization-completed'
>
> $ qmicli -d /dev/cdc-wdm0 --dms-uim-get-pin-status
> [/dev/cdc-wdm0] PIN status retrieved successfully
> [/dev/cdc-wdm0] PIN1:
>          Status: disabled
>          Verify: 3
>          Unblock: 10
> [/dev/cdc-wdm0] PIN2:
>          Status: enabled-not-verified
>          Verify: 2
>          Unblock: 10
>

This looks to be in agreement with what oFono is obtaining from the 
drivers/qmimodem/sim.c driver.  However, qmi_read_transparent and 
qmi_read_record don't seem to be reporting proper values.

Does libqmi actually have low-level sim read capability?

Another thing to try would be to implement read_imsi() method for 
drivers/qmimodem/sim.c.  This should get you to the point where gprs is 
initialized even if all low-level reads from the SIM fail.

Regards,
-Denis

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Add Support for Sierra MC73xx
  2016-04-29 16:01         ` Denis Kenzior
@ 2016-04-29 16:46           ` Martin Chaplet
  2016-04-29 17:15             ` Martin Chaplet
  0 siblings, 1 reply; 8+ messages in thread
From: Martin Chaplet @ 2016-04-29 16:46 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 3883 bytes --]

Hi Denis

On 29/04/2016 18:01, Denis Kenzior wrote:
> Hi Martin,
>
> On 04/29/2016 10:53 AM, Martin Chaplet wrote:
>>
>>
>> On 29/04/2016 17:44, Denis Kenzior wrote:
>>>
>>>>
>>>> This card is mainly QMI but also have Diag, NMEA and AT interfaces
>>>> (ttyUSB). I think that's why he did it in setup_sierra.
>>>>
>>>
>>> What is the AT interface capable of?  Can this modem be driven using
>>> AT commands instead?  Would certainly be easier to debug.
>>
>> All main commands are available ( ETSI) but I don't think PPP can be
>> used.
>> Additionnaly, it's a 4G modem, using PPP layer instead QMI will reduce
>> performances, isn't it ?
>
> You definitely don't want ppp.  Besides, ppp requires 2 functional AT
> ports, and it looks like this card has just one.
>
> Does Sierra provide network management via vendor AT commands?

As the modem support FOTA auto update feature, I assume they must exist.
I will take a look at the manuals.

>
>>
>> Do you mean I can use an "hybrid" mode using modem management through AT
>> and network through QMI ?
>
> This is quite possible as well.
>
>>
>>>
>>>>>
>>>>> Your modem doesn't seem to want to read anything from the SIM.  So
>>>>> that is why your gprs isn't showing up.
>>>>>
>>>>> Do you have a SIM in there or a PIN set?
>>>>
>>>>
>>>> OK, so I understand that Data feature is detected by scanning SIM
>>>> capabilities + chip capabilities (UMTS, LTE, ...)
>>>> Am I right ?
>>>
>>> Sort of.  oFono is a full telephony stack, so we expect the basics to
>>> be provided.  IMSI availability tells us that the SIM has been
>>> initialized to the point that it is useable.  E.g. PIN has been
>>> unlocked/entered.
>>>
>> OK, I see.
>>>>
>>>> My SIM doesn't have PIN and I can use Standard QMI tools (libqmi) to
>>>> bring up a connection.
>>>> I will so investigate around SIM QMI requests / replies.
>>>
>>> Are sim operations supported / working on this modem with libqmi?
>> Yes.
>> Please find few tests below
>>
>> $ qmicli -d /dev/cdc-wdm0 --dms-uim-get-imsi
>> [/dev/cdc-wdm0] UIM IMSI retrieved:
>>          IMSI: '208103790757141'
>>
>> $ qmicli -d /dev/cdc-wdm0 --dms-uim-get-state
>> [/dev/cdc-wdm0] UIM state retrieved:
>>          State: 'initialization-completed'
>>
>> $ qmicli -d /dev/cdc-wdm0 --dms-uim-get-pin-status
>> [/dev/cdc-wdm0] PIN status retrieved successfully
>> [/dev/cdc-wdm0] PIN1:
>>          Status: disabled
>>          Verify: 3
>>          Unblock: 10
>> [/dev/cdc-wdm0] PIN2:
>>          Status: enabled-not-verified
>>          Verify: 2
>>          Unblock: 10
>>
>
> This looks to be in agreement with what oFono is obtaining from the
> drivers/qmimodem/sim.c driver.  However, qmi_read_transparent and
> qmi_read_record don't seem to be reporting proper values.
>
> Does libqmi actually have low-level sim read capability?

Yes, it seems so :

$ qmicli -d /dev/cdc-wdm0 --help-uim
UIM options
 
--uim-read-transparent=[0xNNNN,0xNNNN,...]                                           
Read a transparent file given the file path
 
--uim-get-file-attributes=[0xNNNN,0xNNNN,...]                                        
Get the attributes of a given file
 
--uim-get-card-status                                                                
Get card status
 
--uim-reset                                                                          
Reset the service state
  --uim-noop   

I'm not used to QMI but I will try to compare libqmi and ofono's
read_transparent implementations.

>
> Another thing to try would be to implement read_imsi() method for
> drivers/qmimodem/sim.c.  This should get you to the point where gprs
> is initialized even if all low-level reads from the SIM fail.

It seems a great idea.

Thanks a lot for you help Denis,

Best regards,

Martin


[-- Attachment #2: attachment.html --]
[-- Type: text/html, Size: 6504 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Add Support for Sierra MC73xx
  2016-04-29 16:46           ` Martin Chaplet
@ 2016-04-29 17:15             ` Martin Chaplet
  0 siblings, 0 replies; 8+ messages in thread
From: Martin Chaplet @ 2016-04-29 17:15 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1522 bytes --]



On 29/04/2016 18:46, Martin Chaplet wrote:
>
>>
>> Does libqmi actually have low-level sim read capability?
>
> Yes, it seems so :
>
> $ qmicli -d /dev/cdc-wdm0 --help-uim
> UIM options
>  
> --uim-read-transparent=[0xNNNN,0xNNNN,...]                                           
> Read a transparent file given the file path
>  
> --uim-get-file-attributes=[0xNNNN,0xNNNN,...]                                        
> Get the attributes of a given file
>  
> --uim-get-card-status                                                                
> Get card status
>  
> --uim-reset                                                                          
> Reset the service state
>   --uim-noop   
>
> I'm not used to QMI but I will try to compare libqmi and ofono's
> read_transparent implementations.
>
>>
>> Another thing to try would be to implement read_imsi() method for
>> drivers/qmimodem/sim.c.  This should get you to the point where gprs
>> is initialized even if all low-level reads from the SIM fail.
>
> It seems a great idea.
>
>

It's an excellent idea !
Looking for read_imsi implementation, I found qmimodem-legacy which fit
prefectly to my modem.
After a few fix because first Sierra net interface is buggy (wwan0), I'm
now enable to use fully "Connman - ofono"  features

I will try to cleanup my work, find a way to force use of
qmimodem-legacy for this Sierra chip and submit all these modifications.

Thanks again Denis

Best regards,

Martin


[-- Attachment #2: attachment.html --]
[-- Type: text/html, Size: 2420 bytes --]

[-- Attachment #3: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-04-29 17:15 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-29 13:08 Add Support for Sierra MC73xx Martin Chaplet
2016-04-29 15:13 ` Denis Kenzior
2016-04-29 15:38   ` Martin Chaplet
2016-04-29 15:44     ` Denis Kenzior
2016-04-29 15:53       ` Martin Chaplet
2016-04-29 16:01         ` Denis Kenzior
2016-04-29 16:46           ` Martin Chaplet
2016-04-29 17:15             ` Martin Chaplet

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.