I've decided to put this in its own topic and sticky it, because people keep hijacking threads with this question, or opening new threads.
Feel free to ask questions specifically about why here. It'll save us answering the same questions to everyone else! If it gets rediculously long i'll sumarize the points in this first post
(for the short answer just read the bold part!)
Porting other versions of android (1.6, 2.0 etc) requires alot of work. This boils down to the following, and if just one thing can't be done you cant port it..
- Port kernel, and memory mapping (doable)
- Port drivers (dificult, but doable. For any devie drivers that we can't fix we can search for other phones which run 1.6 or 2.0, and use the same hardware, AND post their source. It just means we may be slightly behind other menufacturers, but not that much. Eg hero source will be of great help. Anyway mostly doable, worst case one or two things may not work, eg bluetooth or wifi.
- Find a rild that works (PROBLEM!)
So whats rild?
_most_ (all other?) android phones use standard AT commands over a com port to the modem (the GSM/UMTS phone part). Similar to how every modem you buy for your computer recognises the exact same AT commands no matter which model/brand you buy. Its the same reason dial up networking works so easily in windows.
rild is a process which converts calls from processes on android into the equivalent AT command. Eg the dialler may call 'dial_number(123456)'. Rilld will accept this on a socket and send ATD123456 to the modem to dial the number.
rild listens on a bunch of sockets when it starts, and each handles some kind of service. The 1.6 or 2.0 rilds listen on MORE sockets because they support more services. For that reason using the 1.5 rild on 1.6 or 2.0 isnt going to be possible. Android errors because it can't find the services it expects.
Short answer 1.5 rild is NOT compatabile with android 1.6 or 2.0
Since all modems use the same AT commands, the solution would be to use the ion (google dev phone) rild. We can patch a couple of strings very easily if there are small command spelling changes.
Problem.. Samsung use some secur ril interface. We have no idea how its secured or how it works. That means we need an equivalent secure ril OR the source code for samsung's rild. Its unlikely they'll hand that over because its probably the same interface they use in their other phones.
Bottom line.. without rild, we can port android 2 but the phone functions just wont work, so whats the point!
Feel free to ask questions specifically about why here. It'll save us answering the same questions to everyone else! If it gets rediculously long i'll sumarize the points in this first post
(for the short answer just read the bold part!)
Porting other versions of android (1.6, 2.0 etc) requires alot of work. This boils down to the following, and if just one thing can't be done you cant port it..
- Port kernel, and memory mapping (doable)
- Port drivers (dificult, but doable. For any devie drivers that we can't fix we can search for other phones which run 1.6 or 2.0, and use the same hardware, AND post their source. It just means we may be slightly behind other menufacturers, but not that much. Eg hero source will be of great help. Anyway mostly doable, worst case one or two things may not work, eg bluetooth or wifi.
- Find a rild that works (PROBLEM!)
So whats rild?
_most_ (all other?) android phones use standard AT commands over a com port to the modem (the GSM/UMTS phone part). Similar to how every modem you buy for your computer recognises the exact same AT commands no matter which model/brand you buy. Its the same reason dial up networking works so easily in windows.
rild is a process which converts calls from processes on android into the equivalent AT command. Eg the dialler may call 'dial_number(123456)'. Rilld will accept this on a socket and send ATD123456 to the modem to dial the number.
rild listens on a bunch of sockets when it starts, and each handles some kind of service. The 1.6 or 2.0 rilds listen on MORE sockets because they support more services. For that reason using the 1.5 rild on 1.6 or 2.0 isnt going to be possible. Android errors because it can't find the services it expects.
Short answer 1.5 rild is NOT compatabile with android 1.6 or 2.0
Since all modems use the same AT commands, the solution would be to use the ion (google dev phone) rild. We can patch a couple of strings very easily if there are small command spelling changes.
Problem.. Samsung use some secur ril interface. We have no idea how its secured or how it works. That means we need an equivalent secure ril OR the source code for samsung's rild. Its unlikely they'll hand that over because its probably the same interface they use in their other phones.
Bottom line.. without rild, we can port android 2 but the phone functions just wont work, so whats the point!