I was desperate for a solution to syncing music to my iPhone without the use of iTunes. After some "hacking" here's what I came up with in the end that worked.
As far as I know, it's the first and currently only solution to syncing music with your iPhone under MS Windows without using iTunes, and also the only wireless solution under MS Windows. Be warned, though, it's not for the faint hearted [edit note: the current revision is a lot easier than the first one I posted, so my mum could do it now].
- iPhone (jailbreaked, with OpenSSH and connected to your wireless network. Tested with firmware 1.1.1 and 1.1.2 (thanks T509))
- Winamp 5.5 (winamp.com)
- ml_ipod 3.02 (mlipod.sf.net)
- SftpDrive (Shareware (unfortunately), sftpdrive.com)
- [PuTTy] (only if not using ml_ipod patch, read further down. http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe)
- MS Windows XP
Disable auto-lock in Settings - General on the iPhone (set to "Never") so that your wi-fi connection isn't disconnected during the process.
NOTE: The next step marked with square brackets involving PuTTY is no longer needed if you use abu's new patch, 3.02p02 from http://mlipod.sourceforge.net
[SSH with PuTTY to your iphone. You need the IP address to the iPhone and it's easiest to be on the same Wi-Fi network as the computer when doing this. Mine used 192.168.0.145, yours wont. Login with root and your password (google for iPhone OpenSSH default password if you haven't set one) and cd to /private/var/root/Media. From there, make a symbolic link: "ln -s iTunes_Control iPod_Control".]
Install SftpDrive and set it up to connect to your iphone using the same login information as for PuTTY. I made it so my iPhone was on drive letter T: and set Directory: to /private/var/root/Media, then click Connect. My setup:
If you go to My Computer you should now have a T: with the directories DCIM, iTunes_Control and so on in the root.
Next install Winamp and ml_ipod (with patch mentioned earlier if you're going for that option). Fire up Winamp options - preferences - ipod support. For testing, I unchecked all checkboxes from these tabs: home, features and sync, you should do the same, but can leave in album art if you have installed the patch. Then go to the advanced tab and check "look for iPods on network and fixed drives".
After you hit OK, you should get a dialog that asks you which kind of iPod you have just connected. Choose iPod Classic (or iPhone if you've used the previously mentioned ml_ipod patch). If the dialog doesn't appear, try to restart Winamp.
Now, sync it as you usually do. It will take some time since the files get transfered over your Wi-Fi network. I got around 600 kB/s.
That's it! Fire up the player on your iPhone and play your newly synced tracks! I like Mos Def so he got the honor of being first.
You do everything at your own risk.
Edit: The main developer of ml_ipod, Abu, have been notified and will come up with an easier solution soon.
Edit2: If you're resyncing and the tracks don't show up in "iTunes" on the iPhone, try restarting the iPhone (hold the power button until the display shows "Slide to power off") and then turn it on again.
Edit3: ml_ipod 3.02p02 was just released. Syncing album art should work as well now.
Edit4: Added some more screenshots and cleaned it all up.