KR20140125008A - Device and Method for judging driver installation - Google Patents
Device and Method for judging driver installation Download PDFInfo
- Publication number
- KR20140125008A KR20140125008A KR20130042463A KR20130042463A KR20140125008A KR 20140125008 A KR20140125008 A KR 20140125008A KR 20130042463 A KR20130042463 A KR 20130042463A KR 20130042463 A KR20130042463 A KR 20130042463A KR 20140125008 A KR20140125008 A KR 20140125008A
- Authority
- KR
- South Korea
- Prior art keywords
- driver
- interface
- host
- unit
- loaded
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
A method of determining whether or not the driver is installed, and a device are provided. A device according to an aspect of the present invention includes a load unit that loads at least one interface for using a function supported by a device and a driver that determines whether or not a driver associated with an interface loaded through a load unit is installed in a host connected to the device And a providing unit for providing information on drivers not installed in the host according to the determination result of the determination unit.
Description
The present invention relates to a device driver technology, and more particularly, to a method of determining whether a device and a device driver are installed.
USB (Universal Serial Bus) interface among device interface technologies is a standard of input / output interface connecting computer and peripherals. It is easy to use, high speed communication, high reliability, versatility, low implementation cost, low power consumption, . Due to these advantages, the USB interface is widely used as a connection means for a digital camera, an external storage device, and a mobile communication terminal as well as a computer input / output device such as a keyboard, a mouse, a printer, and a scanner. A computer and a peripheral connected through a USB interface operate as a host and a device, respectively, and a plurality of devices can be connected to one host.
Meanwhile, in order for the computer to recognize the mobile communication terminal as a USB device and to perform normal communication after the computer and the mobile communication terminal are physically connected through the USB interface, the device driver of the mobile communication terminal must be installed in the computer. To this end, various technologies exist for determining the presence or absence of a device driver installation. However, only the presence or absence of a dedicated driver provided by the manufacturer of the mobile communication terminal can be determined, It can not be judged whether or not it exists.
When connecting a device to a host, it is judged whether or not the driver of the corresponding device in the host, in particular, the driver included in the OS is installed, and a driver that can provide a user interface A method and a device for determining whether or not to make a determination are provided.
A device for providing a function of determining whether a driver is installed according to an aspect of the present invention includes a load unit for loading at least one interface for using a function supported by a device, an interface loaded through a load unit to a host connected to the device, A determination unit for determining whether an associated driver is installed and a providing unit for providing information on a driver not installed in the host according to a determination result of the determination unit.
Here, the determination unit may include a receiving unit that receives a specific data packet from the host, a determination unit that determines whether there is an information request for an interface loaded from the host within a predetermined time after receiving the specific data packet, And may include a determination unit that determines whether or not the driver is installed.
Here, if there is a request for information about the interface loaded from the host within a predetermined time after receiving the specific data packet, the determination unit may determine that a driver related to the interface loaded in the host is installed.
Here, the specific data packet may be a Set Configuration signal indicating that the configuration setup is completed.
In addition, the device may further comprise a control unit for generating a control signal so that the load unit can load each of the at least one or more interfaces one by one.
Further, the device may further include a re-association unit for re-connecting the device and the host when the interface loaded on the load unit is unloaded and a new interface is loaded.
Here, the rejoining portion can reset the connection between the device and the host by software.
Here, the control unit may generate a control signal to load all of the at least one interface when all of the drivers associated with at least one interface are installed in the host.
Here, the information on the driver may include at least one of a driver installation file, a list of drivers, and link information for downloading the driver installation file.
The device may further include a determination result storage unit for storing the determination result of the determination unit on an interface-by-interface basis.
In addition, the device may further include a driver storage unit that stores a driver associated with at least one or more interfaces.
According to another aspect of the present invention, there is provided a method of determining whether a driver is installed, the method comprising: loading at least one interface for using a function supported by the device itself; And providing information on drivers not installed in the host according to the determination result.
Wherein the step of determining includes the steps of receiving a specific data packet from the host, determining whether there is a request for information about the interface loaded from the host within a predetermined time after receiving the specific data packet, And determining whether the driver is installed according to the determination result.
Here, in the determining step, if there is an information request for the interface loaded from the host within a predetermined time after receiving the specific data packet, it can be determined that a driver related to the interface loaded in the host is installed.
Here, the specific data packet may be a Set Configuration signal indicating that the configuration setup is completed.
Here, the loading step loads one of the at least one interface, and the loading step and the determining step may be performed for each of at least one or more interfaces, respectively.
The method of determining whether or not the driver is installed may further include reconnecting the device and the host when the loaded interface is unloaded and a new interface is loaded.
Here, the reconnecting step can reconnect the device and the host by software resetting the connection.
In addition, the method of determining whether or not the driver is installed may further include loading all at least one interface when at least one or more interfaces are installed in the host.
Here, the information on the driver may include at least one of a driver installation file, a list of drivers, or link information for downloading the driver installation file.
In addition, the method for determining whether or not the driver is installed may further include storing the determination result for each interface.
It is possible to determine whether or not the driver included in the OS is installed basically by loading the interfaces one by one and judging whether or not the driver of the interface is installed in the host.
In addition, a list of drivers that are not on the host can be configured and provided to the user, or the driver can be provided directly.
In addition, it can be implemented so that the driver provided by the manufacturer is not required to be installed at all.
Also, when the device and the host are connected, it is possible to inform the user of the reason for malfunction.
1 is a configuration diagram of a device for providing a function of determining whether a driver is installed according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating an example of storing a driver installation determination result.
3 is a diagram illustrating an example in which a driver is stored in the
4 is a diagram illustrating a method for determining whether or not a driver is installed according to an exemplary embodiment of the present invention.
Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. In addition, the terms described below are defined in consideration of the functions of the present invention, which may vary depending on the intention of the user, the operator, or the custom. Therefore, the definition should be based on the contents throughout this specification.
In addition, the components shown in the embodiments of the present invention are distinguished according to their functions, and do not mean that the components are composed of separate hardware or software constituent units. That is, each constituent unit is included in each constituent unit for convenience of explanation, and at least two constituent units of the constituent units may be combined to form one constituent unit, or one constituent unit may be divided into a plurality of constituent units to perform a function. The integrated embodiments and the separate embodiments of each component are also included in the scope of the present invention unless they depart from the essence of the present invention.
In the present invention, a device is a device that is connected to a host and performs a specific function, for example, data movement / copy with a host, camera, support of a network function of a host and the like. The device may be a smart phone, a mobile phone, Various types of mobile devices such as PDAs, PMPs, PSPs, MP3 players, e-book readers, navigation devices, cameras, electronic dictionaries, But may also include electronic devices such as desktop computers, smart TVs, printers, scanners, fax machines, and the like, and peripherals such as keyboards, mice, monitors, external storage devices,
A host is a device that is connected to a device to provide a specific function or utilize / utilize the functions provided by the device. The host may include electronic devices such as a tablet computer, a notebook, a netbook, a desktop computer, have.
An operating system (OS) is a system program for allowing an application program to use the hardware of a terminal device. It is a system program for not only a mobile computer operating system such as Android OS, iOS, Windows Mobile OS, SeaOS, Symbian OS, Linux, Unix, MAC, AIX, HP-UX, and so on. A device and a host according to the present invention may be installed with different OSs. Hereinafter, an OS refers to a host OS unless otherwise specified.
In addition, the driver allows the host to recognize / recognize the device when the device is connected to the host and to interlock / provide the function provided by the device, and the type of the driver can be changed according to the connection interface between the device and the driver. The driver can be divided into a driver provided by the manufacturer and a driver included in the OS (operating system). In the following, the case where the device and the host are connected through the USB interface will be mainly described, and the driver will be described mainly with respect to the USB driver. Also, we will focus on the drivers included in the operating system (OS) as the driver.
On the other hand, if the device is connected to the host via the USB interface, the driver setup process is performed. The driver setup process can be largely divided into a composition setup process and an interface setup process. In this process, the device sends basic information (for example, manufacturer information, model name, etc.) of the device to the host according to the request of the host, The OS type and version of the host are checked. The interface setup process is a process of mapping the functions of the driver and the device actually used by the host to use the functions of the device after the composition setup is completed. At this time, the function of the device may be all the functions provided by the device through the USB interface, or may be a function provided in the function mode selected according to the user or the setting. This will be described later in the following.
Interface is a virtual medium for mapping the driver installed on the host to use each function of the device, for example, a Modem interface, a Diag interface, an MTP interface, a Mass-storage interface or a CD-Rom interface, an RNDIS interface , A PTP interface, and the like.
On the other hand, when the USB device is connected to the host, the host must read the descriptor in order to know information and configuration information about the USB device. When a host requests information about a device from a device, the device delivers its information, which is called a descriptor. Therefore, the host knows the type of the connected device, and can perform processing such as adjusting the amount of data transmission according to the characteristics of the device.
A descriptor used in such a USB device includes a device descriptor, a configuration descriptor, an interface descriptor, an endpoint descriptor, and a string descriptor.
The device descriptor is general information about the device, and generally one device descriptor may exist in the device. The device descriptor may include a USB Revision supported by the device, and may include manufacturer information (e.g., Vendor ID) and product information (e.g., Product ID). In addition, the device descriptor may include information on the number of possible configurations that the device may have. At this time, the value of the configuration indicates how many configuration descriptors can be branched.
The configuration descriptor may contain information such as power consumption and whether the device is self-powered or bus powered, and the number of interfaces the device has. When a device is connected to a host, the host can request, receive and read the device descriptor, and then determine which configuration is to be activated. At this time, only one configuration can be activated at a time.
The interface descriptor may function as a functional grouping process or a header representing one Feature of the device. For example, in the case of a multi-function device that is a fax, a scanner, or a printer, an interface descriptor may exist for each function of a facsimile, a scanner, and a printer. Unlike a configuration descriptor, when a device is connected to a host, multiple interface descriptors may be activated without activating only one interface descriptor at a time.
1 is a configuration diagram of a device for providing a function of determining whether a driver is installed according to an embodiment of the present invention.
Referring to FIG. 1, a
The
The
The receiving
The
The
According to the determination result of the
Meanwhile, the
The
Meanwhile, according to a further embodiment of the present invention, the
The
The
The
As a result of the determination by the
If it is determined that the driver for the interface not installed in the host exists as a result of the determination by the
When a driver necessary for the host is installed using the information provided by the providing
On the other hand, when the device provides a plurality of function modes, when the user selects a specific function mode, the
Meanwhile, according to a further embodiment, the
FIG. 2 is a diagram illustrating an example of storing a driver installation determination result. At this time, it is assumed that the
As a result of the determination, the storage unit 160 stores a determination result of whether or not the driver of the interface supported by the
3 is a diagram illustrating an example in which a driver is stored in the
Since the interfaces to be supported for each OS are different, drivers for the same interface may be different depending on the OS. Therefore, as shown in FIG. 3, the drivers of the respective interfaces are classified and stored according to the type of the OS.
Also, although not shown, when the interface or interface driver differs for each OS version, each interface driver may be classified and stored according to the OS version.
4 is a diagram illustrating a method for determining whether or not a driver is installed according to an exemplary embodiment of the present invention.
Referring to FIG. 4, when the
Thereafter, the
That is, when a device is connected to a host through a USB interface, the host requests a device descriptor and a configuration descriptor from the device, and acquires a device descriptor and a configuration descriptor from the device. After receiving, it transmits a specific data packet (e.g., Set Configuration). Then, the host searches the driver for the interface loaded in the
Thereafter, the determination result of
As a result of checking in
This process is repeatedly performed for all interfaces supported by the
If it is determined in
The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be construed to include various embodiments within the scope of the claims.
100: device, 110: rod section,
120: Judgment section, 130: My study,
140: control unit, 150: re-
160: determination result storage unit, 170: driver storage unit.
Claims (21)
A determination unit for determining whether a driver associated with an interface loaded through the load unit is installed in a host connected to the device; And
A providing unit for providing information on a driver not installed in the host according to the determination result of the determining unit; And a driver that determines whether the driver is installed.
Wherein,
A receiving unit for receiving a specific data packet from the host;
A confirmation unit for checking whether there is an information request for the loaded interface from the host within a predetermined time after receiving the specific data packet; And
A determining unit for determining whether or not the driver is installed according to the check result; And a driver that determines whether the driver is installed.
Wherein the determining unit determines whether or not a driver related to the loaded interface is installed in the host when the information about the loaded interface is requested from the host within a predetermined time after receiving the specific data packet A device that provides a judgment function.
Wherein the specific data packet provides a function of determining whether a driver is installed, which is a Set Configuration signal indicating that configuration setup is completed.
A control unit for generating a control signal so that the load unit can load each of the at least one interface individually; And a function of determining whether or not the driver is installed.
A re-combination unit for re-connecting the device and the host when the interface loaded on the load unit is unloaded and a new interface is loaded; And a function of determining whether or not the driver is installed.
Wherein the re-combination unit provides a function of determining whether or not a driver is installed to perform a software reset of a connection between the device and the host.
Wherein the control unit generates a control signal to load all of the at least one interface when a driver associated with the at least one interface is installed in the host.
Wherein the information on the driver includes at least one of a driver installation file, a list of drivers, and link information for downloading the driver installation file.
A determination result storage unit for storing a determination result of the determination unit for each interface; And a function of determining whether or not the driver is installed.
A driver storage unit for storing drivers associated with the at least one interface; And a function of determining whether or not the driver is installed.
Determining whether a driver associated with the loaded interface is installed in a host connected to the device; And
Providing information on drivers not installed in the host according to the determination result; And determining whether or not the driver is installed.
Wherein the determining step comprises:
Receiving a specific data packet from the host;
Confirming whether there is an information request for the loaded interface from the host within a predetermined time after receiving the specific data packet; And
Determining whether the driver is installed according to the result of the checking; And determining whether or not the driver is installed.
Wherein the determining step comprises the step of, when there is an information request for the loaded interface from the host within a predetermined time after receiving the specific data packet, determining that a driver related to the loaded interface is installed in the host How to determine if it is installed.
Wherein the specific data packet is a Set Configuration signal indicating that the configuration setup is completed.
Wherein the loading step comprises loading one of the at least one interface,
Wherein the loading step and the determining step are performed for all of the at least one interface.
Reconnecting the device and the host when the loaded interface is unloaded and a new interface is loaded; And determining whether or not the driver is installed.
Wherein the reconnecting step resets the connection between the device and the host by software.
Loading all of the at least one interface if a driver associated with the at least one interface is installed in the host; And determining whether or not the driver is installed.
Wherein the information on the driver includes at least one of a driver installation file, a list of drivers, or link information for downloading a driver installation file.
Storing the determination result for each interface; And determining whether or not the driver is installed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130042463A KR20140125008A (en) | 2013-04-17 | 2013-04-17 | Device and Method for judging driver installation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130042463A KR20140125008A (en) | 2013-04-17 | 2013-04-17 | Device and Method for judging driver installation |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140125008A true KR20140125008A (en) | 2014-10-28 |
Family
ID=51994979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20130042463A KR20140125008A (en) | 2013-04-17 | 2013-04-17 | Device and Method for judging driver installation |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20140125008A (en) |
-
2013
- 2013-04-17 KR KR20130042463A patent/KR20140125008A/en not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9563442B2 (en) | Baseboard management controller and method of loading firmware | |
US9778844B2 (en) | Installation of operating system on host computer using virtual storage of BMC | |
US10152443B2 (en) | System and method for providing personality switching in a solid state drive device | |
US9182998B2 (en) | Remote bios update in system having multiple computers | |
US7752029B2 (en) | Method to change USB device descriptors from host to emulate a new device | |
US20170337069A1 (en) | Concurrent testing of pci express devices on a server platform | |
US20130031277A1 (en) | Method for identifying version type of windows operating system on a host by a usb device | |
US7921230B2 (en) | USB devices pre-configuration for KVM switch | |
US20090006831A1 (en) | Methods and apparatuses for configuring add-on hardware to a computing platform | |
CN102622313B (en) | The method of the port switching method of USB device, system and differentiation operating system | |
US20130124879A1 (en) | Controlling data reading mode of memory | |
US20150154029A1 (en) | Electronic apparatus and operational method thereof | |
JP2017527921A (en) | Method and apparatus for controlling the mode of a device | |
US20140244822A1 (en) | Management apparatus and method of managing server node | |
JP2018116648A (en) | Information processor, control method thereof and program | |
US8250255B2 (en) | Two-way connectivity USB control device and operation method thereof | |
EP2990956B1 (en) | Usb device and method thereof for automatically recognizing microsoft windowing operating system version | |
US10838740B2 (en) | Information processing apparatus and startup method | |
US20160006619A1 (en) | Generating graphical diagram of physical layout of computer platforms | |
US20110125934A1 (en) | Apparatuses and methods for transferring data | |
KR20140125008A (en) | Device and Method for judging driver installation | |
CN111953753A (en) | Communication equipment connection method and device, computer equipment and storage medium | |
EP2477120B1 (en) | Method for processing device connection, combination device and host device | |
KR20090092707A (en) | Information processing system and control method and control program of the same | |
EP3413205A1 (en) | Re-enumeration of usb 3.0 compatible devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |