The strange case of the notebook fan that would started spinning after a few hours

Problem

A problem started to happen last week with my Dell notebook running Windows 10. After I kept it open for a few hours, its fan would start spinning noisily and never stop. This started to happen without a fail every day. The only brute force solution that worked was to restart Windows. That would keep the fans silent for a few hours before they would start all over again.

Investigation

From the minimized Task Manager CPU graph I could see that all 8 logical CPU cores seem to have been engaged 100 percent by some process. Opening Task Manager to watch what process was causing this was a dead end because Task Manager window would freeze when restored. In the end, I had to try the same with Process Explorer and leave its window open to catch the rogue service: WmiPrvSE.exe.

Looking into this service turned out to be a dead end. It did not lead to any suitable culprit and it was not clear why this service was going all hammer and tongs on the cores.

I then looked at the problem from a different angle: this problem was new. What had changed on my Windows recently? I had installed the 1809 update for its WSL feature. And after that I had switched over from Cygwin to Ubuntu 18.04 running on WSL. And indeed the problem seemed to only occur when I had Ubuntu open for a few hours.

The next time this happened, I tried htop in Ubuntu. Just like Task Manager and Process Explorer, htop too hung. But I left it open nevertheless and after a while it showed that there were hundreds of wget and timeout 1 wget commands taking over all the cores! Who was running this automatically after a few hours in Ubuntu?

Using Google helped to reveal a new suspect: byobu. This is the terminal multiplexer that I use in Ubuntu. Checking its source code confirmed that it was using wget commands to get the host IP address (don’t ask me why!). I am guessing it does it periodically to keep its IP address updated. And this simple lookup was somehow acting like a virus outburst after a few hours. Why?

It turns out that WSL has a serious bug: if you open a large number of non-blocking TCP connections its ephemeral ports are exhausted. I guess the byobu’s regular requests, when performed over a span of hours, exhausted this. And after that the LxssManager service, which is the layer that enables ELF executables to be executed on Windows, would go crazy. The only solution at this point: restart LxssManager.

Solution

So the solution is: if possible do not use Byobu on Ubuntu WSL. If you get this problem, then restart LxssManager by opening a CMD window with Administrator privilege and running these commands:

sc stop LxssManager
sc start LxssManager

Note that stopping the LxssManager service kills Ubuntu.

Advertisements

How to fix an overheating Vostro 3300

The Dell Vostro 3300 laptop is now infamous for its terrible cooling design. The intake vent on the top-right bottom struggles to deliver air. The fan is noisy and still hopeless at cooling the CPU. I pulled out this old laptop recently and found that it would shut down due to CPU overheating. I fired up SpeedFan and sure enough, the CPU cores were 73C at idle! The only solution I could think of to give this laptop a longer life was to clean the fan and change the thermal paste.

Thanks to preparing well for this surgery, it went off well and the idle temperatures dropped by 15C! It still hits the 70s on a load, what a terrible cooling design! The temperature can be dropped by a further 5C by giving that top-right bottom vent a lot of space. This can be done for example by attaching high feet at the top row of the laptop.

What

Here are the things I found that I used:

  • Phillips screwdrivers: Unlike other laptops that use exotic screws, I found that Vostro 3300 uses only Phillips screws. See the screws visible at the bottom of the laptop for an example. You will need Phillips screwdrivers of a size that opens those and one more at the next smaller size (cause some of the internal screws are smaller).
  • Slot screwdriver: You will need one or two of these of the small size. There are some connectors and latches that really need a strong nudge to be opened. Due to the cramped space and tiny size, it is impossible to do this with your fingers. Alternatively, a small metal tweezers that is strong can also do the job.
  • Spudge: Entire sections of this laptop need this tool to be pried open. You could use a couple of tiny slot screwdrivers, but they are not as convenient as the spudge.
  • Brush or compressed air duster: To remove the dust stuck on the fan blades, heat sink and vents.
  • Thermal paste: Any good paste will do to replace the old one. I used the Arctic MX-4.
  • Something to clean the old thermal paste. Folks use cleaning alcohol and a soft non-abrasive cloth. I used an old thin sock.

How

  • Watch this video that shows how to get the entire process done. It is actually quite fantastic to watch the person do it without breaking a sweat.
  • If you need more help, get the Vostro 3300 service manual, which can be found online. The manual has sections, each explaining how to remove a certain component. In order to get to the fan and CPU, you will need to remove the following components in order (the order differs a bit in the above video):

** Base cover (page 2)
** Battery (page 4)
** Hard drive (page 23)
** Optical drive (page 41)
** WLAN card (page 67)
** Keyboard (page 29)
** WWAN card (page 71) — my laptop does not have this
** Palm rest (page 43)
** System board (page 65)
** Heat sink and fan (page 26)

  • Once you get the fan and heat sink, clean them, apply the paste. Put back all the components in the reverse order.
  • Note: For each component, do a careful visual inspection to ensure everything blocking its removal has been pulled out. This is because, I found that the service manual misses a few cables and tabs that need to be pulled out.

This is the first time I disassembled a laptop down to the CPU. I found that it is quite doable if a service manual or a demo video is available. And having the required tools is crucial. Good luck if you planning to try the same! 🙂