Changes

Jump to navigation Jump to search
597 bytes added ,  03:25, 3 June 2020
Line 1,164: Line 1,164:  
[[SceSblPostSsMgr#sceSblPmMgrAuthEtoIForDriver|sceSblPmMgrAuthEtoIForDriver]] uses "sd0:sm/pm_sm_sd.self" whilst other PmSm functions use "os0:sm/pm_sm.self".
 
[[SceSblPostSsMgr#sceSblPmMgrAuthEtoIForDriver|sceSblPmMgrAuthEtoIForDriver]] uses "sd0:sm/pm_sm_sd.self" whilst other PmSm functions use "os0:sm/pm_sm.self".
   −
Services 9 and 0xA appeared on 1.03 (maybe 1.00). They are not present on 0.990 and earlier.
+
Services 8, 9 and 0xA appeared on FW 1.03 (maybe 1.00). They are not present on FW 0.990 and earlier.
 +
 
 +
Keyset must be between 0-0xC on FW 0.931.
    
=== 0x1 - get_product_mode ===
 
=== 0x1 - get_product_mode ===
Line 1,170: Line 1,172:  
Used by sceSblPmMgrGetProductModeFromNVS.
 
Used by sceSblPmMgrGetProductModeFromNVS.
   −
Data size is 0x28 bytes. (0x20 bytes used)
+
Data size is 0x28 bytes.
    
Input: 0x20 buffer read from NVS at offset 0.
 
Input: 0x20 buffer read from NVS at offset 0.
Line 1,177: Line 1,179:  
! Offset !! Size !! Description
 
! Offset !! Size !! Description
 
|-
 
|-
| 0x40 || 0x4 || Output: product mode
+
| 0x40 || 0x4 || Output: Product Mode
 
|-
 
|-
| 0x44 || 0x4 || zeroed
+
| 0x44 || 0x4 || Reserved
 
|-
 
|-
| 0x48 || 0x20 || input only: NVS data read at offset 0
+
| 0x48 || 0x20 || Input: NVS block read at offset 0
 
|}
 
|}
   Line 1,188: Line 1,190:  
Used by sceSblPmMgrSetProductMode.
 
Used by sceSblPmMgrSetProductMode.
   −
Data size is 0x28 bytes. (0x20 bytes used)
+
Data size is 0x28 bytes.
    
Input: 0x20 bytes buffer read from NVS at offset 0, to which is written the new product mode to set.
 
Input: 0x20 bytes buffer read from NVS at offset 0, to which is written the new product mode to set.
Line 1,197: Line 1,199:  
! Offset !! Size !! Description
 
! Offset !! Size !! Description
 
|-
 
|-
| 0x40 || 0x4 || new product mode
+
| 0x40 || 0x4 || Input: Product Mode
 
|-
 
|-
| 0x44 || 0x1C || output only
+
| 0x44 || 0x4 || Reserved
 +
|-
 +
| 0x48 || 0x20 || Input and output: NVS block read/written at offset 0
 
|}
 
|}
   Line 1,206: Line 1,210:  
Input: 0x30 bytes buffer.
 
Input: 0x30 bytes buffer.
   −
This is the first JIG auth command. The 0x28 buffer content is for the first time set by this service.
+
This command gets the Ernie secure packet for the first JIG auth command.
    
{| class="wikitable"
 
{| class="wikitable"
 
! Offset !! Size !! Description
 
! Offset !! Size !! Description
 
|-
 
|-
| 0x40 || 0x4 || arg1 (6 or 14)
+
| 0x40 || 0x4 || Input: keyset (6, 14)
 
|-
 
|-
| 0x44 || 0x4 || arg2 (1 when arg1 in [4, 6, 12]; 2 when arg1 in [14]; otherwise undefined)
+
| 0x44 || 0x4 || Input: keyset_rev (1 when keyset in [4, 6, 12]; 2 when keyset in [14]; otherwise undefined)
 
|-
 
|-
| 0x48 || 0x28 || output only
+
| 0x48 || 0x28 || Output: Ernie secure packet
 
|}
 
|}
   Line 1,225: Line 1,229:  
! Offset !! Size !! Description
 
! Offset !! Size !! Description
 
|-
 
|-
| 0x40 || 0x4 || input: keyset (6 or 0xE)
+
| 0x40 || 0x4 || Input: keyset (6, 14)
 
|-
 
|-
| 0x44 || 0x4 || input: keyset_rev (1 when keyset in [4, 6, 12]; 2 when keyset in [0xE]; otherwise undefined)
+
| 0x44 || 0x4 || Input: keyset_rev (1 when keyset in [4, 6, 12]; 2 when keyset in [14]; otherwise undefined)
 
|-
 
|-
| 0x48 || 0x28 || input and output: Ernie secure packet
+
| 0x48 || 0x28 || Input and output: Ernie secure packet
 
|}
 
|}
   Line 1,241: Line 1,245:  
! Offset !! Size !! Description
 
! Offset !! Size !! Description
 
|-
 
|-
| 0x40 || 0x4 || input: keyset (6 or 0xE)
+
| 0x40 || 0x4 || input: keyset (6, 14)
 
|-
 
|-
| 0x44 || 0x4 || input: keyset_rev (1 when keyset in [4, 6, 0xC]; 2 when arg1 in [0xE]; otherwise undefined)
+
| 0x44 || 0x4 || input: keyset_rev (1 when keyset in [4, 6, 12]; 2 when arg1 in [14]; otherwise undefined)
 
|-
 
|-
 
| 0x48 || 0x28 || input: Ernie secure packet
 
| 0x48 || 0x28 || input: Ernie secure packet
Line 1,257: Line 1,261:  
! Offset !! Size !! Description
 
! Offset !! Size !! Description
 
|-
 
|-
| 0x40 || 0x4 || input: keyset (4 or 6 on FW 3.60)
+
| 0x40 || 0x4 || Input: keyset (4, 6 on FW 0.931-3.60)
 
|-
 
|-
| 0x44 || 0x4 || input: keyset_rev (1 when keyset in [4, 6, 0xE]; 2 when keyset in [0xE]; otherwise undefined)
+
| 0x44 || 0x4 || Input: keyset_rev (1 when keyset in [4, 6, 12]; 2 when keyset in [14]; otherwise undefined)
 
|-
 
|-
| 0x48 || 0x28 || input and output: Ernie secure packet
+
| 0x48 || 0x28 || Input and output: Ernie secure packet
 
|}
 
|}
   Line 1,273: Line 1,277:  
! Offset !! Size !! Description
 
! Offset !! Size !! Description
 
|-
 
|-
| 0x40 || 0x4 || arg1 (6 or 14)
+
| 0x40 || 0x4 || Input: keyset (4, 6, 14)
 
|-
 
|-
| 0x44 || 0x4 || arg2 (1 when arg1 in [4, 6, 12]; 2 when arg in [14]; otherwise undefined)
+
| 0x44 || 0x4 || Input: keyset_rev (1 when arg1 in [4, 6, 12]; 2 when arg in [14]; otherwise undefined)
 
|-
 
|-
| 0x48 || 0x28 || input only
+
| 0x48 || 0x28 || Input: Ernie secure packet
 
|}
 
|}
   −
=== 0x8 ===
+
=== 0x8 - run_pm_command ===
   −
Used on 1.03+ by sceSblPmMgrGetProductModeFromNVS.
+
Used on FW 1.03+ by sceSblPmMgrGetProductModeFromNVS.
    
Input: 0x70 bytes buffer.
 
Input: 0x70 bytes buffer.
Line 1,289: Line 1,293:  
! Offset !! Size !! Description
 
! Offset !! Size !! Description
 
|-
 
|-
| 0x40 || 0x4 || new product mode
+
| 0x40 || 0x4 || Input: Command (0: gen_get_mgmt_data_req, 1: get_mgmt_data, 3: decrypt_response, 4: set_product_mode, 5: set_product_mode_off, 7: set_sd_mode_off)
 
|-
 
|-
| 0x44 || 0x4 || 0
+
| 0x44 || 0x4 || Reserved
 
|-
 
|-
| 0x48 || 0x4 || out1: current product mode
+
| 0x48 || 0x4 || Input and output: product mode
 
|-
 
|-
| 0x4C || 0x4 || out2
+
| 0x4C || 0x4 || Input and output: unknown Mgmt Data
 
|-
 
|-
| 0x50 || 0x60 || unk
+
| 0x50 || 0x30 || Input and output: Ernie secure packet for setting Product Mode
 +
|-
 +
| 0x80 || 0x30 || Input and output: Ernie secure packet for getting Product mode
 
|}
 
|}
    
=== 0x9 - gen_jig_message ===
 
=== 0x9 - gen_jig_message ===
   −
Only on 1.03+.
+
Only on FW 1.03+.
   −
Input: 0x10C bytes buffer.
+
Data size: 0x10C bytes buffer.
    
{| class="wikitable"
 
{| class="wikitable"
 
! Offset !! Size !! Description
 
! Offset !! Size !! Description
 
|-
 
|-
| 0x40 || 0x4 || input: keyset (0x48 or 0x49)
+
| 0x40 || 0x4 || Input: keyset_flag (0x48 for keyset 4, 0x49 for keyset 12)
 
|-
 
|-
 
| 0x44 || 0x4 || Reserved
 
| 0x44 || 0x4 || Reserved
 
|-
 
|-
| 0x48 || 0x104 || output: jig_message
+
| 0x48 || 0x104 || Output: jig_message
 
|}
 
|}
    
=== 0xA - check_jig_response ===
 
=== 0xA - check_jig_response ===
   −
Only on 1.03+.
+
Only on FW 1.03+.
 +
 
 +
Data size: 0x10C bytes buffer.
   −
Input: 0x10C bytes buffer.
+
Returns 0 on success.
    
{| class="wikitable"
 
{| class="wikitable"
 
! Offset !! Size !! Description
 
! Offset !! Size !! Description
 
|-
 
|-
| 0x40 || 0x4 || arg1: flag.
+
| 0x40 || 0x4 || Input: keyset_flag (0x48 for keyset 4, 0x49 for keyset 12)
 
|-
 
|-
| 0x44 || 0x4 || arg2
+
| 0x44 || 0x4 || Reserved
 
|-
 
|-
| 0x48 || 0x104 || input
+
| 0x48 || 0x104 || Input: jig_response
 
|}
 
|}
  
5,761

edits

Navigation menu