All of lore.kernel.org
 help / color / mirror / Atom feed
* Ofono with Sagem Hilo GPRS
@ 2010-06-01 14:46 Bouteille Yoann
  2010-06-01 19:11 ` Denis Kenzior
  0 siblings, 1 reply; 8+ messages in thread
From: Bouteille Yoann @ 2010-06-01 14:46 UTC (permalink / raw)
  To: ofono

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

Hi,
I'am trying to work with the Ofono stack in our development around Sagem Hilo GPRS hardware (SAGEM HiC,A.005.00).
So I git the sources, make and install it, configure to use the atgen plugin and the atmodem driver.
Then I try to execute some tests' scripts :
  enable-modem
  enter-pin
  list-modems
At this time I get :
[ /generic ]
    Powered = 1
    Interfaces = org.ofono.VoiceCallManager org.ofono.SimManager
    Online = 0
    Model = HILO GPRS
    Manufacturer = SAGEM
    Serial = 352218039849049
    Revision = SAGEM HiC,A.005.00
    [ org.ofono.VoiceCallManager ]
        EmergencyNumbers = 119 118 999 110 08 000 911 112
        MultipartyCalls =
        Calls =
    [ org.ofono.SimManager ]
        SubscriberNumbers =
        PreferredLanguages = fr
        CardIdentifier = 89330118214678482630
        LockedPins = pin
        PinRequired = none
        Present = 1
=> and enter in infinite loop :
ofonod[3221]: src/modem.c:get_modem_property() modem 0x8142058 property status-poll-interval
ofonod[3221]: > AT+CSIM=8,A0F200C0\r
ofonod[3221]: < AT+CSIM=8,A0F200C0\r\r\n+CME ERROR: 3\r\n

Then if i disable and enable the modem again I get all the Interfaces for a short time :
[ /generic ]
    Powered = 1
 
  Interfaces = org.ofono.NetworkRegistration org.ofono.Phonebook
org.ofono.CallMeter org.ofono.SupplementaryServices
org.ofono.CallBarring org.ofono.CallSettings org.ofono.CallForwarding
org.ofono.MessageWaiting org.ofono.VoiceCallManager org.ofono.SimManager
    Online = 1
    Model = HILO GPRS
    Manufacturer = SAGEM
    Serial = 352218039849049
    Revision = SAGEM HiC,A.005.00
    [ org.ofono.NetworkRegistration ]
        Status = registered
        Strength = 75
        Name = Orange F
        Operators = /generic/operator/20801
        LocationAreaCode = 12818
        Mode = auto
        CellId = 7965
    [ org.ofono.Phonebook ]
    [ org.ofono.CallMeter ]
    [ org.ofono.SupplementaryServices ]
        State = idle
    [ org.ofono.CallBarring ]
    [ org.ofono.CallSettings ]
    [ org.ofono.CallForwarding ]
    [ org.ofono.MessageWaiting ]
    [ org.ofono.VoiceCallManager ]
        EmergencyNumbers = 119 118 999 110 08 000 911 112
        MultipartyCalls =
        Calls =
    [ org.ofono.SimManager ]
        Present = 0

but after a while I get Online=0 and only the 2 Interfaces SimManager (Present=0 ???) and VoiceCallManager (Emergency call) :
[ /generic ]
    Powered = 1
    Interfaces = org.ofono.VoiceCallManager org.ofono.SimManager
    Online = 0
    Model = HILO GPRS
    Manufacturer = SAGEM
    Serial = 352218039849049
    Revision = SAGEM HiC,A.005.00
    [ org.ofono.VoiceCallManager ]
        EmergencyNumbers = 119 118 999 110 08 000 911 112
        MultipartyCalls =
        Calls =
    [ org.ofono.SimManager ]
        Present = 0

I put the debug log in attached file and the sequence scripts.

Is there the right way to manage ofono working with my Sagem Modem ?

Regards,
Yoann



      

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

[-- Attachment #3: debug.log --]
[-- Type: text/plain, Size: 2881 bytes --]

prooftag@prooftag-laptop:~/Dev/GSM/ofono/ofono/test$ ./enable-modem 
Connecting modem /generic...
prooftag@prooftag-laptop:~/Dev/GSM/ofono/ofono/test$ ./list-modems 
[ /generic ]
    Powered = 1
    Interfaces = org.ofono.VoiceCallManager org.ofono.SimManager 
    Online = 0
    Model = HILO GPRS
    Manufacturer = SAGEM
    Serial = 352218039849049
    Revision = SAGEM HiC,A.005.00
    [ org.ofono.VoiceCallManager ]
        EmergencyNumbers = 119 118 999 110 08 000 911 112 
        MultipartyCalls = 
        Calls = 
    [ org.ofono.SimManager ]
        SubscriberNumbers = 
        PreferredLanguages = fr 
        CardIdentifier = 89330118214678482630
        LockedPins = pin 
        PinRequired = pin
        Present = 1

prooftag@prooftag-laptop:~/Dev/GSM/ofono/ofono/test$ ./enter-pin pin 0000
Enter Pin for modem /generic...
prooftag@prooftag-laptop:~/Dev/GSM/ofono/ofono/test$ ./list-modems 
[ /generic ]
    Powered = 1
    Interfaces = org.ofono.VoiceCallManager org.ofono.SimManager 
    Online = 0
    Model = HILO GPRS
    Manufacturer = SAGEM
    Serial = 352218039849049
    Revision = SAGEM HiC,A.005.00
    [ org.ofono.VoiceCallManager ]
        EmergencyNumbers = 119 118 999 110 08 000 911 112 
        MultipartyCalls = 
        Calls = 
    [ org.ofono.SimManager ]
        SubscriberNumbers = 
        PreferredLanguages = fr 
        CardIdentifier = 89330118214678482630
        LockedPins = pin 
        PinRequired = none
        Present = 1

prooftag@prooftag-laptop:~/Dev/GSM/ofono/ofono/test$ ./disable-modem 
Disconnecting modem /generic...
prooftag@prooftag-laptop:~/Dev/GSM/ofono/ofono/test$ ./enable-modem 
Connecting modem /generic...
prooftag@prooftag-laptop:~/Dev/GSM/ofono/ofono/test$ ./list-modems 
[ /generic ]
    Powered = 1
    Interfaces = org.ofono.NetworkRegistration org.ofono.Phonebook org.ofono.CallMeter org.ofono.SupplementaryServices org.ofono.CallBarring org.ofono.CallSettings org.ofono.CallForwarding org.ofono.MessageWaiting org.ofono.VoiceCallManager org.ofono.SimManager 
    Online = 1
    Model = HILO GPRS
    Manufacturer = SAGEM
    Serial = 352218039849049
    Revision = SAGEM HiC,A.005.00
    [ org.ofono.NetworkRegistration ]
        Status = registered
        Strength = 75
        Name = Orange F
        Operators = /generic/operator/20801 
        LocationAreaCode = 12818
        Mode = auto
        CellId = 44737
    [ org.ofono.Phonebook ]
    [ org.ofono.CallMeter ]
    [ org.ofono.SupplementaryServices ]
        State = idle
    [ org.ofono.CallBarring ]
    [ org.ofono.CallSettings ]
    [ org.ofono.CallForwarding ]
    [ org.ofono.MessageWaiting ]
    [ org.ofono.VoiceCallManager ]
        EmergencyNumbers = 119 118 999 110 08 000 911 112 
        MultipartyCalls = 
        Calls = 
    [ org.ofono.SimManager ]
        Present = 0

prooftag@prooftag-laptop:~/Dev/GSM/ofono/ofono/test$ 

[-- Attachment #4: test.log --]
[-- Type: text/plain, Size: 22598 bytes --]

prooftag@prooftag-laptop:~/Dev/usr$ ./sbin/ofonod -n -d '*'
ofonod[3253]: oFono version 0.21
ofonod[3253]: src/plugin.c:__ofono_plugin_init() 
ofonod[3253]: src/modem.c:ofono_modem_driver_register() driver: 0x80d1500, name: ste
ofonod[3253]: src/modem.c:ofono_modem_driver_register() driver: 0x80d14a0, name: palmpre
ofonod[3253]: src/modem.c:ofono_modem_driver_register() driver: 0x80d1380, name: novatel
ofonod[3253]: src/modem.c:ofono_modem_driver_register() driver: 0x80d1320, name: em770
ofonod[3253]: src/modem.c:ofono_modem_driver_register() driver: 0x80d12c0, name: huawei
ofonod[3253]: src/modem.c:ofono_modem_driver_register() driver: 0x80d1260, name: hso
ofonod[3253]: src/modem.c:ofono_modem_driver_register() driver: 0x80d1200, name: mbm
ofonod[3253]: src/modem.c:ofono_modem_driver_register() driver: 0x80d11a0, name: calypso
ofonod[3253]: src/modem.c:ofono_modem_driver_register() driver: 0x80d1140, name: wavecom
ofonod[3253]: src/modem.c:ofono_modem_driver_register() driver: 0x80d10e0, name: g1
ofonod[3253]: src/modem.c:ofono_modem_driver_register() driver: 0x80d1080, name: atgen
ofonod[3253]: src/modem.c:ofono_modem_driver_register() driver: 0x80d1020, name: phonesim
ofonod[3253]: src/modem.c:ofono_modem_create() name: generic, type: atgen
ofonod[3253]: src/modem.c:set_modem_property() modem 0x9ac4058 property Device
ofonod[3253]: src/modem.c:set_modem_property() modem 0x9ac4058 property Baud
ofonod[3253]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0x80d0f60, name: stemodem
ofonod[3253]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0x80d0fa4, name: stemodem
ofonod[3253]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0x80d0f10, name: hso
ofonod[3253]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0x80d0eb8, name: mbm
ofonod[3253]: src/stk.c:ofono_stk_driver_register() driver: 0x80d0edc, name: mbmmodem
ofonod[3253]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0x80d0de0, name: hfpmodem
ofonod[3253]: src/network.c:ofono_netreg_driver_register() driver: 0x80d0e40, name: hfpmodem
ofonod[3253]: src/call-volume.c:ofono_call_volume_driver_register() driver: 0x80d0e78, name: hfpmodem
ofonod[3253]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0x80d0d80, name: calypsomodem
ofonod[3253]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0x80d0c40, name: atmodem
ofonod[3253]: src/modem.c:ofono_devinfo_driver_register() driver: 0x80d0ce8, name: atmodem
ofonod[3253]: src/call-barring.c:ofono_call_barring_driver_register() driver: 0x80d0c94, name: atmodem
ofonod[3253]: src/call-forwarding.c:ofono_call_forwarding_driver_register() driver: 0x80d0aa0, name: atmodem
ofonod[3253]: src/call-meter.c:ofono_call_meter_driver_register() driver: 0x80d0ae0, name: atmodem
ofonod[3253]: src/call-settings.c:ofono_call_settings_driver_register() driver: 0x80d09e0, name: atmodem
ofonod[3253]: src/phonebook.c:ofono_phonebook_driver_register() driver: 0x80d0cb4, name: atmodem
ofonod[3253]: src/ssn.c:ofono_ssn_driver_register() driver: 0x80d0cdc, name: atmodem
ofonod[3253]: src/ussd.c:ofono_ussd_driver_register() driver: 0x80d0c20, name: atmodem
ofonod[3253]: src/sms.c:ofono_sms_driver_register() driver: 0x80d0a28, name: atmodem
ofonod[3253]: src/sim.c:ofono_sim_driver_register() driver: 0x80d0ba0, name: atmodem
ofonod[3253]: src/stk.c:ofono_stk_driver_register() driver: 0x80d0bfc, name: atmodem
ofonod[3253]: src/network.c:ofono_netreg_driver_register() driver: 0x80d0b40, name: atmodem
ofonod[3253]: src/cbs.c:ofono_cbs_driver_register() driver: 0x80d0a78, name: atmodem
ofonod[3253]: src/call-volume.c:ofono_call_volume_driver_register() driver: 0x80d0d04, name: atmodem
ofonod[3253]: src/gprs.c:ofono_gprs_driver_register() driver: 0x80d0d2c, name: atmodem
ofonod[3253]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0x80d0d50, name: atmodem
ofonod[3253]: src/modem.c:ofono_devinfo_driver_register() driver: 0x80d05d4, name: isimodem
ofonod[3253]: src/phonebook.c:ofono_phonebook_driver_register() driver: 0x80d05c4, name: isimodem
ofonod[3253]: src/network.c:ofono_netreg_driver_register() driver: 0x80d0600, name: isimodem
ofonod[3253]: src/voicecall.c:ofono_voicecall_driver_register() driver: 0x80d0640, name: isimodem
ofonod[3253]: src/sms.c:ofono_sms_driver_register() driver: 0x80d0684, name: isimodem
ofonod[3253]: src/cbs.c:ofono_cbs_driver_register() driver: 0x80d069c, name: isimodem
ofonod[3253]: src/sim.c:ofono_sim_driver_register() driver: 0x80d06c0, name: isimodem
ofonod[3253]: src/ssn.c:ofono_ssn_driver_register() driver: 0x80d0704, name: isimodem
ofonod[3253]: src/ussd.c:ofono_ussd_driver_register() driver: 0x80d0710, name: isimodem
ofonod[3253]: src/call-forwarding.c:ofono_call_forwarding_driver_register() driver: 0x80d0740, name: isimodem
ofonod[3253]: src/call-settings.c:ofono_call_settings_driver_register() driver: 0x80d0760, name: isimodem
ofonod[3253]: src/call-barring.c:ofono_call_barring_driver_register() driver: 0x80d0788, name: isimodem
ofonod[3253]: src/call-meter.c:ofono_call_meter_driver_register() driver: 0x80d07a0, name: isimodem
ofonod[3253]: src/radio-settings.c:ofono_radio_settings_driver_register() driver: 0x80d07c8, name: isimodem
ofonod[3253]: src/gprs.c:ofono_gprs_driver_register() driver: 0x80d07dc, name: isimodem
ofonod[3253]: src/gprs.c:ofono_gprs_context_driver_register() driver: 0x80d07f0, name: isimodem
ofonod[3253]: src/modem.c:ofono_modem_driver_register() driver: 0x80d05a0, name: isimodem
ofonod[3253]: plugins/atgen.c:atgen_enable() 0x9ac4058
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property Device
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property Baud
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property Read
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property Local
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property StopBits
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property DataBits
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property Parity
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property XonXoff
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property RtsCts
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property GsmSyntax
ofonod[3253]: plugins/atgen.c:atgen_pre_sim() 0x9ac4058
ofonod[3253]: > AT+CRC=1\r
ofonod[3253]: src/sim.c:ofono_sim_add_state_watch() 0x9ac49f0
ofonod[3253]: src/modem.c:set_modem_property() modem 0x9ac4058 property status-poll-interval
ofonod[3253]: src/sim.c:ofono_sim_add_state_watch() 0x9ac49f0
ofonod[3253]: src/sim.c:ofono_sim_add_state_watch() 0x9ac49f0
ofonod[3253]: < AT+CRC=1\r\r\n
ofonod[3253]: < +CME ERROR: 11\r\n
ofonod[3253]: > AT+CLIP=1\r
ofonod[3253]: < AT+CLIP=1\r\r\n+CME ERROR: 11\r\n
ofonod[3253]: > AT+COLP=1\r
ofonod[3253]: < AT+COLP=
ofonod[3253]: < 1\r\r\n+CME ERROR: 11\r\n
ofonod[3253]: > AT+CCWA=1\r
ofonod[3253]: < AT+CCWA=1\r\r\n+CME ERROR: 1
ofonod[3253]: < 1\r\n
ofonod[3253]: drivers/atmodem/voicecall.c:at_voicecall_initialized() voicecall_init: registering to notifications
ofonod[3253]: src/sim.c:ofono_sim_add_state_watch() 0x9ac49f0
ofonod[3253]: > AT+CGMI\r
ofonod[3253]: < AT+CGMI\r\r\nSAGEM\r\n\r\nOK\r\n
ofonod[3253]: > AT+CSIM=8,A0F200C0\r
ofonod[3253]: < AT+CSIM=8,A0F200C0\r\r\n+CME 
ofonod[3253]: < ERROR: 11\r\n
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property status-poll-interval
ofonod[3253]: > AT+CLCC\r
ofonod[3253]: < AT+CLCC\r\r\n+
ofonod[3253]: < CME ERROR: 11\r\n
ofonod[3253]: > AT+CGMM\r
ofonod[3253]: < A
ofonod[3253]: < T+CGMM\r\r\nHILO GPRS\r\n\r\nOK\r\n
ofonod[3253]: > AT+CRSM=176,28590,0,0,1\r
ofonod[3253]: < AT+CRSM=176,28590,0,0,1\r
ofonod[3253]: < \r
ofonod[3253]: < \n+CRSM: 144,0,"03"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 1
ofonod[3253]: > AT+CRSM=192,28599\r
ofonod[3253]: < AT+CRSM=192,28599\r
ofonod[3253]: < \r\n+C
ofonod[3253]: < RSM: 144,0,"0000000F6FB7040004F04405020000"\r\n\r
ofonod[3253]: < \nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 15
ofonod[3253]: > AT+CGMR\r
ofonod[3253]: < AT+CGMR\r\r\nSAGEM HiC,A.005.00\r\n\r\nOK\r
ofonod[3253]: < \n
ofonod[3253]: > AT+CPIN?\r
ofonod[3253]: < AT+CPIN?\r
ofonod[3253]: < \r\n+CPIN: SIM PIN\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_cpin_cb() crsm_pin_cb: SIM PIN
ofonod[3253]: > AT+CRSM=176,28599,0,0,15\r
ofonod[3253]: < AT+CRSM=176,28599
ofonod[3253]: < ,0,0,15\r
ofonod[3253]: < \r\n+CRSM: 144,0,"FFF
ofonod[3253]: < FFFFFFFFFFFFFFFFFFFFFFFFFFF"\r\n\r\nOK\r
ofonod[3253]: < \n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 15
ofonod[3253]: src/voicecall.c:ecc_g2_read_cb() 1
ofonod[3253]: > AT+CGSN\r
ofonod[3253]: < AT+
ofonod[3253]: < CGSN\r\r\n352218039849049\r\n\r\nOK\r\n
ofonod[3253]: > AT+CRSM=192,28599\r
ofonod[3253]: < AT+C
ofonod[3253]: < RSM=192,28599\r
ofonod[3253]: < \r
ofonod[3253]: < \n+CRSM: 144,0,"0000000F6FB7040004F044050
ofonod[3253]: < 20000"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 15
ofonod[3253]: Requested file structure differs from SIM: 6fb7
ofonod[3253]: src/voicecall.c:ecc_g3_read_cb() 0
ofonod[3253]: > AT+CRSM=192,12258\r
ofonod[3253]: < AT+CRSM=192,12258\r
ofonod[3253]: < \r\n
ofonod[3253]: < +CRSM: 144,0,"0000000A2FE204000FF0
ofonod[3253]: < 4405020000"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 15
ofonod[3253]: > AT+CRSM=176,12258,0,0,10\r
ofonod[3253]: < AT+CRSM=176,12258,0,0,10\r
ofonod[3253]: < \r\n+CRSM: 1
ofonod[3253]: < 44,0,"98331081126487846203"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 10
ofonod[3253]: > AT+CRSM=192,28421\r
ofonod[3253]: < AT+C
ofonod[3253]: < RSM=192,28421\r
ofonod[3253]: < \r\n
ofonod[3253]: < +CRSM: 144,0,"000000046F05040001F04405020000"\r
ofonod[3253]: < \n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 15
ofonod[3253]: > AT+CRSM=176,28421,0,0,4\r
ofonod[3253]: < A
ofonod[3253]: < T+CRSM=176,28421,0,0,4\r
ofonod[3253]: < \r\n+CRSM: 144,0,"03FFFFFF"
ofonod[3253]: < \r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 4
ofonod[3253]: > AT+CRSM=192,12037\r
ofonod[3253]: < AT+CRSM=192,12037\r
ofonod[3253]: < \r\n+CRSM: 144,0,"0000000A2F05040001
ofonod[3253]: < F04405020000"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 15
ofonod[3253]: > AT+CRSM=176,12037,0,0,10\r
ofonod[3253]: < AT+CRSM=176,12037,0,0,10\r
ofonod[3253]: < \r\n+CRSM: 144,0,"667
ofonod[3253]: < 2FFFFFFFFFFFFFFFF"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 10
ofonod[3253]: > AT+CPIN="0000"\r
ofonod[3253]: < AT+CPIN="0000"\r
ofonod[3253]: < \r\nOK\r\n
ofonod[3253]: > AT+CPIN?\r
ofonod[3253]: < AT+CPIN?\r
ofonod[3253]: < \r\n+CPIN: 
ofonod[3253]: < READY\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_cpin_cb() crsm_pin_cb: READY
ofonod[3253]: > AT+CIMI\r
ofonod[3253]: < AT+CIMI\r\r\n+CME ERROR: 14\r\n
ofonod[3253]: Unable to read IMSI, emergency calls only
ofonod[3253]: < \r\n+CREG
ofonod[3253]: < : 2\r\n
ofonod[3253]: < \r\n+CREG: 1,"3212","AEC1"\r\n
ofonod[3253]: src/stk.c:stk_remove() atom: 0x9ac64f8
ofonod[3253]: src/voicecall.c:voicecall_remove() atom: 0x9ac4b40
ofonod[3253]: src/sim.c:sim_remove() atom: 0x9ac4a90
ofonod[3253]: src/modem.c:devinfo_remove() atom: 0x9ac4448
ofonod[3253]: plugins/atgen.c:atgen_disable() 0x9ac4058
ofonod[3253]: plugins/atgen.c:atgen_enable() 0x9ac4058
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property Device
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property Baud
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property Read
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property Local
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property StopBits
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property DataBits
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property Parity
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property XonXoff
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property RtsCts
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property GsmSyntax
ofonod[3253]: plugins/atgen.c:atgen_pre_sim() 0x9ac4058
ofonod[3253]: > AT+CRC=1\r
ofonod[3253]: src/sim.c:ofono_sim_add_state_watch() 0x9abfa00
ofonod[3253]: src/modem.c:set_modem_property() modem 0x9ac4058 property status-poll-interval
ofonod[3253]: src/modem.c:unregister_property() property 0x9ac22f0
ofonod[3253]: src/sim.c:ofono_sim_add_state_watch() 0x9abfa00
ofonod[3253]: src/sim.c:ofono_sim_add_state_watch() 0x9abfa00
ofonod[3253]: < A
ofonod[3253]: < T+CRC=1\r\r\nOK\r\n
ofonod[3253]: > AT+CLIP=1\r
ofonod[3253]: < AT+CLIP=1\r\r\nOK\r\n
ofonod[3253]: > AT+COLP=1\r
ofonod[3253]: < AT+COLP=1\r\r\nO
ofonod[3253]: < K\r\n
ofonod[3253]: > AT+CCWA=1\r
ofonod[3253]: < A
ofonod[3253]: < T+CCWA=1\r\r\nOK\r\n
ofonod[3253]: drivers/atmodem/voicecall.c:at_voicecall_initialized() voicecall_init: registering to notifications
ofonod[3253]: src/sim.c:ofono_sim_add_state_watch() 0x9abfa00
ofonod[3253]: > AT+CGMI\r
ofonod[3253]: < AT
ofonod[3253]: < +CGMI\r\r\nSAGEM\r\n\r\nOK\r\n
ofonod[3253]: > AT+CSIM=8,A0F200C0\r
ofonod[3253]: < A
ofonod[3253]: < T+CSIM=8,A0F200C0\r\r\n+CME ERROR: 3\r\n
ofonod[3253]: src/modem.c:get_modem_property() modem 0x9ac4058 property status-poll-interval
ofonod[3253]: > AT+CLCC\r
ofonod[3253]: < A
ofonod[3253]: < T+CLCC\r\r\nOK\r\n
ofonod[3253]: > AT+CGMM\r
ofonod[3253]: < AT+
ofonod[3253]: < CGMM\r\r\nHILO GPRS\r\n\r\nOK\r\n
ofonod[3253]: > AT+CRSM=176,28590,0,0,1\r
ofonod[3253]: < AT+CRSM=176,28590,0,0,1\r
ofonod[3253]: < \r
ofonod[3253]: < \n+CRSM: 144,0,"03"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 1
ofonod[3253]: > AT+CRSM=192,28599\r
ofonod[3253]: < AT+C
ofonod[3253]: < RSM=192,28599\r
ofonod[3253]: < \r\n+CRSM: 144,0,"0000000F6FB7040004F044050200
ofonod[3253]: < 00"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 15
ofonod[3253]: > AT+CGMR\r
ofonod[3253]: < AT+CGMR\r\r\nSAGEM HiC,A.005.00\r\n\r\nOK\r\n
ofonod[3253]: > AT+CPIN?\r
ofonod[3253]: < AT+CPIN?\r
ofonod[3253]: < \r\n+CPIN: READY\r\n\r\nOK
ofonod[3253]: < \r\n
ofonod[3253]: drivers/atmodem/sim.c:at_cpin_cb() crsm_pin_cb: READY
ofonod[3253]: > AT+CRSM=176,28599,0,0,15\r
ofonod[3253]: < AT+CRSM=176,28599,0,0,15\r
ofonod[3253]: < \r
ofonod[3253]: < \n+CRSM: 144,0,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 15
ofonod[3253]: src/voicecall.c:ecc_g2_read_cb() 1
ofonod[3253]: > AT+CGSN\r
ofonod[3253]: < AT+
ofonod[3253]: < CGSN\r\r\n352218039849049\r\n\r\nOK\r\n
ofonod[3253]: > AT+CIMI\r
ofonod[3253]: < AT+CIMI\r\r\n208017302804160\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_cimi_cb() cimi_cb: 208017302804160
ofonod[3253]: > AT+CRSM=192,28599\r
ofonod[3253]: < AT+CRSM=192,285
ofonod[3253]: < 99\r
ofonod[3253]: < \r\n+CRSM: 144,0,"0000000F6FB7040004F04405020000"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 15
ofonod[3253]: Requested file structure differs from SIM: 6fb7
ofonod[3253]: src/voicecall.c:ecc_g3_read_cb() 0
ofonod[3253]: > AT+CRSM=192,28421\r
ofonod[3253]: < AT+CRSM=192,28421\r
ofonod[3253]: < \r\n+CRSM: 144,0,"0
ofonod[3253]: < 00000046F05040001F04405020000"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 15
ofonod[3253]: > AT+CRSM=176,28421,0,0,4\r
ofonod[3253]: < AT+CRSM=176,28421,0,0,4\r
ofonod[3253]: < \r\n+CRSM: 144,0,"03FFFFFF"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 4
ofonod[3253]: > AT+CRSM=192,12037\r
ofonod[3253]: < AT+C
ofonod[3253]: < RSM=192,12037\r
ofonod[3253]: < \r\n
ofonod[3253]: < +CRSM: 144,0,"0000000A2F05040001F04405020000"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 15
ofonod[3253]: > AT+CRSM=176,12037,0,0,10\r
ofonod[3253]: < AT+CRSM=176,12037,0,0
ofonod[3253]: < ,10\r
ofonod[3253]: < \r\n+CRSM: 144,0,"6672FFFFFFFFFFFFF
ofonod[3253]: < FFF"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 10
ofonod[3253]: > AT+CRSM=192,28438\r
ofonod[3253]: < AT+
ofonod[3253]: < CRSM=192,28438\r
ofonod[3253]: < \r
ofonod[3253]: < \n+CRSM: 148,4\r\n\r\nOK\r\n
ofonod[3253]: plugins/atgen.c:atgen_post_sim() 0x9ac4058
ofonod[3253]: > AT+CUSD=1\r
ofonod[3253]: < A
ofonod[3253]: < T+CUSD=1\r\r\nOK\r\n
ofonod[3253]: > AT+CREG=?\r
ofonod[3253]: < AT+CREG=
ofonod[3253]: < ?\r\r\n+CREG: (0-2)\r\n\r\nOK\r\n
ofonod[3253]: > AT+CAOC=2\r
ofonod[3253]: < AT+CAOC=2\r\r\nO
ofonod[3253]: < K\r\n
ofonod[3253]: > AT+CCWE=1\r
ofonod[3253]: < AT+CCWE=1\r\r\nOK\r\n
ofonod[3253]: > AT+CSSN=1,1\r
ofonod[3253]: < AT+CSSN=1,1\r\r\nOK\r\n
ofonod[3253]: src/ssn.c:__ofono_ssn_mo_watch_add() 0x9ac68d8, 6
ofonod[3253]: src/ssn.c:__ofono_ssn_mo_watch_add() 0x9ac68d8, 5
ofonod[3253]: > AT+CSMS=?\r
ofonod[3253]: < AT+CSMS=?\r\r\n+
ofonod[3253]: < CSMS: (0)\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sms.c:at_csms_query_cb() CSMS query parsed successfully
ofonod[3253]: > AT+CSCS=?\r
ofonod[3253]: < AT+CSCS=?\r\r\n+
ofonod[3253]: < CSCS: ("IRA","GSM","UCS2")\r\n\r\nOK\r\n
ofonod[3253]: > AT+CRSM=192,28480\r
ofonod[3253]: < A
ofonod[3253]: < T+CRSM=192,28480\r
ofonod[3253]: < \r\n+CRSM: 1
ofonod[3253]: < 44,0,"0000008C6F40040011F0440502011C"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_info_cb() crsm_info_cb: 90, 00, 15
ofonod[3253]: > AT+CREG=2\r
ofonod[3253]: < AT+CREG=2\r\r\nO
ofonod[3253]: < K\r\n
ofonod[3253]: > AT+CSMS=0\r
ofonod[3253]: < AT+CSMS=0\r\r\n+
ofonod[3253]: < CSMS: 1,1,1\r\n\r\nOK\r\n
ofonod[3253]: > AT+CPBS=?\r
ofonod[3253]: < A
ofonod[3253]: < T+CPBS=?\r\r\n+CPBS: ("DC","EN","FD","MC
ofonod[3253]: < ","ME","ON","RC","SM")\r\n\r\nOK\r\n
ofonod[3253]: > AT+CRSM=178,28480,1,4,28\r
ofonod[3253]: < AT+CRSM=178,28480,1,4,28\r
ofonod[3253]: < \r\n+CRSM: 144,0,"FFFFFFFFFFFFFFFFFFFF
ofonod[3253]: < FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 28
ofonod[3253]: > AT+CIND=?\r
ofonod[3253]: < A
ofonod[3253]: < T+CIND=?\r\r\n+CIND: ("battchg",(0-5)),("signal",(0-4)),("
ofonod[3253]: < service",(0-1)),("message",(0-1)),("call",(0-1
ofonod[3253]: < )),("roam",(0-1)),("smsfull",(0-1))\r\n\r\nOK\r\n
ofonod[3253]: > AT+CSMS?\r
ofonod[3253]: < AT+CSMS?\r
ofonod[3253]: < \r\n+CSMS: 0,1,1,1\r\n\r\nOK\r\n
ofonod[3253]: > AT+CRSM=178,28480,2,4,28\r
ofonod[3253]: < AT+CRSM=178,28480,2,4,28\r
ofonod[3253]: < \r\n+CRSM: 144,0,"FFFFFFFFFFFFFFFFF
ofonod[3253]: < FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"\r\n\r\nOK
ofonod[3253]: < \r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 28
ofonod[3253]: > AT+CMER=3,0,0,1\r
ofonod[3253]: < AT+CMER=3,0,0,1\r\r\n+CME ERROR: 
ofonod[3253]: < 4\r\n
ofonod[3253]: > AT+CREG?\r
ofonod[3253]: < AT+CREG?\r\r\n+CREG: 2,1,"3212","AEC1"\r\n
ofonod[3253]: < \r\nOK\r\n
ofonod[3253]: > AT+CMGF=?\r
ofonod[3253]: < AT+CMGF=?\r\r\n
ofonod[3253]: < +CMGF: (0,1)\r\n\r\nOK\r\n
ofonod[3253]: > AT+CRSM=178,28480,3,4,28\r
ofonod[3253]: < AT+CRSM=178,28480,3,4,28\r
ofonod[3253]: < \r\n+CRSM: 144,0,"FFFFFFFFFFFFFFFF
ofonod[3253]: < FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 28
ofonod[3253]: > AT+COPS=3,2\r
ofonod[3253]: < AT+COPS=3,2\r\r\nOK\r\n
ofonod[3253]: > AT+COPS?\r
ofonod[3253]: < AT+COPS?\r\r\n+COPS: 0,2,"20801"\r\n\r\nO
ofonod[3253]: < K\r\n
ofonod[3253]: drivers/atmodem/network-registration.c:cops_numeric_cb() Cops numeric got mcc: 208, mnc: 01
ofonod[3253]: > AT+COPS=3,0\r
ofonod[3253]: < AT+COPS=3,0
ofonod[3253]: < \r\r\nOK\r\n
ofonod[3253]: > AT+COPS?\r
ofonod[3253]: < AT
ofonod[3253]: < +COPS?\r\r\n+COPS: 0,0,"Orange F"\r\n\r\nO
ofonod[3253]: < K\r\n
ofonod[3253]: drivers/atmodem/network-registration.c:cops_cb() cops_cb: Orange F, 208 01 0
ofonod[3253]: src/network.c:current_operator_callback() 0x9ac6568, (nil)
ofonod[3253]: > AT+CIND?\r
ofonod[3253]: < A
ofonod[3253]: < T+CIND?\r\r\n+CIND: 1,3,1,1,0,0,0\r\n\r\nOK\r\n
ofonod[3253]: > AT+CPMS=?\r
ofonod[3253]: < AT+CPMS=?\r\r\n+
ofonod[3253]: < CPMS: ("SM","ME"),("SM","ME"),("SM","ME")\r\n\r\nOK\r\n
ofonod[3253]: > AT+CRSM=178,28480,4,4,28\r
ofonod[3253]: < AT+CRSM=178,28480,4,4,28\r
ofonod[3253]: < \r\n+CRSM: 144,0,"FFFF
ofonod[3253]: < FFFFFFFFFFFFFFFFFFFFFFF
ofonod[3253]: < FFFFFFFFFFFFFFFFFFFFFFF
ofonod[3253]: < FFFFFF"\r\n\r\n
ofonod[3253]: < OK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 28
ofonod[3253]: > AT+CMGF=0\r
ofonod[3253]: < AT+CMGF=0\r\r\nOK\r\n
ofonod[3253]: > AT+CPUC?\r
ofonod[3253]: < AT+CPUC?\r\r\n+CM
ofonod[3253]: < E ERROR: 3\r\n
ofonod[3253]: > AT+CRSM=178,28480,5,4,28\r
ofonod[3253]: < AT+CRSM=178,28480,5,4,28\r
ofonod[3253]: < \r\n+CRSM: 144,0,"FF
ofonod[3253]: < FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
ofonod[3253]: < FFFFFFFF"\r\n\r\nOK\r\n
ofonod[3253]: drivers/atmodem/sim.c:at_crsm_read_cb() crsm_read_cb: 90, 00, 28
ofonod[3253]: > AT+CPMS="ME","ME","ME"\r
ofonod[3253]: < AT+CPMS="ME","ME","ME"\r\r\n+CPMS: 1,
ofonod[3253]: < 100,1,100,1,100\r\n\r\nOK\r\n
ofonod[3253]: > AT+CAMM?\r
ofonod[3253]: < A
ofonod[3253]: < T+CAMM?\r\r\n+CME ERROR: 3\r\n
ofonod[3253]: > AT+CRSM=192,28618\r
ofonod[3253]: < A
ofonod[3253]: < T+CRSM=192,28618\r
ofonod[3253]: < \000
ofonod[3253]: src/message-waiting.c:mw_remove() atom: 0x9ac6c00
ofonod[3253]: src/phonebook.c:phonebook_remove() atom: 0x9ac6a98
ofonod[3253]: src/sms.c:sms_remove() atom: 0x9ac69c0
ofonod[3253]: src/ssn.c:ssn_remove() atom: 0x9ac68f0
ofonod[3253]: src/call-barring.c:call_barring_remove() atom: 0x9ac6880
ofonod[3253]: src/call-meter.c:call_meter_remove() atom: 0x9ac6780
ofonod[3253]: src/network.c:netreg_remove() atom: 0x9ac62e8
ofonod[3253]: src/call-settings.c:call_settings_remove() atom: 0x9ac64f8
ofonod[3253]: src/call-forwarding.c:call_forwarding_remove() atom: 0x9ac6418
ofonod[3253]: src/ussd.c:ussd_remove() atom: 0x9ac4e70
ofonod[3253]: src/modem.c:set_modem_property() modem 0x9ac4058 property status-poll-interval
ofonod[3253]: src/modem.c:unregister_property() property 0x9ac49d8

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

* Re: Ofono with Sagem Hilo GPRS
  2010-06-01 14:46 Ofono with Sagem Hilo GPRS Bouteille Yoann
@ 2010-06-01 19:11 ` Denis Kenzior
  2010-06-01 20:34   ` andrzej zaborowski
  0 siblings, 1 reply; 8+ messages in thread
From: Denis Kenzior @ 2010-06-01 19:11 UTC (permalink / raw)
  To: ofono

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

Hi Yoann,

<snip>

> ofonod[3221]: src/modem.c:get_modem_property() modem 0x8142058 property
>  status-poll-interval ofonod[3221]: > AT+CSIM=8,A0F200C0\r
> ofonod[3221]: < AT+CSIM=8,A0F200C0\r\r\n+CME ERROR: 3\r\n
> 

The culprit was sim polling which performs CSIM pdus to detect a dead SIM.  
Your modem doesn't seem to support CSIM command, so returns an error and oFono 
foolishly thinks the SIM has been removed.  For now I disabled this in the 
atgen plugin, but the proper solution is for you to write a Sagem Hilo driver.

If you still have problems, let us know.

Regards,
-Denis

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

* Re: Ofono with Sagem Hilo GPRS
  2010-06-01 19:11 ` Denis Kenzior
@ 2010-06-01 20:34   ` andrzej zaborowski
  2010-06-01 21:17     ` Denis Kenzior
  0 siblings, 1 reply; 8+ messages in thread
From: andrzej zaborowski @ 2010-06-01 20:34 UTC (permalink / raw)
  To: ofono

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

Hi,

On 1 June 2010 21:11, Denis Kenzior <denkenz@gmail.com> wrote:
> Hi Yoann,
>
> <snip>
>
>> ofonod[3221]: src/modem.c:get_modem_property() modem 0x8142058 property
>>  status-poll-interval ofonod[3221]: > AT+CSIM=8,A0F200C0\r
>> ofonod[3221]: < AT+CSIM=8,A0F200C0\r\r\n+CME ERROR: 3\r\n
>>
>
> The culprit was sim polling which performs CSIM pdus to detect a dead SIM.
> Your modem doesn't seem to support CSIM command, so returns an error and oFono
> foolishly thinks the SIM has been removed.

Not if the +CME ERROR is sent withing 5 seconds.  Only if there is a 5
second or longer lag between the AT+CSIM=... and the response (success
or error), it decides the card is dead.

Regards,

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

* Re: Ofono with Sagem Hilo GPRS
  2010-06-01 20:34   ` andrzej zaborowski
@ 2010-06-01 21:17     ` Denis Kenzior
  2010-06-01 21:46       ` andrzej zaborowski
  0 siblings, 1 reply; 8+ messages in thread
From: Denis Kenzior @ 2010-06-01 21:17 UTC (permalink / raw)
  To: ofono

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

Hi Andrew,

> Hi,
> 
> On 1 June 2010 21:11, Denis Kenzior <denkenz@gmail.com> wrote:
> > Hi Yoann,
> >
> > <snip>
> >
> >> ofonod[3221]: src/modem.c:get_modem_property() modem 0x8142058 property
> >>  status-poll-interval ofonod[3221]: > AT+CSIM=8,A0F200C0\r
> >> ofonod[3221]: < AT+CSIM=8,A0F200C0\r\r\n+CME ERROR: 3\r\n
> >
> > The culprit was sim polling which performs CSIM pdus to detect a dead
> > SIM. Your modem doesn't seem to support CSIM command, so returns an error
> > and oFono foolishly thinks the SIM has been removed.
> 
> Not if the +CME ERROR is sent withing 5 seconds.  Only if there is a 5
> second or longer lag between the AT+CSIM=... and the response (success
> or error), it decides the card is dead.

Thanks for the correction.  I was hitting a slightly different issue with HSO 
modem and atgen that was also resulting in sim removal.

Looking at the logs again, it seems that this response causes the poll to 
signal sim removal:

ofonod[3253]: > AT+CRSM=192,28618\r
ofonod[3253]: < A
ofonod[3253]: < T+CRSM=192,28618\r
ofonod[3253]: < \000
ofonod[3253]: src/message-waiting.c:mw_remove() atom: 0x9ac6c00
ofonod[3253]: src/phonebook.c:phonebook_remove() atom: 0x9ac6a98
ofonod[3253]: src/sms.c:sms_remove() atom: 0x9ac69c0
ofonod[3253]: src/ssn.c:ssn_remove() atom: 0x9ac68f0
ofonod[3253]: src/call-barring.c:call_barring_remove() atom: 0x9ac6880
ofonod[3253]: src/call-meter.c:call_meter_remove() atom: 0x9ac6780
ofonod[3253]: src/network.c:netreg_remove() atom: 0x9ac62e8
ofonod[3253]: src/call-settings.c:call_settings_remove() atom: 0x9ac64f8
ofonod[3253]: src/call-forwarding.c:call_forwarding_remove() atom: 0x9ac6418
ofonod[3253]: src/ussd.c:ussd_remove() atom: 0x9ac4e70
ofonod[3253]: src/modem.c:set_modem_property() modem 0x9ac4058 property 
status-poll-interval
ofonod[3253]: src/modem.c:unregister_property() property 0x9ac49d8

Seems we try to read EFmwis and get back a '\0' as a response.  This probably 
stalls the gatchat queue and causes the sim poll timeout to fire.  Or is there 
something else going on I'm not seeing?

There is another issue:
When we send the CPIN to unlock the PIN, the modem actually takes some time to 
initialize the SIM and our CIMI request fails.  This means that we don't 
proceed with the initialization procedure.  Disabling / Enabling the modem 
skips the PIN entry and we initialize properly.

This modem's firmware is wonderful :)

Regards,
-Denis

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

* Re: Ofono with Sagem Hilo GPRS
  2010-06-01 21:17     ` Denis Kenzior
@ 2010-06-01 21:46       ` andrzej zaborowski
  2010-06-01 22:13         ` Denis Kenzior
  0 siblings, 1 reply; 8+ messages in thread
From: andrzej zaborowski @ 2010-06-01 21:46 UTC (permalink / raw)
  To: ofono

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

Hi,

On 1 June 2010 23:17, Denis Kenzior <denkenz@gmail.com> wrote:
>> >> ofonod[3221]: src/modem.c:get_modem_property() modem 0x8142058 property
>> >>  status-poll-interval ofonod[3221]: > AT+CSIM=8,A0F200C0\r
>> >> ofonod[3221]: < AT+CSIM=8,A0F200C0\r\r\n+CME ERROR: 3\r\n
>> >
>> > The culprit was sim polling which performs CSIM pdus to detect a dead
>> > SIM. Your modem doesn't seem to support CSIM command, so returns an error
>> > and oFono foolishly thinks the SIM has been removed.
>>
>> Not if the +CME ERROR is sent withing 5 seconds.  Only if there is a 5
>> second or longer lag between the AT+CSIM=... and the response (success
>> or error), it decides the card is dead.
>
> Thanks for the correction.  I was hitting a slightly different issue with HSO
> modem and atgen that was also resulting in sim removal.
>
> Looking at the logs again, it seems that this response causes the poll to
> signal sim removal:
>
> ofonod[3253]: > AT+CRSM=192,28618\r
> ofonod[3253]: < A
> ofonod[3253]: < T+CRSM=192,28618\r
> ofonod[3253]: < \000
> ofonod[3253]: src/message-waiting.c:mw_remove() atom: 0x9ac6c00
> ofonod[3253]: src/phonebook.c:phonebook_remove() atom: 0x9ac6a98
> ofonod[3253]: src/sms.c:sms_remove() atom: 0x9ac69c0
> ofonod[3253]: src/ssn.c:ssn_remove() atom: 0x9ac68f0
> ofonod[3253]: src/call-barring.c:call_barring_remove() atom: 0x9ac6880
> ofonod[3253]: src/call-meter.c:call_meter_remove() atom: 0x9ac6780
> ofonod[3253]: src/network.c:netreg_remove() atom: 0x9ac62e8
> ofonod[3253]: src/call-settings.c:call_settings_remove() atom: 0x9ac64f8
> ofonod[3253]: src/call-forwarding.c:call_forwarding_remove() atom: 0x9ac6418
> ofonod[3253]: src/ussd.c:ussd_remove() atom: 0x9ac4e70
> ofonod[3253]: src/modem.c:set_modem_property() modem 0x9ac4058 property
> status-poll-interval
> ofonod[3253]: src/modem.c:unregister_property() property 0x9ac49d8
>
> Seems we try to read EFmwis and get back a '\0' as a response.  This probably
> stalls the gatchat queue and causes the sim poll timeout to fire.  Or is there
> something else going on I'm not seeing?

Yes, it seems there's not much we can do when the queue gets stuck so
for each of these modems we need a custom driver.  The sim polling
code thinks the card is dead because it counts the timeout from the
moment it submits the STATUS poll to the queue, not the moment the
command is executed.  We need to either disable the polling or start
timer when the command is sent to modem.

If the device doesn't have a removable card, and there's a
vendor-specific PROACTIVE COMMAND notification then there's no point
polling.  If the card is removable and modem doesn't support AT+CSIM,
we can send the status through AT+CRSM instead, maybe
atmodem/sim-poll.c should have a quirk for that.

Regards,
Andrew

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

* Re: Ofono with Sagem Hilo GPRS
  2010-06-01 21:46       ` andrzej zaborowski
@ 2010-06-01 22:13         ` Denis Kenzior
  2010-06-01 22:23           ` andrzej zaborowski
  0 siblings, 1 reply; 8+ messages in thread
From: Denis Kenzior @ 2010-06-01 22:13 UTC (permalink / raw)
  To: ofono

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

Hi Andrew,

> > Seems we try to read EFmwis and get back a '\0' as a response.  This
> > probably stalls the gatchat queue and causes the sim poll timeout to
> > fire.  Or is there something else going on I'm not seeing?
> 
> Yes, it seems there's not much we can do when the queue gets stuck so
> for each of these modems we need a custom driver.  The sim polling
> code thinks the card is dead because it counts the timeout from the
> moment it submits the STATUS poll to the queue, not the moment the
> command is executed.  We need to either disable the polling or start
> timer when the command is sent to modem.

I'm still of the opinion this is not really relevant with today's hardware.  
The modem will be doing its own polling and it makes no sense for the main 
processor to do so as well (power consumption goes through the roof.)  
However, it could be some vendor is actually crazy enough to require it.

> 
> If the device doesn't have a removable card, and there's a
> vendor-specific PROACTIVE COMMAND notification then there's no point
> polling.  If the card is removable and modem doesn't support AT+CSIM,
> we can send the status through AT+CRSM instead, maybe
> atmodem/sim-poll.c should have a quirk for that.

I think we should assume that vendor specific STK notifications and non-
removable cards are the default, not the other way around.

We should keep sim polling out of atgen.  Even initializing the stk atom in 
atgen plugin is wrong due to how wildly different the modem implementations 
are.  People use atgen as the first driver to get started with oFono, so lets 
keep its feature set conservative, or at least add more intelligence into the 
atmodem stk driver.  E.g. if CSIM is not supported / allowed, don't bother 
doing anything.

However, this is now getting off-topic from the original discussion.

Regards,
-Denis

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

* Re: Ofono with Sagem Hilo GPRS
  2010-06-01 22:13         ` Denis Kenzior
@ 2010-06-01 22:23           ` andrzej zaborowski
  2010-06-01 22:24             ` andrzej zaborowski
  0 siblings, 1 reply; 8+ messages in thread
From: andrzej zaborowski @ 2010-06-01 22:23 UTC (permalink / raw)
  To: ofono

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

Hi Denis,

On 2 June 2010 00:13, Denis Kenzior <denkenz@gmail.com> wrote:
>> If the device doesn't have a removable card, and there's a
>> vendor-specific PROACTIVE COMMAND notification then there's no point
>> polling.  If the card is removable and modem doesn't support AT+CSIM,
>> we can send the status through AT+CRSM instead, maybe
>> atmodem/sim-poll.c should have a quirk for that.
>
> I think we should assume that vendor specific STK notifications and non-
> removable cards are the default, not the other way around.

The problem with the vendor specific notifications is we don't know
what they are (in atgen).  Whereas it costs nothing to talk to the
card directly.  This assumes that the modem will not read the
proactive commands out of the card before us, if we don't tell it to.
We probably would also need to do the profile download for this to
work.  All in all I agree the polling should stay, atleast until it's
done correctly.

Cheers

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

* Re: Ofono with Sagem Hilo GPRS
  2010-06-01 22:23           ` andrzej zaborowski
@ 2010-06-01 22:24             ` andrzej zaborowski
  0 siblings, 0 replies; 8+ messages in thread
From: andrzej zaborowski @ 2010-06-01 22:24 UTC (permalink / raw)
  To: ofono

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

On 2 June 2010 00:23, andrzej zaborowski <balrogg@gmail.com> wrote:
> All in all I agree the polling should stay, atleast until it's
> done correctly.

Sorry, I wanted to say "stay disabled".

Regards

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

end of thread, other threads:[~2010-06-01 22:24 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-01 14:46 Ofono with Sagem Hilo GPRS Bouteille Yoann
2010-06-01 19:11 ` Denis Kenzior
2010-06-01 20:34   ` andrzej zaborowski
2010-06-01 21:17     ` Denis Kenzior
2010-06-01 21:46       ` andrzej zaborowski
2010-06-01 22:13         ` Denis Kenzior
2010-06-01 22:23           ` andrzej zaborowski
2010-06-01 22:24             ` andrzej zaborowski

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.