Appliance Information Manager

From PS3 Developer wiki
Revision as of 20:46, 3 September 2012 by Mysis (talk | contribs)
Jump to navigation Jump to search

AIM Manager is a Process socket service supported by the hypervisor (lv1).
Responsible is aim_spu_module.self and this service accessable from GameOS via Syscall 867 (0x363)
requires 0x40 Root Control Flags in SCE Header.

internally loaded@
Function Id : 0x19000
Port:	      0x24

It gets its information from the feeded EID0 data which gets decrypted by morphed root_keys.


0x19000 - AIM

  • Executes isolated SPU module aim_spu_module.self
  • EID0 data is passed to aim_spu_module.self
Packet ID Description
0x19002 Get Device Type
0x19003 Get Device ID
0x19004 Get PS Code
0x19005 Get Open PS ID
0x19006 Unknown

0x19002 - Get Device Type

0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x85
struct ss_aim_get_device_type
{
    u8 field0[16];
};
calling from GameOS: int cellSsAimGetDeviceType(out:uint8[0x10])

0x19003 - Get Device ID

  • returns your consoles IDPS
0x00 0x00 0x00 0x01 0x00 0x89 0x00 0x0B 0x14 0x00 0xEF 0xDD 0xCA 0x25 0x52 0x66  .....‰....ïÝÊ%Rf
struct ss_aim_get_device_id
{
    u8 field0[16];
};
calling from GameOS: int cellSsAimGetDeviceId(out:uint8[0x10])

0x19004 - Get PS Code

on my CECHJ04 it returns:

0x00 0x01 0x00 0x85 0x00 0x07 0x00 0x04 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
struct ss_aim_get_ps_code
{
    u8 field0[8];
};
calling from GameOS: int cellSsAimGetPsCode(out:uint8[8])


0x19005 - Get Open PS ID

struct ss_aim_get_open_ps_id
{
    u8 field0[16];
};
calling from GameOS: int cellSsAimGetOpenPsId(out:uint8[0x10])

0x19006 -

  • usage found in bdp_BDVD for example...with 1 param (=0)
  • seems to be handled by lv2_kernel, not aim itself.
looks up for qa-flag (if flagged, sets token seed to an lv2 internal buffer), fself flag & device_id
calling from GameOS: int syscall(867,0x19006)
note: this packet id doesnt need another parameter