|
tmbinc
|
 |
« Reply #4 on: August 07, 2007, 04:23:53 PM » |
|
The published lists of error codes are *crap*, *crap*, *crap*. Seriously, they are all wrong, and not much more than a good guess "how, let's see - my console is too hot, i got xyzx - so xyzx means "overheat."".
I've done some reverse engineering of the SMC code, plus some board experiments, so here is my attempt at producing a "slightly better" error list, free for discussion, not implying that all are right:
Found by board testing / fuzzing / reparing: 0001 12V from power supply missing, 0002 CPU powergood deasserted 0003 GPU powergood deasserted
Found by SMC disassembly: 0011 CPU thermal overload 0012 GPU thermal overload 0013 edram thermal overload
found by 2BL disassembly: 0020..0023: some things in the initialization sequence didn't end up as expected. for example, if pci express didn't work (line cut, ...), you get this. 0022: this one comes when the CPU doesn't talk with SMC in some time period, but also doesn't indicate an error.
0030: temperature control didn't work for some reason. I can trigger this by messing around with the fan state via SMC commands.
0100..0111: they are all (some of them are unused) caused by the virtual machine code in the bootloader which initializes the GPU and size the memory.
0200+ are software generated errors, from kernel, and usually come up with a "fatal error code"
|