[ofono] duplicate EFsdn entries error on sim read for service number

Bug #1208643 reported by Sergio Schvezov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ofono (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

ofono logs an error when duplicate EFsdn entries are read from the SIM. When this occurs, only the first entry is exported in the SimManager's 'ServiceNumbers' property.

Here's the log message and 'ServiceNumbers' property reported by Sergio:

Aug 5 21:45:58 ubuntu-phablet ofonod[1128]: Duplicate EFsdn entries for `Personal'

ServiceNumbers = [Personal] = '+810' [Club Personal] = '*2582' [At. Clientes] = '*111' [Llam. a su Cargo] = '1111111111'

After further debug, it turns out that the numbers associated with the two entries are actually different, but it's unclear yet whether this is allowable or not, so this will need to be discussed with upstream.

That said, 'ServiceNumbers' aren't actually used for anything in Touch at this time, so this should be considered low priority. This bug was originally rated high priority as it was thought to have an adverse effect on data provisioning ( ie. APN lookup ), however this was dis-proven.

---

Touch Build: Ubuntu Saucy Salamander (development branch) - armhf (20130805)
ofono package from: https://code.launchpad.net/~awe/phablet-extras/ofono-lp1204683/+merge/178137/comments/402806

Summary:
=======

Given
root@ubuntu-phablet:/# /usr/share/ofono/scripts/list-modems
[ /ril_0 ]
    Features = sms net gprs sim
    Emergency = 0
    Powered = 1
    Lockdown = 0
    Interfaces = org.ofono.CallVolume org.ofono.SmartMessaging org.ofono.PushNotification org.ofono.MessageManager org.ofono.NetworkRegistration org.ofono.VoiceCallManager org.ofono.ConnectionManager org.ofono.NetworkTime org.ofono.SimManager
    Online = 1
    Model = Fake Modem Model
    Revision = I9250XXLJ1
    Type = hardware
    Serial = XXXXXXXXXXXXXXXXXXX
    Manufacturer = Fake Manufacturer
    [ org.ofono.CallVolume ]
        Muted = 0
        SpeakerVolume = 0
        MicrophoneVolume = 0
    [ org.ofono.SmartMessaging ]
    [ org.ofono.PushNotification ]
    [ org.ofono.MessageManager ]
        Alphabet = default
        UseDeliveryReports = 0
        Bearer = cs-preferred
        ServiceCenterAddress =
    [ org.ofono.NetworkRegistration ]
        Status = registered
        Strength = 61
        Name = Personal
        LocationAreaCode = 391
        Mode = auto
        MobileCountryCode = 722
        Technology = umts
        CellId = 13269544
        MobileNetworkCode = 34
    [ org.ofono.VoiceCallManager ]
        EmergencyNumbers = 08 000 999 110 112 911 118 119
    [ org.ofono.ConnectionManager ]
        Powered = 0
        Attached = 0
        Bearer = none
        RoamingAllowed = 0
    [ org.ofono.NetworkTime ]
    [ org.ofono.SimManager ]
        Retries =
        MobileCountryCode = 722
        FixedDialing = 0
        SubscriberNumbers =
        PreferredLanguages = es en pt it
        BarredDialing = 0
        ServiceNumbers = [Personal] = '+810' [Club Personal] = '*2582' [At. Clientes] = '*111' [Llam. a su Cargo] = '1111111111'
        CardIdentifier = XXXXXXXXXXXXXXXXXXXX
        LockedPins =
        MobileNetworkCode = 34
        SubscriberIdentity = XXXXXXXXXXXXXXXXXX
        Present = 1
        PinRequired = none

and in /usr/share/mobile-broadband-provider-info/serviceproviders.xml (mnc modified after package install to match the mobile network code)
        <provider>
                <name>Personal</name>
                <gsm>
                        <network-id mcc="722" mnc="34"/>
                        <apn value="gprs.personal.com">
                                <plan type="postpaid"/>
                                <usage type="internet"/>
                                <username>gprs</username>
                                <password>adgj</password>
                                <dns>172.25.7.6</dns>
                                <dns>172.25.7.7</dns>
                        </apn>
                </gsm>
        </provider>

When ofono starts, the following is written to the syslog:
Aug 5 21:45:58 ubuntu-phablet ofonod[1128]: Duplicate EFsdn entries for `Personal'

http://bazaar.launchpad.net/~phablet-team/phablet-extras/ofono/view/head:/src/sim.c#L1247

This prevents the gprs context from being configured, such that:
root@ubuntu-phablet:/# /usr/share/ofono/scripts/list-contexts [ /ril_0 ]
    [ /ril_0/context1 ]
        Username =
        Protocol = ip
        Name = Internet
        Settings = { }
        IPv6.Settings = { }
        Active = 0
        AccessPointName =
        Password =
        Type = internet

Tags: ofono
summary: - [ofono] error on sim read for service number
+ [ofono] duplicate EFsdn entries error on sim read for service number
Revision history for this message
Tony Espy (awe) wrote :

EFsdn is defined by 3GPP TS 31.102:

This EF contains special service numbers (SDN) and/or the respective supplementary service control strings (SSC). In addition it contains identifiers of the associated network/bearer capabilities and identifiers of extension records at the USIM ADF level. It may also contain associated alpha-tagging.

Tony Espy (awe)
Changed in touch-preview-images:
status: New → In Progress
affects: touch-preview-images → ofono (Ubuntu)
Changed in ofono (Ubuntu):
milestone: ubuntu-13.08 → none
affects: ofono (Ubuntu) → touch-preview-images
Changed in ofono (Ubuntu):
status: New → In Progress
assignee: nobody → Tony Espy (awe)
Revision history for this message
Tony Espy (awe) wrote :

Missing from the original description is the theory that this error ( ie. duplicate SDN ) is somehow preventing provisioning from succeeding, which results in no mobile data.

After looking at the code, I'm not so sure this is what's happening.

I'm in the process of building a test package for you, which should shed a bit more light on what's going on.

Revision history for this message
Tony Espy (awe) wrote :

@Sergio

Here's a test package for you to try.

Can you test with an additional "-d" added to the ofono startup command, and then get me the output?

Probably the easiest way to do this is to add the "-d" option to the ofono.override file. If you do this, please also perform the following extra steps:

1. Delete /var/log/syslog
2. Remove the default data context from /var/lib/ofono/<IMSI>/gprs
3. Reboot

Once you've done this, please add the fresh syslog to the bug.

Revision history for this message
Sergio Schvezov (sergiusens) wrote :

Here's the syslog output: http://paste.ubuntu.com/5981627/

Revision history for this message
Tony Espy (awe) wrote :
Revision history for this message
Tony Espy (awe) wrote :
Revision history for this message
Tony Espy (awe) wrote :

Here's an updated -dbg package after fixing up debian/rules.

Revision history for this message
Sergio Schvezov (sergiusens) wrote :

Program received signal SIGSEGV, Segmentation fault.
strlen () at ../ports/sysdeps/arm/strlen.S:28
28 ../ports/sysdeps/arm/strlen.S: No such file or directory.
(gdb) bt
#0 strlen () at ../ports/sysdeps/arm/strlen.S:28
#1 0x4018af08 in _IO_vfprintf_internal (s=s@entry=0xefb40,
    format=format@entry=0xc5b78 "%s:%s() alpha: %s ph: %s", ap=...,
    ap@entry=...) at vfprintf.c:1655
#2 0x401f5936 in ___vfprintf_chk (fp=fp@entry=0xefb40, flag=flag@entry=1,
    format=format@entry=0xc5b78 "%s:%s() alpha: %s ph: %s", ap=ap@entry=...)
    at vfprintf_chk.c:34
#3 0x401e5b30 in __GI___vsyslog_chk (pri=<optimized out>, flag=1,
    fmt=0xc5b78 "%s:%s() alpha: %s ph: %s", ap=...) at ../misc/syslog.c:222
#4 0x00070434 in ofono_debug ()
#5 0x00086c68 in sim_sdn_read_cb ()
#6 0x0009bc88 in sim_fs_op_retrieve_cb ()
#7 0x0001f954 in ril_file_io_cb ()
#8 0x0001aa08 in new_bytes ()
#9 0x0001b4ac in received_data ()
#10 0x40091a46 in g_main_context_dispatch ()
   from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
#11 0x40091ca6 in ?? () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
#12 0x40091ca6 in ?? () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Revision history for this message
Sergio Schvezov (sergiusens) wrote :

here's the new grep ofonod syslog
http://paste.ubuntu.com/5982959/

Revision history for this message
Sergio Schvezov (sergiusens) wrote :

Here's the full log from running ofonod -n -d -p ril,rilmodem,provision,mbpi,nettime >log 2>&1
http://paste.ubuntu.com/5983007/

Tony Espy (awe)
Changed in touch-preview-images:
importance: High → Medium
description: updated
Tony Espy (awe)
description: updated
Changed in touch-preview-images:
importance: Medium → Low
Tony Espy (awe)
Changed in touch-preview-images:
status: In Progress → Confirmed
Changed in ofono (Ubuntu):
status: In Progress → Confirmed
Tony Espy (awe)
Changed in touch-preview-images:
assignee: Tony Espy (awe) → nobody
Changed in ofono (Ubuntu):
assignee: Tony Espy (awe) → nobody
Bill Filler (bfiller)
no longer affects: touch-preview-images
Revision history for this message
Tony Espy (awe) wrote :

Updated to WontFix, as this really isn't causing a problem visible to the end-user.

Changed in ofono (Ubuntu):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.