B2G
B2G copied to clipboard
Support not building rild
The maguro uses a proprietary rild, and the one in our tree doesn't even link with the maguro's companion libril.so. Some sort of config flag set up by device/ should work.
We don't build rild anyways, it comes over in the vendor blobs, same as it would for maguro? Not closing because I haven't actually verified this on a maguro board, but doesn't seem like it'd be needed.
We grab the blob off the sgs2 and replace the built one with that for the system image, but IIRC we use the built one for nexuss4g. It just so happens that the libril.so blob for the galaxys2 links against the one built in our tree, but doesn't with maguro.
I think all we need here so to wrap the body of glue/gonk/hardware/ril/rild/Android.mk in a "ifneq ($(TARGET_NO_RILD),true) .... endif" block, then add "TARGET_NO_RILD := true" to glue/gonk/device/toro/maguro/BoardConfig.mk, and any other target that doesn't want to build rild
Yep, that's exactly the kind of thing I had in mind.
509c71a8e41e8178cc6c68ff02a10eea2025af23
F//system/bin/rild( 220): stack corruption detected: aborted
This happens on akami. We don't build rild as it is indicated by |TARGET_PROVIDES_RILD := true| and as you tell above |TARGET_PROVIDES_RILD := false| rild build fails because it doesn't link to libril |error: undefined reference to 'RIL_onUnsolicitedResponse'|.
Does the "rild(220)" abort occur immediately at boot? If not, can you please share steps to reproduce.
Yes, it does. This happens immediately at booting and it seems the RIL daemon get restarted continuosly.
I synced my working copy this morning (CET). Then just |make config-akami && make gonk && make && make flash-only-akami|.
In order to avoid the product version mismatch with maguro I added
TARGET_BOOTLOADER_BOARD_NAME := MSM7627A_SKU3 QCOM_TARGET_PRODUCT := msm7627a_sku3
to glue/gonk/device/toro/akami/BoardConfig.mk.
Trying to manually start /system/bin/rild gives this output:
# ./rild
Unable to open router port: Permission denied
ONCRPC Failed to open device: /dev/oncrpc/30000000:8c822165
ERR :MSG Open handle failed, unable to open program 30000000 ver 8c822165 NOT FOUND
:FILE vendor/qcom/proprietary/oncrpc/oncrpc/oncrpc_cb.c:LINE 232:ARG1 805306368:ARG2 -1937628827:ARG3 0:
ERR :MSG Couldn't setup RPC call :FILE vendor/qcom/proprietary/oncrpc/oncrpc/oncrpc_cb.c:LINE 277:ARG1 0:ARG2 0:ARG3 0:
ERR :MSG Failed to lookup RPC client. prog = 805306368, vers = -1937628827, tout = 0 :FILE vendor/qcom/proprietar y/common/build/remote_api_makefiles/../../../modem-apis/msm7627a_sku3/api/libs/remote_apis/cm/src/cm_clnt.c:LINE 145:ARG1 805306368:ARG2 -1937628827:ARG3 0:
ok, thanks. my team can debug this today
@jaoo -- https://github.com/andreasgal/B2G/commit/738a74d039701d9d555864a2aa988aa7bef3daa2 pushed for the product version mismatch
@ferjm -- rild needs a bunch of groups (ref: https://github.com/andreasgal/B2G/blob/master/glue/gonk/device/toro/maguro/rootdir/init.rc#L359) so running it from the command-line will usually cause the errors that you've seen. We successfully made a call on Akami today after detecting that some additional telephony blobs were missing (227bf79827d1). Please let me know if you are still experiencing this issue once you grab the tip.
Issue has been traced down to out-of-date firmware on Akami. Please return the devices that manifest the rild failure for reflashing.