ofono stk support



  • Hello,
    The swiss phone operators have developed an authentication system called "mobileid" which is build within the sim card and should then work on all the phones, independently of the OS. Unfortunately it does not seem to work on Ubuntu Touch (neither on Aquaris BQ4.5 nor on FP2).

    On the tests I made with Sailfish OS (which also use ofono and dbus), it was successfull and I saw that ofono uses the "stk" features which does not seems available on Ubuntu Touch.

    Is there any easy way to activate this "protocol" on Ubuntu Touch ?

    Thanks in advance for your help
    Best regards
    Philippe

    For more informations:
    ofono - get modem properties on Ubuntu Touch :

    dict entry(
           string "Features"
           variant             array [
                 string "gprs"
                 string "ussd"
                 string "net"
                 string "sms"
                 string "rat"
                 string "sim"
              ]
        )
    

    ofono - get modem properties on Sailfish :

      dict entry(
         string "Features"
         variant             array [
               string "gprs"
               string "cbs"
               string "rat"
               string "ussd"
               string "net"
               string "sms"
               string "stk"
               string "sim"
            ]
      )
    

    Log ofono on Sailfish during mobileid testing :

    2019-08-11 15:59:21.388 RIL> STK_PROACTIVE_COMMAND
    2019-08-11 15:59:21.388 RIL> 0000: 01 00 00 00 f5 03 00 00  50 01 00 00 44 00 30 00    ........ P...D.0.
    [...]
    2019-08-11 15:59:21.429 RIL  0298: 36 00 31 00 30 00 30 00  36 00 43 00 00 00 00 00    6.1.0.0. 6.C.....
    2019-08-11 15:59:21.431 drivers/ril/ril_stk.c: ril_stk_pcmd_notify() pcmd: D081A581030...
    2019-08-11 15:59:21.432 src/stk.c: handle_command_display_text() Immediate Response: 0
    2019-08-11 15:59:28.493 src/stk.c: send_simple_response() result 0
    2019-08-11 15:59:28.493 src/stk.c: stk_respond() 
    2019-08-11 15:59:28.497 drivers/ril/ril_stk.c: ril_stk_terminal_response() rilmodem terminal response: 8103...
    2019-08-11 15:59:28.497 RIL< [00000226] STK_SEND_TERMINAL_RESPONSE
    2019-08-11 15:59:28.497 RIL< 0000: 46 00 00 00 26 02 00 00  18 00 00 00 38 00 31 00    F...&... ....8.1.
    [...]
    2019-08-11 15:59:28.498 RIL  0028: 38 00 33 00 30 00 31 00  30 00 30 00 00 00 00 00    8.3.0.1. 0.0.....
    2019-08-11 15:59:28.521 RIL> [00000226] OK
    2019-08-11 15:59:28.522 RIL> 0000: 00 00 00 00 26 02 00 00  00 00 00 00                ....&... ....
    2019-08-11 15:59:28.522 drivers/ril/ril_stk.c: ril_stk_terminal_response_cb() 
    2019-08-11 15:59:28.522 src/stk.c: stk_command_cb() TERMINAL RESPONSE to a command reported no errors
    2019-08-11 15:59:28.525 RIL> STK_PROACTIVE_COMMAND
    2019-08-11 15:59:28.526 RIL> 0000: 01 00 00 00 f5 03 00 00  7a 00 00 00 44 00 30 00    ........ z...D.0.
    [...]
    2019-08-11 15:59:28.532 RIL  00f8: 00 00 00 00                                         ....
    2019-08-11 15:59:28.535 drivers/ril/ril_stk.c: ril_stk_pcmd_notify() pcmd: D03...
    2019-08-11 15:59:36.659 src/stk.c: stk_respond() 
    2019-08-11 15:59:36.660 drivers/ril/ril_stk.c: ril_stk_terminal_response() rilmodem terminal response: 81030...
    2019-08-11 15:59:36.660 RIL< [00000227] STK_SEND_TERMINAL_RESPONSE
    2019-08-11 15:59:36.660 RIL< 0000: 46 00 00 00 27 02 00 00  2a 00 00 00 38 00 31 00    F...'... *...8.1.
    [...]
    2019-08-11 15:59:36.660 RIL  0058: 00 00 00 00                                         ....
    2019-08-11 15:59:37.103 RIL> [00000227] OK
    2019-08-11 15:59:37.103 RIL> 0000: 00 00 00 00 27 02 00 00  00 00 00 00                ....'... ....
    2019-08-11 15:59:37.103 drivers/ril/ril_stk.c: ril_stk_terminal_response_cb() 
    2019-08-11 15:59:37.103 src/stk.c: stk_command_cb() TERMINAL RESPONSE to a command reported no errors
    2019-08-11 15:59:37.117 RIL> STK_EVENT_NOTIFY
    2019-08-11 15:59:37.117 RIL> 0000: 01 00 00 00 f6 03 00 00  50 01 00 00 44 00 30 00    ........ P...D.0.
    [...]
    2019-08-11 15:59:37.146 RIL  0298: 37 00 46 00 37 00 34 00  33 00 34 00 00 00 00 00    7.F.7.4. 3.4.....
    2019-08-11 15:59:37.148 drivers/ril/ril_stk.c: ril_stk_event_notify() pcmd: D081...
    2019-08-11 15:59:37.149 src/stk.c: ofono_stk_proactive_command_handled_notify() type: 19
    2019-08-11 15:59:38.056 RIL> STK_SESSION_END
    2019-08-11 15:59:38.056 RIL> 0000: 01 00 00 00 f4 03 00 00                             ........
    2019-08-11 15:59:38.057 drivers/ril/ril_stk.c: ril_stk_session_end_notify()
    


  • I presume we would need a newer version of ofono first. Also, I think Sailfish has some additional patches that might be related to this?



  • @dobey
    I just checked: ofonod --version returns 1.17 on Ubuntu Touch and 1.21 on Sailfish. Can it be the problem ?
    For the additional patches I do no know how to retrieve this information.
    Tell me if I can help on anything, I will be happy to do it



  • @spyphi It is part of the problem. We have a fork of ofono that was based on 1.17, which is very old at this point. Upgrading to latest ofono would be best, but it will be a huge amount of work to reconcile the differences and keep everything working.

    The diff against upstream 1.17 is roughly 45,000 lines of changes.



  • @dobey Thank you for your answer ! I understand that it will not be easy and that I may have to wait for a new release...
    I'm not really a specialist but if I can help testing anything I would be happy to do it. I'm using Ubuntu Touch since the first Aquaris 4.5 "Ununtu edition", I really like it and I dont want to go to another OS just to use an authentication tool.



  • @spyphi you might want to keep an eye on this as well https://forums.ubports.com/topic/3024/ofono-hackathon


Log in to reply