starcat Posted November 4, 2010 Share Posted November 4, 2010 Get the T-balancer bigNG and connect the fans to it, then use a script to control their speed depending on actual SMART HDD (or CPU or chassis) temp. Quote Link to comment
StevenD Posted November 5, 2010 Share Posted November 5, 2010 I think I came up with a plan... since the motherboard has plenty of 4-pin connectors, I ordered replacement 4-pin fans. I wont be able to use the backplane plugs, but thats OK. I also had to order new "hot-plug cables" since they were only 3-wire. I was afraid I wasn't going to be able to find those and I was going to lose the hot-plug capabilities of the fans. Hopefully the BIOS will control these 4-pin fans without needing a script. Quote Link to comment
Matt Foley Posted November 5, 2010 Share Posted November 5, 2010 Problem with the bios controlling the fans is that it can not key off hard drive temps. Quote Link to comment
StevenD Posted November 5, 2010 Share Posted November 5, 2010 Problem with the bios controlling the fans is that it can not key off hard drive temps. Well, that's step 1. Like I said before, Linux isn't my first language. So, once the new fans get here, Ill then see if I can get one of the scripts working. Quote Link to comment
starcat Posted November 5, 2010 Share Posted November 5, 2010 The T-Balancer bigNG will go inside and there wouldn't be any mess with your beautiful case. You connect the fans to the T-Balancer and the T-Balancer to an internal USB port. Then use the linux driver to control the fans depending on the HDD sensors. I am already ordering mine. Of course you should obligatory first try the scripts as they are for free anyway. However, they are not really easy to configure (and extend) and you will definitely need *some* Linux knowledge. Quote Link to comment
joshpond Posted November 6, 2010 Share Posted November 6, 2010 OK, pwmconfig shows no sensors loaded. sensor-detect shows: Trying family `ITE'... Yes Found unknown chip with ID 0x8721 (logical device 4 has address 0x290, could be sensors) AMD K10 thermal sensors... Success! (driver `to-be-written') Just press ENTER to continue: Driver `to-be-written' (should be inserted): Detects correctly: * Chip `AMD K10 thermal sensors' (confidence: 9) Do you want to generate /etc/sysconfig/lm_sensors? (yes/NO): yes Copy prog/init/lm_sensors.init to /etc/init.d/lm_sensors for initialization at boot time. You should now start the lm_sensors service to load the required kernel modules. I'm assuming I don't have the drivers for the sensor (running unRAID 4.5.6) Is this correct? If this means having to get a full version of slackware on here I'm going to give up as that is beyond my skills. Thanks Josh Quote Link to comment
StevenD Posted November 6, 2010 Share Posted November 6, 2010 Well, I bought two 4-pin fans and got the script working. So, now at least I know I can control them. Since my motherboard only has 4-pin connectors, it is my understanding that I really can't use anything but 4-pin fans. I ordered the remaining 4 fans and they should be here on Tuesday. Then Ill run a parity check and cross my fingers. Thanks everyone for your help and suggestions. Quote Link to comment
StevenD Posted November 6, 2010 Share Posted November 6, 2010 Ok, so the script worked just fine when I left it at the default of monitoring 3 drives. I have 5 drives in the server currently, so I modified the script and now its only reading (what appears to be) /dev/sdf. My current config: parity /dev/sdb Hitachi_HDS72202_JK1131YAHLJ8WV /dev/md1 /mnt/disk1 /dev/sdc Hitachi_HDS72202_JK1170YAHT9UXP /dev/md2 /mnt/disk2 /dev/sdd ST31500341AS_9VS0NE49 /dev/md3 /mnt/disk3 /dev/sde ST31500341AS_9VS1FSMN /dev/md4 /mnt/disk4 /dev/sdf ST31500341AS_9VS0MDQZ Here is what is in the unraid-fan-speed.sh file: ### VARIABLES FOR USER TO SET ### # Amount of drives in the array. Make sure it matches the amount you filled out below. NUM_OF_DRIVES=5 # unRAID drives that are in the array/backplane of the fan we need to control HD[1]=/dev/sdb HD[2]=/dev/sdc HD[3]=/dev/sbd HD[4]=/dev/sbe HD[5]=/dev/sbf Here is what I get: root@NAS:/boot/custom/bin# unraid-fan-speed.sh /dev/sbd: No such file or directory ./unraid-fan-speed.sh: line 58: [: : integer expression expected /dev/sbe: No such file or directory ./unraid-fan-speed.sh: line 58: [: : integer expression expected /dev/sbf: No such file or directory ./unraid-fan-speed.sh: line 58: [: : integer expression expected Highest temp is: 37 Setting pwm to: 255 What am I doing wrong? Quote Link to comment
xamindar Posted November 6, 2010 Author Share Posted November 6, 2010 It's not getting the temperature for your two Hitachi drives. Maybe no one has used the script with Hitachi drives yet and they report a different name for the temperature value. Could you post the output of: smartctl -d ata -A /dev/sdb sdb or sdc, doesn't matter which you post. We will likely have to modify the script to look for something different. Right now it takes the value of Temperature_Celsius which both my Western Digital and Seagate drives label such as. I think I remember bubbaQ or someone making an actual program to report the temperature. It was a while ago. Anyone remember that? It might be a better way of doing things. Just have the script call that program and get the highest temp that way. Quote Link to comment
StevenD Posted November 6, 2010 Share Posted November 6, 2010 It looks like "Temperature_Celsius" is there. SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000b 100 100 016 Pre-fail Always - 0 2 Throughput_Performance 0x0005 132 132 054 Pre-fail Offline - 106 3 Spin_Up_Time 0x0007 119 119 024 Pre-fail Always - 605 (Average 606) 4 Start_Stop_Count 0x0012 100 100 000 Old_age Always - 598 5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0 7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0 8 Seek_Time_Performance 0x0005 114 114 020 Pre-fail Offline - 38 9 Power_On_Hours 0x0012 100 100 000 Old_age Always - 5890 10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 21 192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 598 193 Load_Cycle_Count 0x0012 100 100 000 Old_age Always - 598 194 Temperature_Celsius 0x0002 214 214 000 Old_age Always - 28 (Lifetime Min/Max 19/51) 196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0 197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 0 Quote Link to comment
xamindar Posted November 7, 2010 Author Share Posted November 7, 2010 Bah! I need to look more closely before I reply. Sorry, My previous post is not the issue. Here is your issue: # unRAID drives that are in the array/backplane of the fan we need to control HD[1]=/dev/sdb HD[2]=/dev/sdc HD[3]=/dev/sbd HD[4]=/dev/sbe HD[5]=/dev/sbf Take a real close look at that... It wasn't able to read sbd, sbe, and sbf because they do not exist. It actually read your Hitachi drives just fine. Try changing all those b's to d's. Quote Link to comment
StevenD Posted November 7, 2010 Share Posted November 7, 2010 Bah! I need to look more closely before I reply. Sorry, My previous post is not the issue. Here is your issue: # unRAID drives that are in the array/backplane of the fan we need to control HD[1]=/dev/sdb HD[2]=/dev/sdc HD[3]=/dev/sbd HD[4]=/dev/sbe HD[5]=/dev/sbf Take a real close look at that... It wasn't able to read sbd, sbe, and sbf because they do not exist. It actually read your Hitachi drives just fine. Try changing all those b's to d's. Doh! Works fine now. Thanks! Quote Link to comment
joshpond Posted November 7, 2010 Share Posted November 7, 2010 Hi all, If sensors-detect doesn't find the sensor does that mean I might need a full version of slackware? Thanks Josh Quote Link to comment
xamindar Posted November 7, 2010 Author Share Posted November 7, 2010 Not necessarily, it may just mean there is no driver in the Linux kernel for your chip (or you have none, unlikely with recent hardware). If sensors-detect didn't say "yes" to anything as you went through it then there probably isn't any driver for your hardware. You could possibly try a full slackware or any more recent linux and see if there is a driver (module) for it in more recent kernels. Quote Link to comment
joshpond Posted November 7, 2010 Share Posted November 7, 2010 Thanks, Trying family `ITE'... Yes Found unknown chip with ID 0x8721 (logical device 4 has address 0x290, could be sensors) AMD K10 thermal sensors... Success! (driver `to-be-written') Just press ENTER to continue: That was the only response I got from sensors detect. I assume the AMD thermal sensor is for the CPU and ITE one might be it. To me it looks like no driver in my kernel. Thanks Josh Quote Link to comment
xamindar Posted November 7, 2010 Author Share Posted November 7, 2010 Yeah, it doesn't look like there is a driver for your sensor chip yet. The closest I can see in the 2.6.36 kernel is this driver. But it doesn't mention 8721 which I assume you have based on the ID. ???????????????????????? ITE IT87xx and compatibles ???????????????????????? ? CONFIG_SENSORS_IT87: ? ? ? ? If you say yes here you get support for ITE IT8705F, IT8712F, ? ? IT8716F, IT8718F, IT8720F and IT8726F sensor chips, and the ? ? SiS960 clone. ? ? ? ? This driver can also be built as a module. If so, the module ? ? will be called it87. ? ? ? Is this your chip? If so, it definitely isn't supported yet. From this it seems like a strange, rare chip only ASUS uses. Quote Link to comment
joshpond Posted November 8, 2010 Share Posted November 8, 2010 Thanks Xamindar for looking that up. That is my chip. Oh well, I'll wait and see what happens in future. I think I'll have to go back to playing with LinuxMCE. Thanks Josh Quote Link to comment
joelones Posted November 10, 2010 Share Posted November 10, 2010 Trying to determine whether my chip supports pwm. The chip in question is ITE IT8712F and my motherboard has 5 fan inputs. Here is some output: sensors-detect Trying family `National Semiconductor'... No Trying family `SMSC'... No Trying family `VIA/Winbond/Fintek'... No Trying family `ITE'... Yes Found `ITE IT8712F Super IO Sensors' Success! (address 0x290, driver `it87') Probing for Super-I/O at 0x4e/0x4f ... #----cut here---- # Chip drivers # Warning: the required module it87 is not currently installed # on your system. For status of 2.6 kernel ports check # http://www.lm-sensors.org/wiki/Devices. If driver is built # into the kernel, or unavailable, comment out the following line. modprobe it87 dmesg | grep it87 it87: Found IT8712F chip at 0x290, revision 7 it87: in3 is VCC (+5V) it87: in7 is VCCH (+5V Stand-By) ACPI: I/O resource it87 [0x295-0x296] conflicts with ACPI region IP__ [0x295-0x296] modprobe it87 FATAL: Module it87 not found. So the module isn't built, perhaps directly in the kernel. pwmconfig /usr/sbin/pwmconfig: There are no pwm-capable sensor modules installed edit: found this post, modules are not present in 4.5.6 http://lime-technology.com/forum/index.php?topic=7746.0 Quote Link to comment
joelones Posted November 17, 2010 Share Posted November 17, 2010 unRAID version 4.5.8 seems to have support for my mobo's chip it87. issuing modprobe it87, now gives: FATAL: Error inserting it87 (/lib/modules/2.6.32.9-unRAID/kernel/drivers/hwmon/it87.ko): Device or resource busy I did some searching and apparently the fix is by passing a kernel parameter like so: - insert GRUB_CMDLINE_LINUX="acpi_enforce_resources=lax" As unRAID does not use grub, I guess I can pass this kernel parameter in the syslinux.cfg but is it safe to add? default menu.c32 menu title Lime Technology LLC prompt 0 timeout 50 label unRAID OS menu default kernel bzimage append initrd=bzroot acpi_enforce_resources=lax label Memtest86+ kernel memtest Edit: seems like that worked it8712-isa-0290 Adapter: ISA adapter VCore 1: +1.31 V (min = +0.00 V, max = +4.08 V) VCore 2: +1.20 V (min = +1.28 V, max = +1.68 V) ALARM +3.3V: +3.34 V (min = +2.78 V, max = +3.78 V) +5V: +4.84 V (min = +4.49 V, max = +5.48 V) +12V: +12.10 V (min = +9.98 V, max = +13.95 V) -12V: -15.95 V (min = -22.94 V, max = -17.05 V) ALARM -5V: -2.28 V (min = -9.14 V, max = -7.75 V) ALARM Stdby: +4.87 V (min = +4.49 V, max = +5.48 V) VBat: +3.10 V fan1: 1318 RPM (min = 811 RPM, div = fan2: 1095 RPM (min = 811 RPM, div = fan3: 3924 RPM (min = 811 RPM, div = M/B Temp: +39.0 C (low = +127.0 C, high = +73.0 C) sensor = thermal diode CPU Temp: +47.0 C (low = +127.0 C, high = +73.0 C) sensor = thermistor Temp3: +48.0 C (low = +127.0 C, high = +73.0 C) sensor = thermistor cpu0_vid: +1.350 V Quote Link to comment
Joe L. Posted November 17, 2010 Share Posted November 17, 2010 unRAID version 4.5.8 seems to have support for my mobo's chip it87. issuing modprobe it87, now gives: FATAL: Error inserting it87 (/lib/modules/2.6.32.9-unRAID/kernel/drivers/hwmon/it87.ko): Device or resource busy I did some searching and apparently the fix is by passing a kernel parameter like so: - insert GRUB_CMDLINE_LINUX="acpi_enforce_resources=lax" As unRAID does not use grub, I guess I can pass this kernel parameter in the syslinux.cfg but is it safe to add? default menu.c32 menu title Lime Technology LLC prompt 0 timeout 50 label unRAID OS menu default kernel bzimage append initrd=bzroot acpi_enforce_resources=lax label Memtest86+ kernel memtest Edit: seems like that worked it8712-isa-0290 Adapter: ISA adapter VCore 1: +1.31 V (min = +0.00 V, max = +4.08 V) VCore 2: +1.20 V (min = +1.28 V, max = +1.68 V) ALARM +3.3V: +3.34 V (min = +2.78 V, max = +3.78 V) +5V: +4.84 V (min = +4.49 V, max = +5.48 V) +12V: +12.10 V (min = +9.98 V, max = +13.95 V) -12V: -15.95 V (min = -22.94 V, max = -17.05 V) ALARM -5V: -2.28 V (min = -9.14 V, max = -7.75 V) ALARM Stdby: +4.87 V (min = +4.49 V, max = +5.48 V) VBat: +3.10 V fan1: 1318 RPM (min = 811 RPM, div = fan2: 1095 RPM (min = 811 RPM, div = fan3: 3924 RPM (min = 811 RPM, div = M/B Temp: +39.0 C (low = +127.0 C, high = +73.0 C) sensor = thermal diode CPU Temp: +47.0 C (low = +127.0 C, high = +73.0 C) sensor = thermistor Temp3: +48.0 C (low = +127.0 C, high = +73.0 C) sensor = thermistor cpu0_vid: +1.350 V As you discovered, the "append" line in syslinux.cfg is the equivalent to what you posted for GRUB. Quote Link to comment
dabl Posted November 18, 2010 Share Posted November 18, 2010 Thanks for these scripts. Is there any possibility at some point for such a script be able to tell if a fan has failed and then possibly make use of smtp capability to email that to a user? Quote Link to comment
mjstumpf Posted January 25, 2011 Share Posted January 25, 2011 So I'm trying to make this work, as this is a really important feature to me. I'm linux-saavy, but I want to understand how people have done this: I booted with RiP linux, ftp'd over the lm_sensors package that I had pre-built (it builds statically automatically. I love those guys). Did a sensors-detect: Found `Fintek F71889FG Super IO Sensors' Success! (address 0xa00, driver `f71882fg') So I do: dmesg | grep f7188 And the driver isn't there. So how do I most easily / efficiently build it? Is it practical for us to rebuild the kernel or its driver? Not having it is really not a great option, and I've heard of people turning unraid into a full distro with gcc and everything.. Quote Link to comment
xamindar Posted January 28, 2011 Author Share Posted January 28, 2011 Yes, just build the f71882fg module and add it. I personally run unraid on a full arch linux distro and had to build my own kernel for it anyway. Just make sure you build from the same kernel source version that is used in unraid. I don't know why limetech doesn't just include all these modules in unraid, they don't take up very much space and make no difference on how it runs unless they are loaded. Some of the choices in the unraid kernel build seem pretty daft. Quote Link to comment
wsume99 Posted March 11, 2011 Share Posted March 11, 2011 Ok I am not linux savy so I need some help (aka hand holding). I have a C2SEE motherboard and 4-pin pwm fan connected. I ran pwmconfig and it was able to control my case fan. I had it perform a detailed correlation and it worked just fine. I can also control the speed by using the echo command... echo 0 > /sys/class/hwmon/hwmon2/device/pwm2 --> fan does not stop but slows to its lowest speed (680rpm) echo 255 > /sys/class/hwmon/hwmon2/device/pwm2 --> fan runs at max speed (1900 rpm) So at this point I'm assuming that means that all the drivers I need are already installed in the unRAID 4.7 kernel, correct? Thinking I was good to go I downloaded the unraid-fan-speed script and changed the user variables. I've attached my copy of the file. I then modified my go file to load the script into chrontab automatically. See attached. Rebooted my server and I got an error that says that sensors3.conf does not exist. I checked and it does not exist. I tried running sensors-detect and I basically get no response. I'm not really sure what that means. Perhaps I'm doing somethig wrong there. So I am not sure what to do at this point. Do I need a sensors.conf file for this to work properly? Any help would be appreciated. unraid_fan_speed.txt go.txt Quote Link to comment
X1pheR Posted September 8, 2011 Share Posted September 8, 2011 I'm running beta12 and have a Gigabyte K8N Ultra-SLI motherboard with 3x 3-pin fans attached. In the past I've been able to control the fan speeds on windows by using the program speedfan. Can the script provided here be used to control my fan speeds? I read about PWM but that's 4-pin fans. Or should I start a new topic? I already did sensors-detect which in the end gave me below results. I don't know if I have to do the copy and service start what is displays. Do I? Newbie here Driver `it87': * ISA bus, address 0x290 Chip `ITE IT8712F Super IO Sensors' (confidence: 9) Driver `k8temp' (autoloaded): * Chip `AMD K8 thermal sensors' (confidence: 9) Do you want to generate /etc/sysconfig/lm_sensors? (yes/NO): yes Copy prog/init/lm_sensors.init to /etc/init.d/lm_sensors for initialization at boot time. You should now start the lm_sensors service to load the required kernel modules. Unloading i2c-dev... OK running sensors now returns: k8temp-pci-00c3 Adapter: PCI adapter Core0 Temp: +37.0 C it8712-isa-0290 Adapter: ISA adapter in0: +1.39 V (min = +0.00 V, max = +4.08 V) in1: +2.61 V (min = +0.00 V, max = +4.08 V) in2: +3.33 V (min = +0.00 V, max = +4.08 V) in3: +2.46 V (min = +0.00 V, max = +4.08 V) in4: +3.12 V (min = +0.00 V, max = +4.08 V) in5: +2.35 V (min = +0.00 V, max = +4.08 V) in6: +1.74 V (min = +0.00 V, max = +4.08 V) in7: +2.21 V (min = +0.00 V, max = +4.08 V) Vbat: +2.77 V fan1: 912 RPM (min = 0 RPM, div = fan2: 1222 RPM (min = 0 RPM, div = fan3: 1562 RPM (min = 0 RPM, div = temp1: +25.0 C (low = +127.0 C, high = +127.0 C) sensor = thermistor temp2: +31.0 C (low = +127.0 C, high = +127.0 C) sensor = thermistor temp3: +69.0 C (low = +127.0 C, high = +127.0 C) sensor = thermistor cpu0_vid: +1.400 V Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.