Appliance Information Manager

From PS3 Developer wiki
Revision as of 19:52, 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).

It is used to retrieve the device type, device id, open psid and the pscode from the EID0 data that is passed in.
Responsible is the isolated SPU module aim_spu_module.self from CoreOS / Flash.
This service accessable from GameOS via Syscall: 867 (0x363)
and requires 0x40 Root Control Flags in SCE Header.

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


0x19000 - AIM

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