Sponsored Content
Special Forums Hardware How to replace the fan in the HP J6000? Post 302810687 by lchunleo on Wednesday 22nd of May 2013 11:11:22 AM
Old 05-22-2013
no, i can't feel or see the fans as they are facing inwards and if the server cover is removed for visual inspection (to see which is the problematic fan), the fans will not turn (machine unable to power up).
 

7 More Discussions You Might Find Interesting

1. BSD

Fan control

Hi all, Is there any way that I can get some control over th fan in my Evo N400C laptop running OpenBSD 4.0? Right now the fan is running constantly and it woulf be nice if it could be quiet sometime. (1 Reply)
Discussion started by: Timmy66
1 Replies

2. Hardware

Fan Tray for Sunfire T2000

Recently the rear fan assembly of one of our T2000 servers went faulty. I could replace it immediately with the one from a currently powered off standby machine. But now this one has to be replaced. So I got a quote from our supplier who charges EUR 776 for a new spare part or EUR 405 (all... (0 Replies)
Discussion started by: hergp
0 Replies

3. What is on Your Mind?

I just ordered a Mini-Box with no fan!

I just ordered a Mini-Box M350 with a Mini-ITX Intel DM510MO motherboard. NO FAN! I've come to hate the wine of spinning mechanisms in PCs in my quiet home. This one is for surfing the web in my living room (instead of using this laptop), so it doesn't really need much power. If I do... (1 Reply)
Discussion started by: KenJackson
1 Replies

4. Solaris

Fan failure

would Solaris 10 shutdown automatically if both CPU fans fail? (7 Replies)
Discussion started by: orange47
7 Replies

5. Solaris

Sun Fire V240 server Fan replacement

I have a sun fire v240 server. The output of prtdiag -v shows a failed fan. There are 3 fans for cooling system board. There is 1 fan for each of the powersupply (There are 2 powersupplies) From the below output how do i know which fan is bad and whats its location... (3 Replies)
Discussion started by: Tirmazi
3 Replies

6. Hardware

How to remove fan from cpu fan chassis?

hi all, kindly help in this matter. Can i check anyone has any experience in removing the CPU fan from its chassis? my fan is spoilt and i wish to replace with other type. See picture below.. http://zone11.codemicroinc.netdna-cdn.com/large_1054367.jpg ---------- Post updated at 05:15 PM... (6 Replies)
Discussion started by: lchunleo
6 Replies

7. Solaris

Sun v215 Fan Speed

Hi all, I made some calculations and it seems that fans are working more than they supposed to keep the internals at the specified values. Is there a way to adjust this ? I have 2 approaches ; -from ALOM sc|ok prompt -from Solaris 10 or -from a HW Switch I am pretty sure that... (5 Replies)
Discussion started by: y33t
5 Replies
libacpi(3)						     Library Functions Manual							libacpi(3)

NAME
libacpi - general purpose library for ACPI SYNOPSIS
#include <libacpi.h> DESCRIPTION
The libacpi library routines provide its users a method of reading ACPI values in a comfortable way. This includes battery information, fan states, thermal zones and AC states. A program using these routines must be linked with -lacpi option. To initialize this functionality you have to first allocate space for a global_t structure global_t *global = malloc (sizeof (global_t)); Now use the check_acpi_support() function to check if the system actually supports ACPI. In case it does the function will return SUCCESS or NOT_SUPPORTED on failure. Now you can use the following functions to initialize the values you get from the ACPI interface: init_acpi_batt(global); init_acpi_acadapt(global); init_acpi_fan(global); init_acpi_thermal(global); To know if some of the features is not supported it is a good idea to store the return values in some variable. If you want to read non-static values the ACPI interface provides (for example battery percentage), use the following functions to do this: read_acpi_batt(int num) read_acpi_zone(int num, global_t *globals); read_acpi_fan(int num) read_acpi_acstate(global_t *globals); Since you can have more than one battery, fan and thermal zone, num is the number you want to read, for example in a loop. thermal_t *tp; .... for(i=0; i<global->thermal_count; i++){ read_acpi_zone(i, global); tp = &thermals[i]; ... } Structures struct fan_t fan data struct battery_t information found about battery struct thermal_t information about thermal zone struct adapter_t information about ac adapater struct global_t global acpi structure Functions int init_acpi_batt (global_t *globals) int init_acpi_acadapt (global_t *globals) int init_acpi_thermal (global_t *globals) int init_acpi_fan (global_t *globals) int check_acpi_support (void) int read_acpi_batt (const int num) void read_acpi_acstate (global_t *globals) int read_acpi_zone (const int num, global_t *globals) int read_acpi_fan (const int num) Variables battery_t batteries [MAX_ITEMS] thermal_t thermals [MAX_ITEMS] fan_t fans [MAX_ITEMS] Enumerations enum { ITEM_EXCEED = -5, DISABLED = -4, NOT_PRESENT = -3, ALLOC_ERR = -2, NOT_SUPPORTED = -1, SUCCESS } enum power_state_t { P_AC, P_BATT, P_ERR } enum thermal_state_t { T_CRIT, T_HOT, T_PASS, T_ACT, T_OK, T_ERR } enum charge_state_t { C_CHARGE, C_DISCHARGE, C_CHARGED, C_NOINFO, C_ERR } enum batt_state_t { B_HIGH, B_MED, B_LOW, B_CRIT, B_HARD_CRIT, B_ERR } enum thermal_mode_t { CO_ACT, CO_PASS, CO_CRIT, CO_ERR } enum fan_state_t { F_ON, F_OFF, F_ERR } Detailed Description Now follows a more detailed description of functions, structures and enums. Definition in file libacpi.h. Function Documentation int check_acpi_support (void) Checks if the system does support ACPI or not. Returns: SUCCESS if the system supports ACPI or, NOT_SUPPORTED. int init_acpi_acadapt (global_t * globals) Finds existing ac adapter and fills the adapt (in globa struct) structure with the paths of the important files to parse. Parameters: globals pointer to global acpi structure Returns: SUCCESS if everything is ok, NOT_SUPPORTED if no information can be found, ALLOC_ERR on allocation errors. int init_acpi_batt (global_t * globals) Finds existing batteries and fills the corresponding batteries structures with the paths of the important files to parse. Parameters: globals pointer to global acpi structure Returns: SUCCESS if everything is ok, NOT_SUPPORTED if no information can be found, ALLOC_ERR on allocation errors and ITEM_EXCEED if there are more batteries found than MAX_ITEMS, this should never happen. int init_acpi_fan (global_t * globals) Finds existing fans and fills corresponding fan structures with the paths of the important files to parse for fan information. Parameters: globals pointer to global acpi structure Returns: SUCCESS if everything is ok, NOT_SUPPORTED if no information can be found, ALLOC_ERR on allocation errors and ITEM_EXCEED if there are more fans found than MAX_ITEMS, this should never happen. int init_acpi_thermal (global_t * globals) Finds existing thermal zones and fills corresponding thermal structures with the paths of the important files to parse for thermal informa- tion. Parameters: globals pointer to global acpi structure Returns: SUCCESS if everything is ok, NOT_SUPPORTED if no information can be found, ALLOC_ERR on allocation errors and ITEM_EXCEED if there are more thermal zones found than MAX_ITEMS, this should never happen. void read_acpi_acstate (global_t * globals) Looks up if the ac adapter is plugged in or not and sets the values in a struct Parameters: globals pointer to the global acpi structure Referenced by init_acpi_acadapt(). int read_acpi_batt (const int num) Gathers all information of a given battery and filling a struct with it. Parameters: num number of battery Returns: SUCCESS if everything is ok or ITEM_EXCEED if there is not battery num. int read_acpi_fan (const int num) Gathers all information about given fan and sets the corresponding values in a struct. Parameters: num number for the fan to read Returns: SUCCESS if everything is ok, ITEM_EXCEED if there is not fan num or NOT_SUPPORTED if the values can't be read. This should not happen if the init function returned SUCCESS if the ACPI implementation. int read_acpi_zone (const int num, global_t * globals) Gathers all information of a given thermal zone and sets the corresponding values in a struct. Parameters: num zone globals pointer to global acpi struct, needed if there is just one zone Returns: SUCCESS if everything is ok, ITEM_EXCEED if there is not thermal zone num or NOT_SUPPORTED if the values can't be read. This should not happen if the init function returned SUCCESS if the ACPI implementation. Enumeration Type Documentation possible function return values Enumerator: ITEM_EXCEED maximum item count reached DISABLED features is disabled NOT_PRESENT something is not present ALLOC_ERR an error occurred while allocating space NOT_SUPPORTED a feature is not supported SUCCESS everything was fine enum batt_state_t Enumerator: B_HIGH remaining battery life is high B_MED remaining battery life is medium B_LOW remaining battery life is low B_CRIT remaining battery life is critical B_HARD_CRIT remaining battery life is hard critical, you have a few minutes to charge B_ERR some error occurred while reading the battery state enum charge_state_t Enumerator: C_CHARGE battery is currently charging C_DISCHARGE battery is currently discharging C_CHARGED battery is charged C_NOINFO hardware doesn't give information about the state C_ERR some error occurred while reading the charge state enum fan_state_t fan states Enumerator: F_ON fan is on F_OFF fan is off F_ERR some error occurred with this fan enum power_state_t Enumerator: P_AC if computer runs on AC P_BATT if computer runs on battery P_ERR no information can be found enum thermal_mode_t Enumerator: CO_ACT fans will be turned after the temperature passes a critical point CO_PASS devices will be put in a lower power state after a critical point CO_CRIT system goes into suspend to disk if possible after a critical temperature CO_ERR some error occurred while reading the cooling mode enum thermal_state_t Enumerator: T_CRIT zone reports critical temperature, will cause system to go to S4 T_HOT zone reports high temperature, will cause system to shutdown immediately T_PASS zone is on passive cooling T_ACT zone is on active cooling, more power consumption T_OK zone is ok T_ERR some error occurred while reading the state of the zone Variable Documentation battery_t batteries[MAX_ITEMS] Array for existing batteries, loop until globals->battery_count fan_t fans[MAX_ITEMS] Array for existing fans, loop until globals->fan_count thermal_t thermals[MAX_ITEMS] Array for existing thermal zones, loop until globals->thermal_count Additional information The package ships a test-libacpi.c file which should be pretty self explanatory. Also have a look into libacpi.h file and the doxygen doc- umentation in the doc/ directory. Homepage See http://www.ngolde.de/libacpi.html Author Write to nico (at) ngolde (dot) de for suggestions, hardware donations (very welcome, my notebook doesn't support all features and I could need a second battery), questions, fixes, bug reports, thanks, etc. :) LIBACPI libacpi(3)
All times are GMT -4. The time now is 10:59 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy