SOQuartz with Waveshare CM4 fan heatsink
I have an SOQuartz and a Pine64 Model A carrier board, and I'm slowly getting it to work. After CPU temperatures soared to 71°C on moderate CPU load, I found a CM4 heatsink from Waveshare with a 12V fan, apparently this model:

I was able to get the fan running by using a couple of DuPont wires to plug it into the 12V power header beside the power jack on the Model A board, and while thermal problems are now no longer an issue (temperatures peak at 54°C even when doing a make -j4 compile of the Linux kernel) I'm wondering if I could plug the other two pins on the fan somewhere and get the fan speed adaptively controlled instead of having it on all the time. It seems to be a typical PWM fan with the standard colours for the wires. I can see from the Model A schematic that there's apparently a PWM to I2C chip that is probably suitable for this purpose, but it is unclear where it actually terminates. The Model A board picture on the Pine64 Wiki shows a four-pin unshrouded header on the top left , but I instead have a two-pin JST header there with + and - indicators printed beside it on the board. Any help on how I can do this, including any software I might need to do fan control?
Well, I kinda sorta figured out how to control the fan. One plugs in the fan control wire (blue) in the - pin (toward the HDMI port) of the 2-pin JST header. There is a GP7101 PWM controller sitting on I²C bus 1 at address 0x58, and from reading the datasheet available I'd managed to figure out that you can put in a particular 8-bit value that controls the PWM signal.

i2cset -y 0x58 3 0x00

turns the fan on permanently

i2cset -y 0x58 3 0xff

turns the fan off permanently.

Values between 0x00 and 0xff should cycle the fan on and off at longer and longer intervals. It doesn't seem to be that noticeable below 0xc4 or so as the on cycle is too long. 0xd0 turns the fan on for 1 second with two seconds off. 0xe0 turns the fan on for about half a second with 4 seconds off. 0xf0 turns the fan on for less than half a second with six seconds off. I suppose I should be able to hack the Active Thermal Service package to make use of this method of controlling the PWM fan.

Possibly Related Threads…
Thread Author Replies Views Last Post
  SOQuartz Model A baseboard Real-Time Clock stormwyrm 1 569 11-19-2023, 01:04 AM
Last Post: stormwyrm
  SOQuartz BLADE 3D server rack screws agriffith2134 1 719 08-14-2023, 02:23 PM
Last Post: agriffith2134
  SOQuartz64 4GB CM & Waveshare cm4-to-pi3 krug3r 2 1,258 07-03-2023, 08:26 AM
Last Post: krug3r
  Soquartz-cm4io emmc with usb host louisvinc 6 2,220 02-14-2023, 09:50 PM
Last Post: louisvinc
  DeskPi Super6C CM4 board with the SOQuartz adamfowleruk 5 4,378 08-09-2022, 03:22 PM
Last Post: tizilogic
  SOQuartz ATX Baseboard nixcamic 0 1,590 02-05-2022, 11:55 PM
Last Post: nixcamic
  Lamenting the fact that only 2 lanes of LVDS are exposed on SOQuartz evankrall 0 1,470 12-13-2021, 01:07 PM
Last Post: evankrall

Forum Jump:

Users browsing this thread: 1 Guest(s)