New issue
Advanced search Search tips

Issue 900269 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 1
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 877084
issue 900251



Sign in to add a comment

chromeos-config: SKU ID with reversed bytes

Project Member Reported by philipchen@chromium.org, Oct 30

Issue description

Forked from
https://bugs.chromium.org/p/chromium/issues/detail?id=877084

localhost ~ # CROS_CONFIG_DEBUG=1 cros_config /arc/build-properties metrics-tag
[1026/153841:ERROR:cros_config_json.cc(107)] Failed to find config for device-tree compatible string: google,scarlet-rev15-sku7google,scarlet-rev15google,scarlet-rev14-sku7google,scarlet-rev14google,scarlet-rev13-sku7google,scarlet-rev13google,scarlet-rev12-sku7google,scarlet-rev12google,scarlet-rev11-sku7google,scarlet-rev11google,scarlet-rev10-sku7google,scarlet-rev10google,scarlet-rev9-sku7google,scarlet-rev9google,scarlet-rev8-sku7google,scarlet-rev8google,scarlet-rev7-sku7google,scarlet-rev7google,scarlet-rev6-sku7google,scarlet-rev6google,scarlet-rev5-sku7google,scarlet-rev5google,scarlet-rev4-sku7google,scarlet-rev4google,scarlet-rev3-sku7google,scarlet-rev3google,scarletgoogle,grurockchip,rk3399
[1026/153841:ERROR:cros_config.cc(215)] Cannot find config for device-tree compatible string: google,scarlet-rev15-sku7google,scarlet-rev15google,scarlet-rev14-sku7google,scarlet-rev14google,scarlet-rev13-sku7google,scarlet-rev13google,scarlet-rev12-sku7google,scarlet-rev12google,scarlet-rev11-sku7google,scarlet-rev11google,scarlet-rev10-sku7google,scarlet-rev10google,scarlet-rev9-sku7google,scarlet-rev9google,scarlet-rev8-sku7google,scarlet-rev8google,scarlet-rev7-sku7google,scarlet-rev7google,scarlet-rev6-sku7google,scarlet-rev6google,scarlet-rev5-sku7google,scarlet-rev5google,scarlet-rev4-sku7google,scarlet-rev4google,scarlet-rev3-sku7google,scarlet-rev3google,scarletgoogle,grurockchip,rk3399 SKU ID: 117440512 VPD ID from /sys/firmware/vpd/ro/customization_id: 
localhost ~ # 


localhost ~ # cat /var/log/cros_config.log
[1026/153841:INFO:cros_config.cc(230)] >>>>> reading config file: path=/usr/share/chromeos-config/config.json
[1026/153841:INFO:cros_config.cc(246)] >>>>> config file successfully read
[1026/153841:INFO:cros_config.cc(198)] >>>>> Starting to read ARM identity
[1026/153841:WARNING:identity.cc(37)] No identifier in VPD
[1026/153841:INFO:identity.cc(41)] Read VPD identity from  /sys/firmware/vpd/ro/customization_id: 
[1026/153841:INFO:identity_arm.cc(63)] Read device-tree compatible list: google,scarlet-rev15-sku7google,scarlet-rev15google,scarlet-rev14-sku7google,scarlet-rev14google,scarlet-rev13-sku7google,scarlet-rev13google,scarlet-rev12-sku7google,scarlet-rev12google,scarlet-rev11-sku7google,scarlet-rev11google,scarlet-rev10-sku7google,scarlet-rev10google,scarlet-rev9-sku7google,scarlet-rev9google,scarlet-rev8-sku7google,scarlet-rev8google,scarlet-rev7-sku7google,scarlet-rev7google,scarlet-rev6-sku7google,scarlet-rev6google,scarlet-rev5-sku7google,scarlet-rev5google,scarlet-rev4-sku7google,scarlet-rev4google,scarlet-rev3-sku7google,scarlet-rev3google,scarletgoogle,grurockchip,rk3399, sku_id: 117440512
[1026/153841:ERROR:cros_config_json.cc(107)] Failed to find config for device-tree compatible string: google,scarlet-rev15-sku7google,scarlet-rev15google,scarlet-rev14-sku7google,scarlet-rev14google,scarlet-rev13-sku7google,scarlet-rev13google,scarlet-rev12-sku7google,scarlet-rev12google,scarlet-rev11-sku7google,scarlet-rev11google,scarlet-rev10-sku7google,scarlet-rev10google,scarlet-rev9-sku7google,scarlet-rev9google,scarlet-rev8-sku7google,scarlet-rev8google,scarlet-rev7-sku7google,scarlet-rev7google,scarlet-rev6-sku7google,scarlet-rev6google,scarlet-rev5-sku7google,scarlet-rev5google,scarlet-rev4-sku7google,scarlet-rev4google,scarlet-rev3-sku7google,scarlet-rev3google,scarletgoogle,grurockchip,rk3399
[1026/153841:ERROR:cros_config.cc(215)] Cannot find config for device-tree compatible string: google,scarlet-rev15-sku7google,scarlet-rev15google,scarlet-rev14-sku7google,scarlet-rev14google,scarlet-rev13-sku7google,scarlet-rev13google,scarlet-rev12-sku7google,scarlet-rev12google,scarlet-rev11-sku7google,scarlet-rev11google,scarlet-rev10-sku7google,scarlet-rev10google,scarlet-rev9-sku7google,scarlet-rev9google,scarlet-rev8-sku7google,scarlet-rev8google,scarlet-rev7-sku7google,scarlet-rev7google,scarlet-rev6-sku7google,scarlet-rev6google,scarlet-rev5-sku7google,scarlet-rev5google,scarlet-rev4-sku7google,scarlet-rev4google,scarlet-rev3-sku7google,scarlet-rev3google,scarletgoogle,grurockchip,rk3399 SKU ID: 117440512 VPD ID from /sys/firmware/vpd/ro/customization_id: 
localhost ~ # 

...

mosys probing looks fine:
localhost ~ # mosys platform sku
7

But cros_config.log says:
SKU ID: 117440512

Note that 117440512 = 0x7000000
So it looks like Endianness issue. 
 
Blocking: 877084
might or might not be b/118664992

Status: Started (was: Assigned)
Blocking: 900251
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 1

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

commit 78038562095c0348a7642692bc8e26e0d4e9b34b
Author: Philip Chen <philipchen@google.com>
Date: Thu Nov 01 04:59:33 2018

chromeos-config: Correct endianness when getting/setting SKU ID

For ARM devices, SKU ID is exported to FDT with MSB first.
We should convert it to the host byte order when getting it from FDT.
Likewise, the reverse conversion is required when setting SKU ID.

Besides, since tonl() and ntohl() only support 32-bit unsigned integer,
there is probably no point to do dynamic memory allocation anymore.

BUG= chromium:900269 
TEST=build chromeos-config-tools
TEST=run_tests.sh
TEST='CROS_CONFIG_DEBUG=1 cros_config /arc/build-properties metrics-tag'
with a tryjob image

Change-Id: I9a8068d818e0d51521635dace1814f55f5d4c493
Reviewed-on: https://chromium-review.googlesource.com/1307133
Commit-Ready: Philip Chen <philipchen@chromium.org>
Tested-by: Philip Chen <philipchen@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Gregory Meinke <gmeinke@chromium.org>
Reviewed-by: C Shapiro <shapiroc@chromium.org>

[modify] https://crrev.com/78038562095c0348a7642692bc8e26e0d4e9b34b/chromeos-config/libcros_config/identity_arm.cc

Status: Fixed (was: Started)

Sign in to add a comment