SMC
From Free60 Project
| Table of contents |
SMC
The SMC is a service processor handling various tasks in the Xbox360.
It is responsible for:
- powering up and down the box
- Eject and Power buttons
- real-time clock
- CPU and GPU fan
- front LEDs
- receiving IR commands from the Media Remote
- temperature, tilt and AV cable sensors
NOTE: Use with care! (./smc -f 11 gives max fan speed and 4RoD)
Status
There is a driver for the SMC in the Linux kernel patchset, and example code for using it (http://op-co.de/xbox360/smc.c).
Preliminary support in XeLL is being worked on (http://op-co.de/xbox360/smc-ir.c), aiming at an interactive boot menu.
Special Codes
The power button: when you press the powerbutton the SMC receives: 83 11 01 if you want to abort the 'poweroff' and are quick enough you can send this code: 82 04 33.
We are talking about miliseconds here not 'really' useless maybe as a softreboot in the future?
Front LEDs
The ring of light leds are set from linux as follows: echo -ne "\x99\x01\xZY\x00XXXXXXXXXXXX" > /dev/smc
where ZY is (Z=green nibble, Y=red nibble) ie. to set all four quadrants to orange use the following command. echo -ne "\x99\x01\xFF\x00XXXXXXXXXXXX" > /dev/smc
Below are the individual codes x means quadrant lit, o means unlit. Note: this investigation was done with my 360 horizontal.
1 x o o o
2 o x o o
3 x x o o
4 o o x o
5 x o x o
6 o x x o
7 x x x o
8 o o o x
9 x o o x
a o x o x
b x x o x
c o o x x
d x o x x
e o x x x
f x x x x

