Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,805,688 Members 41,572 Now Online
XDA Developers Android and Mobile Development Forum

[DEVS ONLY][BCM21553 series] CyanogenMod 11 for BCM21553 Development Discussion

Tip us?
 
psyke83
Old
(Last edited by psyke83; 11th August 2014 at 08:31 PM.)
#1  
Recognized Developer - OP
Thanks Meter 3,222
Posts: 1,117
Join Date: Mar 2011

 
DONATE TO ME
Default [DEVS ONLY][BCM21553 series] CyanogenMod 11 for BCM21553 Development Discussion

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: 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.

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 (11/08/2014)
  • Audio - microphone may be a little low. Will investigate.
  • Video recorder
  • OMX codecs (for accelerated audio/video - may never be solved)
  • USB tethering - it now works, but the quick settings button doesn't function properly. It's better to enable/disable tethering from the settings app instead.

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)

* = this code is work in progress, which means that it is not yet available in the OTA build.
Android for ARMv6 devices: androidarmv6.github.io
The Following 133 Users Say Thank You to psyke83 For This Useful Post: [ Click to Expand ]
 
bieltv.3
Old
(Last edited by bieltv.3; 29th May 2014 at 06:17 AM.)
#2  
bieltv.3's Avatar
Senior Member
Thanks Meter 9,688
Posts: 1,294
Join Date: Jun 2012
Location: Barcelona
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
If you like my work or I help you, press the button, isn't this complicated?



My blog: bieltv3.blogspot.com
My github: www.github.com/bieltv3

XDA Teams:

The Following 47 Users Say Thank You to bieltv.3 For This Useful Post: [ Click to Expand ]
 
Alberto96
Old
#3  
Alberto96's Avatar
Recognized Developer
Thanks Meter 6,447
Posts: 3,719
Join Date: Feb 2010
Location: Modugno (BA)

 
DONATE TO ME
No problem First I'll try adb/init changes, and then adapt repo.
3 Basic Phones --> Nokia 6680 (Chassis and Vibrator KO) --> I-Mate Jama (Bricked and Trashed) --> Nokia 6120 (Chassis KO) --> I-Mate Ultimate 9502 (is back :P) --> Samsung Galaxy S I9000 (best dev machine, now gave it to my father) --> Samsung C5510 (SOS) --> Huawei U8160/Vodafone Smart (no GPU no Party) --> Alcatel V860/Vodafone Smart II (Stupid Battery ) --> Samsung Galaxy Mini S5570i --> Samsung Galaxy S4 Exynos --> Huawei Y300 (MUM)

Check here to see all my current and old works

Don't forget to thank me if i helped you, and if you want/can, donate me

Low/No Activity till July 2015 (School Exams)
The Following 28 Users Say Thank You to Alberto96 For This Useful Post: [ Click to Expand ]
 
bieltv.3
Old
#4  
bieltv.3's Avatar
Senior Member
Thanks Meter 9,688
Posts: 1,294
Join Date: Jun 2012
Location: Barcelona
@psyke83 , I have created some threads regarding development of this BCM21553 devices with the information I was able to get while developing:
HW drivers: http://forum.xda-developers.com/show....php?t=2666566
Audio libs (source): http://forum.xda-developers.com/show....php?t=2682819

Enviado desde mi Xperia SP mediante Tapatalk
If you like my work or I help you, press the button, isn't this complicated?



My blog: bieltv3.blogspot.com
My github: www.github.com/bieltv3

XDA Teams:

The Following 28 Users Say Thank You to bieltv.3 For This Useful Post: [ Click to Expand ]
 
Alberto96
Old
#5  
Alberto96's Avatar
Recognized Developer
Thanks Meter 6,447
Posts: 3,719
Join Date: Feb 2010
Location: Modugno (BA)

 
DONATE TO ME
Ok, tested on CM9.

Hardware is fully initialized, but seems that there is an heavy memory corruption (like you said).

I/DEBUG ( 4743): debuggerd committing suicide to free the zombie!
F/libc ( 4747): Fatal signal 13 (SIGPIPE) at 0x0000128b (code=0)
F/libc ( 4748): Fatal signal 13 (SIGPIPE) at 0x0000128c (code=0)
F/libc ( 4749): Fatal signal 13 (SIGPIPE) at 0x0000128d (code=0)
F/libc ( 4750): Fatal signal 13 (SIGPIPE) at 0x0000128e (code=0)
F/libc ( 4751): Fatal signal 13 (SIGPIPE) at 0x0000128f (code=0)
F/libc ( 4752): Fatal signal 13 (SIGPIPE) at 0x00001290 (code=0)
F/libc ( 4753): Fatal signal 13 (SIGPIPE) at 0x00001291 (code=0)
F/libc ( 4754): Fatal signal 13 (SIGPIPE) at 0x00001292 (code=0)

I adapted almost all, i wasn't able to adapt just property_service.c & property_service.h so recovery/charging mode isn't working yet.

Great job @psyke83 !
3 Basic Phones --> Nokia 6680 (Chassis and Vibrator KO) --> I-Mate Jama (Bricked and Trashed) --> Nokia 6120 (Chassis KO) --> I-Mate Ultimate 9502 (is back :P) --> Samsung Galaxy S I9000 (best dev machine, now gave it to my father) --> Samsung C5510 (SOS) --> Huawei U8160/Vodafone Smart (no GPU no Party) --> Alcatel V860/Vodafone Smart II (Stupid Battery ) --> Samsung Galaxy Mini S5570i --> Samsung Galaxy S4 Exynos --> Huawei Y300 (MUM)

Check here to see all my current and old works

Don't forget to thank me if i helped you, and if you want/can, donate me

Low/No Activity till July 2015 (School Exams)
The Following 17 Users Say Thank You to Alberto96 For This Useful Post: [ Click to Expand ]
 
psyke83
Old
(Last edited by psyke83; 30th May 2014 at 12:47 AM.)
#6  
Recognized Developer - OP
Thanks Meter 3,222
Posts: 1,117
Join Date: Mar 2011

 
DONATE TO ME
Quote:
Originally Posted by Alberto96 View Post
Ok, tested on CM9.
Hardware is fully initialized, but seems that there is an heavy memory corruption (like you said).
Great job @psyke83 !
Thanks for testing. To be clear, you're saying that CM9 boots into Android with the init built from the CM9 sources? I'm particularly curious to know if surfaceflinger is working OK. I suspected that something in the init may be causing problems either with the framebuffer or hgl libraries for CM11, but if it works on CM9, then I might be wrong.

I've merged the cm-11 bringup patches for tassve and cooperve. I can only confirm that it will allow the builds to complete (when all of the other integration patches are applied), but I imagine there will be more bugs that need fixing. If you find major bugs with the device configs, please submit them to gerrit or at least let me know,

We also need to organize a proper shared kernel source that we can integrate into the build system, and then get rid of the prebuilt kernels. Until then, you may need to recompile the kernel and modify your board files so that it doesn't use that generic "Thunderbird" name. The init.rc files are expecting the machine name to be "GT-S5360 Board", "GT-S5570I Board", etc. The init binary reads the machine name from the cmdline, and then converts to lowercase and filters spaces. So, the .rc file for the totoro would be "gt-s5360board" -> "init.gt-s5360board.rc".
Android for ARMv6 devices: androidarmv6.github.io
The Following 24 Users Say Thank You to psyke83 For This Useful Post: [ Click to Expand ]
 
Alberto96
Old
#7  
Alberto96's Avatar
Recognized Developer
Thanks Meter 6,447
Posts: 3,719
Join Date: Feb 2010
Location: Modugno (BA)

 
DONATE TO ME
Quote:
Originally Posted by psyke83 View Post
Thanks for testing. To be clear, you're saying that CM9 boots into Android with the init built from the CM9 sources? I'm particularly curious to know if surfaceflinger is working OK. I suspected that something in the init may be causing problems either with the framebuffer or hgl libraries for CM11, but if it works on CM9, then I might be wrong.

I've merged the cm-11 bringup patches for tassve and cooperve. I can only confirm that it will allow the builds to complete (when all of the other integration patches are applied), but I imagine there will be more bugs that need fixing. If you find major bugs with the device configs, please submit them to gerrit or at least let me know,

We also need to organize a proper shared kernel source that we can integrate into the build system, and then get rid of the prebuilt kernels. Until then, you may need to recompile the kernel and modify your board files so that it doesn't use that generic "Thunderbird" name. The init.rc files are expecting the machine name to be "GT-S5360 Board", "GT-S5570I Board", etc. The init binary reads the machine name from the cmdline, and then converts to lowercase and filters spaces. So, the .rc file for the totoro would be "gt-s5360board" -> "init.gt-s5360board.rc".
Yes, CM9 with source built init & adbd binaries boots fine.

True, a proper shared kernel is better. But we also need an updated kernel source (request processing by Samsung osrc)

Sent from my GT-I9500 using Tapatalk
3 Basic Phones --> Nokia 6680 (Chassis and Vibrator KO) --> I-Mate Jama (Bricked and Trashed) --> Nokia 6120 (Chassis KO) --> I-Mate Ultimate 9502 (is back :P) --> Samsung Galaxy S I9000 (best dev machine, now gave it to my father) --> Samsung C5510 (SOS) --> Huawei U8160/Vodafone Smart (no GPU no Party) --> Alcatel V860/Vodafone Smart II (Stupid Battery ) --> Samsung Galaxy Mini S5570i --> Samsung Galaxy S4 Exynos --> Huawei Y300 (MUM)

Check here to see all my current and old works

Don't forget to thank me if i helped you, and if you want/can, donate me

Low/No Activity till July 2015 (School Exams)
The Following 16 Users Say Thank You to Alberto96 For This Useful Post: [ Click to Expand ]
 
psyke83
Old
#8  
Recognized Developer - OP
Thanks Meter 3,222
Posts: 1,117
Join Date: Mar 2011

 
DONATE TO ME
Good news: I just discovered that surfaceflinger works if I remove the hwcomposer.default library. However, there is some graphical distortion, and the colours are incorrect. Still, it's some progress. Will try to troubleshoot hwcomposer now.
Android for ARMv6 devices: androidarmv6.github.io
The Following 36 Users Say Thank You to psyke83 For This Useful Post: [ Click to Expand ]
 
savie
Old
#9  
savie's Avatar
Senior Member
Thanks Meter 603
Posts: 844
Join Date: Feb 2012
android_native.h similiar with ANativeObjectBase.h without include <android/native_window.h>

updater-script cant run in cwm5 so need modified wanna force try to flash zip package but still not luck for boot coz messy ramdisk code.

temporary cwm6 still black screen so since its not working modified ramdisk is 1st think to do with old cwm5 (in my case) to running dualboot (stock cm) at least to make it boot 1st.

@psyke83 great work and still follow ur update from behind
The Following 14 Users Say Thank You to savie For This Useful Post: [ Click to Expand ]
 
psyke83
Old
#10  
Recognized Developer - OP
Thanks Meter 3,222
Posts: 1,117
Join Date: Mar 2011

 
DONATE TO ME
Quote:
Originally Posted by Alberto96 View Post
Yes, CM9 with source built init & adbd binaries boots fine.

True, a proper shared kernel is better. But we also need an updated kernel source (request processing by Samsung osrc)

Sent from my GT-I9500 using Tapatalk
Was there a white-screen bug with the init you built from source? I notice on my totoro that the screen turns white when the screen returns from off. It happens both in charge mode and in Android itself. I'm not sure if it's a bug caused by init or just something related to the stock kernel. I haven't been working with this device for very long, so I'm not aware of any common issues with the kernel, etc.

Quote:
Originally Posted by Ashutos1997 View Post
This means cm11 boots now ?
Quote:
Originally Posted by -CALIBAN666- View Post
sorry for offtopic,but are you back????
There's a general thread for off-topic posts (linked in the first paragraph of my first post)... please use it in future. This thread is supposed to be for developers to collaborate and fix bugs only.
Android for ARMv6 devices: androidarmv6.github.io

The Following 18 Users Say Thank You to psyke83 For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes