PINE64
ROCKPro64 pwm-fan inoperable - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: ROCKPRO64 (https://forum.pine64.org/forumdisplay.php?fid=98)
+--- Forum: RockPro64 Hardware and Accessories (https://forum.pine64.org/forumdisplay.php?fid=102)
+--- Thread: ROCKPro64 pwm-fan inoperable (/showthread.php?tid=8656)



ROCKPro64 pwm-fan inoperable - resistanceisfutile - 12-31-2019

I'm unable to get the fan to work on the RP64 v2.1 in the NAS case with the fan from Pine64 store. Not sure what I'm missing?

The fan is working when supplied with 12V directly. The fan does not work when plugged into the Fan port on the board.

/sys/class/hwmon/hwmon0/pwm1 exists, echoing any value from 0-255 does not have any affect. I read ATS source code to see if maybe I'm missing something. It doesn't appear so.

Attempted to get the fan to work via PWM with the following images from ayufan:
bionic-minimal-rockpro64-0.9.14-1159-arm64.img.xz
buster-minimal-rockpro64-0.9.14-1159-arm64.img.xz

Also tried vanilla arch linux (the pwm-fan is under /sys/class/hwmon/hwmon1/pwm1 on linux-aarch64 (5.4.6)).
And built latest ayufan linux-mainline for arch linux. No functioning fan there either.

A multimeter at the base of Q2110 shows absolutely nothing no matter what I write to /sys/class/hwmon/hwmon0/pwm1 - my oscilliscope is currently not working so I'm unable to see if there is any PWM present on FAN_CTL_H yet - I suspect nothing.

This build is using a SATA card and two SSDs powered from the RP64's 12V header (the cables supplied with the NAS case). To rule out a power issue, I eliminated the SATA card and power to the SSDs - so only the DC power, FTDI cable, and fan are plugged into the RP64. Fan still inoperable on all images listed above.

I read every thread regarding the fan I could find on this forum - and all of them mention ATS. ATS does not work, obviously, because writing the values to /sys/class/hwmon/hwmon0/pwm1 has no effect. And yes, I'm logged in as root.


RE: ROCKPro64 pwm-fan inoperable - resistanceisfutile - 01-01-2020

UPDATE:

Scope fixed. PWM is present at the base of Q2110 with peaks around 700mV. Disabled the CPU thermal zone to keep PWM consistent for further testing. D2101 is not present on this board and from the high res images on the website, this diode is also not present. Appears to be for reverse polarity protection.
When using the oscilliscope, I noticed that the fan starts spinning and responding to different PWM widths when the probes are touching pin 1 (+) of the fan connector and pin 3 (collector) of Q2110. Unfortunately, I saw R89554 briefly turn into an LED before releasing the magic. Likely due to exceeding maximum current rating by accidentally completing the circuit between VCC12V_DCIN through the resistor and then through Q2110 collector<->emitter to ground.

In conclusion - the fan driving circuit (R89554, R2, Q2110, D2101 (not present)) seems suboptimal, and possibly doesn't work with some fans? Mind you, this fan is the one purchased from pine store for use in the NAS case.

I can wire the fan directly to 12V but would prefer not to. Replacing the dead component(s) should be easy enough, but it's still a mystery why this circuit does not work.

See page 6:
http://files.pine64.org/doc/rockpro64/rockpro64_v21-SCH.pdf


RE: ROCKPro64 pwm-fan inoperable - resistanceisfutile - 01-01-2020

UPDATE 2:

The root cause has been found. Q2110's collector (pin 3) is floating above the pad on the PCB. Continuity testing confirmed that it is not making the connection. The oscilliscope probing likely applied enough pressure for it to establish connection and I incorrectly assumed that somehow the capacitance was "fixing" what could have been a defective fan.

I am disappointed to not have spotted this before I accidentally poofed R89554. Only later to find out all that would have been needed was to fix the manufacturing/soldering defect on Q2110's pin. That is upsetting. Waited for RP64 because it was on backorder. Now I have to wait for parts to repair it.


RE: ROCKPro64 pwm-fan inoperable - resistanceisfutile - 01-01-2020

All better. It's a 10 ohm resistor. With pwm1 at 0, the fan spins but it does go faster at 255. I guess that'll do! Big Grin

Spoke too soon. Looks like Q2110 was hanging on for dear life and after some time, the base no longer bases and the collector-emitter is just a diode now. The fan spins all the time, which is OK. I've added replacement components to the BOM of a future order.

Marked as resolved - Leaving this here on the lottery chance anyone else got a board with the same defect.

[Image: IMG-20200101-134452.jpg]