I jail-broke my iPad2 several weeks ago and, in that time, I’ve only come across one application that no longer works, the DirecTv app. All others appear to be completely normal. I can live without DirecTv on my iPad.
As you probably know, I’m a software guy and, frankly, I was curious to see just what Apple was doing inside the iPad. That’s why I did the jail break. And I must say, I am incredibly impressed because this is one sophisticated little machine with the processes and daemons one would expect on a full fledged server, all hiding behind a meek but friendly user interface you can hold in one hand at Starbucks.
My hat is off to Apple: Nice work!
The jail-break process installs a number of utilities, both GUI and command line, but seeing as I’ve lived a long time at the command line, that’s where I’m really at home when poking around as the root user. Accordingly, I’ve added several command line as well as some GUI programs via Cydia. These include zip and unzip, less, iFile, MxTube, OpenSSH, tar, Vi IMproved, and wget.
While I use all of these, OpenSSH and iFile are proving to be of particular value.
- OpenSSH provides an ssh server. From my Windows PC (with the Cygwin tools added), I can enter ssh root@192.168.166.2 [private net only] and, after supplying my (changed to a supremely perfect) root password, I’m in on the iPad. (Real engineers always work as the root user.) And, for general manipulations, explorations and experiments, there is nothing better. (Those without a moderate amount of Unix or Linux command line experience should avoid this powerful but unforgiving tool.)
- iFile is a GUI file system browser app on the iPad and, while it is doing much the same as can be done with OpenSSH, the iFile app also knows “the magic” that makes an image file available in the Camera Roll app (aka, “Photos”). That, I would learn, is an essential step for what I want to do. (And again, I would caution others to beware — you’ll be running as the root user in iFile and, if you inadvertently do something bad, you could “brick” your iPad and have to do a factory reset.)
Most of my interests are toward shoving still images and videos in and out of the iPad. In that regard, here are some useful locations in the iPad’s file system:
- /private/var/mobile/DCIM/Media/device/* is where the “*.jpg” and “*.mov” files are stored. If you take a picture or shoot a movie with the iPad and store it in Camera Roll, this is where it will be. These files can be copied out (via ssh) to a Windows PC and viewed directly by double-clicking in Windows, assuming you have the proper file associations and viewers.
- /private/var/mnt/mount1 is where SDRAM and USB sticks will appear if you have the appropriate adapters from the store. (Note that USB sticks must be formatted as FAT32, not NTFS.) Regardless of media, if there are images thereunder in the DCIM/device/* directory (as “*.jpg” files, where device must be something like 100_FUJI or 199_EDSK, the latter being one I made up that worked whereas 100_WHATEVER did not), when inserted in the iPad, the Camera Roll import utility will automatically pop-up and let you copy them. And while this is successful, it sets up an annoyance with the USB stick: if the USB stick is then removed and taken back to a Windows 7 PC, I found I had to do the cycle of insert, wait, remove, wait several times before the PC would display the device.
- /var/mobile/Media/MxTube/* is where MxTube stores ripped videos from YouTube. These are *.mp4 files and, if transferred to Windows, are playable by double-clicking (in Windows Media Player). [The still frame seen above is from one such video I found after searching YouTube for “snack bar” and then downloading it via MxTube.]
Copying images out of the iPad, using either ssh over the network or iFile with USB or SDRAM, was easy.
Copying images into the iPad and, in particular, getting them into Camera Roll is quite another story.
iFile knows the magic, as I mentioned, but can only do one file at a time. That is, if you put multiple images on a USB stick and plug it into the iPad, iFile will display the files but you then have to click the right-pointing blue arrow on the right of each file’s name (in iFile), scroll to the bottom of the properties display and click Add to Camera Roll. That does one file. Then you do the same on the next file. And then the next file.
Argh!
ssh can be used to copy the files to the iPad but that’s all it does. You still have to then use iFile to make them known to Camera Roll.
Note that copying the image files to one of the above directories is not sufficient. I tried but Camera Roll doesn’t see them.
So, I now think of “Camera Roll” as an application with a database pointing to the file, rather than as just some simple location in the file system. Copying the files into the file system is only half the battle. You still have to get Camera Roll to pay attention to them.
In summary then, moving images out from the iPad to other machines is as fast as your network will allow. It is only the inbound path to the Camera Roll application that is annoying and, for that, you’ll have to have iFile.
Look for more “discoveries” here about the iPad.
Nice job, Apple!