New issue
Advanced search Search tips

Issue 816375 link

Starred by 3 users

Issue metadata

Status: Unconfirmed
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Missing cr50 driver in upstream kernel causes login issue

Reported by michael....@intel.com, Feb 26 2018

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
Platform: Pixelbook

Steps to reproduce the problem:
1. Flash an upstream kernel on a chrome platform
2. Try to login 
3. 

What is the expected behavior?
Successfully login after updating to an upstream kernel.

What went wrong?
Not able to login, throws user back to the login screen after awhile. 

Did this work before? N/A 

Chrome version: 63.0.3239.132  Channel: n/a
OS Version: 10.0
Flash Version: 

Login issue seems to be resolved by applying the following two patches:
https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/387190/

https://chromium-review.googlesource.com/#/c/chromiumos/third_party/kernel/+/869771/

When applying 387190, remove code relating to "cr50_spi".

Is there another solution out there beside what was mentioned?
 
Components: OS>Firmware
Note this is NOT a bug affecting products which do have the cr50 driver. This is a testing issue. This bug could arguably be converted to Type: Feature "upstream cr50 driver". For a similar upstreaming discussion check (unrelated) issue 772203
> Is there another solution out there beside what was mentioned?

For instance, is there some security/TPM setting that could be changed/turned off in some /etc/ configuration file somewhere? Unlike the two patches above this would persist during a git bisect, would not git conflict, etc.
FYI, errors signatures to look out for:

2018-02-26T13:27:13.166126-08:00 ERR tpm_managerd[2736]: Error TrunksDBusProxy cannot connect to trunksd.
2018-02-26T13:27:13.166138-08:00 ERR tpm_managerd[2736]: GetCapability: SAPI_RC_NO_CONNECTION
2018-02-26T13:27:13.166143-08:00 ERR tpm_managerd[2736]: Failed to query TPM properties: SAPI_RC_NO_CONNECTION
2018-02-26T13:27:13.166395-08:00 CRIT tpm_managerd[2736]: Check failed: initialized_. #012/usr/lib64/libbase-core-395517.so(_ZN4base5debug10StackTraceC1Ev+0x13) [0x7d01fc4a56f3]#012
2018-02-26T13:27:43.434357-08:00 ERR cryptohomed[2836]: AddDBusError(...): Domain=dbus, Code=org.freedesktop.DBus.Error.NoReply, Message=Message recipient disconnected from message bus without replying
2018-02-26T13:27:43.434442-08:00 ERR cryptohomed[2836]: SetIsInitialized: Not Implemented.
2018-02-26T13:27:43.434880-08:00 ERR cryptohomed[2836]: AddDBusError(...): Domain=dbus, Code=org.freedesktop.DBus.Error.ServiceUnknown, Message=The name org.chromium.TpmManager was not provided by any .service files
2018-02-26T13:27:43.435026-08:00 ERR cryptohomed[2836]: SetIsOwned: Not Implemented.
2018-02-26T13:27:43.435038-08:00 ERR cryptohomed[2836]: SetIsEnabled: Not Implemented.
2018-02-26T13:27:43.435129-08:00 ERR cryptohomed[2836]: SetOwnerPassword: Not Implemented.
2018-02-26T13:27:43.435568-08:00 ERR cryptohomed[2836]: AddDBusError(...): Domain=dbus, Code=org.freedesktop.DBus.Error.ServiceUnknown, Message=The name org.chromium.TpmManager was not provided by any .service files
If you want to use the software without a functional TPM, you need to build it with the 'mocktpm' USE flag (and probably not the tpm2 flag either since the mocktpm is not TPM2.0).
Everything else here seems WAI.
Thanks, with USE="-tpm2 mocktpm" I was able to successfully build_packages and then build_image using an upstream kernel. 

In the scenario where I would like to update a Chrome OS image (in dev mode) to an upstream kernel, without using 387190 and 869771, is there any recommended packages where I can recompile and cros deploy to solve the login issue? This will greatly reduce the redundancy or cherry picking these patches when debugging an issue within the kernel. 



This seems useful: equery-soraka hasuse -op tpm2

BTW  -o returns 6 fewer packages than -op, even though -p returns... none?! This puzzled even my local Gentoo guru (could someone copy vapier?)

I tried the following series of commands and was able to login as a Guest after updating to an upstream kernel.

cros deploy 10.7.196.167 sys-apps/dbus --deep
./update_kernel --remote=10.7.196.167
cros deploy 10.7.196.167 util-linux
cros deploy 10.7.196.167 tpm_manager --deep
cros deploy 10.7.196.167 chaps --deep
cros deploy 10.7.196.167 attestation --deep
cros deploy 10.7.196.167 trousers
cros deploy 10.7.196.167 cryptohome

Unfortunately I was not able to login to an account, due to wifi/ethernet was broken in the process. Next step would be to resolve wifi/ethernet issue to verify that user is able to login within the above steps.

Sign in to add a comment