[LeEco Le 2 ROMs, Kernels, Recoveries, & Other Deve] rainlake:
Amazon Alexa does not work.

looks like hardware keystore/keymaster issue to me.

could caused by different version of keystore.msm8952.so?

E/KCommsEncryptionUtils( 7985): GetKeyFailed

E/KCommsEncryptionUtils( 7985): java.security.ProviderException: Failed to load generated key pair from keystore

E/KCommsEncryptionUtils( 7985): at android.security.keystore.AndroidKeyStoreKeyPairGeneratorSpi.loadKeystoreKeyPair(AndroidKeyStoreKeyPairGeneratorSpi.java:518)

E/KCommsEncryptionUtils( 7985): at android.security.keystore.AndroidKeyStoreKeyPairGeneratorSpi.generateKeyPair(AndroidKeyStoreKeyPairGeneratorSpi.java:470)

E/KCommsEncryptionUtils( 7985): at java.security.KeyPairGenerator$Delegate.generateKeyPair(KeyPairGenerator.java:699)

E/KCommsEncryptionUtils( 7985): at com.amazon.deecomms.common.util.EncryptionUtils.generateKey(Unknown Source)

E/KCommsEncryptionUtils( 7985): at com.amazon.deecomms.common.util.EncryptionUtils.getKeyInternal(Unknown Source)

E/KCommsEncryptionUtils( 7985): at com.amazon.deecomms.common.util.EncryptionUtils.encryptString(Unknown Source)

E/KCommsEncryptionUtils( 7985): at com.amazon.deecomms.auth.SecuredSharedPreference.putString(Unknown Source)

E/KCommsEncryptionUtils( 7985): at com.amazon.deecomms.common.CommsInternal.persistKey(Unknown Source)

E/KCommsEncryptionUtils( 7985): at com.amazon.deecomms.common.CommsInternal.setEpmsCommsAppId(Unknown Source)

E/KCommsEncryptionUtils( 7985): at com.amazon.deecomms.common.CommsInternal.registerForPush(Unknown Source)

E/KCommsEncryptionUtils( 7985): at com.amazon.deecomms.api.InternalCommsManager.registerForPush(Unknown Source)

E/KCommsEncryptionUtils( 7985): at com.amazon.dee.app.services.messaging.GoogleCloudMessagingService.lambda$register$3(Unknown Source)

E/KCommsEncryptionUtils( 7985): at com.amazon.dee.app.services.messaging.GoogleCloudMessagingService$$Lambda$4.call(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.internal.operators.OnSubscribeMap$MapSubscriber.onNext(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.observers.Subscribers$5.onNext(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.internal.util.ScalarSynchronousObservable$WeakSingleProducer.request(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.Subscriber.setProducer(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.internal.operators.OnSubscribeMap$MapSubscriber.setProducer(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.Subscriber.setProducer(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.internal.util.ScalarSynchronousObservable$JustOnSubscribe.call(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.internal.util.ScalarSynchronousObservable$JustOnSubscribe.call(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.Observable.unsafeSubscribe(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.internal.operators.OnSubscribeDefer.call(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.internal.operators.OnSubscribeDefer.call(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.Observable.unsafeSubscribe(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.internal.operators.OnSubscribeMap.call(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.internal.operators.OnSubscribeMap.call(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.internal.operators.OnSubscribeLift.call(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.internal.operators.OnSubscribeLift.call(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.Observable.unsafeSubscribe(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.internal.operators.OperatorSubscribeOn$1.call(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.internal.schedulers.CachedThreadScheduler$EventLoopWorker$1.call(Unknown Source)

E/KCommsEncryptionUtils( 7985): at rx.internal.schedulers.ScheduledAction.run(Unknown Source)

E/KCommsEncryptionUtils( 7985): at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)

E/KCommsEncryptionUtils( 7985): at java.util.concurrent.FutureTask.run(FutureTask.java:237)

E/KCommsEncryptionUtils( 7985): at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)

E/KCommsEncryptionUtils( 7985): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)

E/KCommsEncryptionUtils( 7985): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)

E/KCommsEncryptionUtils( 7985): at java.lang.Thread.run(Thread.java:761)

E/KCommsEncryptionUtils( 7985): Caused by: java.security.UnrecoverableKeyException: Failed to obtain X.509 form of public key

E/KCommsEncryptionUtils( 7985): at android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStorePublicKeyFromKeystore(AndroidKeyStoreProvider.java:230)

E/KCommsEncryptionUtils( 7985): at android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStoreKeyPairFromKeystore(AndroidKeyStoreProvider.java:259)

E/KCommsEncryptionUtils( 7985): at android.security.keystore.AndroidKeyStoreKeyPairGeneratorSpi.loadKeystoreKeyPair(AndroidKeyStoreKeyPairGeneratorSpi.java:509)

E/KCommsEncryptionUtils( 7985): ... 38 more

E/KCommsEncryptionUtils( 7985): Caused by: android.security.KeyStoreException: -22

E/KCommsEncryptionUtils( 7985): at android.security.KeyStore.getKeyStoreException(KeyStore.java:676)

E/KCommsEncryptionUtils( 7985): at android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStorePublicKeyFromKeystore(AndroidKeyStoreProvider.java:231)

E/KCommsEncryptionUtils( 7985): ... 40 more

E/KCommsEncryptionUtils( 7985): Cannot find key from keystore to encrypt