New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 756336 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

broadband connection lost when recovery from sleep nyan_blaze

Project Member Reported by marcore@chromium.org, Aug 17 2017

Issue description

Chrome Version: 59.0.3071.134 & 60.0.3112.80 
OS: CromeOS
HW: HP Chromebook 14 G3  nyan_blaze 
Broadband connection At&t 

What steps will reproduce the problem?
(1) connect using internal modem
(2) close the lid and complete the suspend
(3) open the lid

What is the expected result?
to reconnect to broadband network
What happens instead?
no connection

Customer debug logs:
https://drive.google.com/open?id=0B01ZVp8vDQocWU1FZHNJamxoaWM
Customer info:
https://drive.google.com/open?id=1O-C2K6TA9Clqf0vX1-JAgQbl3fo9cyagAVQyP5VEDRY
- Does it affect all devices? 
100% of HP G3 11 inches and 14 inches that they have on their fleet

in the log I see:

eventlog.txt
225 | 2017-08-11 09:14:21 | Sleep

net.1.log
2017-08-11T09:14:20.114952-07:00 INFO ModemManager[1501]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connected -> disabling)
2017-08-11T09:14:20.115660-07:00 INFO shill[1133]: [INFO:cellular.cc(721)] Deregistering cellular service 7 for device wwan0
2017-08-11T09:14:20.115810-07:00 INFO shill[1133]: [INFO:service.cc(302)] Service 7 destroyed.
messages.1
2017-08-11T09:14:21.839168-07:00 NOTICE powerd_suspend[15275]: Going to suspend-to-RAM state: args=--suspend_duration=-1 --nosuspend_to_idle --wakeup_count=190
2017-08-11T09:14:22.173179-07:00 NOTICE powerd_suspend[15330]: Blaze with Huawei modem
2017-08-11T09:14:22.177439-07:00 NOTICE powerd_suspend[15333]: Power off built-in modem
2017-08-11T09:14:22.179089-07:00 NOTICE powerd_suspend[15335]: Finalizing suspend

eventlog.txt
226 | 2017-08-11 09:17:43 | Wake
net.1.log
2017-08-11T09:17:41.940238-07:00 INFO shill[1133]: [INFO:wifi_service.cc(785)] Representative endpoint updated for service 2. [SSID=CUSTOMER SSID] 
only messages about wifi
2017-08-11T09:17:46.092484-07:00 INFO ModemManager[1501]: <info>  Couldn't check support for device '/sys/devices/soc0/70090000.usb/xhci-hcd.0.auto/usb1/1-3': Device support check task already available for device '/sys/devices/soc0/70090000.usb/xhci-hcd.0.auto/usb1/1-3'
2017-08-11T09:17:46.095485-07:00 INFO ModemManager[1501]: <info>  (net/usb0): released by device '/sys/devices/soc0/70090000.usb/xhci-hcd.0.auto/usb1/1-3'
2017-08-11T09:17:46.095655-07:00 INFO ModemManager[1501]: <info>  Couldn't check support for device '/sys/devices/soc0/70090000.usb/xhci-hcd.0.auto/usb1/1-3': Operation was cancelled
messages.1
2017-08-11T09:17:41.938752-07:00 DEBUG kernel: [ 2014.617711] PM: Finishing wakeup.
2017-08-11T09:17:41.967322-07:00 NOTICE powerd_suspend[15379]: Power on built-in modem
2017-08-11T09:17:41.976517-07:00 NOTICE powerd_suspend[15383]: Resume finished
...
2017-08-11T09:17:45.959473-07:00 INFO kernel: [ 2018.620698] usb 1-3: new high-speed USB device number 6 using xhci-hcd
2017-08-11T09:17:45.979369-07:00 INFO kernel: [ 2018.645101] usb 1-3: New USB device found, idVendor=12d1, idProduct=15bb
2017-08-11T09:17:45.979406-07:00 INFO kernel: [ 2018.645115] usb 1-3: New USB device strings: Mfr=6, Product=5, SerialNumber=0
2017-08-11T09:17:45.979412-07:00 INFO kernel: [ 2018.645123] usb 1-3: Product: HUAWEI Mobile Broadband Module
2017-08-11T09:17:45.979418-07:00 INFO kernel: [ 2018.645129] usb 1-3: Manufacturer: Huawei Technologies Co., Ltd.
2017-08-11T09:17:45.989361-07:00 INFO kernel: [ 2018.652520] usb 1-3: MAC-Address: 02:2c:80:13:XX:XX
2017-08-11T09:17:45.989425-07:00 INFO kernel: [ 2018.652934] cdc_ncm 1-3:2.0 usb0: register 'cdc_ncm' at usb-xhci-hcd.0.auto-3, CDC NCM, 02:2c:80:13:XX:XX
2017-08-11T09:17:45.999295-07:00 INFO kernel: [ 2018.668439] cdc_ncm 1-3:2.0 usb0: unregister 'cdc_ncm' usb-xhci-hcd.0.auto-3, CDC NCM
2017-08-11T09:17:46.049296-07:00 INFO kernel: [ 2018.717881] cdc_mbim 1-3:3.0: cdc-wdm0: USB WDM device
2017-08-11T09:17:46.049335-07:00 INFO kernel: [ 2018.718379] cdc_mbim 1-3:3.0 wwan0: register 'cdc_mbim' at usb-xhci-hcd.0.auto-3, CDC MBIM, 1a:ce:74:2e:XX:XX

if they reboot the device it can connect.


 
Cc: benchan@chromium.org
Ben, could you take a look at this issue ?
Cc: -benchan@chromium.org ejcaruso@chromium.org
Owner: benchan@chromium.org
Status: Started (was: Untriaged)
Here's one issue observed when trying to reproduce the issue described in this bug:

(Upstream discussion: https://lists.freedesktop.org/archives/modemmanager-devel/2017-August/005626.html)

When the Huawei ME936 modem boots up, it's first in USB configuration 2 and then switched to USB configuration 3 that exposes a MBIM interface. During the switching from USB configuration 2 to 3, there are two sets of udev events generated by the kernel. The first set of events notifies the removal of interfaces associated with USB configuration 2. The second set of events notifies the addition of interfaces associated with USB configuration 3.

Even through the set of "remove" events seems to be initialized before the set of "add" events (as indicated in the USEC_INITIALIZED timestamp), it seems possible that a udev client (e.g. ModemManager, udevadm) sometimes receives the two set of events in an interleaved fashion. The example attached below shows that, an "add" event of 1-3:3.0/usbmisc/cdc-wdm0, followed by "remove" event of 1-3:2.2 and 1-3:2.4, followed by an "add" event of 1-3:3.0/net/wwan0. All these events are associated with the same device "/devices/soc0/70090000.usb/xhci-hcd.0.auto/usb1/1-3".

When ModemManager sees the "remove" events of 1-3:2.2 and 1-3:2.4, it incorrectly removes the MMDevice created for cdc-wdm0. Wjen it sees wwan0, a new MMDevice is created. So ModemManager never sees cdc-wdm0 and wwan0 together during the initial device/port probing.

###


UDEV  [60231.057732] add      /devices/soc0/70090000.usb/xhci-hcd.0.auto/usb1/1-3/1-3:3.0/usbmisc/cdc-wdm0 (usbmisc)
ACTION=add
DEVNAME=/dev/cdc-wdm0
DEVPATH=/devices/soc0/70090000.usb/xhci-hcd.0.auto/usb1/1-3/1-3:3.0/usbmisc/cdc-wdm0
ID_MM_CANDIDATE=1
ID_MM_DEVICE_IS_MODEM=1
MAJOR=180
MINOR=176
SEQNUM=2029
SUBSYSTEM=usbmisc
USEC_INITIALIZED=60231057407

UDEV  [60231.060390] remove   /devices/soc0/70090000.usb/xhci-hcd.0.auto/usb1/1-3/1-3:2.2 (usb)
ACTION=remove
DEVPATH=/devices/soc0/70090000.usb/xhci-hcd.0.auto/usb1/1-3/1-3:2.2
DEVTYPE=usb_interface
ID_USB_CLASS_FROM_DATABASE=Miscellaneous Device
ID_USB_PROTOCOL_FROM_DATABASE=Interface Association
INTERFACE=255/5/16
MODALIAS=usb:v12D1p15BBd0001dcEFdsc02dp01icFFisc05ip10in02
PRODUCT=12d1/15bb/1
SEQNUM=2023
SUBSYSTEM=usb
TYPE=239/2/1
USEC_INITIALIZED=60231049203

UDEV  [60231.061816] remove   /devices/soc0/70090000.usb/xhci-hcd.0.auto/usb1/1-3/1-3:2.4 (usb)
ACTION=remove
DEVPATH=/devices/soc0/70090000.usb/xhci-hcd.0.auto/usb1/1-3/1-3:2.4
DEVTYPE=usb_interface
ID_USB_CLASS_FROM_DATABASE=Miscellaneous Device
ID_USB_PROTOCOL_FROM_DATABASE=Interface Association
INTERFACE=255/5/18
MODALIAS=usb:v12D1p15BBd0001dcEFdsc02dp01icFFisc05ip12in04
PRODUCT=12d1/15bb/1
SEQNUM=2025
SUBSYSTEM=usb
TYPE=239/2/1
USEC_INITIALIZED=60231053657

UDEV  [60231.065329] add      /devices/soc0/70090000.usb/xhci-hcd.0.auto/usb1/1-3/1-3:3.0/net/wwan0 (net)
ACTION=add
DEVPATH=/devices/soc0/70090000.usb/xhci-hcd.0.auto/usb1/1-3/1-3:3.0/net/wwan0
DEVTYPE=wwan
ID_BUS=usb
ID_MM_CANDIDATE=1
ID_MODEL=HUAWEI_Mobile_Broadband_Module
ID_MODEL_ENC=HUAWEI\x20Mobile\x20Broadband\x20Module
ID_MODEL_ID=15bb
ID_NET_DRIVER=cdc_mbim
ID_NET_NAME_MAC=wwx5ae7c1ec981c
ID_PATH=platform-xhci-hcd.0.auto-usb-0:3:3.0
ID_PATH_TAG=platform-xhci-hcd_0_auto-usb-0_3_3_0
ID_REVISION=0001
ID_SERIAL=Huawei_Technologies_Co.__Ltd._HUAWEI_Mobile_Broadband_Module
ID_TYPE=generic
ID_USB_CLASS_FROM_DATABASE=Miscellaneous Device
ID_USB_DRIVER=cdc_mbim
ID_USB_INTERFACES=:ff0512:ff0513:ff0510:ff0516:ff0514:020d00:0a0000:020e00:0a0002:
ID_USB_INTERFACE_NUM=00
ID_USB_PROTOCOL_FROM_DATABASE=Interface Association
ID_VENDOR=Huawei_Technologies_Co.__Ltd.
ID_VENDOR_ENC=Huawei\x20Technologies\x20Co.\x2c\x20Ltd.
ID_VENDOR_ID=12d1
IFINDEX=42
INTERFACE=wwan0
SEQNUM=2030
SUBSYSTEM=net
USEC_INITIALIZED=60231063661


net log and udev log when no interleaved of remove/add events observed
udev.log
24.0 KB View Download
messages
46.5 KB View Download

Comment 5 Deleted

net log and udev log when interleaved of remove/add events observed
messages
29.5 KB View Download
udev.log
24.0 KB View Download
Status: Fixed (was: Started)
Labels: Merge-Request-61
Project Member

Comment 10 by sheriffbot@chromium.org, Aug 23 2017

Labels: -Merge-Request-61 Merge-Review-61 Hotlist-Merge-Review
This bug requires manual review: We are only 12 days from stable.
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), ketakid@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: keta...@chromium.org
Labels: M-61

Comment 12 by ketakid@google.com, Aug 24 2017

Labels: -Merge-Review-61 Merge-Approved-61
Approving merge to M61 Chrome OS.


Project Member

Comment 13 by bugdroid1@chromium.org, Aug 24 2017

Labels: merge-merged-release-R61-9765.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/modemmanager-next/+/7589e6420e44b25fe013d406148750cb44c6af21

commit 7589e6420e44b25fe013d406148750cb44c6af21
Author: Ben Chan <benchan@chromium.org>
Date: Thu Aug 24 01:31:39 2017

base-manager: avoid events of USB interface from removing MMDevice

When a USB modem is switching its USB configuration, udev may deliver
the remove events of USB interfaces associated with the old USB
configuration and the add events of USB interfaces associated with the new USB
configuration in an interleaved fashion. An interleaved remove event of USB
interface could trigger the special case handling code in
mm-base-manager.c:device_removed() and incorrectly remove a MMDevice under
probing.

See https://lists.freedesktop.org/archives/modemmanager-devel/2017-August/005626.html
for more details.

This patch adds a check to ensure that only remove events of USB
device (i.e. not interface) can trigger the special handling code.

(cherry picked from commit 76c1a1119cdb08c710b5f8df35c31883a466a64a)

BUG= chromium:756336 
TEST=Tested the following:
1. Power cycle the Huawei ME936 modem on nyan_blaze.
2. Verify that ModemManager successfully initializes the modem.
3. Repeat step 1 and 2.

Change-Id: I912af5c0e57eccd98d0f60ad9bc396f156f5486e
Reviewed-on: https://chromium-review.googlesource.com/627091
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>

[modify] https://crrev.com/7589e6420e44b25fe013d406148750cb44c6af21/src/mm-base-manager.c

Labels: -Merge-Approved-61 Merge-Merged
Merged to M61

Comment 15 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment