Friday, February 15, 2008

Test Lab: iPhone, Ubuntu, and XP in VMware

I recently purchased an iphone. I was totally stoked - but I realized that there weren't any Linux native tools to activate my iphone. Apparently one needs to use iTunes to activate, and iTunes is made for Mac and Windows. Ultimately, to activate my iphone, I had to borrow a laptop running XP.

Now that my iphone is activated, I'm unable to upload mp3's using my computers running any native Linux tools (or XP in VMware). Oh yeah, and in order to jailbreak, from what I've researched, one needs either a Mac or Windows.

The most success I've had is with VMWare Server running an XP Guest on my Ubuntu box.

Here's what I started out with:

  • Ubuntu 7.10
  • VMWare Server 1.0.4 build-56528
  • iPhone (1.1.13)
Within VMware:
  • XP container with all of the latest patches
  • iTunes 7.6
Before doing anything, I backed up my VMX file for my VM image of XP. Then, I edited the original VMX and added:
usb.generic.skipSetConfig = "TRUE"
The most success I've had is after I do the following:
  1. Cable up iPhone to USB port -- Cancel out of camera import dialog box
  2. Doing a `lsusb` shows the phone there. Ok, not a step, but a confirmation of sorts.
  3. Startup VMware - turn on XP guest. While it boots XP...
  4. In VM, go to VM | REMOVABLE DEVICES | USB DEVICES and make sure "Apple Inc. (port 1)" is checked
  5. (Warning: Windows Talk) Log into XP
  6. Go to the control panel, administrative tools, and launch the services app
  7. Click on the "Apple Mobile Device" service. options to start | stop | restart
  8. So, back in VM, go to uncheck "Apple Inc. Iphone (port 1)"
  9. Now recheck "Apple Inc. Iphone (port 1)". Windows will detect the new hardware
  10. Back in Windows, go to services again and click on "Apple Mobile Device" again. Restart the service.
  11. Awesome - iphone detected. Windows pulls up a window asking to import photos.
  12. AHHH - blue screen! haha, so typical!!!!!
So, I still haven't figured this out yet. I've gone through the steps uninstalling Quicktime, Apple Software Update, and Apple Mobile Device Support ... and then reinstalling iTunes (which installs everything). I'll continue working on this. Any comments to help figure this out will be greatly appreciated!


Anonymous said...

Thanks for putting this out there. I've only got one windows machine left, and it's mainly because of itunes/iphone.

Hopefully I have the same success you had.

Cheers, Brian

Steve Zenone said...

Brian - thanks for your comment. I'm still trying to work through the blue screen issue when my iPhone is finally recognized by XP. Please let me know if you have any greater success!

Kent Geek said...

Steve, nice work getting as far as you have. I gave up a couple of months ago, and have been using an ancient XP machine at the office to do my iPhone stuff (painful). You've got me thinking I might try again, especially since I just updated to 1.1.4 (who knows, maybe they modified the interface subtly).


Steve Zenone said...

Kent - I hope it's successful for you. Let me know if you make any progress!

Anonymous said...

I've struggled with this issue off and on and no matter what I did, always a blue screen when the VM saw the iPhone. Today, however, I found success! I tried updating to VMWare Player 2.5.2 (no dice), and iTunes 8.1.1 (no dice). Success came when I enabled the XP image for USB 2.0 by adding the following lines to the VMX file:
ehci.present = "TRUE"
ehci.pciSlotNumber = "19"
Note that from what I've read your VM image itself must be at a level to support USB 2.0 (made with VMWorkstation 6 I believe). Luckily I guess mine was. I'm in the process of backing up the iPhone via the VM image as I type.

I'm running Fedora 10, not Ubuntu, but I think the problem child is the USB 2.0 support in the VM Player.

Steve Zenone said...

cpeel - good info. Thanks for posting.

Great King Rat said...

cpeel rulez!!!

dmw8157 said...

cpeel, you're a diamond!!

Ubuntu 9.04 ia64 + iTunes 8.2.2 + VMplayer 2.5.2 + upgraded VM to support new hardware + cpeel's added vmx lines. It just works!!!

dmw8157 said...

Oops forgot the guest - WinXP SP3

Anonymous said...

cpeel - Thank you! This worked for me even though my image was a very old one (WinXP made with Workstation 4).

Anonymous said...

Thanks for the hint, worked like a charm.

Anonymous said...

thank capeel!!!

Worked smoothly :)

GreggDaniel said...

i love folks saved my weekend