No worries ... :-) I haven't explained most of the changes in detail yet. […]
Show full quote
B24Fox wrote on 2022-12-28, 04:19:
I hope my question doesn't come off as dumb, or something like that (especially since it's kinda late night, and also I haven't read through the whole thread)
No worries ... 😀 I haven't explained most of the changes in detail yet.
B24Fox wrote on 2022-12-28, 04:19:Anyway..
regarding this fix: "fixed Hardware Monitor errors and erroneous readings ("-6.14V") when using modern PSUs without a -5 V rail"
have you (ore anyone) probed with a multimeter on the Mobo ATX connector where the white wire (-5V rail) should have been, in order to check if maybe... by some chance.. the mobo circuitry does some weird stuff, and there IS actually -6V there (even though maybe at a very low Amperage) ..??
I assume that not to be the case, but personally haven't ruled it out.
This is what happens on the monitoring side: The onboard hardware monitoring chip outputs voltage readings as a single byte with a resolution of 16 mV. Ordinarily, this means a range of 0 mV to 255 * 16 = 4080 mV can be monitored on each input. Since this is obviously not suitable for the +/-5 V and +/-12 V rails, resistors are added to the appropriate inputs of the monitoring chip to reduce the voltages to the acceptable input range. The BIOS knows the values of these resistors and converts the single-byte reading accordingly:
v5neg = -r * 16 * 909 / 604
The weird values depend on the resistors. It seems like ASUS has followed the recommendations of the manufacturer as documented in the datasheet.
With this shift in place, the new range is now 0 mV to approx. -6140 mV (= -255 * 16 * 909 / 604). And this is where the "-6.14V" display comes from: It basically means that the monitoring chip outputs a value at the edge of its range. This also implies: If the PSU attached to the board actually did have a -5 V rail that had gone completely out of spec (let's say to -10 V), the BIOS would never show a more extreme value than -6.14 V.
So, in theory, there might actually be a weird voltage in place of the -5 V rail, but it doesn't necessarily have to be around -6 V.
On the other hand, the monitoring chip also seems to output maximum readings if there's nothing at all connected to the corresponding input: Regarding the fans, the ASUS stock BIOS interprets a speed reading of 255 as "no fan connected" and displays "N/A", even though this value could also be interpreted as a speed of around 1300 RPM. I simply applied the same logic to the -5 V rail display.
In any case, the -5 V rail patch does not change the voltage on that rail, so whatever the situation, it doesn't get worse due to the mod. The only drawback: Since the monitoring circuit cannot differentiate between a missing voltage and a voltage that is way out of spec, and the mod now decides on "no voltage present", you won't get a hardware monitor error anymore for an old PSU with a -5 V rail that has suddenly strayed to -6.14 V or beyond. That might be something to keep in mind.
B24Fox wrote on 2022-12-28, 04:19:Also, does this fix: "support of additional voltage ranges to suppress Hardware Monitor errors at bootup" ACTUALLY adds more voltage options that the hardware could actually provide? or is it just a variable added to make the Hardware Monitor shut up?
It's the latter. The hardware monitor code checks the actual VCore reading against a hard-coded list of voltage ranges depending on the processor type. If the reading does not fall into the expected range for the processor that has been detected, the logic signals an error. The mod only extends this list with new ranges appropriate for Tualatin cores, Pentium Pros and the various Via C3 cores.
(Side note: Newer builds like that on the P3C-E seem to work differently here and determine the appropriate range dynamically, possibly in reference to the voltage requested by the CPU itself. I haven't looked into that thoroughly, though.)
B24Fox wrote on 2022-12-28, 04:19:Same question about the verification of this fix: "unlocked core voltages for undervolting"
This is the only part of the mod that actually changes a voltage, though not as extreme as it might sound: The BIOS keeps a list of the possible core voltages the onboard power controller chip can provide. Depeding on the processor, an excerpt of this list is presented to the user in the BIOS setup menu. In the stock BIOS, these are just the CPU's nominal voltage as well as a few overvolting options. The power controller chip is instructed to output the voltage chosen by the user.
The mod extends the excerpt of the list displayed in the setup menu to include all undervolting options down to 1.30 V. The way the power controller is instructed to apply the voltage is unchanged, however.
B24Fox wrote on 2022-12-28, 04:19:So basically my question is that, with the modifications that could affect voltages; were the voltages checked afterwords to confirm the actual values presented in the BIOS?
The first two changes are more cosmetical in nature. The last change has been independently checked by various people. User BitsUndBolts has made a video using the mod to undervolt a Pentium II, in which he measures the core voltage externally:
BitsUndBolts wrote on 2022-11-21, 11:13:I recently made a video (Undervolted Pentium II) undervolting a Pentium II 400. The minimum voltage I can select is 1.55V - and the CPU is still stable.
B24Fox wrote on 2022-12-28, 04:19:Great work @DenizOezmen btw!
And thank you!
Appreciated, thanks!