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 188.8.131.52 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
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.