US7694116B2 - Test method for verifying installation validity of a PCI device on a electronic device - Google Patents

Test method for verifying installation validity of a PCI device on a electronic device Download PDF

Info

Publication number
US7694116B2
US7694116B2 US11309885 US30988506A US7694116B2 US 7694116 B2 US7694116 B2 US 7694116B2 US 11309885 US11309885 US 11309885 US 30988506 A US30988506 A US 30988506A US 7694116 B2 US7694116 B2 US 7694116B2
Authority
US
Grant status
Grant
Patent type
Prior art keywords
pci
device
devices
test
information
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, expires
Application number
US11309885
Other versions
US20080091859A1 (en )
Inventor
Hoi Chan
Li-Chuan Qiu
Qing-Long Chai
Yu-Hao Wu
Ru-Da Xu
Yue Li
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.)
Hongfujin Precision Industry (Shenzhen) Co Ltd
Hon Hai Precision Industry Co Ltd
Original Assignee
Hongfujin Precision Industry (Shenzhen) Co Ltd
Hon Hai Precision Industry Co Ltd
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
Grant date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test

Abstract

A test method for verifying installation validity of a peripheral component interconnected (PCI) devices on an electronic device having a test module, comprises the steps of: (a) storing information of onboard devices and slots on motherboards of different electronic devices and information of PCI devices added in the slots of the motherboards in a first data storing device; (b) storing a bill of material (BOM) showing all possible configurations of the different computers in a second data storing device; (c) generating a configuration file according to the BOM and information of the motherboards and PCI devices; (d) the test module in the computer checking actual hardware configuration of the computer and comparing the actual configuration with the corresponding information recorded in the configuration file; (e) outputting a test result.

Description

FIELD OF THE INVENTION

The present invention relates to test methods for verifying installation validity of a device, particularly to a test method for testing installation validity of a Peripheral Component Interconnected (PCI)/PCI Express device on an electronic device.

DESCRIPTION OF THE RELATED ART

After a PCI device such as a video card, a sound card, or a network card is installed on a computer, a test for verifying installation validity of the PCI device on the computer is needed. A conventional test method for verifying installation validity of a PCI device on a computer is provided by accessing the routing table in the Basic Input/Output System (BIOS), for getting the slot information of a computer, thereby verifying installation validity of the PCI device in the slot. However, this test method needs an integrated routing table to be recorded in the BIOS. But in actuality, some slot (such as an Accelerated Graphics Port) information of the computer is not recorded in the routing table, therefore, the installation validity of the PCI devices on the missed slots cannot be verified.

Another conventional test method for verifying installation validity of a PCI device on a computer is provided by comparing a bus number, device number, and function number of the PCI devices with the corresponding information in a configuration file. Because the bus, device, and function numbers of the PCI are determined by the actual hardware configuration of the computer, it is necessary to first set up a computer according to the configuration. The configuration file is generated by the computer according to the configuration information. If some components of the computer can be replaced by alternative components, then operators must set up each computer according to all possible configurations of the computer and repeat generating configuration file for each configuration. This method relies too much on the operators, is not efficient, and may give rise to mistakes.

What is needed, therefore, is a test method for automatically verifying installation of PCI devices on an electronic device.

SUMMARY OF THE INVENTION

A test method for verifying installation validity of a peripheral component interconnected (PCI) devices on an electronic device having a test module, comprises the steps of: (a) storing information of onboard devices and slots on motherboards of different electronic devices and information of PCI devices added in the slots of the motherboards in a first data storing device; (b) storing a bill of material (BOM) showing all possible configurations of the different computers in a second data storing device; (c) generating a configuration file according to the BOM and information of the motherboards and PCI devices; (d) the test module in the computer checking actual hardware configuration of the computer and comparing the actual configuration with the corresponding information recorded in the configuration file; (e) outputting a test result.

Other advantages and novel features will be drawn from the following detailed description of preferred embodiments with attached drawings, in which:

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a chart showing configuration of a test system for verifying installation validity of a PCI/PCI Express device on an electronic device in accordance with a preferred embodiment of the present invention; and

FIG. 2 is a tree chart showing paths of PCI/PCI express devices mounted on the computer.

FIG. 3 is a flow chart of a test method for verifying installation validity of a PCI/PCE Express device on an electronic device in accordance with a preferred embodiment of the present invention; and

FIG. 4 is a detailed flow chart of one step of the test method in FIG. 3.

DETAILED DESCRIPTION OF THE INVENTION

Referring to FIG. 1, a test system for verifying installation validity of a PCI/PCE Express device on an electronic device in accordance with a preferred embodiment includes a first data storing device 10, a second data storing device 20, a file generator 30 for generating a configuration file, and a unit under test (UUT) 50. The first data storing device 10 is for storing motherboard information (including information of on board device and slot) and PCI/PCI Express device (such as NIC and VGA) information. The second data storing device 20 is for storing a bill of material (BOM) recording all possible hardware configurations of different electronic devices or Stock Keeping Units (SKU), such as a personal computer. The motherboard information, the PCI/PCI Express device information, and the BOM can also be stored in one data storing device. The file generator 30 is connected to the first data storing device 10, the second data storing device 20, and the UUT 50 via network, for generating a configuration file according to the motherboard information, PCI/PCI Express information, and the BOM, and transmitting the configuration file to the UUT 50. The UUT 50 includes at least one computer having a test module. Some PCI/PCI Express devices are added on the computer. The test module is used for testing installation validity of the PCI/PCI Express device on the computer. After all PCI/PCI Express devices are tested, the UUT 50 generates a test report. The information of the motherboard and PCI/PCI Express device is stored in the first data storing device 10.

Referring also to FIG. 2, a PCI/PCI Express device tree is used for showing general mounting positions of the PCI/PCI Express devices in a computer system. A PCI/PCI Express device tree in accordance with one embodiment includes a primary bus 0, a bus 1, and a bus 2. Devices 0, 1, and 2 on the primary bus 0 are onboard devices. Device 1 is a PCI Bridge. The path of the PCI Bridge is designated by a combination of a device number and a function number. The function number of device 0 and device 1 is 0. The function numbers of device 2 are 0 and 1. Devices 3 and 4 are on bus 1. The device 3 on bus 1 is a currently empty slot for receiving a PCI device. The device 4 is a slot with a TV Tuner card therein. The TV Tuner card includes a PCI bridge connecting bus1 and bus2 together. The function number of the devices 3 and 4 is 0. A device 5 and a device 6 are on bus 2. The function number of the devices 5 and 6 is 0. The path of a PCI/PCI Express device is presented by a combination of a bus number, a PCI Bridge path, and a device number. For example, the path of the device 3 is represented by “B0D1F0D3”.

Referring also to FIG. 3, the test method for verifying installation validity of a PCI/PCI Express device on a computer includes following steps:

Step 1: Motherboard information and PCI/PCI Express devices information is stored in the first data storing device 10. The motherboard information includes information of onboard devices and slots on the motherboard for the PCI/PCI Express devices inserted therein. The onboard devices information includes the paths of the onboard devices, the function numbers of the onboard devices, information on manufacturers of the onboard devices, and other information about the onboard device. The paths of the onboard device are represented by bus numbers and device numbers. For example, the path of the device 2 on the bus 0 is represented by “B0D2”. The slots information includes the paths of slots, the bus number of the slots, and the function numbers of the slots, etc. The path of the slot (device 4) on bus 1 is represented by “B0D1F0D4”. The PCI/PCI Express device information includes relative paths, bus numbers, device numbers, and function numbers of the PCI/PCI Express devices, etc. In the FIG. 2, the bus 0 is connected to bus 1 via a PCI Bridge, but the bus 0 may also be connected to other buses via other PCI Bridges (not shown). When the bus 0 is connected to more than one bus via different PCI bridges, we cannot fix which one is bus 1 and which one is bus 2. And the same thing may happen on bus 1 or bus 2 in the FIG. 2. That is, except the primary bus 0, the numbers of other buses are not fixed when the configuration file is generated, because of the PCI Bridge in the PCI/PCI Express device. Therefore, a relative path is used to represent the mounting position of the PCI device on the motherboard. And a code “0xff” is used to represent the unfixed bus number. The relative path is stored in the configuration file. Before the test process is started, the test module will find the actual bus numbers of the PCI device added on the motherboard, and the code “0xff” in the relative path will be replaced by the actual bus number. The relative path is represented by a combination of the path of the PCI Bridge and the device number and function number of the determined PCI device connected to the PCI Bridge. For instance, the function 0 of device 5 in FIG. 2 is described as relative path “F0D5F0”. An absolute path of a PCI/PCI device is represented by a combination of the path of a slot on the motherboard and the relative path of the PCI/PCI Express device, for representing the mounting position of the PCI/PCI Express device in the computer system.

Step 2: The BOM is stored in the second data storing device.

Step 3: The test system generates a configuration file according to the BOM and information of motherboard and PCI/PCI Express devices. When one type of computer is tested, the information in the configuration file corresponding to the type of computer is selected to be compared with the actual computer hardware configuration. The configuration file include paths, bus numbers, device numbers and function numbers of the slots on the motherboard and names, paths, bus numbers, device numbers and function numbers of the PCI/PCI Express devices.

Step 4: The test module in the UUT 50 verifies installation validity of the PCI/PCI Express device on the computer.

Referring to FIG. 4, the detailed test method of step 4 is described as follows:

Step 41: The test module accesses the PCI/PCI Express device tree and records actual information of all PCI/PCI Express devices on the computer. In the accessing process, the test module finds the device numbers and function numbers of the PCI Bridges on the primary bus for getting the bus number of a secondary bus, which is connected to the PCI Bridge. The process is repeated until all PCI/PCI Express devices on the computer are found.

Step 42: The test module finds the information corresponding to the actual hardware configuration of the computer from the configuration file. The unfixed bus numbers of the PCI/PCI Express devices in the configuration file are dynamically amended to the actual bus number checked by the test module.

Step 43: Comparing the actual information of the onboard devices checked by the test module with that recorded in the configuration file, and processing the result of the comparison.

Step 44: Comparing the actual information of all PCI/PCI Express devices added in the slots of the motherboard with the corresponding information recorded in the configuration file, and processing the result of the comparison.

Step 45: Checking the UUT 50 to search for any PCI/PCI Express device not recorded in the configuration file.

Step 46: Outputting a test report.

It is to be understood, however, that even though numerous characteristics and advantages have been set forth in the foregoing description of preferred embodiments, together with details of the structures and functions of the preferred embodiments, the disclosure is illustrative only, and changes may be made in detail, especially in matters of shape, size, and arrangement of parts within the principles of the invention to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed.

Claims (8)

1. A test system for verifying installation validity of peripheral component interconnected (PCI) devices on an electronic device, comprising:
a first data storing device configured for recording information of motherboards and PCI devices added on the motherboards of different electronic devices;
a second data storage device configured for recording a Bill of Material (BOM) showing all possible configurations of the different electronic devices;
a file generator connected to the first and second data storing device and configured for generating a configuration file according to the information and BOM of the data storing device; and
at least one electronic device having a test module connected to the file generator, the test module being configured for checking actual configuration of the computer and comparing the actual configuration with the corresponding information in the configuration file; wherein the test module accesses a PCI device tree for getting and recording the information of the PCI devices on the computer, arid dynamically amends a corresponding unfixed bus number of the PCI device in the configuration file according to the actual bus number.
2. A test method for verifying installation validity of Peripheral Component Interconnected (PCI) devices on an electronic device having a test module, comprising the steps of:
(a) storing information of onboard devices and slots on motherboards of different electronic devices and information of PCI devices added in the slots in a first data storing device;
(b) storing a Bill of Material (BOM) showing all possible configurations of the different electronic devices in a second data storing device;
(c) generating a configuration file according to the BOM and information of the motherboards and PCI devices;
(d) checking actual hardware configuration of the electronic device and comparing the actual configuration with the corresponding information in the configuration file, for verifying installation validity of the PCI/PCI Express device on the electronic device, wherein the test module accesses a PCI device tree for getting and recording the information of the PCI devices on the computer and dynamically amends a corresponding unfixed bus number of the PCI device in the configuration file according to the actual bus number; and
(e) outputting a lest result.
3. The test method for verifying installation validity of PCI devices on a electronic device as described in claim 2, wherein the step (d) further comprises steps of:
checking the actual information of onboard devices and comparing with the corresponding information recorded in the configuration file;
checking the actual information of all PCI devices added in the slots of the motherboard and comparing with the corresponding information recorded in the configuration file; and
checking the computer to search any PCI/PCI device not recorded in the configuration file.
4. The test method for verifying installation validity of PCI devices on an electronic device as described in claim 3, wherein the step of accessing the PCI device tree further comprises the steps of:
finding the device number and function number of a PCI Bridge on a primary bus using the test module;
getting a bus number of a secondary bus connected to the PCI bridge according to the device number and function number of the PCI Bridge; and
repeating the aforesaid steps until all PCI devices on the tree are found.
5. The test method for verifying installation validity of PCI devices on an electronic device as described in claim 3, wherein the configuration file comprises absolute paths for showing mounting positions of the PCI/PCI Express devices, each path is represented by a combination of a path of a slot on the motherboard and a relative path of the PCI/PCI Express device added in the slot.
6. The test method for verifying installation validity of PCI devices on an electronic device as described in claim 5, wherein the relative path of the PCI/PCI Express device is represented by a combination of a path of a PCI Bridge, and a device number and function number of the PCI/PCI Express device connected to the PCI Bridge.
7. The test method for verifying installation validity of PCI devices on an electronic device as described in claim 2, wherein the configuration file are generated by a file generator connected to the first and second data storing device.
8. The test method for verifying installation validity of PCI devices on an electronic device as described in claim 2, wherein the information of an board devices and slots on the motherboard and PCI devices is stored in the data storing device in an extensible markup language form.
US11309885 2006-10-17 2006-10-17 Test method for verifying installation validity of a PCI device on a electronic device Expired - Fee Related US7694116B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11309885 US7694116B2 (en) 2006-10-17 2006-10-17 Test method for verifying installation validity of a PCI device on a electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11309885 US7694116B2 (en) 2006-10-17 2006-10-17 Test method for verifying installation validity of a PCI device on a electronic device

Publications (2)

Publication Number Publication Date
US20080091859A1 true US20080091859A1 (en) 2008-04-17
US7694116B2 true US7694116B2 (en) 2010-04-06

Family

ID=39304348

Family Applications (1)

Application Number Title Priority Date Filing Date
US11309885 Expired - Fee Related US7694116B2 (en) 2006-10-17 2006-10-17 Test method for verifying installation validity of a PCI device on a electronic device

Country Status (1)

Country Link
US (1) US7694116B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100318854A1 (en) * 2009-06-15 2010-12-16 Inventec Corporation System and method for checking firmware definition file

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6175889B1 (en) * 1998-10-21 2001-01-16 Compaq Computer Corporation Apparatus, method and system for a computer CPU and memory to high speed peripheral interconnect bridge having a plurality of physical buses with a single logical bus number
US6311242B1 (en) * 1998-08-27 2001-10-30 Apple Computer, Inc. Method and apparatus for supporting dynamic insertion and removal of PCI devices
US6643811B1 (en) 1998-10-22 2003-11-04 Koninklijke Philips Electronics N.V. System and method to test internal PCI agents
US7434112B2 (en) * 2005-04-22 2008-10-07 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. System and method for verifying validity of assembled PCI devices of a computer
US7506083B1 (en) * 2000-11-29 2009-03-17 Palm, Inc. Method and system for identifying a peripheral device by a high priority device-specific notification handler

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7133846B1 (en) * 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US5995965A (en) * 1996-11-18 1999-11-30 Humetrix, Inc. System and method for remotely accessing user data records
US6026166A (en) * 1997-10-20 2000-02-15 Cryptoworx Corporation Digitally certifying a user identity and a computer system in combination
US6256734B1 (en) * 1998-02-17 2001-07-03 At&T Method and apparatus for compliance checking in a trust management system
US6751735B1 (en) * 1998-03-23 2004-06-15 Novell, Inc. Apparatus for control of cryptography implementations in third party applications
US6131096A (en) * 1998-10-05 2000-10-10 Visto Corporation System and method for updating a remote database in a network
EP1132796A1 (en) * 2000-03-08 2001-09-12 Universite Catholique De Louvain Mobile code and method for resource management for mobile code
EP1277180A2 (en) * 2000-04-24 2003-01-22 Visa International Service Association Online payer authentication service
JP2002132730A (en) * 2000-10-20 2002-05-10 Hitachi Ltd System and method for authentication or access management based on reliability and disclosure degree of personal information
US7657747B2 (en) * 2001-06-15 2010-02-02 Link Us All, Llc System and method for specifying security, privacy, and access control to information used by others
US20050015340A1 (en) * 2003-06-27 2005-01-20 Oracle International Corporation Method and apparatus for supporting service enablers via service request handholding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311242B1 (en) * 1998-08-27 2001-10-30 Apple Computer, Inc. Method and apparatus for supporting dynamic insertion and removal of PCI devices
US6175889B1 (en) * 1998-10-21 2001-01-16 Compaq Computer Corporation Apparatus, method and system for a computer CPU and memory to high speed peripheral interconnect bridge having a plurality of physical buses with a single logical bus number
US6643811B1 (en) 1998-10-22 2003-11-04 Koninklijke Philips Electronics N.V. System and method to test internal PCI agents
US7506083B1 (en) * 2000-11-29 2009-03-17 Palm, Inc. Method and system for identifying a peripheral device by a high priority device-specific notification handler
US7434112B2 (en) * 2005-04-22 2008-10-07 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. System and method for verifying validity of assembled PCI devices of a computer

Also Published As

Publication number Publication date Type
US20080091859A1 (en) 2008-04-17 application

Similar Documents

Publication Publication Date Title
US6496790B1 (en) Management of sensors in computer systems
US6591403B1 (en) System and method for specifying hardware description language assertions targeting a diverse set of verification tools
US20130117855A1 (en) Apparatus for automatically inspecting security of applications and method thereof
US7287190B2 (en) Simultaneous execution of test suites on different platforms
US20030217193A1 (en) Method, system and article of manufacture for a firmware image
US7234061B1 (en) Methods and apparatus for verifying modules from approved vendors
US6681329B1 (en) Integrity checking of a relocated executable module loaded within memory
US7080357B2 (en) Software package verification
US6895414B2 (en) Method and apparatus for authorizing and reporting changes to device configurations
US20070033586A1 (en) Method for blocking the installation of a patch
US20030200026A1 (en) System and method using environment memory having signatures
US7577948B2 (en) System and method for providing computer upgrade information
US5926622A (en) Efficient regression verification
US20050137844A1 (en) Method for generating a language-independent regression test script
US7293213B1 (en) Method for detecting software errors and vulnerabilities
US7100034B2 (en) System for selecting another processor to be the boot strap processor when the default boot strap processor does not have local memory
US20050107987A1 (en) System and method for testing a memory with an expansion card using DMA
Guo et al. Validation and verification of computer forensic software tools—Searching Function
US20030041286A1 (en) Digital component test apparatus an apparatus for testing electronic assemblies and a method for remotely testing a peripheral device having an electronic assembly
US20070220493A1 (en) Recording medium, software verification apparatus and software verification method
US20140108774A1 (en) Dynamically recommending changes to an association between an operating system image and an update group
US6915494B2 (en) Fault analyzing system, method for pursuing fault origin and information storage medium for storing computer program representative of the method
US7788421B1 (en) Detectable null memory for airflow baffling
US5822620A (en) System for data alignment by using mask and alignment data just before use of request byte by functional unit
US20060156137A1 (en) Test program set generation tool

Legal Events

Date Code Title Description
AS Assignment

Owner name: HON HAI PRECISION INDUSTRY CO., LTD., TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHAN, HOI;QIU, LI-CHUAN;CHAI, QING-LONG;AND OTHERS;REEL/FRAME:018396/0533

Effective date: 20060920

Owner name: HON HAI PRECISION INDUSTRY CO., LTD.,TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHAN, HOI;QIU, LI-CHUAN;CHAI, QING-LONG;AND OTHERS;REEL/FRAME:018396/0533

Effective date: 20060920

AS Assignment

Owner name: HONG FU JIN PRECISION INDUSTRY (SHENZHEN) CO., LTD

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HON HAI PRECISION INDUSTRY CO., LTD.;REEL/FRAME:023722/0126

Effective date: 20091216

Owner name: HON HAI PRECISION INDUSTRY CO., LTD., TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HON HAI PRECISION INDUSTRY CO., LTD.;REEL/FRAME:023722/0126

Effective date: 20091216

Owner name: HON HAI PRECISION INDUSTRY CO., LTD.,TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HON HAI PRECISION INDUSTRY CO., LTD.;REEL/FRAME:023722/0126

Effective date: 20091216

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
FP Expired due to failure to pay maintenance fee

Effective date: 20140406