“They’d always end up saying, ‘We’re going to have to escalate this to senior AT&T executives,’ and we always said, ‘Fine, we’ll escalate it to Steve and see who wins.’ I think history has demonstrated how that turned out.”
Working Around a Broken iPhone Screen
If the Internet is any indication, a lot of iPhone users have experienced “dead strip” problems—some or all of their iPhone screen losing touch-sensitivity—after dropping their iPhone.
However, with some creativity, you can get around this problem and put your “busted” iPhone to good use—in my case, as a pair of Airfoil Speakers.
This example is geared toward an original (2G) iPhone and Firmware 3.1.3. You’ll need the following things:
- The latest Pwnage Tool (3.1.5 as of this writing)
- Apple’s 3.1.3 Firmware.
- DiskAid, an iPhone disk access app
- usbmuxd, a command line application that lets you access USB devices with VNC
- A text editor of some variety; TextEdit or Notepad will work
- Some vague concept of how to use Terminal
- A VNC viewer; on OS X, I use Chicken of the VNC
Unless you’ve synced and previously saved the data on your phone, this process will delete it, so if you’re worried, use DiskAid to save any files you’d like to keep (I believe only photos are accessible under the unregistered version; they’re in the DCIM folder).
Start by Jailbreaking the phone using a custom firmware. You do this using Pwnage Tool on “Expert Mode”. After directing Pwnage Tool to the 3.1.3 firmware you just downloaded, double-click on “Cydia Packages” in the next screen. You’ll need to click the “download packages” tab, select Saurik’s repository (it starts with “http://apt.saurik.com”) from the dropdown, then click “Refresh”.

This should bring up a big list of files (see above) Select (using command-click) the following packages:
- Veency
- LibVNCServer
- MobileSubstrate (possibly necessary; didn’t check)
- OpenSSH (not necessary, good to have)
and click “Add to queue”. They should download very quickly. Then go to the “Select Packages” tab and hit “Select all”. Once that’s done, click the blue arrow in the lower right until you see “Build” in big red letters. Click that, wait for the firmware to be created, put your phone in DFU mode, and then restore using iTunes.
Remember to hold down the option key when clicking “Restore” in iTunes. This is the only way to navigate to your custom created firmware.
Once the restore has completed, you’ve now got a jailbroken phone with a Veency—a VNC server that lets you control your iPhone screen from your computer—already installed on it. Sadly, since the screen is broken, you have no way to actually turn on the VNC server.
Further complicating things, you have no way to access your phone’s wifi settings, so unless your phone immediately recognizes and can connect to your wireless network, you have no address to direct VNC toward. DiskAid and usbmuxd are the solutions to these problems.

The first thing we’re going to to is turn on the VNC server. We’ll do this by dumping a new settings file (called a “plist”) for Veency into the iPhone, using DiskAid. If your phone is plugged into your computer, DiskAid will automatically connect to it. Select the “root” folder from the menu at left. You’ll get a warning message—just click OK, and navigate to /private/var/mobile/Library/Preferences/. (see above).
Now open a text editor and copy the following code into a text file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Enabled</key>
<true/>
<key>Password</key> </dict>
<string>password</string>
<key>ShowCursor</key>
<false/>
</plist>
Save that file as “com.saurik.Veency.plist” (if you used TextEdit, you’ll need to hit command-shift-T to convert the file to plain text before saving) and drop it into the /private/var/mobile/Library/Preferences/ folder you navigated into in DiskAid. Congratulations—you have just turned on your phone’s VNC server, with ultra-secure password of “password”.
Now you’ll need to set up usbmuxd so that you can connect to your iPhone with VNC using your USB connection. Drag the “usbmuxd-1.0.4.tar.bz2” file you downloaded earlier to your desktop, and double-click it. It should open into a folder called “usbmuxd-1.0.4”. Change that to just “usbmuxd”, then open Terminal, and enter the following commands:
cd desktop/usbmuxd/python-client
(This moves you to the python client folder of usbmuxd)
python tcprelay.py -t 5900:8888 &
(this tells usbmuxd to relay data from port 8888 to port 5900—the VNC default port—on your usb-connected iPhone. You should see a message in terminal saying as much.)
Now open Chicken of the VNC, and select “File > New Connection…” Fill out the window that pops up like this, with “••••••••” being “password” as specified in your plist file:

Hit your iPhone’s “home” button to wake up the display, and then click “Connect”. An iPhone-sized window should pop-up, looking exactly like your iPhone’s lock screen. Click the arrow and slide the slider in this VNC window—free at last!

You might get some “unrecognized rectangle encoding” errors, but just keep hitting “reconnect” and be quick with your mouse.
People might ask “what good is an iPhone with a broken screen”, but after setting the phone up with your wireless network (you can then VNC into its local IP address), there are a number of small, useful apps (http server, proxy server, etc) that can make the iPhone a great low-power, always-on device.
I’ve set up mine with Airfoil to create another set of wireless speakers—now I can listen to my iTunes library (or webcast audio) while I shower.

(with a nod to @ryantkelly, who gave me his girlfriend’s busted 2G iPhone)

![There’s something surreal about being asked to fix Ralph Waldo Emerson’s wagon. Because frankly, I’ve been meaning to do that since 10th grade or so.
[from the Oregon Trail iPhone app]](http://24.media.tumblr.com/tumblr_l55apijbKA1qbwf0jo1_500.jpg)



