SGI: Hardware

Fuel fans (l1 controller)

Hi everyone,

I'm trying to change my noisy Fuel fans for some silenced PC fan.

I'm first trying to exchange the big 120x120mm fan with a Noctua NF-S12-1200 fan. I've checked the spec, the Noctua should be able to pull out enough air.

When I plug it into the Fuel's motherboard and turn on the computer, it just doesn't run. Are the fans of Fuel using the standard 3 pins, as the one usually found on PCs ? I've checked the Noctua on my PC, it works just fine.

I was wondering if the L1 controller is not the problem. The Noctua works at low RPM (1200 only). Maybe it is considered as an error or the L1 tries to drive it at higher speed and the Noctua just does not want to itself on. I've checked the L1 controler document ( ... /ch03.html ) but I was unable to find the command to set the fans' speeds.

Any idea ?

I don't own a Fuel but the molex plug used for the Octane's psu fan is wired differently from standard PC.

Just compare what you have and change the wiring according to what the original fan uses. Colros may differ, but black should stay black. Your new fan probably has yellow in the middle. You probably won't need that (Octane psu's only use black and red), it's for informing a pc's mainboard about the current fan speed.
"Look, Ma, I'm dead!"
- Stephen King, Cell
Ok, I'll be sure to check the wiring. But the Fuel probably uses all the wires because it has environmental monitoring.
If the L1 has an issue with the speed of the fan, it will shut down the system about 60sec after you power it on.

Here are 'normal' values for a Fuel:

Code: Select all

Description     State       Warning RPM  Current RPM
--------------- ----------  -----------  -----------
FAN  0  EXHAUST    Enabled          920         1163
FAN  1       HD    Enabled         1560         2220
FAN  2      PCI    Enabled         1120         1577
FAN  3    XIO 1    Enabled         1600         2860
FAN  4    XIO 2    Enabled         1600         2616
FAN  5       PS    Enabled         1349         3154

I think the one you are replacing is the 'exhaust' fan, in that case 1200RPM should be OK.

I believe the more annoying fans of the fuel are the (small!) XIO fans in front of the graphics. Not only are they relatively loud, but their speed (and thus the pitch of the whining) goes up and down noticeably when you're using the system. The power supply fan is also rather loud.
Now this is a deep dark secret, so everybody keep it quiet :)
It turns out that when reset, the WD33C93 defaults to a SCSI ID of 0, and it was simpler to leave it that way... -- Dave Olson, in comp.sys.sgi

Currently in commercial service: Image :Onyx2: (2x) :O3x02L:
In the museum : almost every MIPS/IRIX system.
Wanted : GM1 board for Professional Series GT graphics (030-0076-003, 030-0076-004)
Indeed, the wiring of the Fuel's fans are not the same as PC. I rewired the Noctua and it runs fine.

However, how do I turn off L1's environmental monitoring during boot time ? I didn't have time to do much tests (got to go to work) but the Fuel shuts itself down during boot time auto-test.
anotherlin wrote: However, how do I turn off L1's environmental monitoring during boot time ? I didn't have time to do much tests (got to go to work) but the Fuel shuts itself down during boot time auto-test.

Hmm, your replacement fan only has 56% of the throughput of the original fan - I suppose you are aware of that?

Anyway, I had a similar problem with the fan I currently use in the PSU. It is running too slow during boot time for the env monitoring to like it so the machine always powered off 60 seconds after power-on. I'm working around it by using an init script that switches off the env monitoring during shut-down and back on 5 minutes after booting. This will of course only work if the fan in question actually runs fast enough after that period and has the drawback that a dead fan will only be detected if the machine is booted into IRIX for at least those 5 minutes.

If you want to try this anyway, here is the script:

Code: Select all

# Begin $rc_base/init.d/l1env


if $IS_ON verbose; then
# For a quiet startup and shutdown

case "$1" in

if $IS_ON l1env; then
$ECHO "Starting L1 controller environmental monitoring in 5 minutes..."
/sbin/sh -c "sleep 300; /usr/sbin/l1cmd --scdev /hw/module/001c01/L1/controller env on"&

if $IS_ON l1env; then
$ECHO "Stopping L1 controller environmental monitoring!"
/usr/sbin/l1cmd --scdev /hw/module/001c01/L1/controller env off

$0 stop
sleep 1
$0 start

echo "Usage: $0 {start|stop|restart}"
exit 1

Save this script as /etc/init.d/l1env and make it executable:

Code: Select all

chmod +x /etc/init.d/l1env

Then create two symlinks to start it during boot (runlevel 2) and stop it during shutdown (runlevel 0):

Code: Select all

ln -s /etc/init.d/l1env /etc/rc0.d/K35l1env
ln -s /etc/init.d/l1env /etc/rc2.d/S95l1env

Finally, enable the script via chkconfig, so it will be executed on the next reboot:

Code: Select all

chkconfig -f l1env on

To set this up you'll need to be able to boot the machine first of course. So either put back the old fan to do so or use a serial cable to talk to the L1 directly and switch off the env monitoring without booting into IRIX.