Editing Talk:Hardware flashing

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
== Wikify introduction: Purpose of hardware flashing ==
[[Category:Hardware]]
 
This page lacks a section at the very beginning explaining the purpose of "hardware flashing". Such contribution would improve the democratization of preservation. ⚗--[[User:Bowi|Bowi]] ([[User talk:Bowi|talk]])
 
== NAND flashers speed comparison ==
Samsung [[K9F1G08U0A]] flasher speeds, full write 1Gb:
* ChipProg‐481 (write+verify) : 23 seconds
* ChipProg‐G41 (write+verify) : 23 seconds
* Flashstream 2800F (write+verify) : 34.7 seconds per NAND
* UP828 (write+verify) : 22.2+11.4 seconds per NAND
* SuperPro 5000 (write+verify) :116.5 seconds per NAND
* UP128 (write+verify) : 78.4+167 seconds per NAND
* BeeHive204AP (write+verify): 122.7 seconds per NAND
* Progskeet 1.0/1.1 (dump, not write) : 158 seconds per NAND
* Teensy++ 2.0 (diffwrite+verify) : 180 seconds per NAND
* ChipProg‐48 (write+verify) : 641 seconds
* ChipProg‐G4 (write+verify) : 641 seconds
* Infectus (dump, not write) : 900 seconds per NAND
* Teensy++ 2.0 (dump, not write) : 918 seconds per NAND
* Teensy++ 2.0 (write+verify) : 2700~3000 seconds per NAND
 
== NAND Clip problems ==
<DrkShadow> ___: buy one from vgcrepairs.com, if you don't mind wasting your money, and you, too, shall see that the 360-clip does not have the correct pinout when hooked up with the adapter board in between.
 
== NOR Clip Modification ==
== NOR Clip Modification ==
<div style="float:right">[[File:X360 NOR clip modification.jpg|200px|thumb|left|NOR clip mod - top]]<br />[[File:Cutting pin46 360clip-nor-TOPVIEW.jpg|200px|thumb|left|NOR clip mod - top]]<br />[[File:Cutting_pin48_and_46_360clip-nor.jpg|200px|thumb|left|NOR clip mod - back]]<br />[[File:Nor-clip_pin_out_front.jpg|200px|thumb|left|NOR clip mod - flatcable header]]</div>
<div style="float:right">[[File:X360 NOR clip modification.jpg|200px|thumb|left|NOR clip mod - top]]<br />[[File:Cutting pin46 360clip-nor-TOPVIEW.jpg|200px|thumb|left|NOR clip mod - top]]<br />[[File:Cutting_pin48_and_46_360clip-nor.jpg|200px|thumb|left|NOR clip mod - back]]<br />[[File:Nor-clip_pin_out_front.jpg|200px|thumb|left|NOR clip mod - flatcable header]]</div>
Line 32: Line 9:
   <domelec> so really u only need to remove pin 48
   <domelec> so really u only need to remove pin 48
   <domelec> ie pin 46 goes to gnd so u could leave it
   <domelec> ie pin 46 goes to gnd so u could leave it
   <domelec> therefore only needing to remove pin 48 cos thats also sending gp4 to gnd
   <domelec> personaly id just remove both still
 
 
   <eussNL> 48 on clip 50ZIF = 3 on skeet 50ZIF = wp
   <eussNL> 46 on clip 50ZIF = 5 on skeet 50ZIF = gp2
           46 on clip 50ZIF = 5 on skeet 50ZIF = gp2
           48 on clip 50ZIF = 3 on skeet 50ZIF = gp4
</pre>
</pre>
Writing will still fail, but at least it will now not burn out your motherboard or Progskeet (and perhaps can be used for dumping).
Soldered connection is still the highly adviced way to go. NOR pads are huge in comparison and easy to solder, plus the connection is stable.


----
----


== Generic Write Strategies ==
== Generic Write Srategies ==
=== NAND ===
=== NAND ===
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable sortable" style="border:1px solid #999; border-collapse: collapse;"  
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable sortable" style="border:1px solid #999; border-collapse: collapse;"  
Line 181: Line 155:
|}
|}
==== Generic slowest safe method ====
==== Generic slowest safe method ====
===== NAND =====
* Use [Talk:Hardware_flashing#Injecting_3.3V_.28or_5V.2F12V_etc.29_with_external_PSU | external powersupply], as described under [Talk:Progskeet#.5BD.5D_using_ATX_PSU_and_Progskeet_powered_by_USB | method D or E].
* Make sure the [Progskeet#Programming_the_Bitstream | correct bitstream] is on the Actel (lastest, if using clip)
* Use [http://www.psdevwiki.com/files/flash/Tools/Progskeet/Winskeet/ProgSkeet_110819.rar Progskeet 110819] as flasher software.
** run in Compatibility mode for winxp SP2 + as Administrator
** use [http://www.psdevwiki.com/files/flash/Tools/Progskeet/Winskeet/zadig.rar zadig] to change from [http://www.psdevwiki.com/files/flash/Tools/Progskeet/Winskeet/drivers_winusb_111121.zip winUSB] to [http://www.psdevwiki.com/files/flash/Tools/Progskeet/Winskeet/drivers_libusb0_110812.rar libUSB0]
* Make sure the NAND is recognised
<!--// before u start writing, toggle the nand1 check box many times to make sure it's detecting the correct nand id //-->
only select NAND 1, bigblock, raw, differential flash with pages per block 64 and blockcount 1024
===== NOR =====
Note: Use [https://www.mirrorcreator.com/files/1RXEMGNG/ProgSkeet_Bitstreams_111106.rar_links bitstream 111106]
This will take about 4-6 minutes, depending on flashtype<!--//  
This will take about 4-6 minutes, depending on flashtype<!--//  
Stefano 5min 25 / 5 min 22 (Spansion) //-->
Stefano 5min 25 / 5 min 22 (Spansion) //-->
<div style="float:right">[[File:Winskeet 1110004 - Common TAB.png|200px|thumb|left|Winskeet 1110004 - Common TAB]]<br />[[File:Winskeet 1110004 - NOR TAB.png|200px|thumb|left|Winskeet 1110004 - NOR TAB]]</div>


<div style="float:right">[[File:Zadig libusb0 selected.jpg|200px|thumb|left|Zadig libusb0 selected with Progskeet]]</div>
*Install Libusb0 with Zadig
 
*Start Winskeet 1110004
*Install [http://www.psdevwiki.com/files/flash/Tools/Progskeet/Winskeet/drivers_libusb0_110812.rar Libusb0] [https://www.mirrorcreator.com/files/0HMVSBPD/drivers_libusb0_110812.rar_links] with [http://www.psdevwiki.com/files/flash/Tools/Progskeet/Winskeet/zadig.rar Zadig] [https://www.mirrorcreator.com/files/SM6RZIBD/zadig.rar_links]
*Select '''''your''''' approppiate flash preset on COMMON TAB
 
* After that click nor tab: change max bytes to 8
connect usb cable with Progkeet
open zadig
options : list all devices
- select Progskeet
target : change winusb to Libusb0
after finish you will see message: driver installed
 
*Start [http://www.psdevwiki.com/files/flash/Tools/Progskeet/Winskeet/WinSkeet40000_111004.rar Winskeet 1110004] [https://www.mirrorcreator.com/files/PZU8GU33/WinSkeet40000_111004.rar_links]
*Select '''''your''''' appropriate flash preset on COMMON TAB
* Dump CFI, proceed with dumping procedure if you get a valid CFI
 
<div style="float:right">[[File:Winskeet 1110004 - Common TAB.png|200px|thumb|left|Winskeet 1110004 - Common TAB]]</div>
 
* After that change to 8bit:
  COMMON TAB
  COMMON TAB
  Differential Flash: Yes
  Differential Flash: Yes
Line 223: Line 171:
  Cycle Period (ns): 125
  Cycle Period (ns): 125
  Read Delay (µs): 50
  Read Delay (µs): 50
<div style="float:right">[[File:Winskeet 1110004 - NOR TAB.png|200px|thumb|left|Winskeet 1110004 - NOR TAB]]</div>
*Goto NOR tab, select single word program, custom region start: 0 Bytes and enable Synchronous with file:
*Goto NOR tab, select single word program, custom region start: 0 Bytes and enable Synchronous with file:
  NOR TAB
  NOR TAB
Line 241: Line 187:
If it only works with  '''''Start: 0 bytes''''' and '''''Synchronous with file: Yes''''' then wires are too thin/long, or USB cable bad/bad PC USB-chipset or missing rdy (ánd gp4 for old bitstream).
If it only works with  '''''Start: 0 bytes''''' and '''''Synchronous with file: Yes''''' then wires are too thin/long, or USB cable bad/bad PC USB-chipset or missing rdy (ánd gp4 for old bitstream).


See also: http://www.psdevwiki.com/files/flash/Tools/Progskeet/UserPresets/
See also: http://www.ps3devwiki.com/files/flash/Tools/Progskeet/UserPresets/
 
===== NOR Tab : Option section explained further =====
In the Option section, the write (buffer) method is chosen, from slow to fast:
{| class="wikitable"
|-
! <abbr title="Speedtype">&nbsp;</abbr> !! Write Options !! max. bytes !! Notes
|-
| {{green}} || Single word program || <abbr title="no buffer, thus 0 bytes">-greyed out-</abbr> || [[K8Q2815UQB-PI4B|Samsung K8Q2815UQB-PI4B]] [[:File:Samsung K8Q2815UQB-PI4B.png|max. specification]]
|-
|  || Double word program || <abbr title="no buffer, thus 0 bytes">-greyed out-</abbr> ||
|-
|  || Buffered write || 1 bytes ||
|-
|  || Buffered write || 2 bytes ||
|-
|  || Buffered write || 4 bytes ||
|-
| {{green}} || Buffered write || 8 bytes || [[:File:WinSkeet40000 111004-Spansion NOR-Buffered write with 8bytes.png|Slowpoke most commonly used]] for Spansion [[S29GL128P90TFIR2|Spansion S29GL128P90TFIR2]] and [[S29GL128N90TFIR2|Spansion S29GL128N90TFIR2]]
|-
|  || Buffered write || 16 bytes ||
|-
| {{orange}} || Buffered write || 32 bytes || [[S29GL128N90TFIR2|Spansion S29GL128N90TFIR2]] max. specification
|-
| {{orange}} || Buffered write (default) || 64 bytes || [[MX29GL128ELT2I-90G|Macronic MX29GL128ELT2I-90G]], [[S29GL128P90TFIR2|Spansion S29GL128P90TFIR2]], [[K8P2716UZC-QI4D|Samsung K8P2716UZC-QI4D]] max. specification
|-
| {{red}} || Buffered write || 128 bytes || out of spec. for [[Flash_%28Hardware%29|common PS3 NOR's]], do not use.
|-
| {{red}} || Buffered write || 256 bytes || out of spec. for [[Flash_%28Hardware%29|common PS3 NOR's]], do not use.
|-
| {{red}} || Buffered write || 512 bytes || out of spec. for [[Flash_%28Hardware%29|common PS3 NOR's]], do not use.
|-
| {{red}} || Buffered write || 1024 bytes (1 KiB) || out of spec. for [[Flash_%28Hardware%29|common PS3 NOR's]], do not use.
|-
|}


== Injecting 3.3V (or 5V/12V etc) with external PSU ==
== Injecting 3.3V (or 5V/12V etc) with external PSU ==
<div style="float:right">[[File:Ext_PSU_on_PS3_2.jpg|200px|thumb|left|Progskeet wired to NANDs of a COK-002 board, inject 3.3V with external PSU (photo:mackarry)]]</div>
<div style="float:right">[[File:Ext_PSU_on_PS3_2.jpg|200px|thumb|left|Progskeet wired to NANDs of a COK-002 board, injecting 3.3V with external PSU (photo:mackarry)]]</div>
<div style="float:right">[[File:SEM-001 ext-ATX-PSU.jpg|200px|thumb|left|SEM-001 board, injection of 3.3V with external PSU ]]</div>
 
* Using/converting an old ATX PSU 3.3V line
* Using/converting an old ATX PSU 3.3V line
** [http://gathering.tweakers.net/forum/list_messages/885613 PC Voeding-tester/gebruik als projectvoeding + pinouts] (Dutch)
** [http://gathering.tweakers.net/forum/list_messages/885613 PC Voeding-tester/gebruik als projectvoeding + pinouts] (Dutch)
Line 294: Line 204:
[[File:Atx2x-dummyload-tester.gif]]<br />
[[File:Atx2x-dummyload-tester.gif]]<br />


* Note: Injecting 3.3v on a PS3 Slim CECH2503, with Teensy 2.0++. Didn't dump. South Bridge will hold (one of) RESET, CE or OE high until later in the Boot sequence / other hardware is initialized. // subnote: tristate was most likely not used to prevent further booting, nor was lowering power injection trick used as it is impossible for a southbridge that is not powered to pull any lines up.
== Testreport table==
 
== Progskeet 1.2 - Testreport table==
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable sortable" style="border:1px solid #999; border-collapse: collapse;"
|- bgcolor="#cccccc"
! Flash !! Board !! Dumping !! Writing !! Remarks
|-
| 2x[[K9F1G08U0A-PIB0]] ||  || {{Yes}} || {{Yes}} ||
|-
| 2x[[K9F1G08U0B-PIB0]] || SEM-001  || {{Yes}} || {{Yes}} || Bitstream for reading 0031, flashing: 1223. Other bitstreams always reported errors
|-
| 2x[[K9F1G08U0B-PIB0]] ||  || {{Yes}} || {{Yes}} ||
|-
| 1x[[S29GL128N90TFIR2]] ||  || {{Yes}} || {{No}} ||
|-
| 1x[[K8Q2815UQB-PI4B]] ||  || {{Yes}} || {{No}} ||
|-
| 1x[[S29GL128P90TFIR2]] ||  || {{Yes}} || {{No}} ||
|-
| 1x[[K8P2716UZC-QI4D]] ||  || {{Yes}} || {{yes}} || patch rogero downgrade succes
|-
| 1x[[MX29GL128ELT2I-90G]] ||  || {{Yes}} || {{No}} ||
|-
| 1x[[MX29GL128FLT2I-90G]] ||  || {{Yes}} || {{No}} ||
|-
| EXA-MPLE || ARC-001 || {{Yes}} || {{No}} || <small>''example'' : Tried 128/128 and 4K/4096, resistor and A/B trick, always freezes on first sector</small>
|-
|}
 
== Old Progskeet 1.0 Testreport table==
  keep in mind that this table is very old
  keep in mind that this table is very old
  it was used for bugfixing/tracing errors in OLD progskeet versions and old NORway
  it was used for bugfixing/tracing errors in OLD progskeet versions and old NORway
Line 389: Line 270:
|-
|-
| VER-001 || 1x Spansion S29GL128N90TFIR2 || {{Yes}} || {{Yes}} || <small>''gokuhs'' : With 'erasechip' and 'writewordubm' method without resistors and work fine. NORway 0.4 BETA9+. I used the jestero's diagram for VER-001 motherboard without VCC pin solder</small>
| VER-001 || 1x Spansion S29GL128N90TFIR2 || {{Yes}} || {{Yes}} || <small>''gokuhs'' : With 'erasechip' and 'writewordubm' method without resistors and work fine. NORway 0.4 BETA9+. I used the jestero's diagram for VER-001 motherboard without VCC pin solder</small>
|-
| DYN-001 || 1x Samsung K8Q2815UQB-PI4B || {{Yes}} || {{Yes}} || <small>''relax79'' : I use Winskeet111205 and Progskeet v1.1 ,without a22 trick .Normal dump and patched v2 then flash succes but downgrade usb failure.Solution is Progskeet usb not connect r8 switch "off" r7 switch "on" entire downgrade process.Succesfully downgrade 4.11 to 3.55 CECH-2006A</small>
|-
|-
| DYN-001 || 1x Samsung K8Q2815UQB-PI4B || {{Yes}} || {{Yes}} || <small>''blakcat'' : succeed downgrade with my method. See [http://www.progskeet.com/forum/viewtopic.php?f=3&t=373 Tutorial] </small>
| DYN-001 || 1x Samsung K8Q2815UQB-PI4B || {{Yes}} || {{Yes}} || <small>''blakcat'' : succeed downgrade with my method. See [http://www.progskeet.com/forum/viewtopic.php?f=3&t=373 Tutorial] </small>
Line 447: Line 326:
|-
|-
| JSD-001 || 1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{Yes}} ||  
| JSD-001 || 1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{Yes}} ||  
<small>''kado'' : Downgrading 3.70 to 3.55 success with progskeet (differ ON, alter ON) ''NOTE: THIS BOARD HAS different lengt normally (length is E990)''</small>
<small>''kado'' : Downgrading 3.70 to 3.55 success with progskeet (differ ON, alter ON) ''NOTE: THIS BOARD HAS different lengt normally (lenght is E990)''</small>
|-
|-
| JSD-001 || 1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{Yes}} ||  
| JSD-001 || 1x Spansion S29GL128P90TFIR2 || {{Yes}} || {{Yes}} ||  
Line 469: Line 348:
     - Flasher 110819 et Winskeet4000 (dernière version)
     - Flasher 110819 et Winskeet4000 (dernière version)
      
      
     Installation du progskeet avec les documentations trouvées sur psdevwiki.
     Installation du progskeet avec les documentations trouvées sur ps3devwiki.
     Dump réussi sans problème.
     Dump réussi sans problème.
     Lors du flash, avec la première version de transplante, j'ai eu un échec.
     Lors du flash, avec la première version de transplante, j'ai eu un échec.
Line 667: Line 546:
           like RY/BY, which was the target of the resistor trickery
           like RY/BY, which was the target of the resistor trickery
  <eussNL> DYN-001 works fine with Macronic Xb0xGuru  
  <eussNL> DYN-001 works fine with Macronic Xb0xGuru  
  <eussNL> see http://www.psdevwiki.com/index.php?title=Talk:Hardware_flashing#Testreport_table
  <eussNL> see http://www.ps3devwiki.com/index.php?title=Talk:Hardware_flashing#Testreport_table
           for the patterns of problems
           for the patterns of problems
      
      
  <eussNL> you can use others flash too,  
  <eussNL> you can use others flash too,  
           the one I list there is just the one Sony used on a different version of the board.
           the one I list there is just the one Sony used on a different version of the board.
           See http://www.psdevwiki.com/index.php?title=Flash_%28Hardware%29#NOR  
           See http://www.ps3devwiki.com/index.php?title=Flash_%28Hardware%29#NOR  
           for all the current NORs used
           for all the current NORs used
           (and stay away from dualbanked and perhaps ¨N¨ serie spansion too)
           (and stay away from dualbanked and perhaps ¨N¨ serie spansion too)
Line 695: Line 574:


== NAND clips ==
== NAND clips ==
<Gallery>
<div style="float:right">[[File:Progskeet with NAND socket SA247-TSOP48-D48 by playonlcd.jpg|200px|thumb|left|NAND socket SA247-TSOP48-D48]]<br /> [[File:CLIP_styles.jpg|200px|thumb|left|differant Clips for NAND and NOR]]</div>
Progskeet with NAND socket SA247-TSOP48-D48 by playonlcd.jpg|NAND socket SA247-TSOP48-D48
http://img15.imageshack.us/img15/611/progskeet360clip.png
CLIP_styles.jpg|different Clips for NAND and NOR
 
</Gallery>
 
 
 
 
 
 
 


http://img15.imageshack.us/img15/611/progskeet360clip.png


== NOR clips ==
== NOR clips ==
Line 709: Line 593:


===NAND===
===NAND===
NAND (256MB, old FAT models, needs 32 wires, 15 per NAND : 8x I/O + 7x Control (R/B, WE, WP, ALE, CLE, RE, CE) + GND + VCC<br />
NAND (256MB, old FAT models, needs 32 wires, 15 per NAND + GND + VCC)<br />
2 chips: Samsung K9F1G08U0A-PIB0
2 chips: Samsung K9F1G08U0A-PIB0


bitbanger for RPI: https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=16775


===NOR===
===NOR===
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)