Friday, April 10, 2009

The ipod PIM part II


Networking the iPod

The next stage in our quest for the perfect PIM is in being able to connect to the iPod to transfer open-source 3rd party programs. There are two approaches to this problem:

1. Use the USB cable an find a linux program that supports the new itouch models. Right now it mounts as a camera where the old ipod mounts fine and uses the installed music programs. I found a lengthy article on how to do this at https://help.ubuntu.com/community/PortableDevices/iPhone but it is a bit of work.

2. Setup the ipod to load 3rd party apps through iTunes. Since i have itunes running on the dual G5 this might be easier. I can just download apps to that machine and copy them over.

SSH Your iPod

We decide on option number 2. This means we have to modify the default ipod configuration which is designed only to use apps from the ipod store. I dislike business models that restrict the device you bought to their 'island' - one reason i did not buy a kindle. There is a replacement for the mobileframework that comes with the ipod which you can download - the question then becomes how do you get the 3rd party app on the ipod so that you can copy 3rd party apps?

The solution is to use the wireless network in the ipod. We can use SSH (the secure shell protocol) to connect to the ipod and transfer the new mobileframework file. First we need to get SSH running on the ipod.
  1. We run the cydia package manager installed last week and download SSH
  2. We also download Toggle SSH a small utility to enable/disable SSH
  3. And since the ipod is using DHCP we need it's IP address so we also get WhatIP which is a faster way that using the settings
And why we are there we also grab a version of Network Stumbler to search out wireless networks - it even provides the lat and lon of the wireless access point! We had been going to Google Maps/Google Earth and putting in an address to determine where we were - this is so much neater.

SSH From Ubuntu

Now that we have SSH running on the ipod we need to connect from \\godzilla, a unbuntu 8.04 machine.
  1. Select Places, Connect to Server from the menu
  2. Select SSH from the drop down menu
  3. In the Server: box we put in the ipod ip address of 192.168.1.112
  4. In the Port: box we enter 22
  5. In the Username: box we enter root
  6. Click Connect
  7. In the Password: box we type alpine

After a few moments we are connected to the ipod and the directory structure is displayed. Now we navigate to the following folder:

/System/Library/PrivateFrameWorks/MobileInstallation.framework

Modify the ipod

Now we copy over the new framwork file we downloaded.

1. Rename MobileFramework to MobileFramework.bak
2. Copy the new MobileFramework file to the folder
3. Change the permissions on the new MobileFramework file

The new file needs the permissions set to 755, or if you prefer this notation:

-rwxr-xr-x

which translates as user read/write, group read/execute and other execute. Once this is finished you can now reboot the ipod. One problem during this process was that the ipod screen keeps blanking and the unit goes into 'slide to unlock' mode very quickly which seems to affect the SSH connection. Ir probably powers down the wireless? I could not find a setting to turn this on/off or adjust in the ipod settings. I did notice cydia had a constantly reconnect ssh app - maybe this is the solution to the problem? Will try it later.

For now we need to move to the other room to the dual G5 and try installing some apps.

WARNING - the last bit where i changed the MobileFrameWork seems to have bricked my ipod. Have to do some emergency work on it!

Ok, i was able to restore after some tense moments. Itunes would start the restore and then it would fair with the error message 'ipod cannot be restored, error 1611 occured'. The problem was that classic was running (civ II) and this seems to cause a problem. The clue was found at http://support.apple.com/kb/TS1275 so turning off classic caused the restore to take place. Now i have to re-do all i did earlier - a good reason to document....

Appendix: Stylus

Steve Jobs must have tiny hands. Rachmaninov had big hands and I have small hands but typing on the touchscreen keyboard is error-prone even for my little fingers. My son's DS has a stylus so why not the ipod - well the ds stylus does not work on the itouch because it uses a heat sensitive screen so you need a special stylus. Off to Best Buy where the teenage clerk had no idea what i was talking about and they had no ipod stylii. What i really, really want is a case with a stylus pouch and a stylus. Going online i have found a stylus for $20 but so far no case design that has a stylus pouch.

1 comment:

gnickers said...

Since i had to restore i lost the jailbreak so i had to re-install using quickpwn which is a great program.

Just follow the prompts to modify your ipod and then using the included package manager to install useful things like vnc and a network stumbler and games