I9506 and N9005 is same same but different? (Compatibility issues)

Thanks Meter: 241
By Absolon, Senior Member on 7th January 2014, 12:35 AM
Post Reply Subscribe to Thread Email Thread
Dear wizards!

As you know Samsung quietly released a "new" S4 (I9506) based on the same hardware as their current "flagship" Note 3.(SM-N9005).

That they are the same I got verified from Samsung in US (YES! They DOES sometimes answer) and on some other place as well.
It does make sense since that is a cost-cutter, the S4 sales are falling. Closing one whole production line seems like the logical way to go.

The "new" S4 is on pair with Note 3 in Antutu (actually a little faster) and I know that does say much but it gives a rough estimate
(they both are around a bit over 35k fresh but the latest Note 3 update slowed it down to 28k (plain vanilla except for Antutu and a hardware info).

It's shipped with 4.2.2 with Knox turned off and I must say that it feels like a "test-bench"-version.
It would not surprise me if the shipped rom was the that they where using on their ref.

So with that in mind I postulated that there should be a 1:1 interchangeability between those phones.

I share a few files for you, most important PIT-files in readable form and recovery images, all Philz.
(A working I9506, from N9005 (oldest and newest found) and a I9505 as a reference)

As you can see they are exactly partitioned the same with the exact addresses and all (except for the current loaded content).
Well, it made me very happy and confident (doh).

I started to test the simplest(?) or easiest and that was to see if a custom recovery would work. We have a "mended" Philz that is working
but I thought that the N9005 should work as well, but of course, it didn't.

Had some funny results (like the first "BSOD"! BLUE! and a "melting screen" that was really scary before I realized that it was corrupting the video mem).

So the question is Why? What am I doing wrong?

I don't recall where I got the "mended" from and I have no way of getting in touch with Philz and ask him so I turn to you for guidance?

Looking at them they seem to at least have the same structure (same preamble, not stripped etc) and are much closer then if I compare with the
one from I9505 that I included. I have not disassembled it and I don't know what good that would do, and the question is if all have to be compiled
from scratch but then the other question comes, why?

You who have read my posts know that I worked with this before and that I am ATM rusty in my "Carbon memory and 3-bit year counters
on old DECs (not THAT old but seen them!) and I HAVE trouble to find any documentation since all who have it (if there is) sit on it tightly.
So it's a lot of Googling and T&E here, but I feel like there is something fundamental missing here so I turn to you

Am I doing some basic stupid error here?
What I have understood the recovery.img like the usual "rescue" that bootstrap itself and bypass the rest just like you use to when you build
something with hardware, so you can read the parameters, dump mem etc or am I wrong here?

Does it go through the bootloader etc? If so, is there any correlation between the bl and the recovery? Unfortunately Philz have removed older
versions so I can't try them, and I don't know what he did to make it work but since it DOES work, there must be something that was not that
hard to fix but I have no idea why the same basic hardware doesn't play well with each other?

I know that 96% of my posts and PM's are about Knox and all the tish (I didn't ask to be thrown into that and the more I've found out the worse it is...).
Each phone have it's unique certificate so there must be some PROM they use to burn it in and it must be readable since the bootloader
compares the X.509 cert you have against its own when you get into the Knox-trap.
So could that be something that is different? I don't know how it bootstraps from the beginning since I lack mentioned docs and I tried with
Samsung but here they have not bulged here. Let's hope they do. They need to get transparent else this will kill them (There I go...Sorry.).

So have any of you gurus some idea what could the cause of this incompatibility?

If everything has to be built from source, ok, we will try to do that for the roms that have them as OS, but if this is something stupid that I am
missing it would be so great if we could just use that, since the only things that are obvious is the screen, mem, internal size and the useless pen.
Else is just the same even if I take those progs that just list EVERYTHING or go into the service menus with different *# commands and they are
like twins but not just right?

Any help would be appreciated since this is our serious try to get it harmonized, and I really really hope we can here?
Because If my assumption is wrong then we are indeed a sad bunch in the I9506 corner...

All the best,
7th January 2014, 05:58 PM |#2  
Senior Member
Flag 台灣
Thanks Meter: 866
Too many words, too many false assumptions

The reason for I9506/E330 is LTE-A. Currently, only Snapdragon 800 supports LTE-A. It's not a test bench for Note 3 and it haven't been developed with Note 3 compatibility in the mind.
Because Snapdragon 800 is highly integrated SoC (unlike SD600 or Exynos) they are very similar in architecture. Very similar but NOT the same.
There are still notable differences such as:
- 3GB RAM instead on 2GB. You may think, it's minor difference, but it doesn't. Snapdragon actually can access up to 2GB RAM. Adding 1GB more RAM is a bit tricky. According to kernel source it uses ARM PAE interface. I didn't explore it much, but should be like page addressing like on old x86 computers with DOS and >640kb RAM.
- different digitizers and S-Pen in Note 3. So, kernel driver for wrong digitizer may fail/panic.
- Different GPIO definitions. Even the same components may be connected to different pins of SoC (they are configurable).
- Qualcomm uses its own microOS called RPM for low-level access to CPU and GPU functions. It's closed source, signed by per-model key and thus not inter-changable. RPC commands between linux and RPM may have slightly different strictures/ids making linux kernel from I9005 not compatible with I9506 phone.
- modem firmwares of these 2 models use different commands to communicate making i9005 ROM fail too boot and go to infinite booting cycles. Modem (as RPM) firmware is signed by per-model key and not-interchangeable. I want to note: even fully compatible by hardware E330 and I9506 models cannot accept modems from each other (because per-model signature), but thanks to fully compatible interfaces to modem and RPM firmwares you can use boot.img and system.img from each other.

These difference should be already enough to say these 2 models are not 100% compatible. I've tried to use kernel from I9005 on my E330S. Even compiled from source and using I9506/E330S defconfig i couldn't make it work correctly. Thus, even in Samsung R&D these 2 models are developing completely separate.

Having up to date ROMs for i9506 why care about I9005 compatibility?
The Following 3 Users Say Thank You to sorg For This Useful Post: [ View ]
8th January 2014, 04:39 PM |#3  
Absolon's Avatar
OP Senior Member
Flag Stockholm
Thanks Meter: 241
Thank you for taking time to answer!

But then you have to postulate things so someone can prove you wrong!

There is an ongoing battle between two "big" microbiologists. About where a certain bacteria should be in the taxonomy.
IIRC it's like 2 branches away. And a useless one. Not even killing us! What? Just 15 years? Baaah. Nothing!
"The bean looks like a kidney" & "The kidney looks like a bean" as written by Linné

I know I write too long and I was unclear. Sorry about that. Written too many "papers" where they loooove muchos pages.
And finished I see it's long again... kcuF, I'm incapable to write short. It really IS a occupational injury...

I don't look for the similarity with I9505. I know it's a Snapdragon 600, only mentioned it as a reference.

What I meant is the "new S4", I9506 and Note 3 (SM-N9005), both "international" and LTE that are Snapdragon 800.

I got information from Samsung that it was built on the same board. Can they still have totally different solutions in the end?
Because if it is the same board then I could avoid that Qualcomm proprietary tish you scare me with and try to look at the "Samsung level"?

In the I9506 shipped Rom there is a lot "S-pen things", but maybe that is in every one?

The download mode looks like this: I9506 and N9005.
Guess "Secure boot" is Knox but I don't know what "Write protection" stands for?
And I don't like "Write protection". For what? I use only protection for one thing! Blood! (Colorblind + Scalpel = Oops, hope he don't need that so much.)

Do you mean that they have not implemented a full 32-bit memory-bus? Not the usual 4 GB limit?

Just before CES, thay announced they are going for x64. I guess it's just easier to widen the bus then to have that banking and the
"640 kb is enough for everybody" and QEMM hell. Both where quite bad. Not to mention LBA... Or the 4 tb disks! (can't they learn?)

Is the microcode accessible as on Intel/Amd?
When I boot my x86 Linux machines the kernel reads the /etc/firmware that contains the latest version of the CPU microcode since it
doesn't "stick" but is updated - (Link to Arch wiki about it).

Is there some way to explore this further? To see what is similar and differ? JTAG?
I'll root my Note 3 if I have too. The shipped Rom is REALLY bad and buggy and I don't want to go to 4.3 since that leads to Knox-hell
and I don't want to be there either.

I hope that tech is right. I talked to a few, and he is one of the two that doesn't treat customers like cows but but where you can have a
meaningful dialog, held in a friendly and helpful way and not being a jerk. Seems unique at Samsung... Or am I just spoiled getting any at all?

What do you propose I shall go from here, мастер?

Thank you again,
9th January 2014, 09:04 AM |#4  
Senior Member
Flag 台灣
Thanks Meter: 866

I got information from Samsung that it was built on the same board. Can they still have totally different solutions in the end?

Don't relay on Samsung words too much. There are many people working in many Samsung branches and most of them are far from R&D knowledge. These 2 devices built on the same SoC (SD800), not the same board. It cannot be the same board for very obvious reasons.


In the I9506 shipped Rom there is a lot "S-pen things", but maybe that is in every one?

All Samsung devices i have (I9100, I9300, E210K, E330S, I9506) - have many S-pen things inside. That's why you can find Note(1,2,3) mods for almost any Samsung device like ink effect on lockscreen. There is dead Note code inside all Samsung devices, because at some earlier stage code was taken from similar device and then started to develop for specific device by removing/disabling unneeded code and adding some device specific code.


Do you mean that they have not implemented a full 32-bit memory-bus? Not the usual 4 GB limit?

ARM appeared when RAM was enumerated in KB or MB. At that time, 640kb seamed to be enough for everyone forever
And with new trend of migrating to 64bit, i doubt there will be much effort to make 32bit ARM fully utilize 32bit RAM addressing mode.


Is the microcode accessible as on Intel/Amd?

It's not microcode, it's CPU code. Modern SoC like SD800 has many ARM cores inside besides 4 main cores. RPM is working on one of additional small cores. You may find rpm.mbn in official ROM update package. RPM is loaded at earlier stage by bootloader before linux kernel. It's signed and thus cannot be modified (and it's easy to hard-brick the device if you will manage to flash modified RPM).


but I don't know what "Write protection" stands for?

it's protection for bootloader, modem and all additional firmware parts loaded before kernel. Thus, you cannot flash modified versions of these parts.
Well, at least we have freedom to modify both Linux and Android parts.


Is there some way to explore this further? To see what is similar and differ? JTAG?

I don't have JTAG.
Qualcomm has Q-Fuses, so i don't expect possibility to boot Note 3 bootloader on I9506 after force-flashing it through JTAG.
Actually, i don't need JTAG to know that nothing useful will be done because N9005 is very different from I9506 from low-level point of view.


What do you propose I shall go from here, мастер?

It depends on you. You can get source code of i9506 kernel and compile your own kernel. Then get kernel source code from N9005 and try to compile working kernel for I9506 That will be very challenging work. While doing this you will understand the differences between these models. Probably, this knowledge will help to transform the code of existing (if any) N9005 CM/AOSP ROMs.
Last edited by sorg; 9th January 2014 at 09:07 AM.
The Following 2 Users Say Thank You to sorg For This Useful Post: [ View ]
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes