[DEVS ONLY] CyanogenMod 11 for Samsung BCM21553 Development Discussion

Search This thread

WinKarbik

Senior Member
Dec 4, 2013
268
389
Zakamensk
Hi, help me fix camera
Code:
E/MediaPlayerFactory( 1352): calling dlopen on FACTORY_LIB

E/MediaPlayerFactory( 1352): Failed to open FACTORY_LIB Error : dlopen failed: library "libdashplayer.so" not found 

I/CameraService( 1352): CameraService started (pid=1352)

I/CameraService( 1352): Loaded "BCM21553 Camera HAL" camera module

E/BcmCamera( 1352): FATAL ERROR: could not dlopen libcamera.so: dlopen failed: cannot locate symbol "_ZN7android16CameraParameters21KEY_APP_SHUTTER_SOUNDE" referenced by "libcamera.so"...
Already fixed.
 
Last edited:
  • Like
Reactions: xeon.zolt

mai77

Senior Member
Nov 16, 2011
1,429
580
pi

I have a raspberry pi with BCM cpu

some people have ported CM to it but its very slow, so not many devs are interested.

it was pointed out that SGC and raspi are similar to some degree and some code is useful for both hw platforms.

do you think a synergy is possible between both devices ?
 

psyke83

Inactive Recognized Developer
Mar 29, 2011
1,267
3,959

The cm12 branch is not functional because we never managed to fix ARMv6 support for the ART runtime. We merged all incomplete patches that were present on Jenkins before shutting the server down completely, so it was left in a big mess. Please don't ask for further help on this - I can't provide any.
 

as1991

Member
Dec 13, 2010
5
6
Some suggestions for working on BCM21553 Roms(cooperve, totoro, tassve)

Hi,
I wanted to know if there is anyone working/willing to work on BCM21553 roms? I'm not an android dev but I researched about BCM21553 phones and I found some info regarding fixing the issues with CM ports of these devices:

- CM9 audio issue
these are commits developed by Conn(psyke83 +, +) which solved audio routing in cm11 (Conn came up with them after Biel +, + had stopped development of CM9 and I thought applying them to CM9 tree might solve the issue):
commit1: https://github.com/broadcomCM/andro...mmit/0635810ff827eb2d27bdd87099412449d7315cd1
commit2: https://github.com/broadcomCM/andro...mmit/20ffc2a9179e193d2c20071af623e674cb666079
commit3: https://github.com/androidarmv6/and...mmit/c0a7f3c12507ffb32f354bf428167aa04d42b5f7
commit4: https://github.com/androidarmv6/and...mmit/c33c4f7dd99bb86cacf802c388e6dbbe78a9dca6
commit5: https://github.com/androidarmv6/and...mmit/02f652675f17ce228f8235c95ec88a9d109daaa2
commit6: https://github.com/androidarmv6/and...mmit/eb32975071ab927f3356ecf8e76fc92cf5254805
You'd better apply these step by step and compile for simpler debugging of potential compile errors.

- CM9/CM11 OMX codecs(Video Recording Issue might be an effect of this issue)
I did a research to find out similar phones to ours which have a working port of CM and I found Samsung Galaxy S II Plus + ,+ , + which has the exact same GPU(VideoCore IV) and almost same Broadcom chipset(although not the exact BCM21553). I thought getting it's codec blobs(from here) and applying the following patch might lead to working hardware codecs.
The patch: https://gist.github.com/pawitp/7945188
we might need reverting the following commit for the above to work: https://github.com/broadcomCM/andro...mmit/801313cfc1b13b27f9feb2e64a384945a89db330

- CM9 USB Tethering
The fix seems to be already in CM9 device tree but it didn't get compiled by biel!(CM9 device tree updated after the last BETA5 build)
relevant commit

- CM9/CM11 Torch
Again comparing with GS2 plus I came up with following potential solution:
commit1: https://github.com/SamsungBCM-Cyano...mmit/2667be0aa8dbdc9263c5de9cc72b9c9bf65035f8
commit2: https://github.com/SamsungBCM-Cyano...mmit/10cbc504c6b1a96cdadca564b2f8de5996b40791
 

aniket.lamba

Senior Member
Jul 16, 2012
3,253
5,666
New Delhi
mr-tweaker.github.io
Hi,
I wanted to know if there is anyone working/willing to work on BCM21553 roms? I'm not an android dev but I researched about BCM21553 phones and I found some info regarding fixing the issues with CM ports of these devices:

- CM9 audio issue
these are commits developed by Conn(psyke83 +, +) which solved audio routing in cm11 (Conn came up with them after Biel +, + had stopped development of CM9 and I thought applying them to CM9 tree might solve the issue):
commit1: https://github.com/broadcomCM/andro...mmit/0635810ff827eb2d27bdd87099412449d7315cd1
commit2: https://github.com/broadcomCM/andro...mmit/20ffc2a9179e193d2c20071af623e674cb666079
commit3: https://github.com/androidarmv6/and...mmit/c0a7f3c12507ffb32f354bf428167aa04d42b5f7
commit4: https://github.com/androidarmv6/and...mmit/c33c4f7dd99bb86cacf802c388e6dbbe78a9dca6
commit5: https://github.com/androidarmv6/and...mmit/02f652675f17ce228f8235c95ec88a9d109daaa2
commit6: https://github.com/androidarmv6/and...mmit/eb32975071ab927f3356ecf8e76fc92cf5254805
You'd better apply these step by step and compile for simpler debugging of potential compile errors.

- CM9/CM11 OMX codecs(Video Recording Issue might be an effect of this issue)
I did a research to find out similar phones to ours which have a working port of CM and I found Samsung Galaxy S II Plus + ,+ , + which has the exact same GPU(VideoCore IV) and almost same Broadcom chipset(although not the exact BCM21553). I thought getting it's codec blobs(from here) and applying the following patch might lead to working hardware codecs.
The patch: https://gist.github.com/pawitp/7945188
we might need reverting the following commit for the above to work: https://github.com/broadcomCM/andro...mmit/801313cfc1b13b27f9feb2e64a384945a89db330

- CM9 USB Tethering
The fix seems to be already in CM9 device tree but it didn't get compiled by biel!(CM9 device tree updated after the last BETA5 build)
relevant commit

- CM9/CM11 Torch
Again comparing with GS2 plus I came up with following potential solution:
commit1: https://github.com/SamsungBCM-Cyano...mmit/2667be0aa8dbdc9263c5de9cc72b9c9bf65035f8
commit2: https://github.com/SamsungBCM-Cyano...mmit/10cbc504c6b1a96cdadca564b2f8de5996b40791

So basically,which kernel/device/vendor source shall I use to compile the ROM?
 

as1991

Member
Dec 13, 2010
5
6
So basically,which kernel/device/vendor source shall I use to compile the ROM?

I think you should begin at these places:
cm9: https://github.com/broadcomCM/local_manifest/tree/ics (look at local_manifest.xml)
cm11: https://github.com/androidarmv6

cm11 kernel, device, vendor: https://github.com/androidarmv6/android_kernel_samsung_bcm21553-common, https://github.com/androidarmv6/android_device_samsung_cooperve, https://github.com/androidarmv6/android_vendor_samsung
 

michaeljt

New member
Jan 13, 2017
2
0
Hope I am not out of place posting this on the developer thread. I wanted to try this out on my GT-S6102 (the GT-S5360's Duos twin), but the binaries are no longer available. I am completely innocent on ARM - not even rooted my device up till now - but have plenty of x86 experience, where I maintain (still) out-of-tree drivers, and was hoping someone could point me to instructions to build my own from the git trees.

Thanks!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 173
    WARNING: App2SD and Mounts2SD are not recommended for use with any OTA-enabled ROMs, as they break delta updates, and may cause problems during full upgrades. I suggest using my modified version of S2E, simple2ext_mod, instead.

    NOTE 1: I recommend that everyone uses @Bhargav97's Google Apps package (cm11 v2.2 version or later). Other versions of gapps may cause issues or break delta updates.

    NOTE 2: You must ensure that your phone is running the latest baseband available for your region, or else your device will not operate correctly when a SIM card is inserted. If you have a cooperve and tassve, you may need to flash the latest totoro baseband (which will work correctly on your device). Please see @marcussmith2626's stock ROM thread for links to the appropriate files.

    Information for users:
    • This topic is intended only as a meeting point for other developers of the shared BCM21553 devices to discuss and solve issues related to development. If you are not a developer, please restrict your posts to the general discussion thread so that developers can maintain good communication. Thanks for your understanding.

    First-time installation:
    • ClockworkMod v6.0.5.3 or later (MTD version) is mandatory to install CM11. If needed, download the latest recovery build here
    • Download the latest full OTA build for totoro from here
    • If necessary, flash the ClockworkMod v6 build, then reboot into recovery. If you can't flash the CWMv6 update package (.zip) in your existing recovery, use the Odin package (.tar.md5) instead.
    • Perform a data wipe - this is mandatory if upgrading from an older Android revision
    • Flash the OTA package and reboot.
    How to update (via OTA):
    • Please consult the cm-ota instructions on Jenkins.

    Current issues (06/10/2014)
    • OMX codecs (for accelerated audio/video - may never be solved)
    • SIM unlock doesn't work (you must remove your SIM lock in another device/ROM)
    • Video recorder

    Summary of major work done:
    • Forked broadcomCM devices into androidarmv6 repository (forked from ics branches).
    • Initial changes needed for cm-11.0 have been committed to cooperve, tassve, totoro and bcm21553-common device trees.
    • All of Broadcom's code has been adapted for the cm-11.0 branch.
    • After some reverse engineering of the vendor binaries, "adbd" and "init" built from source now work correctly. ADB will now set the proper USB mode, can give a root shell, and no longer has a hardcoded dependency on /system/bin/sh, which should help a great deal with debugging. We also no longer need to use the init prebuilt binary - the source-built version is now compatible.
    • Implemented common kernel source for totoro, cooperve and tassve.
    • Implemented hybrid boot/recovery/charge ramdisk.
    • Fixed WiFi, Bluetooth, Bluetooth tether & mac addresses.
    • Fixed graphical performance regression on CM11 branch.
    • Fixed basic audio (speaker, microphone, software encoders/decoders)
    • Fixed GPS.
    • Fixed Gallery, wallpaper chooser, live wallpapers, RenderScript, and possible EGL crashes in other apps
    • Added workaround for SystemUI corruption
    • Fixed graphical corruption/stability issues (caused by buggy GL_EXT_discard_framebuffer extension)
    • Fixed RIL, telephony and audio routing to speakers, headset, earpiece, microphone and microphone mute.
    • Audio routing improvements/fixes, small graphics performance optimizations
    • Fixed camera
    • Fixed wifi tethering
    • Updated to newer bcmdhd wifi driver to resolve wifi instability
    • Fixed USB tethering (with caveats)
    • Improved audio routing and fixed BT headsets (SCO)

    * = this code is work in progress, which means that it is not yet available in the OTA build.

    XDA:DevDB Information
    CyanogenMod 11 for Samsung BCM21553 series, ROM for the Samsung Galaxy Y GT-S5360

    Contributors
    psyke83

    Version Information
    Status: Testing

    Created 2014-10-27
    Last Updated 2014-10-27
    51
    I will update cooperve device tree as soon as I can. I guess @Alberto96 could adapt tassve (his device). Lets get some fun here ;)

    Enviado desde mi Xperia SP mediante Tapatalk
    49
    I've solved the graphics performance issue on CM11. Will upload the changes soon. We're getting close to a first usable build, but there are still quite a few things that need fixing.
    44
    Hey folks,

    After a lot of research, I discovered the issue causing graphical instability on CM11. It seems that a certain OpenGL extension (GL_EXT_discard_framebuffer) is buggy, and was causing parts of the interface (or at times, the entire screen) to flicker red at random intervals. To solve the issue, I've simply disabled the extension within the VideoCore driver. This not only fixed the corruption issues, but also seems to have improved graphics performance, and - most importantly - has tremendously improved overall stability. Before this change, applications would often crash at random intervals with stack traces pointing to libhgl, but now, those crashes no longer seem to occur. Why was this not causing problems on ICS? Well, the extension is still broken on ICS, but it's never actually utilized in Android's ICS code, so the problem never manifested.

    Although there are still major issues to be fixed (see post #1), I feel that the port is now mature enough for wider testing. I've added the three devices (cooperve, tassve and totoro) to the OTA and nightly build lists on Jenkins, and I'll soon provide instructions on how to install these builds.
    42
    Good news: I've figured out the ALSA routing. It was very annoying, because I realized only today that the "tinymix" binary (a replacement for amixer) doesn't work when there are two integer values in a mixer. By chance I tried using alsa_amixer, and it worked. So, we first need to fix tinyalsa before adapting the audio driver.

    Here's the mixers:
    https://gist.github.com/psyke83/a6ca133e023d966c273b

    Oddly, none of the speaker/earpiece/headset switches have any effect. What does work is the PCM Playback Route. It has two values - the first specifies to remove (0) or add (1), and the second value corresponds to the audio device (defined in the kernel driver). The audio endpoints are defined here: https://github.com/androidarmv6/and...udio_controller/public/audio_controller.h#L57

    By default, when the audio device is opened, audio outputs to the loudspeaker (4). So, to turn off the loudspeaker and change to the headset (1), I would do this:
    Code:
    adb shell tinymix 10 0 4
    adb shell tinymix 10 1 1

    But, checking the kernel log, it seems that the driver doesn't receive the second value (it's always set to 0).

    This works (mixer id is offset by 1 compared to tinymix):
    Code:
    adb shell alsa_amixer cset numid=11 0 4
    adb shell alsa_amixer cset numid=11 1 1

    The CM11 tinymix version has a bug in which it doesn't recognise two or more integers as arguments, but I manually applied this patch from upstream to fix it: https://github.com/tinyalsa/tinyalsa/commit/8b772cc507f4c3a3b2ce5ca8a2cebbc60d1fa684

    I hoped that this was enough to fix the issue, but it still never sets the second value properly. The kernel sound driver debug lets me see what's sent, and when using tinymix, the second is always zeroed...