New issue
Advanced search Search tips

Issue 857024 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 885226
Owner:
Closed: Sep 4
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Need to be able to change and set Chrome device's language during firmware updates (e.g. boot-update-firmware.conf)

Reported by samuel.k...@airbnb.com, Jun 27 2018

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3472.3 Safari/537.36
Platform: 10575.55.0 (Official Build) stable-channel guado

Steps to reproduce the problem:
1. Buy Chrome devices where default language isn't what you want
2. When in recovery, firmware updating, powerwash, etc, the messages are displayed in the device's shipping language and not what Chrome OS is.

What is the expected behavior?
These messages should be in the same language which Chrome OS is configured as.

What went wrong?
I honestly had no idea this was even a thing until this week, but we got a whole bunch of guado (Asus CN62 Chromebox) which are configured as Dutch by default.  They are used in Germany, though all of the users also speak English.

When there's a firmware update happening or similar where it tells the user to wait, not unplug the device, or perhaps in the case of a Pixelbook/similar not touch the trackpad, these message should be able to be displayed in a language the user is actually going to understand.

When we set the device sign in language, everything a user sees in Chrome OS before sign in is in that language, but that doesn't extend to firmware currently.

Did this work before? No 

Chrome version: 67.0.3396.87  Channel: stable
OS Version: 10575.55.0
Flash Version: 

This is somewhat related to bug 856943 and bug 856932.
 
Labels: Needs-Feedback
Is it possible to change language on these screens with arrows left and right?
Only on the recovery screen, and it doesn't stick.

I am much more concerned with the messages displayed during firmware updates, where the language displayed doesn't match anything understood, so a user won't know that unplugging during a firmware or TPM update could brick the device.
Project Member

Comment 3 by sheriffbot@chromium.org, Jul 4

Cc: rsorokin@chromium.org
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: pmarko@chromium.org
Owner: hendrich@chromium.org
It seems that these are messages displayed from platform2/init/chromeos-boot-alert .

This uses the following logic to decide which locale to use:
- grep /mnt/stateful_partition/home/chronos/Local State for "app_locale"
- fall back to VPD if that fails.

It seems that the fix would be to ensure that the kApplicationLocale Local State pref is set to the managed value.

This could be done around [1] or [2] or both.
[1] https://cs.chromium.org/chromium/src/chrome/browser/chrome_browser_main.cc?rcl=c1bd75f2cab8d8d689f9effacbf88e4a2866f667&l=407
[2] https://cs.chromium.org/chromium/src/chrome/browser/chromeos/login/ui/login_display_host_webui.cc?rcl=c1bd75f2cab8d8d689f9effacbf88e4a2866f667&l=1276

The test would be to set the DeviceLoginScreenLocales policy, make sure it applied, i.e. that the first-specified locale is now used on the sign-in screen (e.g. by running restart ui) and check if the find_current_locale logic from platform2/init/chromeos-boot-alert yields the policy-managed locale.

Alex, mind trying this out when you have some time?
Status: Assigned (was: Unconfirmed)
the recovery behavior won't be able to change.  the locale details are stored on the disk, and when going through recovery, the disk is not used at all by design.  so you'd still have to select the language via the firmware for every recovery event.
Project Member

Comment 7 by bugdroid1@chromium.org, Jul 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/6243f82511aba50c949a1f1e2aa069ff5e5185fc

commit 6243f82511aba50c949a1f1e2aa069ff5e5185fc
Author: Alexander Hendrich <hendrich@chromium.org>
Date: Mon Jul 23 19:59:45 2018

Add runtime dependency to jq

This CL adds a runtime dependency to jq for this CL:
http://crrev.com/c/1127879

BUG= chromium:857024 
TEST=none

Change-Id: I5233b6b8743ca6d1dfb95fe2c865f4f03c0d763b
Reviewed-on: https://chromium-review.googlesource.com/1135248
Commit-Ready: Alexander Hendrich <hendrich@chromium.org>
Tested-by: Alexander Hendrich <hendrich@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/6243f82511aba50c949a1f1e2aa069ff5e5185fc/chromeos-base/chromeos-init/chromeos-init-9999.ebuild

Project Member

Comment 8 by bugdroid1@chromium.org, Jul 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/edb4cb51dd1312c064f12c991eef78e349079591

commit edb4cb51dd1312c064f12c991eef78e349079591
Author: Alexander Hendrich <hendrich@chromium.org>
Date: Mon Jul 23 19:59:46 2018

init: Fix readout of current locale from 'Local State' file

This CL fixes the file path and read out of the locale from the 'Local
State' file.

BUG= chromium:857024 
TEST=none
CQ-DEPEND=CL:1135248

Change-Id: Ib763ab1200d6970e42e28b85367f72324220c0ae
Reviewed-on: https://chromium-review.googlesource.com/1127879
Commit-Ready: Alexander Hendrich <hendrich@chromium.org>
Tested-by: Alexander Hendrich <hendrich@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/edb4cb51dd1312c064f12c991eef78e349079591/init/chromeos-boot-alert

Status: Fixed (was: Assigned)
Is there a way to manually verify that this issue has been resolved?
Summary: Need to be able to change and set Chrome device's language during firmware updates (e.g. boot-update-firmware.conf) (was: Need to be able to change and set Chrome device's firmware language)
> the recovery behavior won't be able to change.  the locale details are stored on the disk, and when going through recovery, the disk is not used at all by design.  so you'd still have to select the language via the firmware for every recovery event.

This isn't really true. The recovery screen takes the locale from NVRAM, which could we could update from the OS if we wanted to. We've just never implemented that. See more discussion in issue 885226.
Labels: Needs-Feedback
are we able to close this issue?
I'm not sure what the current behavior is like. Could you apply the DeviceLoginScreenLocales policy, make sure it's applied and then check the language in recovery, firmware updating, powerwash, etc.?
I enabled the login_screen_locales policy and set the language to pt-BR. The login menu language changes.But recovery, powerwash and firmware update language stays the same.(English)
Mergedinto: 885226
Status: Duplicate (was: Fixed)
@vaandres: thanks for testing this. I guess we'll track further progress on this in issue 885226

Sign in to add a comment