VOGONS


First post, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Is anyone here able to perform a mod to a Lenovo T61 Phoenix BIOS? I'd like fan errors on boot to be ignored. Reasons to follow.

It looks like the fan encoder input on my Lenovo T61 type 7662-CTO motherboard is no longer reading the encoder output from the CPU fan. I replaced the CPU fan already, thinking the encoder on the fan stopped working, but apparently not.

On boot up I receive "Fan error" and the system auto shuts down, even though the fan is spinning normally. With "Fan error", I am unable to enter the BIOS. The only means to either enter the BIOS or boot the system is to take some high pressure air and blow it into the fan exhaust until you hear the fan spinning at an absurd speed right at the point where that the BIOS is checking the fan signal. I can boot up about 1 in 3 tries with this method, after which, the BIOS and operating system don't care if the fan is spinning or not. Thus, this safety feature implemented by the BIOS, isn't all that useful for fan failures that occur post-boot.

Once in the operating system, I can hear the fan increase speed when the CPU is getting warmer, and decrease when cooling down.

I am using the Middleton BIOS, https://www.thinkwiki.org/wiki/Middleton's_BIOS
Direct download for the Lenovo T61 here, http://www.mediafire.com/file/f9w4kv0k36vpgpq … .29-1.08%29.rar

Pheonix flasher utilities here, https://www.wimsbios.com/phoenixflasher.jsp#gsc.tab=0
however the Lenovo T61 package already comes with a Phoenix winflash utility.

I tried looking online for solutions, but they were fairly simplified. One report was to remove the battery, wait a few minutes, and try again. That didn't work. Another solution was to update the BIOS. I did update back to the non-middleton Lenovo BIOS, then back again to the Middleton BIOS, but it didn't help. Short of replacing the motherboard, I'm not sure what to do other than see if someone is able to modify the BIOS to disable the fan detection routine. I did try pressing hard on the fan's connector thinking the issue was a loose solder joint, but this didn't help.

Many thanks!

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 1 of 34, by rasz_pl

User metadata
Rank Oldbie
Rank
Oldbie
feipoa wrote on 2022-10-29, 02:57:

take some high pressure air and blow it into the fan exhaust until you hear the fan spinning at an absurd speed right at the point where that the BIOS is checking the fan signal.

weird
diagram https://usermanual.wiki/Document/T61.19227480 … m=auto,530,-170
boardview https://www.alisaler.com/ibm-r61-r61i-t61-t61 … t61p-boardview/ works in http://boardviewer.net (https://openboardview.org/ really struggles with this boardview file format, has trouble with orientation and pin numbers)
disassembly https://www.youtube.com/watch?v=mDXEIC2ns2A

Goes thru Q81 transistor to KBC (U23). KBC itself is hidden under black foil sticker under PCMCIA socket, but transistor is close to fan connector (near the VGA socket) on the bottom layer of motherboard. R421 1Kohm is also important.
$0.2 https://www.digikey.com/en/products/filter/tr … UDCBGFBWEBdAvkA

feipoa wrote on 2022-10-29, 02:57:

Once in the operating system, I can hear the fan increase speed when the CPU is getting warmer, and decrease when cooling down.

that suggests the readout works just fine? I dont really know if IBM had per programmed PWM values or used fan speed as a feedback
I just logged into VNC of my media center X220 and HWiNFO64.exe is able to read ACPI CPU fan RPM. I tried testing R31 and R61 I have lying around, but batteries are dead and I dont have any more spare ibm specific power supplies on hand 🙁 If you manage to boot once again try HWiNFO64

Attachments

  • Clipboard01.jpg
    Filename
    Clipboard01.jpg
    File size
    115.24 KiB
    Views
    465 views
    File comment
    q81 r421 location
    File license
    Public domain

Reply 2 of 34, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Thanks for the information!

I'm using Ubuntu 18.04LTS. I installed OpenBoardview from the website you linked for Debian amd64. Upon opening any of those T61 files, the screen just shows some black rectangle and some black/white jail bars. Something isn't working right.

I don't have any of those transistors with built-in biasing resistors, however I can check an old Toshiba laptop which I think I saved the motherboard from. I only have in my bin MMBT3904.

Do you think either R421 or Q81 are fried? Most concerning would be if the H8S2116 microcontroller's input is damaged somehow. Last week, just before the fan problem occured, I was getting impatient for Ubuntu to shutdown (sometimes it is godlessly slow at this on the T61), and I used some compressed air to clean out the heatsink/fan. While I have done this for the past 15 years on this machine, never while it was still powered.

Unfortunately, to get to that transistor, I'd need to disassemble the whole system and pull the motherboard. Once it gets to that level of effort, I just as well have a spare T61 motherboard on hand.

I'm not sure of the dimensions of R421, but I do have some 1K's in 0805.

Last I had the system on, I was in Ubuntu and the readout for the fan's tach was 0 RPM. Even when I blew compressed air into the fan blades, it still showed 0 RPM. I can also check HWINFO if you think it important.

EDIT: I forgot to mention that I also tested the fan's tach output on the scope and there's definitely a pulse train, who's width varies with varying voltage.

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 3 of 34, by dr_st

User metadata
Rank l33t
Rank
l33t
feipoa wrote on 2022-10-29, 02:57:

On boot up I receive "Fan error" and the system auto shuts down, even though the fan is spinning normally. With "Fan error", I am unable to enter the BIOS. The only means to either enter the BIOS or boot the system is to take some high pressure air and blow it into the fan exhaust until you hear the fan spinning at an absurd speed right at the point where that the BIOS is checking the fan signal. I can boot up about 1 in 3 tries with this method, after which, the BIOS and operating system don't care if the fan is spinning or not. Thus, this safety feature implemented by the BIOS, isn't all that useful for fan failures that occur post-boot.

Pressing Esc when 'Fan error' shows up should allow you to continue the boot process. I don't remember if it will allow you to enter the BIOS as well. Maybe you should press F1 first, then Esc when you see the error.

On new system, overriding the fan error this way puts a performance limit on the system. Not sure if it does anything of the sort on a T61, though.

feipoa wrote on 2022-10-29, 02:57:

Is Middleton still communicating? You could ask him for tips.

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 4 of 34, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I also thought of that and tried to find middleton from the forum he used to frequent, http://forum.notebookreview.com/6501443-post75.html , but it has turned into techtarget.com and the forum closed.

I will try your suggestion of ESC, F1, ESC-F1, or F1-ESC next time with 'fan error' and report back. If it does degrade performance, then I still need a workaround. If it doesn't degrade performance, then that's good enough for me - for now, anyway.

I installed HWINFO v7.30 in XP SP3 on my T61. I looked at all the sensor options, but none of them were for the fan's speed. Note that I have XP3 and Ubuntu 18.04 on my T61 in a dual-boot configuration.

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 5 of 34, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I ran a few more tests.

Yes, pressing ESC at fan failure lets the user continue the boot process! However, pressing F1, although it says "Entering Setup", the system will still shutdown before it gets into the BIOS. The order of F1-ESC didn't matter. To enter the BIOS, I must force air thru the fan.

Once in Ubuntu, I did for a brief few minutes see approximately 3000 RPM show up on the sensor indicator, but on subsequent boots, it showed 0 RPM. Putting my ear up to the fan, it does sound like the fan is sputtering, as if there is a momentary contact being made over and over again, but not enough to make the fan stop. If I had to guess, using my cochlea tuned RPM meter, I'd say the fan changes RPM from around 2500 to 4000 RPM in rapid sucession.

In looking at the schematic shared by rasz_pl, I'd guess the sputtering issue to be with power getting to the fan. For power to get to the fan, FAN_ON must be outputting the correct signal (controlled by H8S2116 microcontroller), as well as Q1 (SOP-8 PMOS) and fuse F4 need be functional. However, FAN_ON is probably also controlled by FAN_FRQ via the microcontroller. Since the tach gauge in Ubuntu normally shows 0 RPM even though the fan is spinning, I think the first part to check is Q81.

However, if I am going to make an order for Q81, I just as well order Q77, and TPCF8104. I suppose the 2.0 A fuse, F4, may also be hanging on by a hair string? Looks like that fuse is 0603 and no longer manufactured https://www.digikey.ca/en/products/detail/lit … 4002-NRP/371280 I can probably find replacement, e.g. https://www.digikey.ca/en/products/detail/kam … 02WHTP/15181203. That TPCF8104 PMOS is also no longer manufacturered, but there are some on eBay for $10. https://www.ebay.ca/itm/255512808706 Or maybe this is a suitable modern replacement: https://www.digikey.ca/en/products/detail/ons … 15-TL-H/2748143

Seems to me that procuring another T61 motherboard may be the more reassuring option. I could order all these components, disassemble the laptop, and find the issue to be with the H8S116 microcontroller.

Last edited by feipoa on 2022-10-29, 10:42. Edited 1 time in total.

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 6 of 34, by rasz_pl

User metadata
Rank Oldbie
Rank
Oldbie
feipoa wrote on 2022-10-29, 08:39:

Thanks for the information!

I'm using Ubuntu 18.04LTS. I installed OpenBoardview from the website you linked for Debian amd64. Upon opening any of those T61 files, the screen just shows some black rectangle and some black/white jail bars. Something isn't working right.

"really struggles with this boardview file format, has trouble with orientation and pin numbers)"

it loads the file flipped and mirrored, bugs out displaying all the components on one layer and screws pin numbers 🙁 you can sort of make it work by pressing space and M , this will flip and mirror back, but other problems persist

feipoa wrote on 2022-10-29, 08:39:

I installed HWINFO v7.30 in XP SP3 on my T61. I looked at all the sensor options, but none of them were for the fan's speed.

on x220 its called CPU ACPI sensor or something like that

feipoa wrote on 2022-10-29, 08:39:

If it does degrade performance, then I still need a workaround.

You can get degraded performance on x220/230 with 65W supply and no battery, throttlestop fixes that right up overriding any power/multiplier limits

feipoa wrote on 2022-10-29, 08:39:

Do you think either R421 or Q81 are fried? Most concerning would be if the H8S2116 microcontroller's input is damaged somehow. Last week, just before the fan problem occured, I was getting impatient for Ubuntu to shutdown (sometimes it is godlessly slow at this on the T61), and I used some compressed air to clean out the heatsink/fan. While I have done this for the past 15 years on this machine, never while it was still powered.

Iv seen plenty of 'forcing the air thru fan' warnings on the net, but afaik they were about backfeed into driving transistor. Still, depending on how the tacho is implemented it could blow the transistor. putting scope on the output of Q81 will tell all.

feipoa wrote on 2022-10-29, 08:39:

EDIT: I forgot to mention that I also tested the fan's tach output on the scope and there's definitely a pulse train, who's width varies with varying voltage.

just theorizing - maybe if fan spins very fast the pulses turn into steady high signal turning Q81 for longer than anticipated, but that would only hurt it if that 1K resistor somehow wasnt 1K but much lower.

feipoa wrote on 2022-10-29, 08:39:

I don't have any of those transistors with built-in biasing resistors, however I can check an old Toshiba laptop which I think I saved the motherboard from. I only have in my bin MMBT3904.

afaik build in biasing is a cost saving measure (less parts to pick n place), this transistor does buffering and inverting.

feipoa wrote on 2022-10-29, 08:39:

it does sound like the fan is sputtering

oh yeah, that does sound like damage caused by air forced thru the fan, wouldnt be surprised if your fan simply doesnt run 😀

Reply 7 of 34, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I've already replaced the fan with a new one though. So the forced air must have damaged one of the discussed components, or at worst, the microcontroller.

I didn't test the fan's tach while on the motherboard. I had pulled it (the replaced fan) off and tested to ensure the encoder was still outputting.

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 8 of 34, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Another issue I noticed is that if I let the laptop sit idle, the fan turns off. But if I then open a demanding website, like reddit.com, the CPU temp can get up to 86 C and the fan won't kick on. I need to pucker my lips and blow into the fan's heatsink vents for it to start spinning up.

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 10 of 34, by feipoa

User metadata
Rank l33t++
Rank
l33t++

That is what I've been working on. Will send some photos soon.

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 11 of 34, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Here is the setup. It has been very difficult for me to work on anything with my wife's standing desk platform in the way. A covid purchase that stayed.

T61_setup.JPG
Filename
T61_setup.JPG
File size
617.72 KiB
Views
365 views
File license
CC-BY-4.0

The fan's header is Vcc, GND, and Tach. For the purposes of the photos, I think yellow is fan power and blue is tach. I had swapped the colours around at some point.

Fan off here:

Fan_off.JPG
Filename
Fan_off.JPG
File size
139.07 KiB
Views
365 views
File license
CC-BY-4.0

Shortly after the fan turns on, some ringing for a few seconds:

Just_after_fan_turns_on_and_for_5-10_seconds.JPG
Filename
Just_after_fan_turns_on_and_for_5-10_seconds.JPG
File size
163.86 KiB
Views
365 views
File license
CC-BY-4.0

After about 5-10 seconds, the ringing comes and goes, until it looks like this:

Fan_on.JPG
Filename
Fan_on.JPG
File size
153.02 KiB
Views
365 views
File license
CC-BY-4.0

Even with the fan on steady, every about 100 ms, you'll see a drop in the fan's voltage (not shown). Looks like the voltage drops from 5 V to about 2 V for a split second.

Sensors in Ubuntu still show fan at 0 RPM, even though we have a pulse wave from the fan's encoder. Bad microcontroller?

EDIT: And when the fan is sputtering really bad, you can see the pulse widths changing, like it stretching and contracting a spring.

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 12 of 34, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I've begun looking for some replacement boards online. What do you think the chances are that this pixel column imperfection is with the onboard Nvidia graphics controller? If it is an issue with the onboard graphics, then this board will be useless to me, but if it is the screen, then I'd just use my existing screen.

T61_replacements.jpg
Filename
T61_replacements.jpg
File size
183 KiB
Views
350 views
File license
Fair use/fair dealing exception

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 13 of 34, by dr_st

User metadata
Rank l33t
Rank
l33t

That's a screen problem (defective column driver), as far as I know. Seen it on several screens and it's never been the GPU. Can there be exceptions? Who knows. But it's not likely.

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 15 of 34, by feipoa

User metadata
Rank l33t++
Rank
l33t++

Immediately when the laptop is powered from a cold state, the encoder waveform is as follows.

T61_01_first_power_on.JPG
Filename
T61_01_first_power_on.JPG
File size
532.91 KiB
Views
296 views
File license
CC-BY-4.0

After a few seconds, the encoder's waveform develops noise as follows.

T61_02_two_seconds_after_power_on.JPG
Filename
T61_02_two_seconds_after_power_on.JPG
File size
568.57 KiB
Views
296 views
File license
CC-BY-4.0

At the point of 'fan failure', the noise has continued to grow as viewed here:

T61_03_few_seconds_later_Fan_Failure.JPG
Filename
T61_03_few_seconds_later_Fan_Failure.JPG
File size
569.29 KiB
Views
296 views
File license
CC-BY-4.0

Press ESC, and at the GRUB loader screen, noise at its maximum a shown:

T61_04_press_ESC_and_sitting_at_GRUB.JPG
Filename
T61_04_press_ESC_and_sitting_at_GRUB.JPG
File size
552.1 KiB
Views
296 views
File license
CC-BY-4.0

Wait a few more seconds, and the noise disappears, seen here:

T61_05_waiting_a_few_seconds_more_at_GRUB.JPG
Filename
T61_05_waiting_a_few_seconds_more_at_GRUB.JPG
File size
534.39 KiB
Views
296 views
File license
CC-BY-4.0

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 16 of 34, by feipoa

User metadata
Rank l33t++
Rank
l33t++

At this point, I perform a soft reset with CTRL-ALT-DEL, thinking that there won't be a fan failure when the isn't any noise on the encoder's waveform, but I am mistaken. Clean encoder output still haults the fan, as shown here:

T61_06_soft-reset_from_GRUB_still_fan_failure.JPG
Filename
T61_06_soft-reset_from_GRUB_still_fan_failure.JPG
File size
577.86 KiB
Views
296 views
File license
CC-BY-4.0

Since the fan's power level looks relatively stable on the soft-reset at the point of fan failure, I'd point my finger first towards Q81. Next suspect would be the H8S2116 microcontroller. What say you?

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 18 of 34, by feipoa

User metadata
Rank l33t++
Rank
l33t++

There is that transient noise I showed a scope image of earlier. It tends to go away after about 10 seconds of on time. Closer view of it:

Transient.JPG
Filename
Transient.JPG
File size
175.2 KiB
Views
254 views
File license
CC-BY-4.0

If I put a 1uF cap in parallel, not a lot of change, so I put a 100 uF in parallel and that transient noise disappears, but doesn't change the condition of 'fan failure'

Transient_100uF.JPG
Filename
Transient_100uF.JPG
File size
165.79 KiB
Views
254 views
File license
CC-BY-4.0

Ultimate 486 Benchmark | Ultimate 686 Benchmark | Cyrix 5x86 Enhancements | 486 Overkill Graphics | Worlds Fastest 486

Reply 19 of 34, by rasz_pl

User metadata
Rank Oldbie
Rank
Oldbie

I just noticed oscillation is at 50us 20KHz, 47nF would be better at filtering that out. Maybe its as simple as pushing air made the fan backfeed into the motherboard, Mosfet is good for 30V and has some esd diodes buildin, but the 10nF C301 cap would just take it in the pooper and blow open, without C301 there is no filtering of the 20KHz visible on the scope and that messes up the KBC
try 10nF cap on fan input, and if that doesnt help another one on tacho output