CN100369006C - Method for detecting computer fan parameter - Google Patents

Method for detecting computer fan parameter Download PDF

Info

Publication number
CN100369006C
CN100369006C CNB2004100746795A CN200410074679A CN100369006C CN 100369006 C CN100369006 C CN 100369006C CN B2004100746795 A CNB2004100746795 A CN B2004100746795A CN 200410074679 A CN200410074679 A CN 200410074679A CN 100369006 C CN100369006 C CN 100369006C
Authority
CN
China
Prior art keywords
fan
parameter
sign indicating
indicating number
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2004100746795A
Other languages
Chinese (zh)
Other versions
CN1749969A (en
Inventor
刘文涵
宋建福
刘萍
刘一波
胡幸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inventec Corp
Original Assignee
Inventec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to CNB2004100746795A priority Critical patent/CN100369006C/en
Publication of CN1749969A publication Critical patent/CN1749969A/en
Application granted granted Critical
Publication of CN100369006C publication Critical patent/CN100369006C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

The present invention relates to a method for detecting computer fan parameters, which uses the ACPI specification to analyze out fan data from BIOS so as to effectively obtain and set fan testing parameters. The method comprises: AML codes are analyzed out from the BIOS according to the ACPI specification; relative parameters of a fan can be obtained from analyzing the AML codes; measuring codes can be generated from the fan parameters; system protection codes of port access are determined according to the measuring codes. The present invention can automatically obtain the fan parameters and has the advantages of high developing efficiency, high stability of the generated measuring codes and good versatility.

Description

A kind of generation method of detecting computer fan parameter sign indicating number
Technical field
What the present invention relates to a kind of computer hardware parameter obtains and tests code generating method, particularly relates to a kind of generation method of detecting computer fan parameter sign indicating number.
Background technology
Along with the speed of computing machine is more and more faster, thermal value is also increasing, in this respect, with CPU (central processing unit, central processing unit) more outstanding, because the integrated level of CPU is up to millions of transistors, so the big people of allowing of thermal value is difficult to the imagination.Common CPU surface temperature even can reach the 40-60 degree, CPU inside then go up Baidu even up to 80 degree especially.If computing machine often crashes, blue screen mistake, IE mistake, open program error, obliterated data, problem such as restart automatically, not that operating system has problem, may cause because CPU is overheated.
Nowadays, fan divides at CPU is bringing into play conclusive effect in the cooling system, because the thermal value of CPU is too big really, only the effect by heat radiator is not enough, therefore must help by fan.
On the other hand, each computing machine, particularly notebook all will carry out strict test to all hardware for ensuring the quality of products before dispatching from the factory.Because cpu fan is to guarantee that CPU is operated in the vitals of safe temperature scope, and is also more and more higher to the quality requirements of fan, so fan test also is the important component part of computer hardware test.
For test side, all be by rotation speed of the fan is set earlier in test procedure at present to the test of fan, and then read rotation speed of the fan, whether consistent by judging both, realize the test of fan.
Yet generally, the method for each computer vendors control cpu fan all is different, even the type of the different series of same manufacturer, and its control method also is different.In the past, new architecture fan test procedure development all will be passed through following steps:
1, searches the BIOS development group of new architecture;
2, to the system architecture of BIOS group inquiry new architecture, about the parameter and the method to set up of fan;
3, program according to the correlation parameter that obtains;
4, the program of utilizing the prototyping testing of new architecture to weave;
5, still to repeat above 2-4 if any problem;
6, the test successful method is added in the test procedure.
Above method exists the construction cycle long, poor compatibility, and the program maintenance cost is high and stability is very poor.Just at regard to the bottom layer realization method of fan, and real test all is to finish under operating system layer to main cause with regard to the fan parameter that is BIOS group and provides.So, if the phenomenon of the fan instruction conflict that sends with operating system just directly can occur to fan operation, gently then cause program interrupt, serious meeting causes situations such as deadlock.
And on the other hand,, two kinds of standards of APM (Advanced PowerManagement, Advanced Program Zoom) and ACPI (Advanced Configuration PowerInterface advanced configuration power supply interface) are arranged now about computer power management.ACPI particularly, it is the new technology of a power management, by operating system can be directly and the user directly interactive, promptly certain partial function does not use when operating system is discovered now, just can reduce its function automatically and reduce the electric energy use, with the more electric energy of deposit, ACPI can be used in the operating system of distinct program language, for example the running of 2000 pairs of battery of notebook computer of windows can be controlled by power supply option, learns battery use amount etc. from the battery meter scale.If use ACPI then must from hardware, BIOS, and driver all to meet, then ACPI operating system could normally operate.
The ACPI standard definition power supply status and the ACPI thermal model of hardware register, BIOS interface (comprising configuration form, control method and mainboard device enumeration and configuration), system and equipment.The support code that BIOS provides is not to use assembly language, but with AML (ACPI Machine Language, the ACPI machine code exists with binary mode, for easy to use usually with hexadecimal representation) write.
Although ACPI is the new technology that is used for power management, wherein also include abundant hardware information, whether the description of fan parameter is wherein arranged, how to obtain and utilize these parameters establishment fan test program, become the industry urgent problem.
Summary of the invention
Technical matters to be solved by this invention is to provide a kind of generation method of detecting computer fan parameter sign indicating number, can obtain the parameter relevant with fan automatically, improves development efficiency and stability.
To achieve these goals, the invention provides a kind of generation method of detecting computer fan parameter sign indicating number, utilize the ACPI standard from BIOS, to parse the parameter relevant with fan, effectively to obtain and to be provided with the fan test code, its characteristics are, this method comprises: read BIOS image file in the internal memory according to the ACPI standard, and parse the AML code; Find out the keyword relevant in this AML code, and those keywords are translated to the ASL sign indicating number by the AML sign indicating number, to obtain the parameter relevant with fan with fan; Generate test code according to the parameter relevant with fan; Reach the program of determining to be subjected in the port execution system protection according to this test code.
The generation method of aforementioned calculation machine fan parameter testing sign indicating number, its characteristics be, should parameter relevant comprise with fan hwid, fan-status, the fan-status of fan establishing method, select the approach of test fan.
The generation method of aforementioned calculation machine fan parameter testing sign indicating number, its characteristics be, this fan-status comprise fan stop, slowly, state such as fast.
The generation method of aforementioned calculation machine fan parameter testing sign indicating number, its characteristics are that the approach of this test fan comprises SystemIO, EmbeddedController, SMBus, CMOS etc.
The generation method of aforementioned calculation machine fan parameter testing sign indicating number, its characteristics are that this generates in the step of test code, comprises the rotating speed of setting fan.
The generation method of aforementioned calculation machine fan parameter testing sign indicating number, its characteristics are, the step that this generates test code is to generate the C++ test code.
Effect of the present invention is to obtain the parameter relevant with fan automatically, the development efficiency height, and the test code stability of generation is high, and versatility is good.
Describe the present invention below in conjunction with the drawings and specific embodiments, but not as a limitation of the invention.
Description of drawings
Fig. 1 is the generation method flow diagram of detecting computer fan parameter sign indicating number of the present invention;
Fig. 2 translates into the process flow diagram of ASL code for binary code of the present invention.
Wherein, Reference numeral:
Step 101-parses the AML code according to the ACPI standard from BIOS
Step 102-analyzes this AML code, obtains the parameter relevant with fan
Step 103-generates test code according to the fan parameter
Step 104-determines system protection code in the port access according to test code
Step 201-searches keyword " 41 D0 0C 0B "
Step 202-judges whether to find
Step 203-resolves and the translation binary code obtains corresponding Power Resource object name for the ASL sign indicating number
Step 204-searches keyword " 5B 84 XX YY "
Step 205-resolves and the translation binary code is the ASL sign indicating number, obtains corresponding Method object name
Step 206-searches keyword " 14 XX YY "
Step 207-translation and parsing binary code are the AML sign indicating number, obtain corresponding Method object name
Embodiment
Present most operating systems have all been supported ACPI, ACPI is made up of some surface knot structures and some binary numerals, these surface knot structures and binary code are cured among the BIOS of computing machine, called in internal memory before os starting, wherein a part is that operating system cannot be changed.Just in this section in the changeless content, comprised the operand of port address, operation side-play amount and the hardware of many hardware.
In these hardware informations, the present invention can therefrom search automatically and obtain the content relevant with fan test.These contents are with the form of binary code (being the AML sign indicating number) record, standard according to ACPI, it can be translated into a kind of language is ASL (ACPI Source Language) sign indicating number, but the ASL sign indicating number can not directly move, being recorded in already in the language of BIOS at these, the present invention can parse and be provided with/read approach and the hardware port and the corresponding operation parameter of rotation speed of the fan.And that these information are worked out the fan test program just is requisite.
For these reasons, the invention provides a kind of new method, promptly by analyzing relevant the reading of describing among the ACPI/the be provided with generation method that rotation speed of the fan partial binary code obtains the fan test sign indicating number.
See also Fig. 1, be the generation method flow diagram of detecting computer fan parameter sign indicating number of the present invention, at first step 101 parses the AML code according to the ACPI standard from BIOS; Step 102 is analyzed this AML code, obtains the parameter relevant with fan; Step 103 generates test code according to the fan parameter; Step 104 is at last determined system protection code in the port access according to test code.
Wherein, this parses the step of AML code from BIOS according to the ACPI standard, be to obtain, at first in BIOS, search and the information-related keyword of fan, and then this keyword is translated as the ASL code from binary code (AML sign indicating number) by the BIOS image that reads in the internal memory.
The parameter relevant with fan comprises hwid, fan-status, the establishing method of fan-status, the test realization approach of fan of fan etc.Wherein, fan-status comprise fan stop, slowly, state such as fast, fan test realization approach comprises SystemIO, EmbeddedController, SMBus, CMOS etc.
The test code that generates can be the C++ code.After generating test code, can also analyze as the case may be, further the refining test code.
With a specific embodiment the present invention is described below.The BIOS reflection (AML) that at first needs to read in the internal memory finds keyword " 41 D0 0C 0B " (corresponding ASL sign indicating number: PNP0C0B); usually can find several groups of keyword combinations; each group is all represented a kind of fan-status information, as: fan stop, slowly, state such as fast.Each status information by _ HID, _ UID and _ information such as PR0 form.PNP0C0B is exactly fan _ HID (Hardware ID), utilizes this sign to find fan apparatus just, and _ HID keyword is " 08 5,F48 49 44 "._ UID (Unique persistent ID) keyword is " 08 5F 55 49 44 ", has described the sequence number of fan-status.Each group state has a unique relatively ID._ PR0 (PowerResource for D0) keyword is " 08 5F 50 52 30 ", has described the establishing method of this state.Following first byte (Byte) behind keyword is operational code, and operational code is the initial keyword of information format.It is the different corresponding different information formats of operational code.With AML sign indicating number " 12 " is example, and the ASL operational code of representative is " Package ", and corresponding second byte is that " Package Length " is the hyte length of Package information.Triplet is " Package Lead Byte ", notices that this part not only accounts for a byte probably, and concrete structure is described as:
Bit 7-6: high two bit representations of first byte the byte number of Package Length subsequently, be that this two place value is zero then bit 0-5 represents PackageLength if Package Length has only a byte;
Bit 5-4: reserve;
Bit 3-0: the most last byte of sign Package length.
After the 3rd byte be exactly _ details of PR0.This part has just been listed the object name that has off status to realize usually.(for convenience object of the argumentation of back hypothesis is by name " F001 ") further searches the realization approach of fan test according to this object name.
Look for keyword " 5B 84 XX F001 " according to the BIOS image of object name " F001 " in internal memory.This keyword divides three parts, and first " 5B 84 " is " PowerResOP " object coding name (ObjectEncoding Name); Second portion " XX " is " Package Lead Byte ", has identified the length of this object factory part; Third part " F0 01 " is exactly to prepare the object oriented of description.Is the argument section of " PowerResOP " after the keyword, a byte representation systemlevel parameter of this object; Two bytes in back are resourceorder parameters again.So far the description of relevant " PowerResOP " object finishes.Back in the object factory part is the description that the object correlation technique is arranged.This object generally include three kinds of method: _ STA, _ ON, _ OFF, be respectively and obtain fan-status, open this state, shut this state.At this is the example explanation with " _ ON " only, and other method is similar therewith.
The binary identification coding of method (MethodOP) object is " 14 ".The length that is the method description part then accounts for a byte.Be method parameter then.Method has two parameters, first parameter is title string " _ ON_ ", second parameter account for a byte wherein each bit be expressed as follows: bit 0-2: number of parameters (0-7), bit 3:SerializeFlag, value " 0 " expression NotSerialized, value " 1 " expression Serialized, bit 4-7:SyncLevel (0x00-0x0f).The Serialize rule be used for the method that prevents repeat call, if create the namespace object, this rule is even more important, and does not have this rule, repeats call method and will fail when attempting creating same namespace object.The nested level of logic of SyncLevel parameter statement synchronization object, scope is 0-15.Back another method object (supposing that the method object is called " F002 ") normally again, if this object has parameter, having the data type that parameter identification 0x0a, 0x0b, 0x0c, 0x0e, 0x0d represent parameter respectively before the parameter is byte, WORD, DWORD, QWORD, String.So far object PowerResOP translation finishes.Be exactly method for tracing object " F002 " below.
Look for keyword " 14 XX F0 02 " according to the BIOS image of object name " F001 " in internal memory.The binary identification coding of the method that first byte was said above being (Method) object is " 14 ".Second byte " XX " is " Package Lead Byte ", so this part not only accounts for a byte probably.The back is the specific implementation of this method object.Because the specific implementation method difference of different type of machines, but its translation process and top argumentation are similar, have not introduced one by one here.
See also Fig. 2, brief description above-mentionedly translate into ASL (ACPI SourceLanguage by binary code, the ACPI source language) process of code, at first step 201 is searched keyword " 41D00C0B ", step 202, judge whether to find, step 203 if find, is then resolved and is translated binary code and obtain corresponding Power Resource object name for the ASL sign indicating number, step 204, then search keyword " 5B 84 XX YY ", wherein, XX: " Package Length ", YY: " Power Resource object name ", step 205, resolving and translate binary code (AML sign indicating number) then is the ASL sign indicating number, obtains corresponding Method object name, step 206, search keyword " 14 XX YY " then, wherein, XX: " PackageLength ", YY: " Method object name; step 207, translation and parsing binary code are the ASL sign indicating number, obtain corresponding Method object name.
Ruby type with HP series notebook is an example, and the relevant fan part of ACPI BIOS binary translation becomes the contrast of AML sign indicating number to be described below:
1, searching key word " 41 D0 0C 0B ":
41?D0?0C?0B?08?5F?55?49?44?0A?00 A...._UID..
08?5F?50?52?30?12?06?01?43?32?30?36?5B?82?22?43
._PR0...C206[.”C
32?30?42?08?5F?48?49?44?0C 20B._HID.
Name(_HID (Path\_TZ_.C20A._HID),EisaId(“PNP0C0B”))
Name(_UID (Path\_TZ_.C20A._UID),0x00)
Name(_PR0 (Path\_TZ_.C20A._PR0),Package(0x01)
{
C206
})
2, searching key word " 5B 84 XX YY "
5B?84?36?43?32?30?36?00?00.rh..a.a[.6C206..
00?14?0F?5F?53?54?41?00?A4?43?31?46?46?0A?01?0A
..._STA..C1FF...
80?14?0E?5F?4F?4E?5F?00?43?32?30?30?0A?01?0A?80
..._ON_.C200....
14?0E?5F?4F?46?46?00?43?32?30?31?0A?01?0A?9E
.._OFF.C201....
PowerResource(C206(Path\_TZ_.C206),0x00,0x0000)
{
Method(_STA (Path\_TZ_.C206._STA),0,NotSerialized)
{
Return(C1FF(0x01,0x80))
}
Method(_ON(Path\_TZ_.C206._ON_),0,NotSerialized)
{
C200(0x01,0x80)
}
Method(_OFF(Path?\_TZ_.C206._OFF),0,NotSerialized)
{
C201(0x01,0x9E)
}
}
3, searching key word " 14 XX C200 "
144B?08?43?32?30?30?0A?79?68?0A?01?60 .K.C200.yh..
76?60?70?0A?9D?5C?2F?05?5F?53?42?5F?43?30?34?36
v`p..\.._SB_C046
43?30?35?39?43?30?45?39?43?31?31?45?70?0A?62?5C
C059C0E9C11Ep.b\
2F?05?5F?53?42?5F?43?30?34?36?43?30?35?39?43?30
.._SB_C046C059C0
45?39?43?31?31?46?A0?3E?93?7B?43?31?46?45?60?00
E9C11F.>.{C1FE`.
0A?00?70?0A?92?5C?2F?05?5F?53?42?5F?43?30?34?36
..p..\.._SB_C046
43?30?35?39?43?30?45?39?43?31?31?45?70?69?5C?2F
C059C0E9C11Epi\.
05?5F?53?42?5F?43?30?34?36?43?30?35?39?43?30?45
._SB_C046C059C0E
39?43?31?31?46?7D?43?31?46?45?68?43?31?46?45
9C11F}C1FEhC1FE
Method(C200(Path?\_TZ_.C200),2,Seriali?zed)
{
ShiftLeft(Arg0,0x01,Local0)
Decrement(Local0)
Store(0x9D,\_SB.C046.C059.C0E9.C11E)
Store(0x62,\_SB.C046.C059.C0E9.C11F)
If(LEqual(And(C1FE,Local0),0x00))
{
Store(0x92,\_SB.C046.C059.C0E9.C11E)
Store(Arg1,\_SB.C046.C059.C0E9.C11F)
}
Or(C1FE,Arg0,C1FE)
}
4, searching key word " C11E " " C11F "
5B?80?43?31?31?44 [.C11D
01?0A?3E?0A?02?5B?81?10?43?31?31?44?01?43?31?31
..>..[..C11D.C11
45?08?43?31?31?46?08 E.C11F.
OperationRegion (C11D(Path\_SB_.C046.C059.C0E9.C11D),SystemIO,0x3E,0x02)
Field(C11D,ByteAcc,NoLock,Preserve)
{
C11E,8,
C11F,8
}
Then, can obtain the approach of different type of machines test fan by the ASL code.Realize that fan test has number of ways, what use always is the SystemIO visit.Other method such as EmbeddedController, SMBus, CMOS visits etc. are not because of and less here elaborating of using similar with SystemIO.Usually Search Flags accords with OperationRegion in the ASL that obtains, and second parameter of this statement indicated the approach of fan test.The basic format of this statement is:
OperationRegion(
RegionName, // zone name
RegionSpace, // regional space keyword is exactly the approach that fan test is realized
Offset, // opposed area space plot side-play amount, integer type
Length//zone length, integer type
)
With this paper example is the acquisition process of example analysis test method.
It is as follows that search " OperationRegion " can get the 4th step of example code in example ASL:
OperationRegion(C11D(Path\_SB_.C046.C059.C0E9.C11D),SystemIO,0x3E,0x02)
Can be interpreted as according to the statement basic format: operating area " C11D " belongs to SMBus equipment, and by SystemIO regional space skew 0x3E byte-accessed, it is 0x3E that this zone takies two bytes of SystemIO, 0x3F.
Lift example in addition by EmbeddedControl visit test fan:
OperationRegion(ECF2(Path\_SB_.PCI0.LPCB.EC0_.ECF2),EmbeddedControl,0x00,0xFF)
Expression operating area " ECF2 " belongs to SMBus equipment, and by EmbeddedControl regional space skew 0x00 byte-accessed, this zone takies 256 bytes in EmbeddedControl space.
Immediately following after the OperationRegion statement, being the Field statement.This statement is the specific descriptions in respective operations zone, has stated the value and the ordering of a series of named data object.Basic format is as follows:
Field(
RegionName, // zone name=>OperationRegion
AccessType, // access type
LockRule, // rule locks
UpdateRule//update rule
){FieldUnitList}
At top example:
Field(C11D,ByteAcc,NoLock,Preserve)
{
C11E,8,
C11F,8
}
Be interpreted as: section object name " C11D ", " ByteAcc " expression access mode is a byte, is indifferent to global lock (will there be explanation Global Lock back) during object in " NoLock " expression access domain, " Preserve " reserves." C11E " is positioned at first byte of object " C11D " region, because account for 8Bit.Same object " C11F " also accounts for a byte.
Utilize parsing ASL sign indicating number to obtain fan correlation parameter and control method, can generate corresponding C++ code:
ASL:Method(C200(Path\_TZ_.C200),2,Serialized)
C++:void?SetFanOn(unsigned?char?arg0,unsigned?char?arg1)
{
ASL:ShiftLeft(Arg0,0x01,Local0)
C++:unsigned?char?Local0;
C++:Local0=arg0<<1;
ASL:Decrement(Local0)
C++:Local0--;
ASL:Store(0x9D,\_SB.C046.C059.C0E9.C11E)
C++:outportb(0x3E,0x9D);
ASL:Store(0x62,\_SB.C046.C059.C0E9.C11F)
C++:outportb(0x3F,0x62);
ASL:If(LEqual(And(C1FE,Local0),0x00))
C++:unsigned?char?flag=0;
C++:if((flag&Local0)==0)
{
ASL:Store(0x92,\_SB.C046.C059.C0E9.C11E)
C++:outportb(0x3E,0x92);
ASL:Store(Arg1,\_SB.C046.C059.C0E9.C11F)
C++:outportb(0x3F,Arg1);
}
ASL:Or(C1FE,Arg0,C1FE)
C++:flag=flag|arg0;
}
Top instance variable flag is the byte of sign fan-status in the ACPI system, can ignore when fan-status is set.Parameter arg0 represents state code, also can ignore when rotation speed of the fan is set.The rotation speed of the fan value that the arg1 representative need be opened.The rotation speed of the fan C++ code that is provided with after the refining is
void?SetFanOn(unsigned?char?speed)
{
outportb(0x3E,0x92);
outportb(0x3F,speed);
}
For definite system protection sign indicating number, can determine whether to be necessary by the description of analyzing the LockRule parameter of object in the OperationRegion statement when rotation speed of the fan is set, to obtain " Global Lock "." Global Lock " is used between OSPM (Operation System Power Management) environment and peripheral control unit environment (as SMI) synchronization of access and shares hardware resource.In some moment, this Lock can only be monopolized by OSPM or firmware.When Lock entitlement was applied, it may be taken by miscellaneous equipment, applied for that in the case environment withdraws from and waited for that the d/d signal of Lock sends.For example GlobalLock can be used for protecting Embedded Controler interface.At synchronization an OSPM or firmware visit Embedded Controler interface can only be arranged.The conflict that has taken place when having had this " lock " to prevent from rotation speed of the fan is set effectively causes situation generations such as deadlock.Because of the obtaining and discharge the emphasis that is not that this paper discusses of global lock, therefore only do schematic illustration, not deeply explanation.
LockRule does not need in the rotating speed to lock for " NoLock " expression is provided with in listed example.Because the above code that obtains is the hardware bottom layer code, be necessary between twice port operation, to add time-delay to strengthen stability if under operating system, call, the length of time-delay can be the 2-10 millisecond, and obtaining function S etFanOn, that the final method of rotation speed of the fan is set is as follows.
LockRule does not need in the rotating speed to lock for " NoLock " expression is provided with in listed example.Because the above code that obtains is the hardware bottom layer code, be necessary between twice port operation, to add time-delay to strengthen stability if under operating system, call, the length of time-delay can be the 2-10 millisecond, and obtaining function S etFanOn, that the final method of rotation speed of the fan is set is as follows.
void?SetFanOn(unsigned?char?speed)
{
outportb(0x3E,0x92);
delay(10);
outportb(0x3F,speed);
}
Present embodiment is only described the generative process of obtaining of a certain state of fan " _ ON " method C++ code in detail, and other method and the method are similar, only need adopt in a like fashion according to the present invention and just can all be realized.
Certainly; the present invention also can have other various embodiments; under the situation that does not deviate from spirit of the present invention and essence thereof; those of ordinary skill in the art can make various corresponding changes and distortion according to the present invention, but these corresponding changes and distortion all should belong to the protection domain of claim of the present invention.

Claims (6)

1. the generation method of a detecting computer fan parameter sign indicating number utilizes the ACPI standard to parse the parameter relevant with fan from BIOS,, it is characterized in that this method comprises effectively to obtain and to be provided with the fan test code:
Read BIOS image file in the internal memory according to the ACPI standard, and parse the AML code;
Find out the keyword relevant in this AML code, and those keywords are translated to the ASL sign indicating number by the AML sign indicating number, to obtain the parameter relevant with fan with fan;
Generate test code according to the parameter relevant with fan; And
Determine to be subjected in the port execution program of system protection according to this test code.
2. the generation method of detecting computer fan parameter sign indicating number according to claim 1 is characterized in that, should parameter relevant comprise with fan hwid, fan-status, the fan-status of fan establishing method, select the approach of test fan.
3. the generation method of detecting computer fan parameter sign indicating number according to claim 2 is characterized in that, this fan-status comprise fan stop, slowly, fast state.
4. the generation method of detecting computer fan parameter sign indicating number according to claim 2 is characterized in that the approach of this test fan comprises SystemIO, EmbeddedController, SMBus, CMOS.
5. the generation method of detecting computer fan parameter sign indicating number according to claim 1 is characterized in that, this generates in the step of test code, comprises the rotating speed of setting fan.
6. the generation method of detecting computer fan parameter sign indicating number according to claim 1 is characterized in that, the step that this generates test code is to generate the C++ test code.
CNB2004100746795A 2004-09-13 2004-09-13 Method for detecting computer fan parameter Expired - Fee Related CN100369006C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100746795A CN100369006C (en) 2004-09-13 2004-09-13 Method for detecting computer fan parameter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100746795A CN100369006C (en) 2004-09-13 2004-09-13 Method for detecting computer fan parameter

Publications (2)

Publication Number Publication Date
CN1749969A CN1749969A (en) 2006-03-22
CN100369006C true CN100369006C (en) 2008-02-13

Family

ID=36605428

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100746795A Expired - Fee Related CN100369006C (en) 2004-09-13 2004-09-13 Method for detecting computer fan parameter

Country Status (1)

Country Link
CN (1) CN100369006C (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141831A (en) * 2010-02-02 2011-08-03 英业达股份有限公司 Method for controlling rotating speed of fan by utilizing baseboard management controller
CN102156518B (en) * 2010-02-12 2015-06-10 英业达股份有限公司 Heat radiation control method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1273389A (en) * 1999-05-10 2000-11-15 大众电脑股份有限公司 Method for loading driver
US6185677B1 (en) * 1998-09-30 2001-02-06 Phoenix Technologies Ltd. Automatic generation of ACPI source language for peripheral resource configuration
CN2422674Y (en) * 1999-10-19 2001-03-07 神基科技股份有限公司 Frequency switchover device driven by electric fan
TW475151B (en) * 1999-12-15 2002-02-01 Inventec Corp Interpreting method of AML interpreter

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185677B1 (en) * 1998-09-30 2001-02-06 Phoenix Technologies Ltd. Automatic generation of ACPI source language for peripheral resource configuration
CN1273389A (en) * 1999-05-10 2000-11-15 大众电脑股份有限公司 Method for loading driver
CN2422674Y (en) * 1999-10-19 2001-03-07 神基科技股份有限公司 Frequency switchover device driven by electric fan
TW475151B (en) * 1999-12-15 2002-02-01 Inventec Corp Interpreting method of AML interpreter

Also Published As

Publication number Publication date
CN1749969A (en) 2006-03-22

Similar Documents

Publication Publication Date Title
CN100559346C (en) The system and method that is used for instantiating abstract class
US11366643B2 (en) Generating dynamic modular proxies
US6487656B1 (en) System and method for providing functionalities to system BIOS
RU2571364C2 (en) Method and computer system for hiding selected installed functions of multifunctional command
CN100377085C (en) Method for implementing hardware image starting optimizing of embedded operating system
JP4913302B2 (en) Language subset validation
US20160154673A1 (en) Methods, systems, and computer program products for providing a minimally complete operating environment
CN109426613B (en) Method for retrieving debugging data in UEFI and computer system thereof
US11640300B2 (en) Byte comparison method for string processing and instruction processing apparatus
US20040111707A1 (en) Debugger for multiple processors and multiple debugging types
WO2013088818A1 (en) Virtual computer system, virtualization mechanism, and data management method
CN106909349A (en) A kind of UEFI firmware implementation methods based on server
CN100369006C (en) Method for detecting computer fan parameter
CN106909400A (en) A kind of UEFI firmware implementation methods based on notebook
US8661425B1 (en) Method, apparatus, and computer-readable medium for storing data associated with a firmware program
US7797462B2 (en) Method and apparatus for communicating with an embedded controller which includes a reference to metadata objects
NL2029030B1 (en) Device, system and method to determine a structure of a crash log record
CN102591669A (en) Modularized computer firmware and realizing method thereof
KR20070049873A (en) Method, apparatus, and system for installing software
TW200417924A (en) WIN F-language interpreter
US8135943B1 (en) Method, apparatus, and computer-readable medium for generating a dispatching function
WO2023245779A1 (en) Memory judgment method and apparatus, storage medium, and electronic device
TWI260492B (en) Computer fan parameters testing method
US10346225B2 (en) Synthesized modules for module renaming
US20130132061A1 (en) Just-in-time static translation system for emulated computing environments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080213

Termination date: 20100913