I have an iPhone 3G that I'm trying to fix for a friend.

While updating to 3.0, his battery died and now the phone is stuck in recovery mode.

Restoring gives me error 28.

I've tried:

DFU Mode
Alternate USB ports
New user account
Leopard 10.5.6, 10.5.7, and Vista Ultimate
DMZ mode for the router
Standard restore and update
Latest version of iTunes
Restarting the computer
Alternate computer(s)

iTunes recognizes the phone in both recovery mode and DFU mode, but gives me error 28 regardless.

I have searched (endlessly) and tried everything I possibly could.

This phone was apparently unlocked and jailbroken prior to the error. (2.2.1)

No other information is available.

Any possible fix?