MihaiT Posted March 6, 2014 Share Posted March 6, 2014 (edited) Moderator edit - ******************************************************************************************* The original post that started this topic discusses using an Arduino microcontroller to modify the fan control on the Gen8. In Post #7 below the author discovered the Arduino is not needed. I have left the original discussion here since it contains some additional information about what occurs when the fan is disconnected or fails. For the solution to Faking the fan signal.....jump to post #7. - CSKENNEY ******************************************************************************************** I had an unused Arduino pro mini ( 5V/16Mhz) and I've decided to try faking the fan's tachometer signal. It sort of works ( you'll see why ) and probably someone with good knowledge in electronics can make it better. All that the arduino does is to measure the control voltage on the fan's PWM driving pin and output pulses of a proportional frequency to the tachometer pin. I used no voltage smoothing filters ( like a low pass RC on the PWM pin ) and read the voltage directly. It's quite imprecise and probably that's why the MS keeps blinking the red light ( but worked fine on an intel motherboard ) What happens ? At first the server stops with a no fan error and after restarting, it works (read POSTs and loads the OS), but the front light blinks red form time to time. Source code attached. I've made a (bad) video of my attempt. At 1:40 you'll see the FAN error and at 3:00 you'll see the system booting. Hope this helps! http://youtu.be/SQRjK51PcDs PS: I won't try to improve this any further. FanFake.txt Edited March 12, 2014 by cskenney redirect to solution in post #7 Link to comment Share on other sites More sharing options...
riahc3 Posted March 8, 2014 Share Posted March 8, 2014 PS: I won't try to improve this any further.Reason? You could make a killing by allowing third party fans... Link to comment Share on other sites More sharing options...
MihaiT Posted March 8, 2014 Author Share Posted March 8, 2014 (edited) Reason? You could make a killing by allowing third party fans... I just don't have the time plus proper tools and I need an oscilloscope to check the levels on the tach. pin. I was wrong in assuming that: - the pwm signal is 0-5V, it's actually 0-3.3V (doh) - the tach. line seems to be an open collector type and not TTL compatible This means that the arduino will need some external components like a low pass filter to smooth the PWM signal reading (simple RC filter), and an open collector output for the tach signal. I'll try to borrow an oscilloscope from someone and take another stab at it in the near future, but I can't promise anything. Edited March 8, 2014 by MihaiT Link to comment Share on other sites More sharing options...
riahc3 Posted March 8, 2014 Share Posted March 8, 2014 I just don't have the time plus proper tools and I need an oscilloscope to check the levels on the tach. pin. I was wrong in assuming that: - the pwm signal is 0-5V, it's actually 0-3.3V (doh) - the tach. line seems to be an open collector type and not TTL compatible This means that the arduino will need some external components like a low pass filter to smooth the PWM signal reading (simple RC filter), and an open collector output for the tach signal. I'll try to borrow an oscilloscope from someone and take another stab at it in the near future, but I can't promise anything. Sounds great. Maybe if you document everything, someone can pick up and make a fan mod. If the RAID controllers and fan speed/noise problem people are having, they would be grateful! Thank you for your work Link to comment Share on other sites More sharing options...
cskenney Posted March 8, 2014 Share Posted March 8, 2014 I just don't have the time plus proper tools and I need an oscilloscope to check the levels on the tach. pin. I was wrong in assuming that: - the pwm signal is 0-5V, it's actually 0-3.3V (doh) - the tach. line seems to be an open collector type and not TTL compatible This means that the arduino will need some external components like a low pass filter to smooth the PWM signal reading (simple RC filter), and an open collector output for the tach signal. I'll try to borrow an oscilloscope from someone and take another stab at it in the near future, but I can't promise anything. What makes the tach line incompatible with TTL? Voltage level? An o-scope is really critical to insure you have the correct voltages and that your signals are not noisy. Link to comment Share on other sites More sharing options...
MihaiT Posted March 8, 2014 Author Share Posted March 8, 2014 What makes the tach line incompatible with TTL? Voltage level? An o-scope is really critical to insure you have the correct voltages and that your signals are not noisy. Yes. The tach. output could be 0 to fan source voltage (12V), and I'm beginning to think that the motherboard circuitry is like the one referenced here: http://www.pavouk.org/hw/fan/en_fan4wire.html Other good reads: http://www.analog.com/library/analogDialogue/archives/38-02/fan_speed.html http://www.maximintegrated.com/app-notes/index.mvp/id/1784 I've left the server at the office ( couldn't stand the noise) so, I don't have access to it until Monday. I'm planning to take a closer look at the motherboard, fan model, etc., and borrow an oscilloscope to have a clue and avoid electronics damage. Link to comment Share on other sites More sharing options...
MihaiT Posted March 11, 2014 Author Share Posted March 11, 2014 (edited) Forget about the Arduino, although for a TTL, 5V PWM FAN that sketch will work as it is. DISCLAIMER: --- Use it at your own risk, I'm not responsible for any damage that will/might occur. Will void warranty. Electrical hazard: always unplug the power cord. --- The good news ?!?! There is no need for external circuitry, the type of fan present in the MS Gen8 has a RD ( rotational detect ) tachometer signal. What that means ? It means that it doesn't output pulses but just a low voltage ( 0.12V measured ) if the fan spins. Connection: You must tie the RD sense pin (yellow cable on the fan wire harness ) to both grounds ( black ). Bad quality proof video: http://www.youtube.com/watch?v=ng2wZP5OP_4 Edited March 11, 2014 by MihaiT 1 Link to comment Share on other sites More sharing options...
oj88 Posted March 11, 2014 Share Posted March 11, 2014 I was also looking into that locked rotor pin. If you pull the pin to ground, that should theoretically fool iLO into thinking that the attached fan is still turning. Link to comment Share on other sites More sharing options...
MihaiT Posted March 12, 2014 Author Share Posted March 12, 2014 (edited) I was also looking into that locked rotor pin. If you pull the pin to ground, that should theoretically fool iLO into thinking that the attached fan is still turning. Maybe I wasn't clear enough. Connecting the Rotation Detect/ Tachometer pin to the ground, and SHORT CIRCUIT THE GROUND pins from the FAN CONNECTOR will make the server "see" the fan as present and working. My MS Gen8 ran for aboout 4 hours (I had to go home ) with the above hack, and the fan connected to a variable speed controller. I'll come back with another post explaining how to connect the things. IT'S MANDATORY TO SHORT THE GROND PINS IN THE MOTHERBOARD CONNECTOR. SIMPLY CONNECTING THE ROTATION DETECT (TACHOMETER/RPM) PIN TO THE GROUND WON'T DO AND IT WILL TRIGGER THE MISSING FAN ALARM. Edited March 12, 2014 by MihaiT Link to comment Share on other sites More sharing options...
MihaiT Posted March 12, 2014 Author Share Posted March 12, 2014 Motherboard FAN connector pinout : (right click, open in new tab) No FAN attached : (right click, open in new tab) Attach a more silent FAN with rotation detect/ locked rotor signal : (right click, open in new tab) Personally I'd go replacing the FAN with a silent one which has ~ 75% of the original fan's airflow. I don't use the server for heavy tasks and I think it will be enough. Whatever you do, pay attention and leave the thermal protection enabled in the BIOS. If you have add-on cards or high env. temp., try to install some smaller fans inside. The original disclaimer still applies. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now