Want anmodule?

Wish to become a distributor of the iGPS360 module?
Please send us an email at

Tuesday, August 26, 2008

Confirmed: serial port working on firmware 2.0.1

Link for iPhone and iTouch users here

Last week I sent four GPS modules to the GPS vendor to do some final testing and antenna tuning. So while waiting till we hear back from them, I have had some free time to spend on software.

The first thing I have done is made myself familiar with the WinPwn tool out there and it seems to work pretty well. I have used it to:
  • Upgrade a 1.1.3 iPhone to 1.1.4
  • Upgrade a 1.0.2 iPhone to 2.0.1
  • Pwn a 1.1.4 iPod Touch, staying at 1.1.4
It's a little tricky as the process of things you need to do to upgrade to 1.1.4 and to 2.0.1 is different. Also, for upgrading to 1.1.4, you don't need to put your iPhone/iPod into DFU mode when restoring your custom firmware. It actually has to be regular restore mode; you will end up with an error if you try to use DFU mode. For upgrading to 2.0.1, DFU mode has to be used however when restoring the custom firmware. For upgrading to 2.0/2.0.1, I have found the manual here quite useful.

I have also used the command line version of QuickWpn and this seems to work as well (it is for jailbbreaking only). This tool is good to use on an iPod Touch as it is very fast and doesn't require a custom firmware (you can't unlock your iPhone with it though, only jailbreak).

So after I installed 2.0.1, it was time to install the 2.0 Toolchain on my desktop running cygwin. Saurik has put out a very good manual for doing this. But be aware, it is not a simple procedure. You have to understand what you are doing and even then it might take you a couple of tries to get everything right. For the required iPhone/iPod filesystem, it is best to get this from the iPhone/iPod itself (make a tar-ball as this keeps the symbolic links). All the Mac OS X 10.5 SDK stuff comes from the MacOSX10.5.pkg file in the iPhone OS 2.0 SDK dmg here, and you will need a bunch of other Apple sources that come from the Mac OS X 10.5.3 Darwin sources here. You can also do some more reading on The iPhone Wiki for Toolchain 2.0.

I will probably write up the procedure up on a Wiki sometime later as I took notes of everything I did. It took me three days to complete the process and I have learned quite a lot from it.

Another option is to install the 2.0 Toolchain directly on your iPhone. This can be done from the 2.0 Toolchain BigBoss entry on Cydia (this also installs the 'make' utility). Also make sure to read the instructions there. These same instructions apply to the desktop Toolchain as well, except you will have to adapt the path names to your local environment.

Also, once your application is on the iPhone/iPod Touch, it needs to be code-signed, otherwise it won't run. Don't try to first run your compiled application before code-signing it. If you do, code-signing won't work either. You can find more information on code-signing here.

I thus ported my GPS command line utility that I used on 1.1.x before to 2.0.1 and tried it out on the 2.0.1 firmware. The video shows the result: there are no issues with accessing the NMEA data that the GPS module sends to the iPhone.

So this confirms that the GPS module will work on the new 2.0/2.0.1 firmware.

Just beware that there is no 2.0/2.0.1 version of the previously discussed GPS software packages (xGPS, RoadMap) currently available, but hopefully these will be available soon.


Chuck said...

Awesome :)

Glad to see you can have some free time too so you don't get all stressed out from the process.

I have a question about compatibility:
I know the advantages of using a offline GPS map application, but just out of curiosity, will it be possible to "trick" the iPhone into thinking it has its native GPS module? As in... Working with Google Maps the way the 3G iPhone does?



J D said...

We're not sure of this yet; it depends on how the native iPhone applications talk to their builtin GPS. It also depends on whether or not GPS support is just a plist value somewhere that has to be toggled or something that is hardcoded into the compiled applications.

Ian said...

i have got my Ipod touch updated to 2.01 already.. although i have not jailbreak it yet, coz waiting for a reason to do so, and the reason would be your GPS unit.. but if i can't get the maps on it, it would be a problem.. hopefully by the time you ship the unit, the software would be available, hence it would render it useless..

Anyway, best to wait for your release of the software.. I am really interested to get the GPS unit from you..

Hope you can help me out here..


Anonymous said...

Please write up your notes - it would be a huge help as there does not seem to be a decent guide to setting up the open toolchain on windows.


GPS said...

@chuck: as j.d. mentions, as of now it is not clear how e.g. the 3G phone talks to its built-in GPS. Once that is figured out, you could develop a serial port daemon that converts the serial port NMEA data into a software framework that could be used by a regular 3G iPhone GPS application.

@ian: I already tried out the new xGPS 2.0 version with the iGPS360 module and it seems to be working properly. I also noticed that their software switches the dock connector off-on upon startup (they probably need this to configure their own GPS module properly). My own software development will take some more time still. I am currently dealing with suppliers to transition to a smooth production start in the week of September 22.