I thought I had posted this previously, but if your power button is hosed and you need to recover the iPhone, there is a very good utility called RecBoot. In my experience, it has only worked on Windows XP. The LibUSB program hosed my Win7 install, and I hadn't tried it on Linux yet. To run, download RecBoot and place the itunesmobiledevice.dll from here into the same folder as RecBoot. If the first run of RecBoot doesn't succeed, you may need libusb-win32-filter. THIS WILL REPLACE YOUR USB DRIVERS, BE VERY, VERY CAUTIOUS. I recommend making a restore point or backing up your OS before doing so. The LibUSB drivers killed all USB devices on my Win7 machine.