Incomplete vendor files contributing to carrier issues #510

Closed
BenBaltz opened this Issue Nov 30, 2016 · 2 comments

Comments

Projects
None yet
2 participants
@BenBaltz

BenBaltz commented Nov 30, 2016

CopperheadOS is using incomplete vendor files and this causes carrier issues with Sprint specifically and probably others. You can see by searching CopperheadOS organization for "SprintDM" (the app that activates Sprint service) and then searching https://github.com/PureNexusProject for "SprintDM", you'll see that it contains 7 more cases, all of which in vendor. You can see more information about this issue here: https://github.com/anestisb/android-prepare-vendor

Root of problem @thestinger
For latest Android Nexus devices (N5x, N6p, N9 LTE/WiFi), Google is no longer providing vendor binary archives to be included into AOSP build tree. Officially it is claimed that all vendor proprietary blobs have been moved to /vendor partition, which allegedly doesn't need building from users. Unfortunately, that is not the case since quite a few proprietary executables, DSOs and APKs/JARs located under /system are required in order to have a fully functional set of images, although missing from AOSP public tree. Additionally, if vendor.img is not generated when system.img is prepared for build, a few bits are broken that also require manual fixing (various symbolic links between two partitions, bytecode product packages, vendor shared libs dependencies, etc.). However until then, missing blobs need to be manually extracted from factory images, processed and included into AOSP tree.

@thestinger

This comment has been minimized.

Show comment Hide comment
@thestinger

thestinger Nov 30, 2016

Contributor

I'm well aware of android-prepare-vendor. It's what CopperheadOS uses to generate the vendor files and I've contributed to it mostly by letting anestisb know when stuff is broken. SprintDM is intentionally not included right now. This is the diff used by CopperheadOS:

diff --git a/angler/config-naked/bytecode-proprietary-api24.txt b/angler/config-naked/bytecode-proprietary-api24.txt
index 5062051..52547cd 100644
--- a/angler/config-naked/bytecode-proprietary-api24.txt
+++ b/angler/config-naked/bytecode-proprietary-api24.txt
@@ -4,14 +4,4 @@ system/app/HwMMITest/HwMMITest.apk
 system/app/HwSarControlService/HwSarControlService.apk
 system/framework/com.google.android.camera.experimental2015.jar
 system/framework/qcrilhook.jar
-system/priv-app/CNEService/CNEService.apk
-system/priv-app/CallStatistics/CallStatistics.apk
-system/priv-app/CarrierEntitlement/CarrierEntitlement.apk
-system/priv-app/ConnMO/ConnMO.apk
-system/priv-app/DCMO/DCMO.apk
-system/priv-app/DMService/DMService.apk
-system/priv-app/DiagMon/DiagMon.apk
-system/priv-app/Entitlement/Entitlement.apk
-system/priv-app/HiddenMenu/HiddenMenu.apk
-system/priv-app/SprintDM/SprintDM.apk
 system/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk
diff --git a/bullhead/config-naked/bytecode-proprietary-api24.txt b/bullhead/config-naked/bytecode-proprietary-api24.txt
index 5504e94..e382e6e 100644
--- a/bullhead/config-naked/bytecode-proprietary-api24.txt
+++ b/bullhead/config-naked/bytecode-proprietary-api24.txt
@@ -1,22 +1,9 @@
 # Bytecode archive files to extract from factory images
 
-system/app/HiddenMenu/HiddenMenu.apk
-system/app/RCSBootstraputil/RCSBootstraputil.apk
-system/app/RcsImsBootstraputil/RcsImsBootstraputil.apk
 system/app/TimeService/TimeService.apk
 system/framework/cneapiclient.jar
 system/framework/qcrilhook.jar
 system/framework/rcsimssettings.jar
 system/framework/rcsservice.jar
-system/priv-app/CarrierEntitlement/CarrierEntitlement.apk
-system/priv-app/CNEService/CNEService.apk
-system/priv-app/ConnMO/ConnMO.apk
-system/priv-app/DCMO/DCMO.apk
-system/priv-app/DMConfigUpdate/DMConfigUpdate.apk
-system/priv-app/DMService/DMService.apk
-system/priv-app/DiagMon/DiagMon.apk
-system/priv-app/Entitlement/Entitlement.apk
-system/priv-app/LifeTimerService/LifeTimerService.apk
-system/priv-app/SprintDM/SprintDM.apk
 system/priv-app/atfwd/atfwd.apk
 system/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk
Contributor

thestinger commented Nov 30, 2016

I'm well aware of android-prepare-vendor. It's what CopperheadOS uses to generate the vendor files and I've contributed to it mostly by letting anestisb know when stuff is broken. SprintDM is intentionally not included right now. This is the diff used by CopperheadOS:

diff --git a/angler/config-naked/bytecode-proprietary-api24.txt b/angler/config-naked/bytecode-proprietary-api24.txt
index 5062051..52547cd 100644
--- a/angler/config-naked/bytecode-proprietary-api24.txt
+++ b/angler/config-naked/bytecode-proprietary-api24.txt
@@ -4,14 +4,4 @@ system/app/HwMMITest/HwMMITest.apk
 system/app/HwSarControlService/HwSarControlService.apk
 system/framework/com.google.android.camera.experimental2015.jar
 system/framework/qcrilhook.jar
-system/priv-app/CNEService/CNEService.apk
-system/priv-app/CallStatistics/CallStatistics.apk
-system/priv-app/CarrierEntitlement/CarrierEntitlement.apk
-system/priv-app/ConnMO/ConnMO.apk
-system/priv-app/DCMO/DCMO.apk
-system/priv-app/DMService/DMService.apk
-system/priv-app/DiagMon/DiagMon.apk
-system/priv-app/Entitlement/Entitlement.apk
-system/priv-app/HiddenMenu/HiddenMenu.apk
-system/priv-app/SprintDM/SprintDM.apk
 system/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk
diff --git a/bullhead/config-naked/bytecode-proprietary-api24.txt b/bullhead/config-naked/bytecode-proprietary-api24.txt
index 5504e94..e382e6e 100644
--- a/bullhead/config-naked/bytecode-proprietary-api24.txt
+++ b/bullhead/config-naked/bytecode-proprietary-api24.txt
@@ -1,22 +1,9 @@
 # Bytecode archive files to extract from factory images
 
-system/app/HiddenMenu/HiddenMenu.apk
-system/app/RCSBootstraputil/RCSBootstraputil.apk
-system/app/RcsImsBootstraputil/RcsImsBootstraputil.apk
 system/app/TimeService/TimeService.apk
 system/framework/cneapiclient.jar
 system/framework/qcrilhook.jar
 system/framework/rcsimssettings.jar
 system/framework/rcsservice.jar
-system/priv-app/CarrierEntitlement/CarrierEntitlement.apk
-system/priv-app/CNEService/CNEService.apk
-system/priv-app/ConnMO/ConnMO.apk
-system/priv-app/DCMO/DCMO.apk
-system/priv-app/DMConfigUpdate/DMConfigUpdate.apk
-system/priv-app/DMService/DMService.apk
-system/priv-app/DiagMon/DiagMon.apk
-system/priv-app/Entitlement/Entitlement.apk
-system/priv-app/LifeTimerService/LifeTimerService.apk
-system/priv-app/SprintDM/SprintDM.apk
 system/priv-app/atfwd/atfwd.apk
 system/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk

@thestinger thestinger closed this Nov 30, 2016

@thestinger

This comment has been minimized.

Show comment Hide comment
@thestinger

thestinger Nov 30, 2016

Contributor

Proprietary apps will only be included if their purpose and the consequences of including them is well understood. https://en.wikipedia.org/wiki/OMA_Device_Management is insane stuff and I'm not inclined to start bundling apps tied to it. I'm not okay with bundling privileged apps that aren't clear cut things from Qualcomm right now.

Contributor

thestinger commented Nov 30, 2016

Proprietary apps will only be included if their purpose and the consequences of including them is well understood. https://en.wikipedia.org/wiki/OMA_Device_Management is insane stuff and I'm not inclined to start bundling apps tied to it. I'm not okay with bundling privileged apps that aren't clear cut things from Qualcomm right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment