CN111273946A - Method and system for automatic device driver configuration - Google Patents

Method and system for automatic device driver configuration Download PDF

Info

Publication number
CN111273946A
CN111273946A CN201811462732.7A CN201811462732A CN111273946A CN 111273946 A CN111273946 A CN 111273946A CN 201811462732 A CN201811462732 A CN 201811462732A CN 111273946 A CN111273946 A CN 111273946A
Authority
CN
China
Prior art keywords
computer
network interface
interface card
information
client computer
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.)
Pending
Application number
CN201811462732.7A
Other languages
Chinese (zh)
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.)
Xuzhou Xunda Network Science Technology Co ltd
Original Assignee
Xuzhou Xunda Network Science Technology 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
Application filed by Xuzhou Xunda Network Science Technology Co ltd filed Critical Xuzhou Xunda Network Science Technology Co ltd
Priority to CN201811462732.7A priority Critical patent/CN111273946A/en
Publication of CN111273946A publication Critical patent/CN111273946A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Abstract

The present invention is directed to a method, system and computer readable storage medium for automatically detecting and identifying installed NICs (340) and minimizing the possibility of suspending the detection process by causing illegal operations. When the NIC (340) is identified, software appropriate for the NIC (340) is loaded. Automatic detection and identification of the NIC (340) may be accomplished by inserting a portable medium, such as a floppy disk (105), into the target computer (102a-102e) and executing a detection program at startup, or executing a program with the server computer (104) to detect and identify the NIC (340) installed in the computer (102a-102e) connected to the server (104) through the network connection (108).

Description

Method and system for automatic device driver configuration
Technical Field
The present invention relates generally to distributed computing environments. And more particularly to the configuration of computer components in a computer network. And more particularly to automatic detection and identification of network interface cards.
Background
Computer networks typically house equipment that contains different components. The components may vary depending on the particular utility of a single computer, the source of sale or age of the component, or the time at which the component is updated. Thus, the Network Interface Card (NIC) to which the computer is connected to the computer network may also be different. One of the tasks of a network administrator is to update the various software used on the network, including operating system software and special application software. Typically, to update software on a single computer, a network administrator must modify system and protocol files stored in the computer to specify the characteristics of the network driver interface specification ("NDIS") driver and NIC. These features typically include resource allocation for the PC, such as input/output ("I/O") addresses, memory translation, direct access memory ("DMA") channel, and interrupt allocation. In modern computer design, these resources are dynamically allocated by the basic input output system ("BIOS") of the PC to eliminate conflicts. The hardware encryption and protocol initialization files for such information in the system are not compatible with these dynamic allocation standards. When deploying updated operating systems across a computer network, the time for deployment is quite long, because the common approach is to use different floppy disks ("boot floppy disks") to support the different configurations across the network, and deployment is a significant manual process.
Solidified in most NICs are unique media access controller ("MAC") addresses that conform to existing IEEE standards. The MAC address can be used to identify the NIC during configuration. However, accessing such information at the beginning of the boot process can be problematic. Accessing this information with low-level programs typically requires extensive knowledge of the hardware design of the NIC. Such information is difficult to obtain in the PC industry and access often requires licensing terms.
Another problem arises when verifying the NDIS driver version. The NDIS drivers provided in a particular NIC driver suite are vendor specific. These drivers typically make many updates that are sent out through different channels such as the internet. Old and new versions of drivers may not have the necessary compatibility and therefore verification by testing is necessary for proper configuration.
One of the problems faced in detecting various NICs is the possibility of performing illegal operations to suspend the process. Various industry commissions have made great efforts to eliminate conflicts by establishing standard access methods to identify installed NICs. However, there is sometimes no other method to detect installed peripheral components instead of direct hardware access. Unfortunately, direct hardware access methods present many hazards and drawbacks. Direct hardware access involves accessing memory and I/O space in an indeterminate region to detect the current hardware registry or NIC that specifies the memory structure of the device. However, if other devices reside within the space, the response of the device is uncertain. Indeterminate responses often result in an interruption of the boot process, such as an unexpected interrupt or a suspension of the bus signal.
U.S. patent 5,852,722, "system and method for automatic configuration of a host network computer," teaches a system and method for determining local service provider information by looking up in a directory of local service providers stored in a server. Client computer description information may also be obtained from a database and used by the server computer. The client computer downloads the local service provider information and configuration information from the server computer for self-configuration and connection with the local service provider. The' 722 patent does not address the problem of network interface card detection.
Thus, there remains a need for a method and apparatus for quickly configuring a network computer to detect and identify different NICs without causing unauthorized operation.
Disclosure of Invention
The present invention addresses the problems discussed above by providing a method and apparatus that enables device driver configuration and automatic detection and identification of installed NICs, and that reduces the likelihood of detection process hang-up due to illegal actions. After the NIC is identified, the present invention verifies and loads the software appropriate for the NIC.
In one aspect of the present invention, there is provided a method for automatically configuring a computer having at least one network interface card, comprising the steps of: a) applying at least one standardized access method to identify at least one network interface card within a computer; b) acquiring application information of a standardized access method; c) based on the first information, the appropriate network interface card software is loaded into the computer.
In another aspect of the present invention, there is provided a method for automatically configuring a computer having at least one network interface card, comprising the steps of: a) applying at least one standardized access method to identify at least one network interface card within a computer; b) acquiring application information of a standardized access method; c) applying at least one direct hardware access method to said computer to identify at least one network interface card within the computer; d) acquiring second information of the application of the direct hardware access method; e) based on the second information, the appropriate network interface card software is loaded into the computer.
In another aspect of the present invention, there is provided a computer system for configuring other computers having at least one network interface card, the computer system comprising: a) a first interface for receiving a request to configure a computer; b) a processor coupled to the first interface; c) a memory containing instructions executable by the processor; d) a second interface for communicating network interface card information between the processor and other computers.
In another aspect of the invention, a computer-readable storage medium for use by a computer device is provided, the medium containing computer instructions that, when executed by the computer device, are capable of: a) applying at least one standardized access method to identify at least one network interface card within a computer; b) responding to the application of the standardized access method, and acquiring information; c) based on the first information, the appropriate network interface card software is loaded into the computer.
In another aspect, the present invention provides a computer readable storage medium for use by a computer device, the medium containing computer instructions capable, when executed by the computer device, of: a) applying at least one standardized access method to identify at least one network interface card within a computer; b) acquiring information in response to the application of the standardized access method; c) applying at least one direct hardware access method to said computer to identify at least one network interface card within the computer; d) responding to the application of the direct hardware access method, and acquiring second information; e) based on the second information, the appropriate network interface card software is loaded into the computer.
Other features and advantages of the present invention will be described in more detail below with reference to the accompanying drawings.
Drawings
The invention is described below in terms of specific embodiments, with reference to the accompanying drawings, in which:
FIG. 1 illustrates a computer network capable of being automatically configured using the present invention;
FIGS. 2A and 2B are flow diagrams of the operational steps in a method of one embodiment of the present invention;
FIG. 3 is a high-level block diagram illustrating the major components of a computer system in an embodiment of the present invention.
Detailed Description
Referring to FIG. 1, a distributed computer network 100 connects a plurality of network client processing devices, such as computers 102a-102e, and a server computer 104. In the preferred embodiment, client computer 102 is primarily a desktop computer, such as a PC or workstation, but may also include other special purpose computers such as printers, palm top computers, scanners or the like. Each of the client computer 102 and the server computer 104 contains NICs that enable them to communicate with each other via a network connection, such as Ethernet, token Ring, or other suitable technology or architecture that links computers in a network. The client computer 102 and the service computer 104 will be described in detail later with reference to the computer system 300 in fig. 3. The NICs in each computer may come from different manufacturers or different models of the same manufacturer, so different device drivers should be reserved in the computer to run the NICs. In larger computer networks, each computer may be uniquely identified by its hardware and software configuration. When a computer is added to the distributed network 100, this unique configuration is difficult to determine without disassembling and checking the hardware and checking the device drivers in memory on a row-by-row basis.
For this reason, in a preferred embodiment, the portable media 105 is used to implement the present invention. A boot diskette or other commonly used media may be used for booting to control the computer 102. In another preferred embodiment, the present invention may be implemented in a server computer 104 connected to a client computer 102. While the auto-detection and configuration process of embodiments of the present invention is readily implemented when executed on device media, in alternate embodiments of the present invention, the incorporation of the auto-detection and configuration process into the server computer 104 allows the operating system and application software to be customized immediately following the auto-detection and identification process. Moreover, implementing the present invention on the server computer 104 allows the detection and configuration processes to be completed when the network is in low traffic or not in use, which may reduce wasted resources when configuration processes are suspended or require large-scale software upgrades. The method described below is described with reference to a commonly known DOS-based file, but modifications can be made to adapt the invention to other operating systems.
Fig. 2A and 2B illustrate a reasonable sequence of steps for performing automatic detection and identification of installed NICs, which is performed by a preferred embodiment of the present invention. For more information on NIC configuration and standardized access methods see network interface technical guide of douglast.
Beginning at step 202, the client computer 102 loads the DOS from either the boot diskette 105 or the server computer 104 over the network connection 108. Proceeding to step 204, the client computer 102 loads and executes the detpcic. sys driver. Sys is a standardized access algorithm and is used to test the NIC of the PCIC bus, as known to those skilled in the art. The detected PCIC information is recorded in the memory 325 of the client computer 102. Sys, if specified by config, the client computer 102 loads the OEMPC stuck point initiator, step 208. Depending on the configuration of the client computer 102. In step 210, the remaining contents of the boot diskette 105 are transferred to the RAM drive A (memory 325). If the embodiment applies to a server, this step is an option. In step 212, client computer 102 invokes autoexec. Most DOS-based systems call self-test in an autoexec. If AUTOEXEC.EXE is called with the/unsupported parameter (step 214), control passes to step 215 where the Media Access Controller (MAC) is random. Steps 214 and 215 are optional steps that may be used to jump out of auto-detection when manual editing of the NIC configuration is required and other methods cannot complete the configuration of the NIC. Then at step 216, the client computer 102 exits control and completes the configuration process with manual adjustment of the files without automatic detection of the NIC.
If, however, automatic detection is supported, control continues to step 218 to read the file NICINFO. TXT in the client computer 102, which contains the information of the network interface card, as is known to those skilled in the art. Control then continues to step 220 where the BIOS calls detpcic. sys to detect a peripheral component interface ("PCI") device. If no PCI device is found (step 221), control continues to step 222 where the client computer executes a direct hardware access method, such as a low-level I/O module, to detect an integrated system architecture plug and play ("ISAPnP") network controller. At this point, a test is performed to detect whether there is a device currently using the PCIC compatible controller, and finally, the ISA legacy board is detected. If, however, a PCI device is found, control continues to step 224 (fig. 2B) where the client computer 102 builds an array of NIC information. Control then proceeds to step 226 to compare the vendor ID and the card ID using the array of NIC information and the list of possible NICs. If there are no detected NICs in the list (step 227), control continues to step 228 where the identifiers of the detected NICs are displayed and written to a file and control returns. If, however, the detected NIC is in the list, and if more than one NIC is found (step 229), control continues to step 230 where the client computer 102 provides a menu to select a NIC. In step 232, the client computer 102 obtains a menu selection of a possible NIC, and control continues to step 234 to authenticate and use the driver corresponding to the selected NIC. In addition, if only one NIC is found, the driver of that NIC is used. Continuing with step 236, the parameters of the NIC are written to a file. In step 238, the program NETSTART of the network 100 start operation is executed. Control continues to step 240 where the address of ndisinf.dos is bound to the network stack of memory 325. Control then continues to step 242 where the boot process continues until login to the server computer 104 occurs.
If the above steps are performed by the server computer 104, the server computer 104 may immediately download the operating system or application software with a file appropriate for the detected NIC.
FIG. 3 is a high-level block diagram of an embodiment of a computer system containing a computer program that enables the computer system to perform the method of the present invention. The computer system 300 includes a processor 330 and a memory 325. Processor 330 may include a single microprocessor or may include multiple microprocessors to configure a computer system as a multi-processor system. The memory 325, in part, stores instructions and data that are executed by the processor 330. If the system of the present invention is implemented in whole or in part in software, including the computer program 310, the memory 325 stores executable code in operation. The memory 325 may include Dynamic Random Access Memory (DRAM) banks and cache memories. System 300 also includes a number of storage drives 335, a network interface card 340, an input device 355, a portable storage media drive 360, a graphics subsystem 370, and a display 385. For simplicity, the components shown in FIG. 3 are shown connected by a single bus 380. However, the components may be connected by one or more data transmission means. For example, processor 330 and memory 325 may be connected by a local microprocessor bus, and mass storage drive 335, network interface card 340, portable storage media drive 360, and graphics subsystem 370 may be connected by one or more input/output (I/O) buses. The mass storage drive 335, which may be implemented primarily as a magnetic disk drive or an optical disk drive, is a non-volatile memory device for storing data and instructions used by the processor 330. The method of the present invention may also be stored in the processor 330. The portable storage media drive 360, in conjunction with a portable non-volatile storage medium, such as a floppy disk or other computer-readable medium, is used to input and output data and code to and from the computer system 330. Input device 355 provides a portion of a user interface. Input device 355 may include an alpha-numeric keyboard to enter alpha-numeric and other key information, or a pointing device such as a mouse, trackball, stylus, or cursor direction keys. To display textual and graphical information, computer system 300 includes a graphics subsystem 370 and a display 385. Display 385 comprises a Cathode Ray Tube (CRT) display, a Liquid Crystal Display (LCD), other suitable display device, or other display device capable of enabling a user to interact with a computer program. Graphics subsystem 370 receives textual and graphical information and processes the information for output to display 385. Additionally, the system 300 includes an output device 345. Suitable output devices include speakers, printers, and the like. The devices in computer system 300 are all devices used in general purpose computer systems and are all of a type well known in the art to cover such computer components.
While the invention has been described in conjunction with the specific embodiments outlined above, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the foregoing description of the preferred embodiments of the invention is intended to be illustrative and not limiting. Various changes may be made without departing from the spirit and scope of the invention.

Claims (5)

1. A method of automatically configuring a computer having at least one network interface card, comprising the steps of:
applying at least one standardized access method to the computer to identify at least one network interface card;
obtaining information in response to the application of the standardized access method;
randomizing a Media Access Controller (MAC) address of the network interface card if the computer does not support automatic detection of the network interface card; and
loading software appropriate for the network interface card onto the computer in response to the information if the computer does not support automatic detection of the network interface card.
2. The method of claim 1, further comprising the steps of:
if the applying step identifies multiple network interface cards, allowing a user to select the network interface card prior to the loading step.
3. The method of claim 1, further comprising the steps of:
verifying that the software is appropriate for the computer and the network interface card.
4. A method for automatically configuring a computer having at least one network interface card, comprising the steps of:
obtaining first information in response to the application of the standardized access method;
applying at least one direct hardware access method to identify the network interface card if the first information fails to identify the network interface card and the computer supports automatic detection of the network interface card;
obtaining second information in response to the application of the direct hardware access method;
loading software adapted for the network interface card onto the computer in response to the second information.
5. The method of claim 4, further comprising the steps of:
the method of claim 4, further comprising the steps of:
a server computer system for configuring a client computer having at least one network interface card, said server computer system comprising:
a first interface to receive a request to configure the client computer;
a memory;
a processor connected to the memory and the first interface;
instructions executed by a processor, the instructions stored in a memory;
a second interface connecting said server computer system to said client computer for communicating network interface card configuration information between said client computer and said server computer; and
instructions executed by the processor, the instructions capable of instructing the server computer to perform the steps of:
applying at least one standardized access method to the client computer to identify at least one network interface card;
randomizing a Media Access Controller (MAC) address of the network interface card if the client computer does not support automatic detection of the network interface card; and
loading software appropriate for the network interface card onto the client computer in response to the information if the client computer does not support automatic detection of the network interface card.
CN201811462732.7A 2018-12-03 2018-12-03 Method and system for automatic device driver configuration Pending CN111273946A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811462732.7A CN111273946A (en) 2018-12-03 2018-12-03 Method and system for automatic device driver configuration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811462732.7A CN111273946A (en) 2018-12-03 2018-12-03 Method and system for automatic device driver configuration

Publications (1)

Publication Number Publication Date
CN111273946A true CN111273946A (en) 2020-06-12

Family

ID=70999918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811462732.7A Pending CN111273946A (en) 2018-12-03 2018-12-03 Method and system for automatic device driver configuration

Country Status (1)

Country Link
CN (1) CN111273946A (en)

Similar Documents

Publication Publication Date Title
US6487608B2 (en) Method for automatically configuring network interface card and capable of randomizing a media access controller address of the network interface card
JP5362974B2 (en) How to use virtualization software for shipping software products
TWI262443B (en) Method, system and recording medium for automatically configuring data processing system
US6421777B1 (en) Method and apparatus for managing boot images in a distributed data processing system
US6934956B1 (en) Method and apparatus for installing an operating system
US9547500B2 (en) Customizing program logic for booting a system
US20030023839A1 (en) Method and system for creating and employing an operating system having selected functionality
US9614931B2 (en) Identifying a resource set require for a requested application and launching the resource set in a container for execution in a host operating system
US20050193261A1 (en) Configuration proxy service for the extended firmware interface environment
KR100764921B1 (en) Virtual rom for device enumeration
US7512833B1 (en) Universal imaging utility program
EP1372069A2 (en) Method system and software for configuring a graphics processing communication mode
US7921230B2 (en) USB devices pre-configuration for KVM switch
US20120131179A1 (en) Method and system for remote os installation capable of monitoring an installation procedure
CN108363608B (en) Virtual machine configuration method and system
CN112306581B (en) Method and medium for managing Basic Input Output System (BIOS) configuration by baseboard management controller
CN107135462B (en) Bluetooth pairing method of UEFI firmware and computing system thereof
US8949588B1 (en) Mobile telephone as bootstrap device
CN107220085A (en) A kind of method of automatic upgrading RAID card firmware
EP2372565A1 (en) Method for managing USB devices
CN111273946A (en) Method and system for automatic device driver configuration
US20220308907A1 (en) Injection and execution of workloads into virtual machines
CN111176735B (en) Method for accelerating startup of electrocardiograph
Hinds et al. Linux PCMCIA HOWTO
Allen et al. Windows XP cookbook

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200612