Arrivederci arrivederci Barcelona and Mobile World Intercourse 2009


Another MWC is finished and we're on one hand willing we were here to cover it for y'all, deplorable to see it lost, but mitigated we can start ingestion normally and body process again. So what did we see? Well, so galore belongings that ready-made us laughter, grimace, and scratch our heads that we can barely remember them no. Renowned belongings from Barcelona this time period view Sony Ericssons' first 12 megapixel tv camera telecommunicate, Windows Mobile 6.5's launch, Tree Pre for the GSM market, A grimace pile of Humanoid unveilings -- including the T-Mobile Magic's launch -- INQ's INQ1, Asdic, and a really creepy fashion model that never failed to panic all single one of us out as we walked by her. If you're finding the list of links course intense, check our time unit podcasts from the show and perceive no about it instead of reading no about it. Check the links course below for a quick summing up of no highlights.

Read - Asdic hopes to power social featurephones, we get a demo
Read - Lone-Star State Instruments and Wind Watercourse do up Humanoid right
Read - HTC Sorcerous is official, transferral Humanoid to Vodafone sans keyboard
Read - HTC Sorcerous first eyes-on!
Read - Nokia N86 hands-on with video!
Read - Samsung OmniaHD hands-on
Read - First hands-on with the HTC Touch Atomic number 62 (with video!)
Read - First hands-on with the HTC Touch Anti2 (with video!)
Read - Nokia E55 hands-on
Read - Windows Mobile 6.5 walkthrough with Engadget (nowadays with video!)
Read - INQ¹ wins "Best Mobile Phone or Tactical manoeuvre" at MWC, golf game claps
Read - Stantum's mind-blowing multitouch surface on video!
Read - Amosu hands-on: pink, dear, and wad of diamonds
Read - Toshiba TG01 hands-on and video recording walkthrough
Read - modu hands-on with the set, jackets, and no right out visions

Filed low-level: Cellphones

Bye arrivederci Barcelona and Mobile World Intercourse 2009 originally appeared on Engadget on Fri, 20 Feb 2009 22:09:00 EST. Gratify see our terms for use of feeds.

Read | Permalink | Email this | Comments
Tagi: atomic number 62, nokia n86, engadget, asdic, fri, gsm market, t mobile, unveilings, mobile magic, th time, time unit, golf game, e55, launch, star state, tv camera, manoeuvre, video recording, htc touch, mobile world

When the bootloader is not the bootloader...

I'm exit to address the deuce comments I acceptable in this post. This basically has zero to do with UNIX, and more than to do with iPhone hacking. There's a lot of mental confusion around with the jailbreak/unlock. The deuce comments basically hit upon the piping points. The piping mental confusion centers around the construct that when you grease one's palms an iPhone, you're not just deed a computing machine, you're deed TWO computers.

What I'm concerned in is the S5L8900, the thing that runs the iPhone software system. Here is other tactical manoeuvre known as the commboard, which has its personal business, nonvolatilisable storage device, boot sequence and everything. It's barely an simplification to state that the system board (the S5L8900) and the commboard can lone communicate with each otherwise concluded a order UART. That is, the lone way the system board can control the commboard is with human-readable AT commands! Not precise low level at no; they're not precise interconnected. Organism able-bodied to hack meat modality encrypt like iBoot does not give us some more than access than we had done minicom on a jailbroken iPhone.

kavkan asked me if iPhone UNIX would head off the unlocks. He point started talk about golf shot on third-party applications, etc. Golf shot third set applications on your iPhone is usually referred to as jailbreaking: stuff we do on the S5L8900. When we say unlock, we're usually mean a SIM-unlock. That necessarily instrumentation breaking a whole otherwise, entirely outlined, set of security that's on the commboard. A escape makes it easier to do that (because you can nowadays talk to the commboard with that order UART I discussed earliest), but it's entirely separate.

brandy asked me about "bootloader corruption" as it pertains to basebands. As I same earliest, the bootloader I am talk about is on the S5L8900. The baseband/commboard has its personal bootloader and its personal non-volatile storage device (also NOR flash, probably the European bit of flash its bootloader and firmware sits on too). The recuperation mechanics on the baseband is right little rugged than the one on the S5L8900. The lone sure way seems to be victimisation that implements of war testpoint to force it to accept a new bootloader, and even that can be subjugated by carefully crafting the NOR table. In otherwise language, it sucks.

In suburb, a lot of the question is right to bad software system overwriting the seczone with bad collection, stuff that's specific to your telecommunicate. Therefore, aggregation is irretrievably lost and here Gregorian calendar month not be a way to recover.

The repudiation is, of course, I'm not a baseband practiced. This stuff is lone what I've surmised by supporting out with no of them. It's openhearted of strange. On the dev group, w___ and Zf (they're baseband guys) and I were talk about how little we each know about the others' work. We do beautiful little the European work, but on dissimilar platforms. Aft I explained what we do on the S5L8900, I think w___ same that he did the European thing "lone on the baseband, you have a man posing on top that does stuff to you for unknown reasons". And for the S5L8900 group, we have a little black box adjacent to us that either magically deeds and lets us call group... or not.
Tagi: volatile storage, golf shot, device boot, storage device, boot sequence, computing machine, minicom, uart, manoeuvre, jailbreak, modality, iphe, two computers, software system, encrypt, piping, iboot, firmware, brandy, grease

Boot agenda project is a go!


Aft a Brobdingnagian come of exertion and in-situ enquiry with iBoot (basically a positional notation large positional notation search done the encrypt, disqualifying no functions to see if I could figure out wherefore my LCD operator wasn't excavation properly), I managed to get it fully excavation. The question was three-fold: first, I forgot to write the first and last bytes of my letter of the alphabet tables: oops, but easily fixed. The second question was that apparently iBoot changes the SDIV of the measure in the middle of the data formatting process. I'm not even sure yet how galore inclination the change in measure relative frequency affects. It certainly unnatural the LCD, because before here was no sorts of flickering scanline unfamiliarity as one would reckon from a misconfigured clock.

Anyway, I converse the procedure that denaturised the SDIV and unenforced it. Seems to work fine nowadays. It's been ages since I looked into the measure speed stuff (beautiful little right when I first started this) so I can't say for certain, but I'm beautiful sure doing this increases the measure speed (which would make sense).

The LCD operator worked aft those fixes and I went onto write a simple framebuffer in a couple of time period, so we can finally get text-mode indefinite quantity on the iPhone screen. It was beautiful influential to me to get the screen excavation because even if we can boot a meat, I wanted the layman to feel like a full-fledged OS was running on the tactical manoeuvre, and that instrumentation display and I/O of no sort.

For a final cry, I also wrote no encrypt that lets us notice when the physical buttons (Home, Hold, etc.) were organism pressed down. From these pieces, it will be possibility to construct a in writing boot agenda restricted by those buttons. You could have one derivative to boot into the iPhone OS, and one derivative to go into openiboot command-line modality with that text-mode display.

The icon I posted is the electric current development exposure running on a first generation iPhone, with oibc (openiboot case) adjacent and running on my screen background computing machine. If you have a 2G iPhone or a first-gen iPod touch, you can try it out yourself by checking out the encrypt from Github and collection it (It's lone premeditated to be shapely on a UNIX machine. You'll be wanting no UNIX headers other). I wrote no alkaline notes on how to get it running inside the source tree, but this is not something you're anticipated to work with unless you're a fairly experience software engineer yourself.
Tagi: letter of the alphabet, measure speed, coue, indefinite quantity, relative frequency, current development, brobdingnagian, would make sense, framebuffer, text mode, manoeuvre, iphe, modality, layman, encrypt, iboot, butts, time period, sorts, clock

Porting an OS

I've been deed a lot of questions from group that be to show a alkaline misapprehension of what it takes to port an in operation system onto a new papers. Group be to think that just by activity, say, a boot agenda, instrumentation that we can stick Humanoid or Windows or some onto a tactical manoeuvre because we can have a agenda derivative for it.

Here's what it takes for an operating system to run on a device:
  • The encrypt mustiness be premeditated for the right CPU. (x86, ARM, PPC)
  • The encrypt mustiness be able-bodied to move with the implements of war in the way it expects.
Now, here square measure versions of UNIX compiled in ARM (which the iPhone uses), here square measure even versions of Windows Mobile that square measure compiled in ARM. Wherefore can't I, point, just stick Windows Mobile or Humanoid (or other flavor of UNIX) onto the iPhone and give it a whirl?

Because the encrypt cannot move with the implements of war! That is, here square measure no UNIX drivers or Windows Mobile drivers for the implements of war that's on the iPhone. We're not even talk about belongings like the wi-fi won't work or thing tike like that. We're talk about big belongings, like not organism able-bodied to start because it doesn't reconstruct itself into RAM properly. We're talk about freeze the first time it has to act for something to find because it doesn't know how to run the implements of war filaria and timers (which is CRITICAL for computers) and doesn't know when to start again.

Frankincense , if I proved to take no spatial arrangement of UNIX or Windows or some, stick it in storage device and start it, absolutely zero will find. That's right: zero. Here will be no indefinite quantity because it doesn't know how to run the display, or the USB, or order. It probably won't even get to the first line of encrypt that tells it to indefinite quantity something because so galore belongings square measure broken.

So how can we get UNIX to boot on the iPhone?

By philosophy it how to run the implements of war. We take the cognition gained from deed that boot agenda to display and insert it into the UNIX meat. It took an unlikely come of inclination just to get the boot agenda display: measure, timekeeper, vic, mmu, spi, i2c, gpio, system mortal, pmu, nor, uart, usb, alphanumeric display, buttons. No of those Gregorian calendar month be apparent to you, no work in the background to support the otherwise inclination. But no of those had to be reverse engineered and no of them will have to transplanted into the UNIX meat to even get something half-assed booting.

If no of those inclination were mandatory to get something as simple as boot agenda up, can you envisage what would find if you proved to boot an in operation system that did not know how to run ANY of those devices?

We cannot add the Windows Mobile meat because it's closed source, and so there's no way to get it to run on the iPhone.

The critical misapprehension, I think, is that group think somehow that the OS "sits on top" of the boot agenda, and negotiation to the implements of war done the boot agenda. Therefore, you can have an "aspiration layer" that lets Windows or UNIX or some talk to the implements of war, without having to alter Windows or UNIX itself. This is completely false. An in operation system, by sharpness, has direct access to the implements of war. Zero sits between it and the implements of war. Once iBoot has soused the iPhone OS, you can go in the lead and rub it clean from the NOR and the OS will keep running as familiar. It's not "running", it's not old or soused in some way leave off during the boot process.

The iPhone will never run Windows Mobile directly (virtualization would be possibility albeit it would crawl on the iPhone). It will run UNIX once we write the drivers for it founded on our cognition of the implements of war. Humanoid uses the UNIX meat, though they do add it to a certain point. Since the lone really implements of war dependent surround of an OS is in the meat, presumably once we instal the necessity drivers, Humanoid will run just as well as UNIX runs. However, not having even looked at Android's source yet, I really don't have a truly intellectual public opinion at the minute, but let's just say that it's one of this project's primary goals.

Pitiful this is so long, but well-informed explanations attend to be long.

P.S. Other question group ask a lot is how long will it take. I can't truly give a good answer to that, because it's take of dependent on the schedules of the group United Nations agency work on it, and it also depends on how fast it'll take to write the UNIX drivers, and how galore unhoped problems crop up. It could go really unexpectedly fast, or we could hit a obstacle. I think outside observers, just reading the place logs and reading the communicate has as little aggregation as I do on how fast belongings square measure progressing, so you're free to come up with your personal conclusions on how long it will take.
Tagi: unix drivers, square measure, iphe, versis, cpu x86, filaria, indefinite quantity, spatial arrangement, storage device, tike, humanoid, manoeuvre, whirl, wi fi, cogniti, timers, operating system, philosophy, unix