Indi Info Manager

From PS3 Developer wiki
Jump to navigation Jump to search
Indi Info Manager is accessed e.g. in syscall 868 on GameOS


0x17000 - Indi Info Manager

Packet ID Description
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

  • 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

  • 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

  • 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

  • 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
0 0x48D20 6
1 0x48D28 6
2 0x48D30 6
3 0x48D38 6
4 0x48D00 4
5 0x48D04 4
6 0x48D08 4

0x17014 - Write eEID/Write metldr

  • 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

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

0x17016 - Read cISD

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

0x17017 - Write cISD

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