mockingbird wrote on 2022-01-21, 02:53:
Yes, you are correct! (and may I say a real wizard too - at that).
It's this fan, and indeed it is a 1200RPM fan.
Thanks for the confirmation! (And no, there's no magic involved, but a surprising amount of dumb luck. 😉) Please give the attached BIOS a try. It boots over here and seems to display reasonable fan speeds. For the sake of simplicity, the behaviour of all three fan monitors has been adjusted.
Note that there's a drawback to this change: The measurement resolution is now halved in comparison to the stock BIOS. Since the conversion is not linear, this may become apparent especially at higher fan speeds. (At 4000 RPM the interval between steps has already reached around 100 RPM, at 5000 RPM it is around 160 RPM.)
----
For the sake of documentation: The P3B-F uses ASUS's custom AS99127F monitoring IC, which seems to be a variant of Winbond's W83781D. The datasheet of the W83781D explains that the fan monitor outputs are something like a count of internal clock cylces during one rotation of the fan. The raw value is a single byte. To get different RPM ranges or resolutions, the chip can be programmed with predefined divisors. The actual RPM is computed via this formula: 1,350,000 / (raw_value * divisor).
The stock BIOS uses a divisor of 4, which gives a theoretical minimum of 1,350,000 / (254 * 4) ~ 1,329 RPM. In the modification, the initialization and the computation have been changed to use a divisor of 8 with a theoretical minimum of around 664 RPM.
[Edit: Uploaded attachment to first post.]