Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,737,741 Members 47,160 Now Online
XDA Developers Android and Mobile Development Forum

Omni for SM-P605 (Samsung Galaxy Note 10.1 2014 Edition LTE)

Tip us?
 
StNickZA
Old
#1  
Senior Member - OP
Thanks Meter 137
Posts: 481
Join Date: Dec 2009
Location: Durban
Default Omni for SM-P605 (Samsung Galaxy Note 10.1 2014 Edition LTE)

I'm a long-time Omni user on my Nexus devices. My wife recently got a Samsung Galaxy Note 10.1 2014 Edition (LTE) as part of her contract, and I cannot begin to explain how frustrating it is to be back in "Samsung's world". The hardware is incredible (Snapgragon 800, 3GB RAM, 2560x1600 display) but it is loaded with bloat on an outdated 4.3 ROM (only the wifi-only model (Samsung Octa) has Kitkat so far).

Now I know that for a device to be supported, it needs a maintainer. This is a very expensive, niche device, and I presume that there are not many users out there that will be suitable. So my question is, what does the job of a maintainer entail exactly? I've built CM for a couple of devices from source before, but that's about the extent of my knowledge with regards to custom ROM development. Is that sufficient?

I'm thinking that this device should be a fairly easy bring-up, being based on the same SOC as the Nexus 5 (amongst others).

How can I make this happen?
 
Entropy512
Old
#2  
Senior Recognized Developer
Thanks Meter 24103
Posts: 13,134
Join Date: Aug 2007
Location: Owego, NY

 
DONATE TO ME
Quote:
Originally Posted by StNickZA View Post
I'm a long-time Omni user on my Nexus devices. My wife recently got a Samsung Galaxy Note 10.1 2014 Edition (LTE) as part of her contract, and I cannot begin to explain how frustrating it is to be back in "Samsung's world". The hardware is incredible (Snapgragon 800, 3GB RAM, 2560x1600 display) but it is loaded with bloat on an outdated 4.3 ROM (only the wifi-only model (Samsung Octa) has Kitkat so far).

Now I know that for a device to be supported, it needs a maintainer. This is a very expensive, niche device, and I presume that there are not many users out there that will be suitable. So my question is, what does the job of a maintainer entail exactly? I've built CM for a couple of devices from source before, but that's about the extent of my knowledge with regards to custom ROM development. Is that sufficient?

I'm thinking that this device should be a fairly easy bring-up, being based on the same SOC as the Nexus 5 (amongst others).

How can I make this happen?
Being a maintainer takes a LOT of reverse engineering skills. Integrating the OEM's blobs with "normal" AOSP or CAF sources can be a royal pain.

The best bet is to try and start your bringup by using a similar device as a starting point. Same platform is OK, same platform AND OEM is better.

For example, all of the Exynos 4210 devices (except the Tab 7 Plus/7.7) share a common device tree and kernel nowadays (the 7Plus/7.7 were too different from others in the family)

All of the Exynos 4412 devices have a common device tree that's inherited, and a common kernel.

Unfortunately, unlike the Note and Note 2, the Note 3 is significantly different from the GS4. However, your device might be similar to a Note 3, so you MIGHT be able to get started by adding Note 10.1 2014-specific parts to the Note3 kernel and modifying the device tree in a similar fashion.

The best way to learn maintainer skills is to find a device that is semi-supported and start working on figuring out how to fix its features that aren't quite working right. (In my case, I worked with atinm on resolving I777-specific issues to get that device lit up, then started working on remaining I9100/I777-common issues in CM back in the ICS days, then started on the Note which was similar to I777/I9100)

Expect to spend a LOT of time Googling stuff and searching through code. "grep", "strings" and "readelf -d" are your friends. (grep is for searching anything, strings is for looking at the strings in a blob, readelf -d shows you what libraries a blob depends on)

Even an experienced maintainer spends ****-tons of time searching for things and digging through data.

Patience is the most critical thing for a maintainer to have.
*so much sig updating needed*

My Github profile - Some Android stuff, some AVR stuff

An excellent post on "noobs vs. developers"

A few opinions on kernel development "good practices"

Note: I have chosen not to use XDA's "friends" feature - I will reject all incoming "friend" requests.

Code:
<MikeyMike01> Smali is a spawn of hell
<shoman94> ^^^ +!
Code:
<Entropy512> gotta be careful not to step on each other's work.  :)
<Bumble-Bee> thats true
<jerdog> compeete for donations
 
StNickZA
Old
#3  
Senior Member - OP
Thanks Meter 137
Posts: 481
Join Date: Dec 2009
Location: Durban
Quote:
Originally Posted by Entropy512 View Post
Being a maintainer takes a LOT of reverse engineering skills. Integrating the OEM's blobs with "normal" AOSP or CAF sources can be a royal pain.

The best bet is to try and start your bringup by using a similar device as a starting point. Same platform is OK, same platform AND OEM is better.

For example, all of the Exynos 4210 devices (except the Tab 7 Plus/7.7) share a common device tree and kernel nowadays (the 7Plus/7.7 were too different from others in the family)

All of the Exynos 4412 devices have a common device tree that's inherited, and a common kernel.

Unfortunately, unlike the Note and Note 2, the Note 3 is significantly different from the GS4. However, your device might be similar to a Note 3, so you MIGHT be able to get started by adding Note 10.1 2014-specific parts to the Note3 kernel and modifying the device tree in a similar fashion.

The best way to learn maintainer skills is to find a device that is semi-supported and start working on figuring out how to fix its features that aren't quite working right. (In my case, I worked with atinm on resolving I777-specific issues to get that device lit up, then started working on remaining I9100/I777-common issues in CM back in the ICS days, then started on the Note which was similar to I777/I9100)

Expect to spend a LOT of time Googling stuff and searching through code. "grep", "strings" and "readelf -d" are your friends. (grep is for searching anything, strings is for looking at the strings in a blob, readelf -d shows you what libraries a blob depends on)

Even an experienced maintainer spends ****-tons of time searching for things and digging through data.

Patience is the most critical thing for a maintainer to have.
Thanks Entropy. Sounds like I don't have what's required for the job.
 
StNickZA
Old
#4  
Senior Member - OP
Thanks Meter 137
Posts: 481
Join Date: Dec 2009
Location: Durban
Quote:
Originally Posted by Entropy512 View Post
However, your device might be similar to a Note 3, so you MIGHT be able to get started by adding Note 10.1 2014-specific parts to the Note3 kernel and modifying the device tree in a similar fashion.
The Note III (LTE) is the N9005, and I think the device code is hlte. I can't find a version of Omni for this device either.
 
Entropy512
Old
#5  
Senior Recognized Developer
Thanks Meter 24103
Posts: 13,134
Join Date: Aug 2007
Location: Owego, NY

 
DONATE TO ME
Quote:
Originally Posted by StNickZA View Post
The Note III (LTE) is the N9005, and I think the device code is hlte. I can't find a version of Omni for this device either.
Yeah, no one has done an Omni bringup yet. IbrahimA was considering doing one based on the CM bringup but he hasn't had the time.
*so much sig updating needed*

My Github profile - Some Android stuff, some AVR stuff

An excellent post on "noobs vs. developers"

A few opinions on kernel development "good practices"

Note: I have chosen not to use XDA's "friends" feature - I will reject all incoming "friend" requests.

Code:
<MikeyMike01> Smali is a spawn of hell
<shoman94> ^^^ +!
Code:
<Entropy512> gotta be careful not to step on each other's work.  :)
<Bumble-Bee> thats true
<jerdog> compeete for donations
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes