Talk:Syscon Thermal Configs

From PS3 Developer wiki
Revision as of 20:18, 21 May 2021 by Sandungas (talk | contribs) (→‎Unknown1: this is the fourth unknown, related with unknown1, the values matches in some mullion motherboard)
Jump to navigation Jump to search

Suggestions and notes about the page format and style

  • The info displayed by the UART commands: "hversion", "revision", and "version" is not needed in this page because the thermal config area of the syscon EEPROM is not directly dependant of them in all cases (some motherboards shares the same thermal config, but have different identifyers). The 2nd line of the "eepcsum" for sherwoods is not needed either because it can be seen in the hex dump of the thermal config itself (last 2 bytes of it), and the "eepcsum" for sherwoods doesnt seems to be useful because includes other areas of the EEPROM that could differ "by PS3 unit", but this is not clear yet, are needed more samples. In general... all this identifyers are kept in the page because there are many things that are still under research and eventually could help us to understand it better, but most probably in long term is going to be better to delete them, move them to other wiki pages, or to think in a different way to display that kind of info
  • By now the page sections are named by his checksums as a prevention to dont make any assumptions, eventually could be labeled "by PS3 model", or "by motherboard model", or even "by syscon model", but is not clear if this kind of simplification could make us fail in some mistakes... just as example, we have 2 thermal configs for DIA-001 and the only thing we can do by now to simplify his names could be something like "thermal config for DIA-001 old" and "thermal config for DIA-002 new", but thats not good enought because eventually someone could find another official one for DIA-001. The collection is still incomplete so is a bit soon to decide how to label them, in the meantime we need to deal with that weird names, are an annoyance but are intended to be a failproof to identify them

Checksums

The "eepcsum" command in mullion displays 5 lines, the first line is common for all motherboards of a specific model, the second line is the thermal config, the third line is common for all motherboards of a specific model but to access syscon internal mode (and unlock all commands) is needed to write a byte in it and this changes the checksum of this area... so we are going to see samples where the third line of the "eepcsum" command differs just because the syscon was "unlocked" (in other words, his EEPROM was modifyed)

Mullion, eepcsum command output
Checksum at address Regions covered Region name Notes
0x32FE 0x3100 - 0x31FF Platform Config
0x3200 - 0x32FD Hardware Config
0x34FE 0x3300 - 0x34FD Thermal Config
0x39FE 0x3900 - 0x39FD Board Config
0x3DFE 0x3C00 - 0x3DFD not used (filled with FF's) Checksum is always 0x00ff
0x3FFE 0x3E00 - 0x3FFD not used (filled with FF's) Checksum is always 0x00ff
Sherwood, eepcsum command output
Checksum at address Regions covered Region name Notes
0x7FE 0x0 - 0x24F unknown
0x250 - 0x44F Thermal Config
0x450 - 0x7FD not used (filled with FF's)

Unknown bytes

There are only 4 unknown fields in the thermal configs, feel free to discuss them here

unknown0

  • A value with 1 byte lenght
    • Mullions: always 0x00. Located at relative offset 0x182
    • Sherwoods: always 0x00. Located at relative offset 0x152

unknown2

  • A value with 1 byte lenght
    • Mullions: always 0xFF. Located at relative offset 0x18F
    • Sherwoods: always 0x00. Located at relative offset 0x153

Note: it seems the position of the unknown2 was displaced 0xD bytes to the left in sherwoods... causing a displacement to right of 0x1 byte to the other values in between them (initial_fan_duty, initial_fan_time, and the unknown1)

Unknown1

Values found in the official thermal configs:

Mullions
FF FF FF FF FF  FF FF FF FF FF  (COK-001 PROTO)
FF FF FF FF FF  FF FF 00 FF 00  (COK-001, COK-002, SEM-0001)
FF FF FF FF FF  FF 8B 00 FF 00  (COK-001 REFURB)............... offset +0x1F (after 6 sections of 5 bytes each +1) FF 8B FF FF FF
FF FF FF FF FF  81 FF 00 FF 00  (DIA-001)...................... offset +0x1F (after 6 sections of 5 bytes each +1) 81 FF FF FF FF
FF FF FF FF FF  81 FF 00 00 00  (DIA-001, DIA-002, DEB-001).... offset +0x1F (after 6 sections of 5 bytes each +1) 81 FF FF FF FF
Sherwoods
FF FF FF FF FF  81 88 81 88 FF  (VER-001)
FF FF FF FF FF  84 88 84 88 FF  (DYN-001)
FF FF FF FF FF  84 8B 84 8B FF  (SUR-001, JTP-001, KTE-001, MSX-001, MPX-001)
FF FF FF FF FF  84 8B 84 8E FF  (NPX-001)
FF FF FF FF FF  7A 89 84 8E FF  (PQX-001, REX-001)

The thermal configs found in NPX-001 and PQX-001 motherboards only differs in a couple of bytes located at the "unknown1" field

CRC32: ABC9DF9E (found in motherboard NPX-001)

33 3D 00 00 00 36 3E 00 2B 00 39 3F 00 2C 00 3B
40 00 2D 00 3E 41 00 2E 00 40 48 00 2F 00 43 49
00 30 00 45 4A 00 31 00 4A 4B 00 32 00 4D 4C 00
33 00 52 4D 00 34 00 5A 4E 00 35 00 73 4F 00 36
00 80 50 00 37 00 FF 55 00 38 00 FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF 34 FF 01 00 FF FF FF FF FF FF FF FF

33 4B 00 00 00 36 4C 00 1E 00 39 4D 00 1F 00 3B
4E 00 20 00 3E 4F 00 21 00 40 50 00 22 00 43 51
00 23 00 45 52 00 24 00 4A 53 00 25 00 4D 54 00
26 00 52 55 00 27 00 5A 56 00 28 00 73 57 00 29
00 80 58 00 2A 00 FF 5F 00 2B 00 FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF 34 FF 01 00 FF FF FF FF FF FF FF FF

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

FF FF 00 00 41 14 FF FF FF FF FF 84 8B 84 8E FF
54 00 55 00 02 00 62 00 63 00 02 00 FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
CRC32: 8E7F2A49 (found in motherboard PQX-001)

33 3D 00 00 00 36 3E 00 2B 00 39 3F 00 2C 00 3B
40 00 2D 00 3E 41 00 2E 00 40 48 00 2F 00 43 49
00 30 00 45 4A 00 31 00 4A 4B 00 32 00 4D 4C 00
33 00 52 4D 00 34 00 5A 4E 00 35 00 73 4F 00 36
00 80 50 00 37 00 FF 55 00 38 00 FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF 34 FF 01 00 FF FF FF FF FF FF FF FF

33 4B 00 00 00 36 4C 00 1E 00 39 4D 00 1F 00 3B
4E 00 20 00 3E 4F 00 21 00 40 50 00 22 00 43 51
00 23 00 45 52 00 24 00 4A 53 00 25 00 4D 54 00
26 00 52 55 00 27 00 5A 56 00 28 00 73 57 00 29
00 80 58 00 2A 00 FF 5F 00 2B 00 FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF 34 FF 01 00 FF FF FF FF FF FF FF FF

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

FF FF 00 00 41 14 FF FF FF FF FF 7A 89 84 8E FF
54 00 55 00 02 00 62 00 63 00 02 00 FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF