Hi,
I am new to the motherboard repairing and BIOS modding/debugging world.
I started my Desktop System after a couple of weeks and found that the ASUS Z170-AR 1.03 motherboard was failing to boot with the following error message:
Цитата:
USB Device Over Current Status Detected !!
System Will Shut Down After 15 Seconds.
After downloading the "BoardView file" for a *similar* motherboard, I learned about the various OC (over current) detection sub-circuits present on the motherboard. I systematically checked the reference voltages present at all (4) of those voltage dividers and found them to be 3.26+ volts. Note: These voltage dividers ("sensors") are directly connected to the PCH.
I also carried out the following debugging steps:
- All of the USB ports are providing +5v and are able to detect the keyboard during BIOS POST (Caps Lock responds). They all *seem* to be OK.
- The single USB-C port on this mobo is also providing power to charge things just fine.
- I connected the USB keyboard to the PS2 port but the BIOS seems to be disabling all inputs when this 'USB OC' problem is detected.
- All of the USB devices have been subsequently disconnected.
- The cables for the front-panel USB connectors have been disconnected as well.
However, the BIOS error about 'USB OC' persists . I then dumped the BIOS from the W25Q128FV BIOS chip (thankfully present in DIP-8 form factor) using "flashrom" on Linux.
Цитата:
$ sudo ./flashrom --programmer ch341a_spi -r bios_dump_another.rom
flashrom v1.2-136-ged341cf on Linux 5.8.0-26-lowlatency (x86_64)
flashrom is free software, get the source code at
https://flashrom.orgUsing clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found Winbond flash chip "W25Q128.V" (16384 kB, SPI) on ch341a_spi.
Reading flash... done.
This dumping process took around 2.5 minutes. The dump seems to match the "BIOS ROM file" which I extracted from the Z170-AR-ASUS-3801.CAP (downloaded from ASUS' website) using UEFITool.
Note: This board uses the ASM1142 USB 3.0 chip which has its own over current (OC) detection. I couldn't find the BoardView for my Z170-AR 1.03 motherboard and hence I had to stop the hardware debugging process.
Next -> I was able to patch the ASUS BIOS using UEFITool, GHIDRA, Cutter (radar2) and WinHex tools! After patching the BIOS, I was able to boot into the system! After logging in, I was able to confirm that ASM1142 chip is generating those OC (Over Current) signals. This controller can be disabled with the following command.
Цитата:
$ echo -n "0000:02:00.0" | sudo tee /sys/bus/pci/drivers/xhci_hcd/unbind
Now, I would like to fix this problem at the hardware level. I suspect that one of the capacitors has gone bad and is providing a low-resistance path to GND.
This is a test system and I don't use it much. However, I would like to use this opportunity to learn and improve my debugging skills with your help. Thank you for your time and attention.
What can I do next?