Sometimes, you can have trouble automatically updating ChromeOS on managed devices.
Step 1: Check common issues
Devices with any version of ChromeOS can autoupdate to the latest version on the Stable channel. Depending on the version number, it might take multiple updates to get to the latest version. Devices might not be able to autoupdate to the latest version of ChromeOS for a few reasons.
- By default, ChromeOS devices autoupdate to the latest version of Chrome when it’s available. In your Google Admin console, make sure that Device updates is set to Allow updates. For details, see Turn on auto-updates (recommended).
- Version pinning prevents devices from automatically updating to versions of ChromeOS beyond the version number that you specify. For more details, see version pinning. In your Google Admin console, do the following:
- Select Allow updates
- Select the Target version
- (Optional) Select Roll back OS
- Scattering specifies the number of days over which users’ devices download an automatic update. You can scatter updates over a period of days, but you should choose the fewest days possible, such as 2 or 3. If you scatter updates over a longer period, some users might fall behind by more than one version. In your Google Admin console, make sure that Randomly scatter auto-updates over is set to the fewest days possible.
- Policies must reach devices before they can behave according to the settings that you set in the Admin console. To see if a specific device has the correct policies set, you can go to chrome://policy on the device. Check to make sure that the DeviceAutoUpdateDisabled, DeviceTargetVersionPrefix, and DeviceUpdateScatterFactor policies are not set. In that case, the default auto-update behavior occurs on the device.
- Google provides automatic updates to a certain date. For details, see Auto Update policy.
- For Google meeting room hardware, ChromeOS updates might be delayed.
Step 2: Diagnose the cause
If ChromeOS devices in your organization still aren’t automatically updating to the latest version of ChromeOS, gather information to diagnose the cause.
Check version number and policies
On a ChromeOS device:
- Check the current ChromeOS version and see if any updates are available. For details, see Update your Chromebook's operating system.
- See which Chrome policies are currently in effect. For details, see View a device's current Chrome policies.
- Make sure the device can connect to the update server (omahaproxy) using Browserinfo.
Check debug logs
Step 1: Collect logs
- On a ChromeOS device, collect the debug logs. For details, see Collect ChromeOS device debug logs.
- Upload the logs to Log Analyzer.
Step 2: Manually check logs
Manually check the latest update logs to make sure that they have the information that you expect.
[1024/011920:INFO:payload_state.cc(554)] Current download source: HttpPeer
The source that the device is trying to connect to download an update. HttpPeer refers to Google servers.[1024/011920:INFO:update_attempter.cc(405)] Setting target channel as mandated: beta-channel
The channel that is currently being requested by the device. In the Admin console, configure the Release channel setting. For details, see Set ChromeOS device policies.[1024/020539:INFO:omaha_request_action.cc(793)] Posting an Omaha request to https://tools.google.com/service/update2
Omaha_request is the function that posts a request to the update target, such as peer-to-peer or web. Here, the request is targeting Google servers. Make sure that the hostname URL is allowlisted. For details, see Set up a hostname allowlist.[1023/133852:INFO:update_attempter.cc(875)] Running interactive update
The update was manually initiated from the device itself. For details about how to check for updates on devices, see Update your Chromebook's operating system.1023/133854:INFO:libcurl_http_fetcher.cc(296)] Setting up curl options for HTTP
[1023/133854:INFO:libcurl_http_fetcher.cc(433)] HTTP response code: 416
[1023/133854:INFO:libcurl_http_fetcher.cc(468)] Transfer resulted in an error (416), 0 bytes downloaded
There is an issue with the network that the device is connecting to. So, the device can’t download the file. Check that the device can update on an unrestricted network.
Example debug log
In the example debug log:
version="2913.212.0"
The ChromeOS device is updating from version 2913.212.0.<o:updatecheck targetversionprefix="5116.">
The ChromeOS device is pinned to version 5116.
For ChromeOS version numbers for devices that are currently supported, see CrOS-OmahaProxy CSV Viewer.
==== REQUEST ===== [0206/165048:INFO:omaha_request_action.cc(252)] Request: <!--?xml version="1.0" encoding="UTF-8"?-->
<o:gupdate ismachine="1" protocol="2.0" updaterversion="ChromeOSUpdateEngine-0.1.0.0" version="ChromeOSUpdateEngine-0.1.0.0" xmlns:o="http://google.com/update2/request"> <o:os platform="Chrome OS" sp="2913.212.0_armv7l" version="Indy"></o:os> <o:app appid="{D851316B-7E57-4805-A7CE-01829AC14}" board="daisy-signed-mp-v2keys" delta_okay="true" hardware_class="SNOW ELBERT A-E 4016" lang="en-US" track="stable-channel" version="2913.212.0"> <o:updatecheck targetversionprefix="5116."> </o:updatecheck> </o:app> </o:gupdate>
Step 3: Contact the Support Center
Before you contact the Google Cloud Support Center:
- Check the debug logs. Identify and fix any common issues you find.
- Check that devices can autoupdate on an unrestricted network.
- Verify that devices are not pinned to a specific version.
If you’re still having issues, contact the Support Center. Submit debug logs with your case.