Editing Platform ID

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 46: Line 46:


=== Example from syscon firmware ===
=== Example from syscon firmware ===
There is a table with the Platform ID's of all the PS3 models supported by the [[Syscon Firmware]], in every syscon revision some more Platform IDs was added, this is s sample from one of the latest syscon revisions with the purpose of showing the complete list. The support of all this platform ID's is not complete, some of the oldest ones are not fully supported
There is a table with the Platform ID's of all the PS3 models supported by the [[Syscon Firmware]]
 
{{boxcodelite|float=left|title=Sample from syscon [[SW3-302]] firmware v2.12.0|code=
{{boxcodelite|float=left|title=Sample from syscon [[SW3-302]] firmware v2.12.0|code=
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Line 64: Line 63:
}}{{clear}}
}}{{clear}}


But in syscon [[Sherwood]] series the Platform ID is stored at the start of the emulated EEPROM, the first 2 values located at offset 0x60000 ([[Syscon_SW_Series|SW]]) or 0xA0000 ([[Syscon_SW2_Series|SW2]]/[[Syscon_SW3_Series|SW3]]). First byte = Platform ID (hex), next 8 bytes = Platform ID (string, null terminated). Dont take this offsets of the emulated EEPROM as something strict because sherwood uses "bad block remapping" and "wear leveling" this features allows to relocate the data at different offsets (probably in blocks of length 2 bytes)
But the Platform ID is given by the 2 values located at offset 0xA0000. 1 byte = Platform ID (hex), next 8 bytes = Platform ID (string, null terminated)
 
{{boxcodelite|float=left|title=Sample from syscon [[SW3-302]] firmware v2.12.0|code=
{{boxcodelite|float=left|title=Sample from syscon [[SW3-302]] firmware v2.12.0|code=
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Line 111: Line 109:


=== Example from syscon config ===
=== Example from syscon config ===
In [[Syscon Hardware|Syscon]] [[Mullion]] the Platform ID (1 byte, in hex format) is located at EEPROM offset 0x310E<br>
Since [[Syscon SW3 Series]] ([[CECH-30xx]] / [[KTE-001]] motherboard or newer) the Platform ID is also "hardcoded" at offset 0x0 of the virtual EEPROM dumped with the python script, in both formats: 1 byte = Platform ID (hex), next 8 bytes = Platform ID (string, null terminated)<br>
Since [[Syscon SW3 Series]] ([[CECH-30xx]] / [[KTE-001]] motherboard or newer) the Platform ID is also "hardcoded" at offset 0x0 of the emulated EEPROM, in both formats: first byte = Platform ID (hex), next 8 bytes = Platform ID (string, null terminated)<br>
The usual way to get the Platform ID by UART is with the command "hversion" but is locked by default (not available in syscon "external mode" access), however we can read this bytes in raw with the command "r" (available in syscon "external mode" access). See [[Syscon Firmware#Sherwood]]
The usual way to get the Platform ID by UART is with the command "hversion" but is locked by default (not available in syscon "external mode" access), however we can read this bytes in raw with the command "r" (available in syscon "external mode" access). See [[Syscon Firmware#Sherwood]]
{{keyboard|content=
> Type this in the syscon UART interface: r [offset][length]
> r 0 9
}}
{{boxcodelite|float=left|title=Sample from [[CECH-30xx]] / [[KTE-001]] / [[SW3-301]] firmware v2.3.0|code=
{{boxcodelite|float=left|title=Sample from [[CECH-30xx]] / [[KTE-001]] / [[SW3-301]] firmware v2.3.0|code=
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Line 217: Line 208:
| ? || ? || Cyt2.1 || 0x20000021 || {{cellcolors|#ffaaaa}} N/A ||  ||  
| ? || ? || Cyt2.1 || 0x20000021 || {{cellcolors|#ffaaaa}} N/A ||  ||  
|-
|-
| [[DEH-R1000]]<br>[[DEH-R1010]]<br>[[DEH-R1020]] || [[TMU-510]] || Cyt2.2 || 0x20000022 || {{cellcolors|#ffaaaa}} N/A ||  || <span style="background:#ccccff">Cyt2.2 confirmed</span> for DEH-R1000/TMU-510<!--// M4j0r //-->, DEH-R1010/TMU-510<!--// M4j0r //-->, DEH-R1020/TMU-510<!--// M4j0r //-->
| [[DEH-R1000]] || [[TMU-510]] || Cyt2.2 || 0x20000022 || {{cellcolors|#ffaaaa}} N/A ||  || <span style="background:#ccccff">Cyt2.2 confirmed</span> for DEH-R1000/TMU-510 <!--// M4j0r //-->
|-
| [[DEH-R1010]] || [[TMU-510]] || Cyt2.2 || 0x20000022 || {{cellcolors|#ffaaaa}} N/A ||  || <span style="background:#ccccff">Cyt2.2 confirmed</span> for DEH-R1010/TMU-510 <!--// M4j0r //-->
|-
| [[DEH-R1020]] || [[TMU-510]] || Cyt2.2 || 0x20000022 || {{cellcolors|#ffaaaa}} N/A ||  || <span style="background:#ccccff">Cyt2.2 confirmed</span> for DEH-R1020/TMU-510 <!--// M4j0r //-->
|-
|-
| style="padding:0px;" |  
| style="padding:0px;" |  
Line 223: Line 218:
| ? || ? || Cyt3.0 || 0x20000030 || {{cellcolors|#ffaaaa}} N/A ||  ||  
| ? || ? || Cyt3.0 || 0x20000030 || {{cellcolors|#ffaaaa}} N/A ||  ||  
|-
|-
| [[DEH-R1030]] || [[TMU-520]] || Cyt3.1 || 0x20000031 || {{cellcolors|#ffaaaa}} N/A ||  || <span style="background:#ccccff">Cyt3.1 confirmed</span> for DEH-R1030/TMU-520<!--// M4j0r //-->
| [[DEH-R1030]] || [[TMU-520]] || Cyt3.1 || 0x20000031 || {{cellcolors|#ffaaaa}} N/A ||  || <span style="background:#ccccff">Cyt3.1 confirmed</span> for DEH-R1030/TMU-520 <!--// M4j0r //-->
|-
|-
| [[DEH-R1040]]<br>[[DECR-1000]] || [[TMU-520]] || Cyt3.2 || 0x20000032 || {{cellcolors|#ffaaaa}} N/A ||  || <span style="background:#ccccff">Cyt3.2 confirmed</span> for DEH-R1040/TMU-520<!--// M4j0r //-->, DECR-1000/TMU-520<!--// M4j0r, Strike Venom //-->
| [[DEH-R1040]] || [[TMU-520]] || Cyt3.2 || 0x20000032 || {{cellcolors|#ffaaaa}} N/A ||  || <span style="background:#ccccff">Cyt3.2 confirmed</span> for DEH-R1040/TMU-520 <!--// M4j0r //-->
|-
| [[DECR-1000]] || [[TMU-520]] || Cyt3.2 || 0x20000032 || {{cellcolors|#ffaaaa}} N/A ||  || <span style="background:#ccccff">Cyt3.2 confirmed</span> for DECR-1000/TMU-520 <!--// M4j0r, Strike Venom //-->
|-
|-
| ? || ? || Cyt3.3 || 0x20000033 || {{cellcolors|#ffaaaa}} N/A ||  ||  
| ? || ? || Cyt3.3 || 0x20000033 || {{cellcolors|#ffaaaa}} N/A ||  ||  
Line 283: Line 280:
| ? || ? || CokG10 || {{cellcolors|#ffaaaa}} N/A || 0x60 ||  ||  
| ? || ? || CokG10 || {{cellcolors|#ffaaaa}} N/A || 0x60 ||  ||  
|-
|-
| [[CECH-20xx]]'''A/B''' || [[DYN-001]] || CokG11 || {{cellcolors|#ffaaaa}} N/A || 0x61 ||  || <span style="background:#ccccff">CokG11 confirmed</span> for CECH-20xx/DYN-001<!--// eussNL, littlebalup //-->
| [[CECH-20xx]] || [[DYN-001]] || CokG11 || {{cellcolors|#ffaaaa}} N/A || 0x61 ||  || <span style="background:#ccccff">CokG11 confirmed</span> for CECH-20xx/DYN-001<!--// eussNL, littlebalup //-->
|- {{cellcolors|#e7e7e7}}
|- {{cellcolors|#e7e7e7}}
| ? || ? || CokH10 || {{cellcolors|#ffaaaa}} N/A || 0x70 ||  || PS3 model CBEH-H2001 with motherboard [[SUR-00x#SURTEES-03|SURTEES-03]] ?
| ? || ? || CokH10 || {{cellcolors|#ffaaaa}} N/A || 0x70 ||  || PS3 model CBEH-H2001 with motherboard [[SUR-00x#SURTEES-03|SURTEES-03]] ?
|-
|-
| [[CECH-21xx]]'''A/B''' || [[SUR-001]] || CokH11 || {{cellcolors|#ffaaaa}} N/A || 0x71 ||  || <span style="background:#ccccff">CokH11 confirmed</span> for CECH-2104A (date code 0B). FW-min 3.20  
| [[CECH-21xx]] || [[SUR-001]] || CokH11 || {{cellcolors|#ffaaaa}} N/A || 0x71 ||  || <span style="background:#ccccff">CokH11 confirmed</span> for CECH-2104A (date code 0B). FW-min 3.20  
|- {{cellcolors|#e7e7e7}}
| ? || ? || CokJ12 || {{cellcolors|#ffaaaa}} N/A || 0x80 ||  ||
|-
|-
| [[CECH-25xx]]'''A/B''' || [[JTP-001]] || CokJ13 || {{cellcolors|#ffaaaa}} N/A || 0x80 ||  || <span style="background:#ccccff">CokJ13 confirmed</span> for CECH-2504B/JTP-001/datecode:0C <!--// sandungas //-->
| [[CECH-25xx]] || [[JTP-001]] || CokJ13 || {{cellcolors|#ffaaaa}} N/A || 0x80 ||  || <span style="background:#ccccff">CokJ13 confirmed</span> for CECH-2504B/JTP-001/datecode:0C <!--// sandungas //-->
|-
|-
| [[CECH-25xx]]'''A/B''' || [[JSD-001]] || CokJ20 || {{cellcolors|#ffaaaa}} N/A || 0x80 || Hardcoded || <span style="background:#ccccff">CokJ20 confirmed</span> for CECH-2501A FW-min 3.50<!--// nikitis //--> and CECH-2501B FW-min 3.40<!--// MikeM64 //-->
| [[CECH-25xx]] || [[JSD-001]] || CokJ20 || {{cellcolors|#ffaaaa}} N/A || 0x80 || Hardcoded || <span style="background:#ccccff">CokJ20 confirmed</span> for CECH-2501A FW-min 3.50<!--// nikitis //--> and CECH-2501B FW-min 3.40<!--// MikeM64 //-->
|-
|-
| [[CECH-30xx]]'''A/B''' || [[KTE-001]] || CokK10 || {{cellcolors|#ffaaaa}} N/A || 0x90 ||  || <span style="background:#ccccff">CokK10 confirmed</span> for DECH-3000A <!--// M4j0r //-->
| [[CECH-30xx]] || [[KTE-001]] || CokK10 || {{cellcolors|#ffaaaa}} N/A || 0x90 ||  || <span style="background:#ccccff">CokK10 confirmed</span> for DECH-3000A <!--// M4j0r //-->
|-
|-
| style="padding:0px;" |  
| style="padding:0px;" |  
|-
|-
| [[CECH-40xx]]'''B/C''' || [[MPX-001]]<small>(NOR)</small> || CokM10 || {{cellcolors|#ffaaaa}} N/A || 0xB0 || hardcoded || <span style="background:#ccccff">CokM10 confirmed</span> for MPX-001(NOR) <!--// ElGris //-->
| [[CECH-40xx]]'''B/C''' || [[MSX-001]]<small>(NOR)</small> || CokM20 || {{cellcolors|#ffaaaa}} N/A || 0xB0 || || <span style="background:#ccccff">CokM20 confirmed</span> for MSX-001(NOR) <!--// vyktormvmpay25 by UART //-->
|-
|-
| [[CECH-40xx]]'''B/C''' || [[MSX-001]]<small>(NOR)</small> || CokM20 || {{cellcolors|#ffaaaa}} N/A || 0xB0 || || <span style="background:#ccccff">CokM20 confirmed</span> for MSX-001(NOR) <!--// vyktormvmpay25 by UART //-->
| ? || <abbr title="In theory CokM40 could be a MSX-001 with eMMC flash, but nobody documented its existence>???-???</abbr> || ? || {{cellcolors|#ffaaaa}} N/A || ? ||  ||  CokM40 ? / 0xB8 ?
|-
| ? || [[MPX-001]]<small>(NOR)</small> || ? || {{cellcolors|#ffaaaa}} N/A || ? || hardcoded || CokM10 ? / 0xB0 ?
|-
|-
| [[CECH-40xx]]'''A''' || [[MPX-001]]<small>(eMMC)</small> || CokM30 || {{cellcolors|#ffaaaa}} N/A || 0xB8 || hardcoded || <span style="background:#ccccff">CokM30 confirmed</span> for CECH-4004A/MPX-001(EMMC)/datecode:2D/FW-min:4.25 <!--// littlebalup, vyktormvmpay25 by UART //-->
| [[CECH-40xx]]'''A''' || [[MPX-001]]<small>(eMMC)</small> || CokM30 || {{cellcolors|#ffaaaa}} N/A || 0xB8 || hardcoded || <span style="background:#ccccff">CokM30 confirmed</span> for CECH-4004A/MPX-001(EMMC)/datecode:2D/FW-min:4.25 <!--// littlebalup, vyktormvmpay25 by UART //-->
|-
| ? || [[MSX-001]]<small>(eMMC) ?</small> || ? || {{cellcolors|#ffaaaa}} N/A || ? ||  ||  CokM40 ? / 0xB8 ?
|-
|-
| style="padding:0px;" |  
| style="padding:0px;" |  
|-
|-
| [[CECH-40xx]]'''B/C''' || [[NPX-001]]<small>(NOR)</small> || CokN10 || {{cellcolors|#ffaaaa}} N/A || 0xA0 ||  || <span style="background:#ccccff">CokN10 confirmed</span> for NPX-001(NOR) <!--// vyktormvmpay25 by UART //-->
| ? || [[NPX-001]]<small>(NOR)</small> || CokN10 || {{cellcolors|#ffaaaa}} N/A || 0xA0 ||  || <span style="background:#ccccff">CokN10 confirmed</span> for NPX-001(NOR) <!--// vyktormvmpay25 by UART //-->
|- {{cellcolors|#e7e7e7}}
| ? || ? || CokN20 || {{cellcolors|#ffaaaa}} N/A || 0xA0 ||  ||
|-
|-
| ? || [[NPX-001]]<small>(eMMC)</small> || ? || {{cellcolors|#ffaaaa}} N/A || ? ||  || CokN30 ? / 0xA8 ?
| ? || [[NPX-001]]<small>(eMMC)</small> || ? || {{cellcolors|#ffaaaa}} N/A || ? ||  || CokN30 ? / 0xA8 ?
|- {{cellcolors|#e7e7e7}}
|- {{cellcolors|#e7e7e7}}
| ? || ? || CokN40 || {{cellcolors|#ffaaaa}} N/A || 0xA8 || ||  
| ? || ? || CokN20 || {{cellcolors|#ffaaaa}} N/A || 0xA0 || hardcoded - speculation ||
|- {{cellcolors|#e7e7e7}}
| ? || ? || CokN40 || {{cellcolors|#ffaaaa}} N/A || 0xA8 || hardcoded - speculation ||  
|-
|-
| style="padding:0px;" |  
| style="padding:0px;" |  
|-
| ? || [[PPX-001]]<small>(NOR)</small> || ? || {{cellcolors|#ffaaaa}} N/A || ? || hardcoded - speculation || CokP20 ? / 0xC0 ?
|-
| [[CECH-42xx]]'''A''' || [[PPX-001]]<small>(eMMC)</small> || CokP40 || {{cellcolors|#ffaaaa}} N/A || 0xC8 || hardcoded - needs to be <abbr title="From a syscon dump>confirmed</abbr> || <span style="background:#ccccff">CokP40 confirmed</span> for CECH-4204A/PPX-001(EMMC)/datecode:3C/FW-min:4.50 <!--// littlebalup //-->
|-
|-
| [[CECH-42xx]]'''B/C''' || [[PQX-001]]<small>(NOR)</small> || CokP10 || {{cellcolors|#ffaaaa}} N/A || 0xC0 || hardcoded || <span style="background:#ccccff">CokP10 confirmed</span> for PQX-001(NOR) <!--// vyktormvmpay25 by UART //-->
| [[CECH-42xx]]'''B/C''' || [[PQX-001]]<small>(NOR)</small> || CokP10 || {{cellcolors|#ffaaaa}} N/A || 0xC0 || hardcoded || <span style="background:#ccccff">CokP10 confirmed</span> for PQX-001(NOR) <!--// vyktormvmpay25 by UART //-->
|-
| [[CECH-42xx]]'''B/C''' || [[PPX-001]]<small>(NOR)</small> || CokP20 || {{cellcolors|#ffaaaa}} N/A || 0xC0 || hardcoded || <span style="background:#ccccff">CokP20 confirmed</span> for PPX-001(NOR) <!--// ElGris by UART //-->
|-
|-
| [[CECH-42xx]]'''A''' || [[PQX-001]]<small>(eMMC)</small> || CokP30 || {{cellcolors|#ffaaaa}} N/A || 0xC8 || hardcoded || <span style="background:#ccccff">CokP30 confirmed</span> for PQX-001(eMMC) <!--// Fallen77 by UART //-->
| [[CECH-42xx]]'''A''' || [[PQX-001]]<small>(eMMC)</small> || CokP30 || {{cellcolors|#ffaaaa}} N/A || 0xC8 || hardcoded || <span style="background:#ccccff">CokP30 confirmed</span> for PQX-001(eMMC) <!--// Fallen77 by UART //-->
|-
| [[CECH-42xx]]'''A''' || [[PPX-001]]<small>(eMMC)</small> || CokP40 || {{cellcolors|#ffaaaa}} N/A || 0xC8 || hardcoded - needs to be <abbr title="From a syscon dump>confirmed</abbr> || <span style="background:#ccccff">CokP40 confirmed</span> for CECH-4204A/PPX-001(EMMC)/datecode:3C/FW-min:4.50 <!--// littlebalup //-->
|-
|-
| style="padding:0px;" |  
| style="padding:0px;" |  
|-
|-
| [[CECH-43xx]]'''B/C''' || [[RTX-001]]<small>(NOR)</small> || CokR10 || {{cellcolors|#ffaaaa}} N/A || 0xD0 || hardcoded || <span style="background:#ccccff">CokR10 confirmed</span> for RTX-001(NOR) <!--// ElGris by UART //-->
| ? || [[RTX-001]]<small>(NOR)</small> || ? || {{cellcolors|#ffaaaa}} N/A || ? || hardcoded - speculation || CokR10 ? / 0xD0 ?
|-
|-
| [[CECH-43xx]]'''B/C''' || [[REX-001]]<small>(NOR)</small> || CokR20 || {{cellcolors|#ffaaaa}} N/A || 0xD0 || hardcoded - speculation || <span style="background:#ccccff">CokR20 confirmed</span> for REX-001(NOR) <!--// ElGris //-->
| [[CECH-43xx]]'''A''' || [[RTX-001]]<small>(eMMC) ?</small> || CokR30 || {{cellcolors|#ffaaaa}} N/A || 0xD8 || hardcoded - needs to be <abbr title="From a syscon dump>confirmed</abbr> || <span style="background:#ccccff">CokR30 confirmed</span> for CECH-4301A/FW-min:4.60 (<span style="background:#ffaaaa">motherboard model not reported</span>)
|-
|-
| [[CECH-43xx]]'''A''' || [[RTX-001]]<small>(eMMC) ?</small> || CokR30 || {{cellcolors|#ffaaaa}} N/A || 0xD8 || hardcoded - needs to be <abbr title="From a syscon dump>confirmed</abbr> || <span style="background:#ccccff">CokR30 confirmed</span> for CECH-4301A/FW-min:4.60 (<span style="background:#ffaaaa">motherboard model not reported</span>)
| [[CECH-43xx]]'''B/C''' || [[REX-001]]<small>(NOR)</small> || ? || {{cellcolors|#ffaaaa}} N/A || ? || hardcoded - speculation || CokR20 ? / 0xD0 ?
|-
|-
| [[CECH-43xx]]'''A''' || [[REX-001]]<small>(eMMC)</small> || cokR40 || {{cellcolors|#ffaaaa}} N/A || 0xD8 || hardcoded || <span style="background:#ccccff">CokR40 confirmed</span> for REX-001(eMMC) <!--// vyktormvmpay25 by UART //-->
| [[CECH-43xx]]'''A''' || [[REX-001]]<small>(eMMC)</small> || cokR40 || {{cellcolors|#ffaaaa}} N/A || 0xD8 || hardcoded || <span style="background:#ccccff">CokR40 confirmed</span> for REX-001(eMMC) <!--// vyktormvmpay25 by UART //-->
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)