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

Issue 691625 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Last visit > 30 days ago
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Chrome OS receives large updates when tethered to a smartphone

Project Member Reported by kirtika@chromium.org, Feb 13 2017

Issue description

Filed from feedback report: https://feedback.corp.google.com/product/208/neutron?lView=rd&lReport=53205528083

OS: M58

What steps will reproduce the problem?
(1) Connect to an Android wifi hotspot
(2) Login to a "new" chromebook for the first time, preferably with
ARC++ enabled.

What is the expected result?
Shouldn't download anything. 

What happens instead?
4gb+ of updates downloaded, as reported here: 
https://feedback.corp.google.com/product/208/neutron?lView=rd&lReport=53205528083

This was first address in  crbug.com/323010 , it looks like the solution to detect being tethered to a mobile hotspot was a heuristic. 
" The OUI was 02-1a-11 in both cases.  A little more research yields that that it is common practice for both Android and iPhone devices to use the '02-1a' prefix when in AP mode (the "02" indicates this is a locally administered address and not formally registered)."

Maybe this is no longer true? 



 
Findings from a hasty reading of logs:

1. Container doesn't think we are metered.

=======
    Intent: act=android.net.wifi.STATE_CHANGE flg=0x44000010
      Bundle[{networkInfo=[type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: "Zach", roaming: false, failover: false, isAvailable: true], wifiInfo=SSID: Zach, BSSID: ac:37:43:00:00:06, MAC: 02:00:00:00:00:11, Supplicant state: COMPLETED, RSSI: 89, Link speed: 100Mbps, Frequency: 2437MHz, Net ID: 0, Metered hint: false, score: 0}]
=======

Tether state is null. 
=======
Tethering:
  mUpstreamIfaceTypes:
  Tether state:
========


2. Shill seems to know that we are tethered: 

from the network-services section (network-services=<multiline>)

=========
  Security: rsn
  SecurityClass: psk
  State: online
  Strength: 64
  Tethering: Confirmed
  Type: wifi
  UIData: 
  Visible: true
  WiFi.AuthMode: 
  WiFi.BSSID: *** MASKED ***
  WiFi.Frequency: 2437
  WiFi.FrequencyList/0: 2437
  WiFi.HexSSID: *** MASKED ***
  WiFi.HiddenSSID: false
  WiFi.PhyMode: 4
=========



Cc: abhishekbh@chromium.org
> Container doesn't think we are metered.

I don't think we pass this info (but we probably should).

Abhishek may be looking at a related issue involving the metering bit on N CTS.

Comment 3 by snanda@chromium.org, Feb 13 2017

Cc: benchan@chromium.org
+benchan since we were chatting last week about how to expose the tethered/metered information to the container both in the context of in-built LTE as well as tethering.
We can probably set up dnsmasq for the container and have it conditionally set dhcp option 43 with ANDROID_METERED. Whenever shill changes the preferred connection, we will need re-evaluate that based on the technology type and tethering bit.
We used to run a local instance of dhcpd to provision the container IP, but it eventually became unnecessary and now we hardcode the IP configuration.  Connection type, SSID, DNS server list, etc. is passed via mojo.

I suspect we can do the same for the metered bit - will need to look at how it gets exposed in each OS.

Comment 6 by yoshi@chromium.org, Jan 3 2018

Cc: -yoshi@chromium.org
Status: Assigned (was: Untriaged)

Sign in to add a comment