Andrew Dodd
3 years agoEditedPublic
The Saga of a CyanogenMod Exynos4 device maintainer - The Beginning

Disclaimer:  This series of posts contains the personal opinion/perspective of just one member of the team.  It is not, in any way, an official statement from the project.

Obviously, nearly anyone following me is aware of the recent social media storm resulting from the frustration the third-party Android firmware community (especially CyanogenMod users and developers) has been experiencing with Samsung.  The "Superbrick" fiasco, the lack of documentation of Samsung's Exynos4 SoC compared to Qualcomm and TI's SoCs, and a laundry list of other issues - it has all recently come to a head with the decision of all currently active Exynos4 device maintainers to not take on any new devices, and in the case of +Daniel Hillenbrand , begin selling off the devices they are currently maintaining in order to purchase devices from other manufacturers.

To understand better where we are, it is best to understand how we got here.  In order to do so, I'm going to chronicle my personal history of dealing with Samsung devices, leading to why the Note 10.1 is going to be my last Samsung device unless major changes are seen from Samsung.

The Beginning
Many people wonder how I got started with Android platform development, how I learned what I know, etc.  So in this post I'm primarily going to focus on my first experiences with Android in late 2010 and throughout most of 2011 in this post.  My next post will cover the timeframe from the SGH-I777 launch until around when I became involved directly with Cyanogenmod, and then 2-3 more posts covering the rest of 2012 including the "Superbrick" fiasco.

As to my background - I've always been more of a hardware guy than a software guy historically.  My educational background is an M.S. in Electrical Engineering, and my focus for many years was on RF and communications.  One of my main hobbies prior to Android was microcontrollers - especially AVRs.  It's amazing what an 8-bit machine can do!

My first Android device was a Huawei S7.  I won't say too much other than - it was an awful device.  It shipped with Eclair, and the radio firmware was horribly broken and would completely crash when connected to any tower outside of my own area code.  Huawei took months to release kernel source code, and the accelerometer axes were all wrong.  When Froyo was finally released in Malaysia (only to users who took their device into a service center!), Huawei's answer for Best Buy USA customers was, "Want Froyo?  Buy the new S7 Slim!".  Needless to say, I will never be purchasing another Huawei device ever again.

My next Android experience was actually an existing device - I installed xdandroid on my HTC Tilt 2, which normally runs Windows Mobile 6.x.  It was a great first step into Android, and the Rhodium development community was excellent.  I dug into the GPS HAL and fixed a few annoying bugs, but at that point wasn't familiar enough with the Android platform source to make real progress.

Eventually, in the summer, I was eligible for an AT&T device upgrade, and the Samsung Infuse was the first pure-touchscreen device with a keyboard I could tolerate.  In addition, I had seen the news about Samsung donating Galaxy SII devices to the Cyanogenmod team, which was very attractive to me after seeing how poorly HTC and Motorola had been treating the development community.  I bought it, and I think I lasted about 2 hours on the stock firmware before installing something custom from XDA.  The Infuse community back then was excellent - There were a large number of high-caliber developers like gtg465x, LinuxBozo, h8rift, and others.  The best thing was that while there were lots of skilled developers, they weren't cargo-cult-inspiring prima donnas like some in the I9100 community are.  We were working with an oddball device and we had a common enemy (AT&T) - life was good.  The activity on IRC the day the Infuse launched in Canada with Gingerbread was exhilarating.  That's when I started really learning about Android internals, and maybe 2 months later is when I felt comfortable releasing my first kernel on XDA.

That said, due to being an oddball redheaded stepchild, the Infuse was frustrating.  The Rogers release was half-baked, and numerous oddities prevented a good Cyanogenmod 7 bringup on that device.  (It took nearly a year to finally figure out Bluetooth on it...) - So I purchased a Galaxy S II from AT&T on launch day, which was my first experience in working with +Atin M and +Daniel Hillenbrand  as we tried to get good clean firmware dumps in order to generate return-to-stock packages for the device.  (We didn't want a mess like the Epic 4G Touch where people were flashing custom kernels for two weeks without any way to return back to the original one.)

So with that, I'm going to end this post, and start the next one in a day or two.  I will add a link to that post from this one when the time comes.

Reading continues at
Corey M3 years ago
interesting background.. thanks for the post +Andrew Dodd !
Daniel Cook3 years ago
I am running on the i777 and look forward to the rest of the story.
Todd Neumann3 years ago
I am a fan of your work. Glad you are posting more on g++1
Eric Pinho3 years ago
Interesting for sure. It really is too bad that Sammy has pushed away talented people like yourself and codeworkx(D. Hill). Like you, I've kept in touch with the i777 community on XDA and without your contributions I may have moved on long ago. I'm also leaning toward looking for a another manufacturer other than Samsung for m next device.
Vitaly D3 years ago
Thanks for the background-info, I am following every post of yours on xda. I hope that Samsung will release something usefull and not this broken crap that they released 8 days ago.
Shane Passmore3 years ago
Excellent story so far. Yes the days with linuxbozo, gtg465x and you were definitely a blast. Kinda hope we run into each other on another device in the future :-). Looking forward to your future chapters :D

Sava DUBROVSKAYA3 years ago
wow, now i have something to wait for every day when i open my g+.. it's like an adventure book, but so much better ! :)+3
Eric Pinho3 years ago
@ Shane Passmore Nexus 4? ;)
Translated from Latin|Original
Vlad Marchenko3 years ago
i have a strong feeling the post #4 would mark the official "good bye, Samsung" from Entropy, with the rest of us on exynos4 devices stuck with a semi-broken CM10....
Shane Passmore3 years ago
Well..a nexus 4 is in my future :-)+1
Sava DUBROVSKAYA3 years ago
+Vlad Marchenko only it's not semi-broken. it's working quite good and it's a f*cking miracle, actually. show some respect to developers, dude.+2
Vlad Marchenko3 years ago
+Sava DUBROVSKAYA : I guess one's experience and perception are very subjective things. The are few areas that are either "rough" of "broken" for SGS2 on CM10: issues with sound volume, "butter" is not there, seldom RIL crashes, memory leaks reported by some users, requiring reboot every few days, etc. It's not w/o a reason we have no official "stable" tag for our devices from CM team. 
Despite that, it's quite usable though.
Sava DUBROVSKAYA3 years ago
+Vlad Marchenko you make valid points. but still, it's not "semi-broken". no more than "has a few bugs", imho. and yep, i know a lot about things you mentioned, i own gt-n7000 and my husband owns gt-i9100, so i flash them simultaneously and kinda maintain them both, on #CM10, of course. for all the problems you mentioned i either found some workarounds or just don't see the real bug - like, for example, all this "buttery butterness" seems a little bit like a gimmick to me, especially when i have a chance to compare everything with my truly "buttery butter" Nexus 7.
Max Shirshin3 years ago
This series of posts must be really insightful! Please go on, and thank you for all the hard work you did and still do.
Sven Daw3 years ago
Subscribing. Don't want to miss the follow up accidentally
Andrew Dodd3 years ago
I probably won't be posting the next installment until tomorrow afternoon...  This week has left me kinda fried.  :)
Rowen Nortje3 years ago
Thanks for this write up and those to follow. It will certainly be interesting to see if Samsung starts coming back to the Dev's however I highly doubt it :(. Will research my next device not on who makes it but which Dev's are with the device. Your work and those of others have been invaluable to the community thank you for all your hard work.

/side note wish we could "Kickstart" our own phone company with the real Dev's of Android then we will have a unstoppable phone! :D
Andrew Dodd3 years ago
Next installment posted - see edited version of this post for link.+2
Melina M3 years ago
+John Hostile your reading should start here.
Azri Rashid2 years ago
+Foo Joon Sunn you might be interested in reading this. entropy tells it all here.
Foo Joon Sunn2 years ago
+Azri Rashid Lol i read it when it was fresh, but thanks :)
Azri Rashid2 years ago
Lol, malu di situ. Happy Chinese New year btw!
Translated from Indonesian|Original
Noel Beale2 years ago
This makes me happy the US versions are not getting the Exynos CPU, it would really such to have to get a Nexus, given the Nexus is crippled by lack of several core hardware features, like the external SD slot, for example.
Sirus Laia2 years ago
Wonderful personal notes. My respect to you and other developers! My next device will surely be a Nexus. I wish there were open smartphones hardware like PCs, which you can install with whatever OS I like (Ubuntu, FirefoxOS, Android, etc.)