Need build-essential for build this tool. Or use precompiled "mcu_ctl". # Build: cc mcu_test.c -o mcu_ctl # Run: ./mcu_ctl byte1 byte2 byte3 byte4 byte5 # Examples: # ./mcu_ctl 3 a 2 0 0 >>: fa 03 0a 02 00 00 fb <<: fa 03 0a 02 00 01 fb # First line: Request to MCU, second - respond from MCU. # fa/fb - start/end of command # 0a - Command for WOL # 3 a 2 0 0 - Request WOL status. MCU answer same command, but last byte - status (1 = enabled) # 3 a 1 0 0 - Enable WOL # 3 a 0 0 0 - Disable WOL # Thermal # ./mcu_ctl 3 8 0 0 0 >>: fa 03 08 00 00 00 fb <<: fa 03 08 00 00 38 fb # 8 - Command for thermal # 38 in hex = 56 (celceus?). Seems like real temperature... # Led control # ./mcu_ctl 3 6 1 0 0 >>: fa 03 06 01 00 00 fb <<: fa 30 00 00 00 00 fb # 06 = Commands for LED # 01 = enamble (00 = disable, 02 = blinking) # MCU... No answer, but do command. # "Device ready" command (Stop power led blinking) # ./mcu_ctl 3 1 0 0 0 >>: fa 03 01 00 00 00 fb <<: fa 03 01 00 00 00 fb # APR status # ./mcu_ctl 3 2 2 0 0 >>: fa 03 02 02 00 00 fb <<: fa 03 02 02 00 80 fb # 0x03, 0x02 - cmd # 0x02 - Get staus (0x00 - Set Disable, 0x01 - Set Enable) # 0x80 - Enabled / 0x00 - disabled. (80 in hex = 128 in dec) # Hmm... # ./mcu_ctl 3 3 2 0 0 >>: fa 03 03 02 00 00 fb # ... omg... device shutdown... # But for shutdown need: fa 03 03 01 01 14 fb # Hmm... wtf is it? # ./mcu_ctl 3 5 2 0 0 >>: fa 03 05 02 00 00 fb <<: fa 03 05 00 01 06 fb # 01 06 - what this mean? # ./mcu_ctl 3 9 0 0 0 >>: fa 03 09 00 00 00 fb <<: fa 03 09 00 00 03 fb # 03 - random every time. 00 or 01 or 03... But not 04 or greater. # ./mcu_ctl 3 d 2 0 0 >>: fa 03 0d 02 00 00 fb <<: fa 03 0a 02 00 fd fb # Request 0x0D, but answer 0x0A... # Possible not supported CMD (6th byte only on requested 2nd byte=0x03) # ./mcu_ctl 3 0 0 0 0 >>: fa 03 00 00 00 00 fb <<: fa 03 00 00 00 fd fb # Write FAN Speed: # ./mcu_ctl 2 0 80 0 0 >>: fa 02 00 80 00 00 fb <<: fa 30 00 00 00 00 fb # 0x80 = 128 = 50% (255 / 0xFF max)