HTC Finally Releases Hero Source Code 123
An anonymous reader writes "After months of prodding by developers, HTC has finally released the long-requested Android source code for the HTC Hero. This follows up on a recent report on Slashdot concerning device manufacturer HTC's perceived stonewalling over releasing source code for the device after repeated attempts to initially obtain source were met with vague responses."
Re:HTC (Score:5, Informative)
Anyone know what kind of custom stuff they're build for Android?
Sense UI and a few applications. Nothing spectacular, android steals all the glory. In fact, don't waste your time on the HTC Hero.. wait another week and get the Samsung Moment. Faster proc, onscreen keyboard and physical keyboard, better battery life.
I love my HTC Hero but boy is it slow at times. And I'm not just talking about waiting for an app to load, there are times when the entire device just decides to freeze up for 2-3 seconds while queuing input.
aEN
Re:HTC (Score:5, Informative)
People are reporting huge speedups after doing so.
not android source code (Score:5, Informative)
A little unfair... (Score:5, Informative)
I would venture to say that any decision to delay the release of code has very little to do with HTC trying to stonewall.
Contrary to what people think, you are not allowed to do what ever you want to a phone.
Naturally, Andriod has access to the phones protocol and RF layers. Giving the user access to these layers is a VERY, VERY bad idea.
To sell a mobile phone in North America, a manufacture must obtain PTCRB certification. This is a very stringent set of tests which look at all layers and all the hardware, including the antenna performance. We are talking more than 6000 tests and more than $800K!!
Once they pass..this SVN (Software version number) is locked in. ANY changes in code or hardware and the manufacture must make an ECO with PTCRB and make some additional checks.
The main reasons for this is network health and link budgets.
The carrier must be able to count on your phone acting in a predetermined way in order to keep the network on the air. Believe it or not, one single phone could bring down an entire tower!
I can promise you that the carriers will NEVER allow a situation where YOU can alter those layers and kill the network.
I am sure HTC need a fair amount of time to figure out how to lock it down and still let you mess with the OS.
Re:A little unfair... (Score:3, Informative)
A major complication is the fact that today's PDA phones are basically cellular winmodems. Ever wonder why a Samsung SPH-i300 with ~40MHz 680x0-ish Dragonfire didn't feel all that much slower than a 400MHz dual-core ARM running WinMo? Part of the problem is WinMo's bloat... but an even bigger part of the problem is the fact that cpu #2 spends basically 100% of its time being a software-based faux DSP anytime the radio is in use... and occasionally steals cycles from cpu #1 while it's at it. In contrast, the humble i300 was literally a cell phone radio bolted to a PalmOS PDA, connected by LITERALLY a serial port. In every meaningful way, the two were completely independent. Dialed a number on the LCD-rendered keypad? The Palm side sent what was basically an ATDT command to the phone side. Incoming call? The phone side did the actual ringtone (the beefy speaker was connected to the phone; the palm side just had a wimpy piezo), and sent ###RING xxxxxxxxxx down the serial port for the Palm to decide what to do with it. Pressed the green button to answer the call? The Palm side sent (literally) ATA down the serial port to the phone. And so on.
The good thing about Winmodem-like cellphones is... um... er... uh... well, I'm sure there's something good about it. But anyway, the bad thing is that it means that you're basically talking about a gigahertz-rate raw DAC and ADC creating a software-defined radio. The supreme irony is that the hardware in a G1 probably COULD be hacked to do UMTS at 850MHz on AT&T... but it would be utterly illegal, precisely because it would wreak havoc with AT&T's network and mess up your neighbors' service while you spent saturday afternoon debugging it.
As I understand it, a phone running Android (or Windows Mobile, for that matter) is kind of like a PC running Linux under VMware under Windows (or vice-versa). You have the hypervisor-like "Supreme Controller" that runs the software that makes it a radio, with Linux-nee-Android running under the hypervisor. So you really ARE root as far as Linux/Android is concerned, but behind the curtain, Root has a metaphorical deity of his own to serve. I'm not entirely sure how it's enforced, and how much of it is handled by actual hardware partitioning (ie, whether the CPU takes a cue from memory curtaining, so that the core running the radio has ram and registers that the core running the UI and apps can't touch), but that's a rough summary of what happens behind the scenes on an Android phone.
Re:A little unfair... (Score:4, Informative)
Re:A little unfair... (Score:5, Informative)
A major complication is the fact that today's PDA phones are basically cellular winmodems. [...] In contrast, the humble i300 was literally a cell phone radio bolted to a PalmOS PDA, connected by LITERALLY a serial port.
[...]As I understand it, a phone running Android (or Windows Mobile, for that matter) is kind of like a PC running Linux under VMware under Windows (or vice-versa).
This is not true, at least not in the case of the iPhone (which has an Infineon baseband processor connected to a Samsung "Applications Processor" by "LITERALLY a serial port") or the Palm Pre (Qualcomm baseband, TI OMAP AP).
Qualcomm's product info page for the MSM7201 [qctconnect.com] processor used in the HTC Hero says that it includes "Integrated ARM11 applications processor and ARM9 modem, QDSP4000 and QDSP5000 high-performance digital signal processors (DSP)". It would seem likely that the ARM9 core (in combination with one or both of the DSPs) does all of the modem work; I see no reason to suspect that the ARM11 ever "steals cycles from cpu #1".
Re:A little unfair... (Score:4, Informative)
Mod this guy up, the parent doesn't know what he's talking about. Most smartphones use dual cores or bridge architectures where the applications processor and the modem processor are separate and communicate over a serial link, be it USB, shock-horror a UART or shared memory. And even more shock horror, yes they might even use AT commands to do talk to each other - even today!
Re:A little unfair... (Score:1, Informative)
The bootloader and radio firmware are indeed closed source, but the linux kernel and android userspace run on their own cpu (an ARM11) while the radio firmware runs on its own cpu (an ARM9). They chatter via shared memory. Once the bootloader has loaded the kernel, the kernel's in charge of the apps cpu. No VM or hypervisor exists (at least not on the Qualcomm 7xxx/8xxx chipsets -- you could, of course do it differently elsewhere).
You do need to talk to the ARM9 to have it setup the DSP for you, for it to handle telephony tasks, and so on.
As far as I see, it's only kernel source ... (Score:2, Informative)
Re:not android source code (Score:3, Informative)