Indi Info Manager: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
No edit summary
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Software]]
note: inside ss_server2.fself
  Indi Info Manager (Individual Info Manager) is accessed e.g. in '''syscall 868''' on GameOS
  Indi Info Manager (Individual Info Manager) is accessed e.g. in '''syscall 868''' on GameOS
<br>
<br>
Indi Info Manager runs in HV Process 5. (from [[User Token Manager]])


== 0x17000 - Indi Info Manager  ==
== 0x17000 - Indi Info Manager  ==
Line 9: Line 11:
! Packet ID  
! Packet ID  
! Description
! Description
! Lv1 Parameter Usage
! Lv2Syscall Parameter
! notes
|-
|-
| 0x17001  
| 0x17001  
| get_individual_info_size (Read EID Data Size By Index/Read metldr Size)
| get_individual_info_size (Read EID Data Size By Index/Read metldr Size)
|
|
|
|-
|-
| 0x17002  
| 0x17002  
| read_individual_info (Read EID Data By Index/Read metldr)
| read_individual_info (Read EID Data By Index/Read metldr)
|
|
|
|-
|-
| 0x17003  
| 0x17003  
| get_system_data_size (Read ID Data)
| get_system_data_size (Read ID Data)
|
|
|
|-
|-
| 0x17004  
| 0x17004  
| Read System Data
| Read System Data
|
|
|
|-
|-
| 0x17005  
| 0x17005  
| Write System Data
| Write System Data
|
|
|
|-
|-
| 0x17006  
| 0x17006  
| Get EEPROM System Data Size
| Get EEPROM System Data Size
|
|
|
|-
|-
| 0x17007  
| 0x17007  
| Read System Data From EEPROM
| Read System Data From EEPROM
|
|
|
|-
|-
| 0x17008  
| 0x17008  
| not implemented
| not implemented
|
|
|
|-
|-
| 0x17009  
| 0x17009  
| Read EID
| Read EID
|
|
|
|-
|-
| 0x1700A  
| 0x1700A  
| not implemented
| not implemented
|
|
|
|-
|-
| 0x1700B  
| 0x1700B  
| not implemented
| not implemented
|
|
|
|-
|-
| 0x1700C  
| 0x1700C  
| not implemented
| not implemented
|
|
|
|-
|-
| 0x1700D  
| 0x1700D  
| not implemented
| not implemented
|
|
|
|-
|-
| 0x1700E  
| 0x1700E  
| not implemented
| not implemented
|
|
|
|-
|-
| 0x1700F  
| 0x1700F  
| not implemented
| not implemented
|
|
|
|-
|-
| 0x17010  
| 0x17010  
| Write EID
| Write EID
|
|
|
|-
|-
| 0x17011  
| 0x17011  
| Read Backup Region
| Read Backup Region
|
|
|
|-
|-
| 0x17012  
| 0x17012  
| Write Backup Region
| Write Backup Region
|
|
|
|-
|-
| 0x17013  
| 0x17013  
| Read eEID Size
| Read eEID Size
|
|
|
|-
|-
| 0x17014  
| 0x17014  
| Write Individual Info(Write eEID/Write metldr)
| Write Individual Info(Write eEID/Write metldr)
|
|
|
|-
|-
| 0x17015  
| 0x17015  
| Read cISD Size
| Read cISD Size
|
|
|
|-
|-
| 0x17016  
| 0x17016  
| Read cISD
| Read cISD
|
|
|
|-
|-
| 0x17017  
| 0x17017  
| Write cISD
| Write cISD
|
|
|
|}
|}


Line 97: Line 171:
| 0  
| 0  
| 0x860
| 0x860
| EID0
| [[Flash:Encrypted_Individual_Data_-_eEID#EID0|EID0]]
|-
|-
| 1  
| 1  
| 0x2A0  
| 0x2A0  
| EID1
| [[Flash:Encrypted_Individual_Data_-_eEID#EID1|EID1]]
|-
|-
| 2  
| 2  
| 0x730  
| 0x730  
| EID2
| [[Flash:Encrypted_Individual_Data_-_eEID#EID2|EID2]]
|-
|-
| 3  
| 3  
| 0x100  
| 0x100  
| EID3
| [[Flash:Encrypted_Individual_Data_-_eEID#EID3|EID3]]
|-
|-
| 4  
| 4  
| 0x030  
| 0x030  
| EID4
| [[Flash:Encrypted_Individual_Data_-_eEID#EID4|EID4]]
|-
|-
| 5  
| 5  
| 0xA00  
| 0xA00  
| EID5
| [[Flash:Encrypted_Individual_Data_-_eEID#EID5|EID5]]
|-
|-
| 6  
| 6  
Line 170: Line 244:
! SC EEPROM Offset  
! SC EEPROM Offset  
! Size Of Data
! Size Of Data
! Notes
|-
|-
| 0  
| 0  
| 0x48D20  
| 0x48D20  
| 6
| 6
| spider.gbe0.macaddr.0
|-
|-
| 1  
| 1  
| 0x48D28  
| 0x48D28  
| 6
| 6
| spider.gbe0.macaddr.1
|-
|-
| 2  
| 2  
| 0x48D30  
| 0x48D30  
| 6
| 6
| spider.gbe0.macaddr.2
|-
|-
| 3  
| 3  
| 0x48D38  
| 0x48D38  
| 6
| 6
| spider.gbe0.macaddr.3
|-
|-
| 4  
| 4  
| 0x48D00  
| 0x48D00  
| 4
| 4
| ip_addr
|-
|-
| 5  
| 5  
| 0x48D04  
| 0x48D04  
| 4
| 4
| ip_netmask
|-
|-
| 6  
| 6  
| 0x48D08  
| 0x48D08  
| 4
| 4
| ip_gateway
|-
| 7
|
|
| idlog
|-
| 8
|
|
| wlan
|}
|}


Line 217: Line 309:


*'''Writes passed data to the region of FLASH memory where cISD data is stored&nbsp;!!!'''
*'''Writes passed data to the region of FLASH memory where cISD data is stored&nbsp;!!!'''
{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude>

Latest revision as of 15:57, 15 December 2021

note: inside ss_server2.fself
Indi Info Manager (Individual Info Manager) is accessed e.g. in syscall 868 on GameOS


Indi Info Manager runs in HV Process 5. (from User Token Manager)

0x17000 - Indi Info Manager[edit | edit source]

Packet ID Description Lv1 Parameter Usage Lv2Syscall Parameter notes
0x17001 get_individual_info_size (Read EID Data Size By Index/Read metldr Size)
0x17002 read_individual_info (Read EID Data By Index/Read metldr)
0x17003 get_system_data_size (Read ID Data)
0x17004 Read System Data
0x17005 Write System Data
0x17006 Get EEPROM System Data Size
0x17007 Read System Data From EEPROM
0x17008 not implemented
0x17009 Read EID
0x1700A not implemented
0x1700B not implemented
0x1700C not implemented
0x1700D not implemented
0x1700E not implemented
0x1700F not implemented
0x17010 Write EID
0x17011 Read Backup Region
0x17012 Write Backup Region
0x17013 Read eEID Size
0x17014 Write Individual Info(Write eEID/Write metldr)
0x17015 Read cISD Size
0x17016 Read cISD
0x17017 Write cISD


0x17001 - Read EID Data Size By Index[edit | edit source]

  • I have got access to this service through DM and tested it
  • This service is used e.g. by Update Manager, User Token Manager or Storage Manager
  • The service expects 2 additional parameters, each parameter is 8 bytes
  • I tested it with values: 0x0, 0x4 and 0x1000 for the 1st parameter. I extracted this values from HV Processes which use this service
  • The 2nd parameter is not used in a request but in a response. It contains EID size.
Index Size Of Data Description
0 0x860 EID0
1 0x2A0 EID1
2 0x730 EID2
3 0x100 EID3
4 0x030 EID4
5 0xA00 EID5
6 0x020 cISD0
7 0x200 cISD1
8 0x010 cISD2
9 0x030 cCSD0
0x1000 0xe960 metldr - size is version dependand

0x17002 - Read EID Data By Index[edit | edit source]

  • I have got access to this service through DM and tested it
  • This service is used e.g. by Update Manager, User Token Manager or Storage Manager
  • The service expects 2 additional parameters, each parameter is 8 bytes
  • The 1st parameter is same as the 1st parameter of service Read EID Data Size By Index
  • The 2nd parameter is EID Data Size that is returned by the service Read EID Data Size By Index
  • The returned data is some binary data.
  • The data returned by the service with 1st parameter set to 0x0 or 0x4 is from file eEID stored on FLASH storage device region 0.
  • The data returned by the service with 1st parameter set to 0x1000 contains string metldr.
  • E.g. EID0 data is passed by Update Manager to SPU module spu_token_processor.self when Update Manager loads and executes it with syscall 0x10043.
  • E.g. EID4 data is passed by Storage Manager to SPU module sb_iso_spu_module.self.

0x17004 - Read System Data[edit | edit source]

  • Reads data from cISD or cCSD files stored on /dev/rflash1.
  • E.g. Gelic MAC address is stored in file cISD.

0x17007 - Read System Data From EEPROM[edit | edit source]

  • Reads data from SC EEPROM
  • An index is passed to the service. The index is mapped to a specific SC EEPROM offset.

Here is the list of possible EEPROM offsets from HV 3.15:

Index SC EEPROM Offset Size Of Data Notes
0 0x48D20 6 spider.gbe0.macaddr.0
1 0x48D28 6 spider.gbe0.macaddr.1
2 0x48D30 6 spider.gbe0.macaddr.2
3 0x48D38 6 spider.gbe0.macaddr.3
4 0x48D00 4 ip_addr
5 0x48D04 4 ip_netmask
6 0x48D08 4 ip_gateway
7 idlog
8 wlan

0x17014 - Write eEID/Write metldr[edit | edit source]

  • Holy crap, it writes passed data to the region of FLASH memory where eEID or metldr data is stored !!!
  • And GameOS is allowed to use this service !!!
  • Do not experiment with this service if you don't know what it does or else your PS3 will not work anymore !!!

0x17015 - Read cISD Size[edit | edit source]

  • Returns size of data cISD that is stored on FLASH storage device region 0

0x17016 - Read cISD[edit | edit source]

  • Returns data cISD that is stored on FLASH storage device region 0

0x17017 - Write cISD[edit | edit source]

  • Writes passed data to the region of FLASH memory where cISD data is stored !!!