Editing Talk:SC EEPROM
Jump to navigation
Jump to search
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 4: | Line 4: | ||
Pseudo-code: | Pseudo-code: | ||
< | <source lang="python"> | ||
def check_bootrom_diag_mode(mode, param) | def check_bootrom_diag_mode(mode, param) | ||
diag_mode = get_eeprom_bootrom_diag() | diag_mode = get_eeprom_bootrom_diag() | ||
Line 16: | Line 16: | ||
param = -1 | param = -1 | ||
return 1 | return 1 | ||
</ | </source> | ||
== EEPROM Dumps == | == EEPROM Dumps == | ||
Line 28: | Line 28: | ||
== Bus Pirate stuff == | == Bus Pirate stuff == | ||
http://i.imgur.com/48rbR51.png | |||
(needs more wikifying) | (needs more wikifying) | ||
Line 73: | Line 73: | ||
http://rmscrypt.wordpress.com/2011/02/01/lets-look-at-syscon/ | http://rmscrypt.wordpress.com/2011/02/01/lets-look-at-syscon/ | ||
= Experimental table = | = Experimental table = | ||
Line 307: | Line 78: | ||
{| class="wikitable sortable" style="line-height:100%; font-size:85%" | {| class="wikitable sortable" style="line-height:100%; font-size:85%" | ||
|+ Round | |+ Round 2 | ||
! colspan="3" | Area !! colspan="4" | [[Syscon_Hardware|<abbr title="Only Mullion syscons have a direct SPI access to the EEPROM>SPI</abbr> / <abbr title="All syscons have a UART access>UART</abbr>]] !! colspan=" | ! colspan="3" | Area !! colspan="4" | [[Syscon_Hardware|<abbr title="Only Mullion syscons have a direct SPI access to the EEPROM>SPI</abbr> / <abbr title="All syscons have a UART access>UART</abbr>]] !! colspan="6" | [[LV2_Functions_and_Syscalls#process_socket_service_syscalls|Syscall 863]] !! class="unsortable" rowspan="3" | Data Name !! class="unsortable" rowspan="3" | Wikitable builder Notes (temporal) | ||
|- | |- | ||
! class="unsortable" rowspan="2" | Name !! class="unsortable" rowspan="2" | Size !! class="unsortable" style="padding:1px" rowspan="2" | [[Template:Syscon_checksums|<Abbr title="Checksum">csum</abbr>]] !! colspan="2" | [[Mullion]] !! style="padding:1px" | [[Sherwood]] !! style="padding:1px" | | ! class="unsortable" rowspan="2" | Name !! class="unsortable" rowspan="2" | Size !! class="unsortable" style="padding:1px" rowspan="2" | [[Template:Syscon_checksums|<Abbr title="Checksum">csum</abbr>]] !! colspan="2" | [[Mullion]] !! style="padding:1px" | [[Sherwood]] !! style="padding:1px" | whitelist !! class="unsortable" style="padding:1px" rowspan="2" | [[SC_Communication#Syscon_Services|Block ID<br>NVS Region]] !! colspan="3" | whitelist !! rowspan="2" | Offset !! class="unsortable" rowspan="2" | Size | ||
|- | |- | ||
! | ! [[Syscon_CXR713_Series|CXR713]] !! [[Syscon_CXR714_Series|CXR714]] !! [[Syscon_SW_Series|SW]]/[[Syscon_SW2_Series|2]]/[[Syscon_SW3_Series|3]]<small><abbr title="Emulated EEPROM">(emu)</abbr></small> !! class="unsortable" | [[Syscon_Firmware#Command_list|EEP]] !! class="unsortable" | [[Dispatcher_Manager|DM]] !! class="unsortable" | [[Update_Manager|UM]] !! class="unsortable" | [[SC_Manager|SCM]] | ||
|- class="sorttop" | |- class="sorttop" | ||
! colspan=" | ! colspan="15" style="padding:0px" | | ||
|- | |- | ||
! System Info !! 0x200 !! {{no}} | ! System Info !! 0x200 !! {{no}} | ||
| 0x2600 || 0x2600 || | | 0x2600 || 0x2600 || ? || ? || ? || ? || ? || ? || ? || 0x200 || || | ||
|- {{cellcolors|#ffffcc}} | |- {{cellcolors|#ffffcc}} | ||
! Patch 1 !! 0x400 !! {{No}} | ! Patch 1 !! 0x400 !! {{No}} | ||
| | | 0x2800 || 0x2800 || <abbr title="On Sherwood the patch isn't even stored in the emulated eeprom, it's stored inside the firmware (0x2000-0x2FFF)>0x2000 ?</abbr> || {{exploitable}} || {{no}} || {{no}} || {{no}} || {{no}} || ? || 0x400 || [[Syscon_Firmware#Syscon_patches|Syscon Firmware Patch]] (top half) Encrypted || | ||
|- {{cellcolors|lightgrey}} | |- {{cellcolors|lightgrey}} | ||
! - !! 0x300 !! {{No}} | ! - !! 0x300 !! {{No}} | ||
| 0x2C00 || 0x2C00 || | | 0x2C00 || 0x2C00 || N/A ? || {{yes}} ? || {{no}} || {{no}} || {{no}} || {{no}} || ? || 0x300 || style="text-align:center" | ''not used'' || Filled with FF's | ||
|- | |- | ||
! Industry Area !! 0x100 !! {{no}} | ! Industry Area !! 0x100 !! {{no}} | ||
| 0x2F00 || 0x2F00 || 0x0E00 || {{yes}} || 0x10 | | 0x2F00 || 0x2F00 || 0x0E00 || {{yes}} || 0x10 || {{patchable}} || {{yes}} || {{yes}} || 0x02F00 || || | ||
|- | |- | ||
! Customer Service Area !! 0x100 !! {{no}} | ! Customer Service Area !! 0x100 !! {{no}} | ||
| 0x3000 || 0x3000 || 0x0F00 || {{yes}} || 0x20 || | | 0x3000 || 0x3000 || 0x0F00 || {{yes}} || 0x20 || ? || {{yes}} || ? || 0x03000 || 0x100 || || | ||
|- | |- | ||
! Platform Config !! 0x100 !! {{yes}} | ! Platform Config !! 0x100 !! {{yes}} | ||
| 0x3100 || 0x3100 || | | 0x3100 || 0x3100 || ? || {{yes}} || ? || ? || ? || ? || ? || 0x100 || || | ||
|- | |- | ||
! Hardware Config !! 0x100 !! {{yes}} | ! Hardware Config !! 0x100 !! {{yes}} | ||
| 0x3200 || 0x3200 || | | 0x3200 || 0x3200 || ? || {{yes}} || ? || ? || ? || ? || ? || 0x100 || || | ||
|- | |- | ||
! Thermal Config !! 0x200 | ! Thermal Config !! 0x200 !! {{yes}} | ||
| 0x3300 || 0x3300 || 0x0250 | | 0x3300 || 0x3300 || 0x0250 || {{yes}} || ? || ? || ? || ? || ? || 0x200 || [[Syscon_Thermal_Config/structs|Data table]]. See: [[Syscon Thermal Config]] || | ||
|- | |- | ||
! | ! On/Off Count/Time !! 0x200 !! {{no}} | ||
| 0x3500 || 0x3500 || | | 0x3500 || 0x3500 || ? || {{yes}} || ? || ? || ? || ? || ? || 0x200 || Data table || | ||
|- | |- | ||
! Error Log !! 0x100 !! {{no}} | ! Error Log !! 0x100 !! {{no}} | ||
| 0x3700 || 0x3700 || 0x0900 || {{yes}} || | | 0x3700 || 0x3700 || 0x0900 || {{yes}} || ? || ? || ? || ? || ? || 0x100 || Data table. See: [[Syscon Error Codes]] || | ||
|- {{cellcolors|lightgrey}} | |- {{cellcolors|lightgrey}} | ||
! - !! 0x100 !! {{No}} | ! - !! 0x100 !! {{No}} | ||
| 0x3800 || 0x3800 || N/A ? || {{yes}} || {{no}} || {{no}} || {{ | | 0x3800 || 0x3800 || N/A ? || {{yes}} ? || {{no}} || {{no}} || {{no}} || {{no}} || ? || 0x100 || style="text-align:center" | ''not used'' || Filled with FF's | ||
|- | |- | ||
! Board Config | ! Board Config !! 0x100 !! {{yes}} | ||
| 0x3900 || 0x3900 || | | 0x3900 || 0x3900 || ? || {{yes}} || ? || ? || ? || ? || ? || 0x100 || || | ||
|- | |- | ||
! HDMI/DVE Config !! 0x100 !! {{no}} | ! HDMI/DVE Config !! 0x100 !! {{no}} | ||
| 0x3A00 || 0x3A00 || | | 0x3A00 || 0x3A00 || ? || {{yes}} || ? || ? || ? || ? || ? || 0x100 || || | ||
|- {{cellcolors|lightgrey}} | |- {{cellcolors|lightgrey}} | ||
! - !! 0x100 !! {{No}} | ! - !! 0x100 !! {{No}} | ||
| 0x3B00 || 0x3B00 || N/A ? || {{yes}} || {{no}} || {{no}} || {{ | | 0x3B00 || 0x3B00 || N/A ? || {{yes}} ? || {{no}} || {{no}} || {{no}} || {{no}} || ? || 0x100 || style="text-align:center" | ''not used'' || Filled with FF's | ||
|- {{cellcolors|lightgrey}} | |||
! - !! 0x200 !! {{yes}} | |||
| 0x3C00 || 0x3C00 || N/A ? || {{yes}} ? || {{no}} || {{no}} || {{no}} || {{no}} || ? || 0x200 || style="text-align:center" | ''not used'' || Filled with FF's | |||
|- {{cellcolors|lightgrey}} | |||
! - !! 0x200 !! {{yes}} | |||
| 0x3E00 || 0x3E00 || N/A ? || {{yes}} ? || {{no}} || {{no}} || {{no}} || {{no}} || ? || 0x200 || style="text-align:center" | ''not used'' || Filled with FF's | |||
|- {{cellcolors|lightgrey}} | |||
! - !! 0x400 !! {{No}} | |||
| 0x4000 || 0x7000 || N/A ? || {{yes}} ? || {{no}} || {{no}} || {{no}} || {{no}} || ? || 0x400 || style="text-align:center" | ''not used'' || Filled with FF's | |||
|- {{cellcolors|lightgrey}} | |- {{cellcolors|lightgrey}} | ||
! | ! - !! 0xB00 !! {{No}} | ||
| | | 0x4400 || 0x7400 || N/A ? || {{yes}} ? || {{no}} || {{no}} || {{no}} || {{no}} || ? || 0xB00 || style="text-align:center" | ''not used'' || Filled with FF's | ||
|- {{cellcolors|lightgrey}} | |- {{cellcolors|lightgrey}} | ||
! | ! - !! 0x2000 !! {{No}} | ||
| | | 0x5000 || 0x5000 || N/A ? || {{yes}} ? || {{no}} || {{no}} || {{no}} || {{no}} || ? || 0x2000 || style="text-align:center" | ''not used'' || Filled with FF's | ||
|- | |||
|- | |||
! System Config ? !! 0x100 !! {{no}} | ! System Config ? !! 0x100 !! {{no}} | ||
| 0x7000 || 0x4000 || 0x1000 || {{yes}} || 0x0 || | | 0x7000 || 0x4000 || 0x1000 || {{yes}} || 0x0 || ? || ? || ? || 0x48000 || 0x100 || || | ||
|- | |- | ||
! | ! Hypervisor Config ? !! 0x100 !! {{no}} | ||
| 0x7100 || 0x4100 || 0x1100 || {{yes}} || 0x1 || | | 0x7100 || 0x4100 || 0x1100 || {{yes}} || 0x1 || ? || ? || ? || 0x48800 || 0x100 || || | ||
|- | |- | ||
! Flags and Tokens !! 0x100 !! {{no}} | ! Flags and Tokens !! 0x100 !! {{no}} | ||
| 0x7200 || 0x4200 || 0x1200 || {{yes}} || 0x2 | | 0x7200 || 0x4200 || 0x1200 || {{yes}} || 0x2 || {{patchable}} || <abbr title="Every individual value needs a specific tag"><nowiki>{{yes}} or {{patchable}}</nowiki></abbr> || {{yes}} || 0x48C00 || || || This table row needs to be splitted up to 50+ rows | ||
|- | |- | ||
! System Data ? !! 0x100 !! {{no}} | ! System Data ? !! 0x100 !! {{no}} | ||
| 0x7300 || 0x4300 || 0x1300 || {{yes}} || 0x3 || | | 0x7300 || 0x4300 || 0x1300 || {{yes}} || 0x3 || ? || ? || ? || 0x48D00 || 0x100 || || | ||
|- {{cellcolors|#ffffcc}} | |- {{cellcolors|#ffffcc}} | ||
! Patch 2 !! 0xC00 !! {{No}} | ! Patch 2 !! 0xC00 !! {{No}} | ||
| | | 0x7400 || 0x4400 || <abbr title="On Sherwood the patch isn't even stored in the emulated eeprom, it's stored inside the firmware (0x2000-0x2FFF)>0x2400 ?</abbr> || {{exploitable}} || {{no}} || {{no}} || {{no}} || {{no}} || ? || 0xC00 || [[Syscon_Firmware#Syscon_patches|Syscon Firmware Patch]] (bottom half) Encrypted || | ||
|} | |} |