So I've been with a damaged iPhone for about 2 months, and I was in the hope to have it working after 2.0 was out.

Still no lucky, I am getting the classical error 6 when restoring to 2.0.

It sometimes go past 10%, but most of the time it ends before 10%.

I really have no idea what happened before with this phone, it is from a friend of a friend of a friend (and friendship goes on...). It is on Apple Recovery mode since when I got it.

Before 2.0 / iTunes 7.7 launch, I've tried to install every single image on it, from 1.1.1 up to 1.1.4 like a dozen times each, using DFU/Recovery modes, with original AT&T/non-supported carrier/no SIM card, using ziPhone/iLiberty+/iLibertyX/Pwnage/winPwn/iBrickr/iPhuc, no way to get this out of Recovery -- of course because installed phone OS is corrupted. I have install files for iTunes 7.4, 7.5, 7.6.2 and 7.7 floating around on my homedir, got tired of reinstalling them.

Tried also to restore on a dozen different computers, Windows XP and Vista's, Leopards and Tigers, no freaking way.

My bet is phone's RAM chip is somehow damaged and thus it does not accept or do not pass checksum while restoring, and only last resort is to send it back to Apple. But I saw plenty of people with more lucky against this error 6, so I still have some faith.

Any other help will be appreciated.

These are the last lines from iPhoneUpdater.log logfile (generated by iTunes 7.7 / iPhone OS 2.0):

Code:
2008-07-13 14:00:41.000 iTunes[2985:20b]: type query response = <CFDictionary 0x1a6021a0 [0xa07871a0]>{type = mutable, count = 5, capacity = 12, pairs = (
	3 : <CFString 0x1a800df0 [0xa07871a0]>{contents = "SerialNumber"} = <CFString 0x1331d00 [0xa07871a0]>{contents = "88805X6ABCD"}
	5 : <CFString 0x1391bd0 [0xa07871a0]>{contents = "Result"} = <CFString 0x1b00ff00 [0xa07871a0]>{contents = "Success"}
	9 : <CFString 0xa0791d80 [0xa07871a0]>{contents = "Type"} = <CFString 0x13e19b0 [0xa07871a0]>{contents = "com.apple.mobile.restored"}
	12 : <CFString 0x1aae6750 [0xa07871a0]>{contents = "HardwareModel"} = <CFString 0x1a996240 [0xa07871a0]>{contents = "M68AP"}
	13 : <CFString 0x1a6021e0 [0xa07871a0]>{contents = "RestoreProtocolVersion"} = <CFNumber 0x1362990 [0xa07871a0]>{value = +11, type = kCFNumberSInt32Type}
)}
2008-07-13 14:00:41.000 iTunes[2985:20b]: Supports value queries: 1
2008-07-13 14:00:41.000 iTunes[2985:59f97]: type query response = <CFDictionary 0x13da8c0 [0xa07871a0]>{type = mutable, count = 5, capacity = 12, pairs = (
	3 : <CFString 0x1a92a230 [0xa07871a0]>{contents = "SerialNumber"} = <CFString 0x1aac6f80 [0xa07871a0]>{contents = "88805X6ABCD"}
	5 : <CFString 0x13da940 [0xa07871a0]>{contents = "Result"} = <CFString 0x1a9817f0 [0xa07871a0]>{contents = "Success"}
	9 : <CFString 0xa0791d80 [0xa07871a0]>{contents = "Type"} = <CFString 0x13da860 [0xa07871a0]>{contents = "com.apple.mobile.restored"}
	12 : <CFString 0x1a800df0 [0xa07871a0]>{contents = "HardwareModel"} = <CFString 0x1a92a1a0 [0xa07871a0]>{contents = "M68AP"}
	13 : <CFString 0x1331d00 [0xa07871a0]>{contents = "RestoreProtocolVersion"} = <CFNumber 0x1362990 [0xa07871a0]>{value = +11, type = kCFNumberSInt32Type}
)}
2008-07-13 14:00:41.000 iTunes[2985:59f97]: <Restore Device 0x1a621100>: operation 28 progress -1
2008-07-13 14:00:41.000 iTunes[2985:59f97]: <Restore Device 0x1a621100>: operation 11 progress -1
2008-07-13 14:00:43.000 iTunes[2985:59f97]: <Restore Device 0x1a621100>: operation 12 progress -1
2008-07-13 14:04:35.000 iTunes[2985:59f97]: <Restore Device 0x1a621100>: operation 12 progress -1
2008-07-13 14:04:40.000 iTunes[2985:59f97]: <Restore Device 0x1a621100>: operation 13 progress 0
2008-07-13 14:04:50.000 iTunes[2985:59f97]: <Restore Device 0x1a621100>: operation 13 progress 1
2008-07-13 14:04:58.000 iTunes[2985:59f97]: <Restore Device 0x1a621100>: operation 13 progress 5
2008-07-13 14:04:59.000 iTunes[2985:59f97]: <Restore Device 0x1a621100>: operation 13 progress 6
2008-07-13 14:04:59.000 iTunes[2985:59f97]: <Restore Device 0x1a621100>: operation 13 progress 7
2008-07-13 14:05:04.000 iTunes[2985:59f97]: <Restore Device 0x1a621100>: operation 13 progress 8
2008-07-13 14:05:05.000 iTunes[2985:59f97]: <Restore Device 0x1a621100>: operation 13 progress 9
2008-07-13 14:05:06.000 iTunes[2985:59f97]: <Restore Device 0x1a621100>: operation 13 progress 100
2008-07-13 14:05:06.000 iTunes[2985:59f97]: <Restore Device 0x1a621100>: operation 14 progress -1
2008-07-13 14:05:06.000 iTunes[2985:59f97]: 
==== device restore output ====
river
AppleMRVL868x:     marvel-debug=0x88
AppleMRVL868x:     marvell-feature-flags=0x3f
AppleMRVL868x:     mrvl.ps.unicast_timeout=100
AppleMRVL868x:     mrvl.ps.multicast_timeout=10
AppleMRVL868x:     mrvl.ps.entrance_timeout=15
AppleMRVL868x:     marvell-powersave-listenint=1
AppleMRVL868x:     marvell-retry-limit=15
AppleMRVL868x:     marvell-sdio-pulldowns=-1
AppleMRVL868x:     WTE=0x0
AppleSynopsysOTG2 - Configuration: PTP
AppleSynopsysOTG2          Interface: PTP
AppleSynopsysOTG2 - Configuration: iPod USB Interface
AppleSynopsysOTG2          Interface: USBAudioControl
AppleSynopsysOTG2          Interface: USBAudioStreaming
AppleSynopsysOTG2          Interface: IapOverUsbHid
AppleSynopsysOTG2 - Configuration: PTP + Apple Mobile Device
AppleSynopsysOTG2          Interface: PTP
AppleSynopsysOTG2          Interface: AppleUSBMux
AppleSynopsysOTG2::gated_registerFunction Register function USBAudioControl
IOAccessoryPortUSB::start
AppleSynopsysOTG2::gated_registerFunction Register function IapOverUsbHid
virtual bool AppleUSBDeviceMux::start(IOService*) build: Jun 15 2008 22:20:10
AppleSynopsysOTG2::gated_registerFunction Register function USBAudioStreaming
init_waste
AppleSynopsysOTG2::gated_registerFunction Register function AppleUSBMux
AppleSynopsysOTG2::gated_registerFunction Register function PTP
AppleSynopsysOTG2::gated_registerFunction all functions registered- we are ready to start usb stack
AppleSynopsysOTG2::handleUSBReset
AppleMRVL868x Hardware Details:
  Firmware Version: 9.108.4.p10 (0x0a096c04)
  I/O Version:      0x0002
  Hardware Version: 0x0011
  Mac Address:      00:1f:5b:6c:4c:b4
AppleSynopsysOTG2::handleUSBReset
unable to open plist: No such file or directory
entering wait_for_storage_device
entering create_filesystem_partitions
creating 1048576 byte wipe buffer
524288000 bytes written in 230 seconds (2226 KiB/s)
executing /sbin/newfs_hfs
Initialized /dev/rdisk0s1 as a 500 MB HFS Plus volume
creating 1048576 byte wipe buffer
executing /sbin/newfs_hfs
Initialized /dev/rdisk0s2 as a 7244 MB HFS Plus volume
entering restore_images
executing /usr/sbin/asr
Waiting for connection attempt from server
	Validating target...done
	Validating source...done
Warning: the target volume may not be bootable

	Erasing target device /dev/disk0s1...done
	Retrieving scan information...done
	Validating sizes...done
	Restoring  .
Could not restore - error 1000

==== end of device restore output ====
2008-07-13 14:05:06.000 iTunes[2985:59f97]: <Restore Device 0x1a621100>: Restore failed (result = 6)
2008-07-13 14:05:06.000 iTunes[2985:59f97]: _AMRestoreModeDeviceFinalize: 0x1a621100
2008-07-13 14:05:09.000 iTunes[2985:20b]: _AMDFUModeDeviceFinalize: 0x1a8066d0
2008-07-13 14:05:11.000 iTunes[2985:20b]: device connected (isDFU = 0)