Bug 1729520 - sierra 7607 (WP7608) stuck when connecting immediately after plug in
Summary: sierra 7607 (WP7608) stuck when connecting immediately after plug in
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: ModemManager
Version: 8.1
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: 8.0
Assignee: Antonio Cardace
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-07-12 13:25 UTC by Vladimir Benes
Modified: 2020-07-17 15:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-07-17 15:11:31 UTC
Type: Bug
Target Upstream Version:


Attachments (Terms of Use)

Description Vladimir Benes 2019-07-12 13:25:25 UTC
Description of problem:
when I connect Sierra 7607 modem to an USB slot and start connecting immediately after gsm device appears (I have patched kernel to avoid bug 1729083 ) the device never connects. If waiting a minute or so the device goes up correctly.

Version-Release number of selected component (if applicable):
kernel-4.18.0-114.el8.bz1729083.2.x86_64
NetworkManager-1.20.0-0.1.el8.x86_64
libqmi-1.22.4-4.el8.x86_64


How reproducible:
always

Steps to Reproduce:
1. plug in sierra 7607 into rhel8.1 box
2. wait for gsm device to appear with nmcli dev
3. run nmcli con add type gsm ifname \* apn internet autoconnect no
4. nmcli con up gsm

Actual results:
fail

Expected results:
should work immediately

Additional info:

Comment 2 Vladimir Benes 2019-07-12 13:44:14 UTC
when it fails, it's enough to wait for timeout, and then it connects correctly.

Jul 12 09:42:54 gsm-r5s3-01.wlan.rhts.eng.bos.redhat.com ModemManager[13040]: <info>  Simple connect state (4/8): Wait to get fully enabled
Jul 12 09:42:54 gsm-r5s3-01.wlan.rhts.eng.bos.redhat.com ModemManager[13040]: <info>  Simple connect state (5/8): Register
Jul 12 09:42:54 gsm-r5s3-01.wlan.rhts.eng.bos.redhat.com ModemManager[13040]: <debug> Already registered in network '00101', automatic registration not launched...
Jul 12 09:42:54 gsm-r5s3-01.wlan.rhts.eng.bos.redhat.com ModemManager[13040]: <info>  Simple connect state (6/8): Bearer
Jul 12 09:42:54 gsm-r5s3-01.wlan.rhts.eng.bos.redhat.com ModemManager[13040]: <debug> Using already existing bearer at '/org/freedesktop/ModemManager1/Bearer/6'...
Jul 12 09:42:54 gsm-r5s3-01.wlan.rhts.eng.bos.redhat.com ModemManager[13040]: <info>  Simple connect state (7/8): Connect

I think registration of 00101 is somehow crippled. Not sure if BTS doesn't play a role in this game, going to restart it.

Comment 3 Vladimir Benes 2019-07-12 14:52:19 UTC
signal strenght is set to 0% (cached)

[root@gsm-r5s3-01 NetworkManager-ci]# qmicli -d /dev/cdc-wdm0 --nas-get-signal-strength
[12 Jul 2019, 10:07:46] -Warning ** Error reading from istream: Resource temporarily unavailable

error: couldn't create client for the 'nas' service: CID allocation failed in the CTL client: Transaction timed out

Comment 4 Antonio Cardace 2020-07-17 15:11:31 UTC
Testing on RHEL 8.3.0, NetworkManager 1.26.0-1.el8, ModemManager 1.10.8-2.el8 on gsm-r5s3-01.wlan.rhts.eng.bos.redhat.com with Sierra WP7608 (1199:68c0).

The modem works intermittently when power-cycled, it's a bit of a hit and miss, the reason seems to be the access technology choice which can be made between 'gsm' and 'lte'.

When LTE is chosen the modem almost immediately registers to the network and NM + MM are able to establish a connection, when GSM is chosen instead the modem is stuck in 'searching' thus never getting registered.

Here's a snapshot of when the modem (at startup) chooses LTE:

qmicli -d /dev/cdc-wdm0 --nas-get-serving-system

[/dev/cdc-wdm0] Successfully got serving system:
        Registration state: 'registered'
        CS: 'attached'
        PS: 'attached'
        Selected network: '3gpp'
        Radio interfaces: '1'
                [0]: 'lte'
        Roaming status: 'off'
        Data service capabilities: '1'
                [0]: 'lte'
        Current PLMN:
                MCC: '1'
                MNC: '1'
                Description: 'Test'
        Roaming indicators: '1'
                [0]: 'off' (lte)
        3GPP location area code: '65534'
        3GPP cell ID: '19333136'
        Detailed status:
                Status: 'available'
                Capability: 'cs-ps'
                HDR Status: 'none'
                HDR Hybrid: 'no'
                Forbidden: 'no'
        LTE tracking area code: '6748'
        Full operator code info:
                MCC: '1'
                MNC: '1'
                MNC with PCS digit: 'no'

and when it chooses GSM instead:

qmicli -d /dev/cdc-wdm0 --nas-get-serving-system

[/dev/cdc-wdm0] Successfully got serving system:
        Registration state: 'not-registered-searching'
        CS: 'detached'
        PS: 'detached'
        Selected network: '3gpp'
        Radio interfaces: '1'
                [0]: 'gsm'
        Roaming status: 'on'
        Data service capabilities: '0'
        Current PLMN:
                MCC: '1'
                MNC: '50'
                Description: ''
        Roaming indicators: '1'
                [0]: 'on' (gsm)
        Detailed status:
                Status: 'limited-regional'
                Capability: 'cs-ps'
                HDR Status: 'none'
                HDR Hybrid: 'no'
                Forbidden: 'no'
        Full operator code info:
                MCC: '1'
                MNC: '50'
                MNC with PCS digit: 'no'

Thing is I would have expected the modem to react to a never-ending GSM searching state and change access technology to LTE instead but it doesn't seem to behave like that, maybe a FW update improves the situation but not sure.

The only thing I could do was to set the preferred access technology to LTE so that the modem would only try connecting to LTE ignoring GSM, this worked by doing:

$ qmicli -p -d /dev/cdc-wdm0 --nas-set-system-selection-preference=lte,automatic

After which you can see the setting got stored by doing:

$ qmicli -p -d /dev/cdc-wdm0 --nas-get-system-selection-preference
[/dev/cdc-wdm0] Successfully got system selection preference
        Emergency mode: 'no'
        Mode preference: 'lte' # THIS IS THE RELEVANT LINE
        Band preference: 'gsm-dcs-1800, gsm-900-extended, wcdma-2100, wcdma-900'
        LTE band preference: '1, 3, 5, 8, 40, 41'
        LTE band preference (extended): '1, 3, 5, 8, 40, 41, 66, 71, 252, 255'
        TD-SCDMA band preference: '(null)'
        Roaming preference: 'any'
        Network selection preference: 'automatic'
        Service domain preference: 'cs-ps'
        GSM/WCDMA acquisition order preference: 'automatic'
        Usage preference: 'voice-centric'
        Voice domain preference: 'ps-preferred'
        Registration restriction: 'unrestricted'
        Acquisition order preference: lte, umts, gsm, cdma-1x, cdma-1xevdo

After doing the above the modem seems to get registered and able to establish a connection every time it gets power-cycled.

Having done these tests both using ModemManager and trying to establish a connection manually via qmicli I'm sure ModemManager presents no bug and this is just the modem misbehaving.

Closing this as I don't see any bug in ModemManager.


Note You need to log in before you can comment on or make changes to this bug.