KR20140125008A - Device and Method for judging driver installation - Google Patents

Device and Method for judging driver installation Download PDF

Info

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
Application number
KR20130042463A
Other languages
Korean (ko)
Inventor
최원규
Original Assignee
주식회사 팬택
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 주식회사 팬택 filed Critical 주식회사 팬택
Priority to KR20130042463A priority Critical patent/KR20140125008A/en
Publication of KR20140125008A publication Critical patent/KR20140125008A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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
    • 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/4406Loading 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

디바이스 및 디바이스 드라이버의 설치 여부 판단 방법 {Device and Method for judging driver installation}[0001] The present invention relates to a device and method for judging driver installation,

디바이스 드라이버 기술에 관한 것으로, 특히, 디바이스 및 디바이스 드라이버의 설치 여부 판단 방법에 관한 것이다.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) 인터페이스는 컴퓨터와 주변기기를 연결하는 입출력 인터페이스의 표준으로서, 사용의 용이성, 고속 통신, 높은 안정성, 범용성, 낮은 구현 비용, 낮은 전력 소모, 다양한 운영체제의 지원 등의 장점을 가진다. 이러한 장점으로 인하여 USB 인터페이스는 키보드, 마우스, 프린터, 스캐너 등과 같은 컴퓨터 입출력 장치는 물론 디지털 카메라, 외장형 저장장치 및 이동통신단말 등의 연결 수단으로 폭넓게 사용되고 있다. USB 인터페이스를 통하여 연결된 컴퓨터와 주변기기는 각각 호스트(host)와 디바이스(device)로서 동작하며 하나의 호스트에 다수의 디바이스가 연결될 수 있다.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.

한편, USB 인터페이스를 통해 컴퓨터와 이동통신단말이 물리적으로 연결된 후 컴퓨터가 이동통신단말을 USB 디바이스로 인식하고 정상적인 통신을 수행하기 위해서는 이동통신단말의 디바이스 드라이버가 컴퓨터에 반드시 설치되어야만 한다. 이를 위해, 디바이스 드라이버 설치 유무를 판단하기 위한 다양한 기술이 존재하나, 이는 이동통신단말의 제조사에서 제공하는 고유의 전용 드라이버의 설치 유무만을 판단할 수 있을 뿐, OS에 기본적으로 포함되어 있는 드라이버의 설치 유무를 판단하지 못한다.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.

디바이스를 호스트에 연결할 때 호스트에 해당 디바이스의 드라이버, 특히 OS에 기본적으로 포함되어 있는 드라이버가 설치되어 있는지 여부를 판단하고, 미 설치된 드라이버에 대하여 용이하게 설치할 수 있도록 사용자 인터페이스를 제공할 수 있는 드라이버 설치 여부 판단 방법 및 디바이스가 제공된다.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.

여기서, 특정 데이터 패킷은, 컨피규레이션(Configuration) 셋업이 완료되었음을 나타내는 Set Configuration 신호일 수 있다.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.

여기서, 특정 데이터 패킷은, 컨피규레이션(Configuration) 셋업이 완료되었음을 나타내는 Set Configuration 신호일 수 있다.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.

인터페이스를 하나씩 로드하여, 해당 인터페이스의 드라이버가 호스트에 설치되어 있는지 여부를 판단함으로써, OS에 기본적으로 포함되어 있는 드라이버의 설치 여부를 판단할 수 있다.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은 본 발명의 일 실시 예에 따른 드라이버 설치 여부 판단 기능을 제공하는 디바이스의 구성도이다.
도 2는 드라이버 설치 여부 판단 결과를 저장한 예를 도시한 도면이다.
도 3은 도 1의 드라이버 저장부(170)에서 드라이버를 저장한 예를 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 드라이버 설치 여부 판단 방법을 도시한 도면이다.
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 driver storage unit 170 of FIG.
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.

본 발명에서 디바이스는 호스트와 연결되어 특정 기능, 예를 들어 호스트와의 데이터 이동/복사, 카메라, 호스트의 네트워크 기능 지원 등을 수행하는 장치로, 스마트 폰, 휴대 전화, 태블릿 컴퓨터, 노트북, 넷북, 피디에이(PDA), 피엠피(PMP), 피에스피(PSP), 엠피쓰리(MP3) 플레이어, 이북(e-book) 리더, 내비게이션, 카메라, 전자사전, 전자시계, 게임기 등 다양한 형태의 모바일(mobile) 장치뿐만 아니라 데스크 탑 컴퓨터, 스마트 TV, 프린터, 스캐너, 팩스 등의 전자 장치를 포함할 수 있으며, 키보드, 마우스, 모니터, 외장형 저장장치 등과 같은 주변기기를 포함할 수 있다.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,

또한, 호스트는 디바이스와 연결되어 특정 기능을 제공하거나 디바이스가 제공하는 기능을 이용/활용하는 장치로서, 예를 들어 태블릿 컴퓨터, 노트북, 넷북, 데스크 탑 컴퓨터, 스마트 TV 등의 전자 장치를 포함할 수 있다.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.

운영체제(OS)는 응용 프로그램이 단말 장치의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, 안드로이드 OS, iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터 운영체제뿐만 아니라, 윈도우 계열, 리눅스 계열, 유닉스 계열, MAC, AIX, HP-UX 등 컴퓨터 운영체제를 모두 포함할 수 있다. 본 발명에 따른 디바이스와 호스트는 서로 다른 OS가 설치될 수 있으며, 이하에서는 특별한 언급이 없는 한 OS라 하면 호스트의 OS를 지칭하도록 한다.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.

또한, 드라이버는 디바이스가 호스트에 연결될 때 호스트에서 디바이스를 인지/인식하고 디바이스가 제공하는 기능을 연동/제공할 수 있도록 하는 것으로, 디바이스와 드라이버의 연결 인터페이스에 따라 드라이버의 종류는 변경될 수 있다. 드라이버는 제조사에서 제공하는 전용 드라이버와, OS(운영체제)에 기본으로 포함되어 있는 드라이버로 구분할 수 있다. 이하에서는, 디바이스와 호스트가 USB 인터페이스를 통해 연결되는 경우를 중심으로 설명하며, 드라이버 역시 USB 드라이버를 중심으로 설명하도록 한다. 또한, 드라이버 중 운영체제(OS)에 기본으로 포함되어 있는 드라이버를 중심으로 설명하도록 한다.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.

한편, 디바이스가 호스트와 USB 인터페이스를 통하여 연결되면, 드라이버 셋업 과정이 수행된다. 드라이버 셋업 과정은 크게, 컴포지션 셋업(composition setup) 과정과 인터페이스 셋업(interface setup) 과정으로 구분될 수 있다. 컴포지션 셋업은 디바이스가 호스트에 연결될 때 처음으로 수행되는 과정으로, 이 과정에서 호스트의 요청에 따라 디바이스는 디바이스의 기본 정보(예를 들어, 제조사 정보, 모델명 등)를 호스트에 전달하고, 디바이스는 호스트로부터 호스트의 OS 종류 및 버전을 확인한다. 인터페이스 셋업 과정은 컴포지션 셋업이 완료된 후, 디바이스의 기능을 사용하기 위하여 호스트에서 실제 사용되는 드라이버와 디바이스의 기능을 매핑하는 과정이다. 이때, 디바이스의 기능은 디바이스가 USB 인터페이스를 통해 제공하는 모든 기능일 수도 있고, 사용자 또는 설정에 따라 선택된 기능 모드에서 제공하는 기능일 수 있다. 이에 대하여는 이하에서 후술하도록 한다.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.

인터페이스는 디바이스의 각 기능을 사용하기 위하여 호스트에 설치된 드라이버를 매핑하기 위한 가상적인 매개체를 의미하며, 예를 들어, Modem 인터페이스, Diag 인터페이스, MTP 인터페이스, Mass-storage 인터페이스 또는 CD-Rom 인터페이스, RNDIS 인터페이스, PTP 인터페이스 등을 포함할 수 있다.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.

한편, USB 디바이스가 호스트와 연결될 때 USB 디바이스에 대한 정보 및 설정 사항을 알기 위하여 호스트는 디스크립터(Descriptor)를 읽어 와야 한다. 호스트가 디바이스에게 디바이스에 대한 정보를 요구하면 디바이스가 자신의 정보를 전달하는데, 이때 사용하는 정보를 디스크립터라고 한다. 따라서, 호스트는 연결된 디바이스의 종류를 알게 되고 디바이스의 특성에 맞게 데이터 전송량을 조절하는 등 처리를 할 수 있게 된다.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.

이러한 USB 디바이스에서 사용되는 디스크립터에는 디바이스 디스크립터(Device Descriptor), 컨피규레이션 디스크립터(Configuration Descriptor), 인터페이스 디스크립터(Interface Descriptor), 엔드 포인트 디스크립터(Endpoint Descriptor), 스트링 디스크립터(String Descriptor) 등이 있다.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.

디바이스 디스크립터는 디바이스에 대한 일반 정보로서, 일반적으로 디바이스에 하나의 디바이스 디스크립터가 존재할 수 있다. 디바이스 디스크립터는 디바이스에서 지원하는 USB 리비전(USB Revision)을 포함할 수 있고, 제조사 정보(예를 들어 Vendor ID)와 제품 정보(예를 들어 Product ID)를 포함할 수 있다. 또한, 디바이스 디스크립터는 디바이스가 가질 수 있는 가능한 컨피규레이션(Configuration)의 개수 정보를 포함할 수 있다. 이때, 컨피규레이션 의 값은 얼마나 많은 컨피규레이션 디스크립터로 분기할 수 있는지 나타낸다.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.

컨피규레이션 디스크립터는 Power 소모량 및 디바이스가 Self Powered인지 Bus Powered인지 여부, 디바이스가 가지고 있는 인터페이스 수 등의 정보를 포함할 수 있다. 디바이스가 호스트와 연결되면 호스트는 디바이스 디스크립터를 요청 및 수신하여 읽은 후 어떤 컨피규레이션이 활성화될 것인지를 결정할 수 있다. 이때, 한번에 한가지 컨피규레이션만 활성화할 수 있다.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.

인터페이스 디스크립터는 디바이스의 한 가지 Feature를 나타내는 기능적 그룹화 과정 또는 Header로 기능할 수 있다. 예를 들어, 팩스(Fax), 스캐너(Scanner), 프린터(Printer)가 되는 Multi-Function Device의 경우 팩스, 스캐너, 프린터 각 기능별로 인터페이스 디스크립터가 존재할 수 있다. 컨피규레이션 디스크립터와는 달리 디바이스가 호스트와 연결될 때 한번에 하나의 인터페이스 디스크립터만 활성화하지 않고 복수의 인터페이스 디스크립터를 활성화할 수도 있다.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은 본 발명의 일 실시 예에 따른 드라이버 설치 여부 판단 기능을 제공하는 디바이스의 구성도이다.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.

도 1을 참조하면, 디바이스(100)는 로드부(110), 판단부(120) 및 제공부(130)를 포함할 수 있다.Referring to FIG. 1, a device 100 may include a load unit 110, a determination unit 120, and a device 130.

로드부(110)는 디바이스(100)가 지원하는 적어도 하나 이상의 인터페이스를 로드할 수 있다. 로드부(110)에 로드된 인터페이스에 대한 정보는 컨피규레이션 디스크립터에 반영될 수 있다. 또한, 기존에 로드된 인터페이스를 언로드하고 새로운 인터페이스가 로드부(110)에 로드된 경우, 로드된 새로운 인터페이스에 대한 정보가 컨피규레이션 디스크립터에 반영될 수 있다. 로드부(110)는 디바이스의 저장장치에 할당된 일종의 저장 영역일 수 있다.The load unit 110 may load at least one interface supported by the device 100. Information about the interface loaded into the load unit 110 may be reflected in the configuration descriptor. In addition, if the previously loaded interface is unloaded and a new interface is loaded in the load unit 110, information about the loaded new interface can be reflected in the configuration descriptor. The load unit 110 may be a kind of storage area allocated to the storage device of the device.

판단부(120)는 로드된 인터페이스의 드라이버가 디바이스(100)와 USB 인터페이스를 통해 연결된 호스트에 설치되어 있는지 여부를 판단할 수 있다. 이를 위해 판단부(120)는 수신부(121), 확인부(122), 판정부(123)를 포함할 수 있다.The determination unit 120 may determine whether a driver of the loaded interface is installed in a host connected to the device 100 via the USB interface. The determining unit 120 may include a receiving unit 121, an identifying unit 122, and a determining unit 123.

수신부(121)는 특정 데이터 패킷을 호스트로부터 수신할 수 있다. 이때, 특정 데이터 패킷은, 예를 들어, "Set Configuration" 신호일 수 있다. 여기서, "Set Configuration" 신호는 디바이스가 호스트와 USB 연결되었을 때, 호스트가 디바이스 디스크립터(Device Descriptor) 및 컨피규레이션 디스크립터(Configuration Descriptor)를 디바이스(100)로부터 수신하여 컨피규레이션(Configuration)을 셋업한 후 디바이스(100)에 보내는 데이터 패킷이다. 상기한 바와 같이, 로드부(110)에 로드된 인터페이스에 대한 정보는 컨피규레이션 디스크립터에 반영되므로, 호스트는 컨피규레이션 디스크립터를 통해 현재 디바이스에서 사용 가능한(또는 활성화된) 인터페이스를 알 수 있다.The receiving unit 121 can receive a specific data packet from the host. At this time, the specific data packet may be, for example, a "Set Configuration" signal. In this case, when the device is connected to the host via USB, the host receives a device descriptor and a configuration descriptor from the device 100 to set up the configuration, 100). As described above, since the information about the interface loaded in the load unit 110 is reflected in the configuration descriptor, the host can know the interface available (or activated) in the current device through the configuration descriptor.

확인부(122)는 호스트로부터 인터페이스 정보의 요청이 있는 지 여부를 확인할 수 있다. 인터페이스 정보 요청은 로드된 인터페이스를 셋업하기 위한 Set Interface 명령 또는 인터페이스 디스크립터(Interface Descriptor) 요구일 수 있다. 이때, 확인부(122)는 수신부(121)에서 특정 데이터 패킷을 수신하면, 수신된 시점을 기준으로 미리 설정된 시간 내에 인터페이스 정보의 요청이 호스트로부터 수신되는지 여부를 확인할 수 있다. 이를 위해, 수신부(121)가 특정 데이터 패킷을 수신하면 상기 특정 데이터 패킷 또는 별도의 신호(특정 데이터 패킷 수신을 나타내는 신호)를 확인부(122)로 전송하고, 확인부(122)는 상기 신호를 통해 활성화될 수 있다. 한편, 판단부(120)는 시간을 체크하기 위한 타이머부(미도시)를 더 포함할 수 있다. 타이머부(미도시)는 수신부(121)로 특정 데이터 패킷의 수신이 감지되면 활성화되어 시간을 체크하며, 미리 설정된 시간이 경과하면 확인부(122) 또는 후술하는 판정부(123)에 설정 시간이 경과하였음을 알리는 신호를 전송할 수 있다.The confirmation unit 122 can confirm whether there is a request for interface information from the host. The interface information request may be a Set Interface command or an Interface Descriptor request to set up the loaded interface. At this time, when the receiving unit 121 receives the specific data packet, the confirming unit 122 can confirm whether or not a request for interface information is received from the host within a predetermined time based on the received time point. For this, when the receiving unit 121 receives the specific data packet, it transmits the specific data packet or a separate signal (signal indicating reception of the specific data packet) to the confirming unit 122, and the confirming unit 122 Lt; / RTI > Meanwhile, the determination unit 120 may further include a timer unit (not shown) for checking the time. The timer unit (not shown) is activated when a reception of a specific data packet is detected by the receiving unit 121, and checks the time. When a predetermined time elapses, the timer unit 122 or the determining unit 123, It is possible to transmit a signal indicating that it has passed.

판정부(123)는 확인부(122)의 확인 결과에 따라 로드된 인터페이스에 대한 드라이버가 호스트에 설치되어 있는지 여부를 판단할 수 있다. 예를 들어, 판정부(123)는 특정 데이터 패킷 수신 후 미리 설정된 시간 내에 호스트로부터 인터페이스 정보 요청이 있는 경우, 로드된 인터페이스의 드라이버가 호스트에 설치되어 있다고 판단할 수 있다. 또한, 특정 데이터 패킷 수신 후 설정된 시간 내에 호스트로부터 인터페이스 정보 요청이 없는 경우는 로드된 인터페이스의 드라이버가 호스트에 설치되어 있지 않다고 판단할 수 있다.The determination unit 123 can determine whether or not the driver for the loaded interface is installed in the host according to the confirmation result of the confirmation unit 122. [ For example, when the determination unit 123 requests the interface information from the host within a predetermined time after receiving the specific data packet, it can determine that the driver of the loaded interface is installed in the host. In addition, when there is no interface information request from the host within the set time after receiving the specific data packet, it can be determined that the driver of the loaded interface is not installed in the host.

제공부(130)는 판단부(120)의 판단 결과에 따라 호스트에 설치되어 있지 않아 설치가 필요한 드라이버에 대한 정보를 제공할 수 있다. 예를 들어, 제공부(130)는 호스트에 설치되어 있지 않아 설치가 필요한 드라이버 목록을 제공하거나, 해당 드라이버를 다운로드할 수 있는 링크 정보(예를 들어, 웹 사이트 링크 정보)를 제공하거나, 해당 드라이버의 설치 파일을 직접 제공할 수 있다. 이때, 드라이버에 대한 정보를 제공하기 위하여 호스트에 별도의 팝업창을 실행시킬 수 있다. 즉, 로드된 인터페이스가 호스트에 설치되어 있지 않다고 판단부(120)가 판단한 경우, 호스트에 팝업창을 실행하여 드라이버에 대한 정보를 제공할 수 있다. 이에 대하여는 이하에서 상세히 설명하도록 한다.According to the determination result of the determination unit 120, the providing unit 130 may provide information on a driver that is not installed in the host and needs to be installed. For example, the providing unit 130 may be provided with a list of drivers that are not installed in the host and that require installation, provide link information (e.g., website link information) You can provide the installation files directly. At this time, a separate popup window may be executed on the host to provide information about the driver. That is, if the determination unit 120 determines that the loaded interface is not installed in the host, the host may execute a pop-up window to provide information about the driver. This will be described in detail below.

한편, 호스트에 설치되어 있지 않은 드라이버를 직접 제공하기 위해, 디바이스(100)는 디바이스(100)가 지원하는 인터페이스의 드라이버를 저장하는 드라이버 저장부(170)를 더 포함할 수 있다. 드라이버 저장부(170)는 디바이스(100)의 저장 장치에 할당된 일종의 저장 영역일 수 있다. 드라이버 저장부(170)에서 드라이버를 저장하는 방법은 도 3을 참조하여 후술하기로 한다.Meanwhile, the device 100 may further include a driver storage unit 170 for storing a driver of an interface supported by the device 100, in order to directly provide a driver not installed in the host. The driver storage unit 170 may be a kind of storage area allocated to the storage device of the device 100. [ A method of storing the driver in the driver storage unit 170 will be described later with reference to FIG.

상기에서는 판단부(120)가 로드부(110)에 로드된 인터페이스에 대하여 호스트에 드라이버가 설치되어 있는지 여부를 판단함에 있어서, 수신부(121)에 특정 데이터 패킷이 수신된 이후 설정된 시간 이내에 인터페이스 정보의 요청이 호스트로부터 수신되는지 여부로 판단하는 실시 예를 설명하였으나, 이는 일 실시 예에 불과하며 판단부(120)는 여러 가지 다양한 방법을 통해 호스트에 드라이버의 설치 여부를 판단할 수 있다. 예를 들어, 판단부(120)는 호스트에 설치된 드라이버 정보(또는 목록)을 요청 및 수신하여 디바이스가 지원(또는 활성화)하는 인터페이스에 대한 드라이버가 호스트에 설치되어 있는지 여부를 판단할 수도 있으며, 로드부(110)에 로드된 인터페이스의 정보를 호스트로 전송하고 해당 인터페이스에 대한 드라이버의 설치 여부에 대한 응답을 요청한 후 호스트로부터 수신되는 응답을 통해 해당 드라이버가 호스트에 설치되었는지 여부를 판단할 수도 있다.The determination unit 120 determines whether or not a driver is installed in the host for the interface loaded in the load unit 110. If it is determined that a driver is installed in the host, It is determined that the request is received from the host. However, this is an embodiment only, and the determination unit 120 can determine whether or not the driver is installed in the host through various methods. For example, the determination unit 120 may request and receive driver information (or a list) installed in the host to determine whether or not a driver for an interface supported (or activated) by the device is installed in the host, The controller 110 transmits the information of the interface loaded in the interface 110 to the host, requests a response as to whether the driver is installed in the interface, and determines whether the driver is installed in the host through a response received from the host.

한편, 본 발명의 추가적 실시 예에 따르면, 디바이스(100)는 제어부(140)를 더 포함할 수 있다.Meanwhile, according to a further embodiment of the present invention, the device 100 may further include a control unit 140. [

제어부(140)는 로드부(110), 판단부(120) 및 제공부(130)를 제어할 수 있다. 특히, 제어부(140)는 디바이스(100)에 복수의 인터페이스가 제공(또는 활성화)될 경우, 로드부(110), 판단부(120) 및 제공부(130)를 제어하여 각 인터페이스에 대하여 호스트에 드라이버가 설치되어 있는지 여부를 판단하고, 호스트에 설치되지 않은 드라이버를 판단하여 해당 드라이버에 대한 정보를 제공하도록 할 수 있다.The control unit 140 may control the load unit 110, the determining unit 120, and the providing unit 130. In particular, when a plurality of interfaces are provided (or activated) to the device 100, the control unit 140 controls the load unit 110, the determination unit 120, and the providing unit 130, It is possible to judge whether or not a driver is installed, judge a driver not installed in the host, and provide information about the driver.

제어부(140)는 디바이스(100)가 지원하는 인터페이스 각각의 드라이버가 호스트에 설치되어 있는지 여부를 판단할 수 있도록 로드부(110) 및 판단부(120)를 제어할 수 있다. 구체적으로, 디바이스(100)가 복수의 인터페이스를 지원(또는 활성화)하는 경우, 제어부(140)는 복수의 인터페이스 중에서 하나를 로드하여 드라이버의 설치 여부를 판단한 후, 다른 인터페이스를 로드하는 방법으로 복수의 인터페이스 각각에 대하여 로드 및 드라이버 설치 여부 판단를 수행하여 인터페이스 각각의 드라이버의 설치 여부를 판단할 수 있도록 로드부(110) 및 판단부(120)를 제어할 수 있다. 예를 들어, 디바이스가 4개의 인터페이스(A, B, C, D)를 지원(또는 활성화)하는 경우, 제어부(140)는 로드부(110)가 A 인터페이스를 로드하도록 제어한 후, 판단부(120)를 통해 A 인터페이스에 대한 드라이버가 호스트에 설치되어 있는지 판단하도록 제어한다. 다음으로, 제어부(140)는 로드부(110)가 B 인터페이스를 로드하도록 제어한 후, 판단부(120)를 통해 B 인터페이스에 대한 드라이버가 호스트에 설치되어 있는지 판단하도록 제어한다. 이러한 과정은 C, D 인터페이스에 대하여도 동일하게 수행된다. 상기한 바와 같이, 디바이스가 지원(또는 활성화)하는 인터페이스의 수는 컨피규레이션 디스크립터에 반영되므로, 제어부(140)는 디바이스가 지원(또는 활성화)하는 인터페이스의 수 및 그 정보를 알 수 있다. 제어부(140)는 디바이스가 지원(또는 활성화)하는 모든 인터페이스에 대하여 호스트에 드라이버가 설치되었는지 여부를 판단하기 위하여 카운터부(미도시)를 포함할 수 있다. 따라서, 제어부(140)는, 예를 들어 카운터 기준 값을 디바이스가 지원(또는 활성화)하는 인터페이스의 수(상기 예시에서 4)로 설정하고 카운터 값을 1으로 설정한 후 1번째 인터페이스(상기 예시에서 A 인터페이스)를 로드 및 호스트에 해당 드라이버가 설치되어 있는지 판단하도록 제어한 후, 카운터 값을 +1하여 2로 설정하고 2번째 인터페이스(상기 예시에서 B 인터페이스)에 대한 처리가 이루어지도록 제어할 수 있다. 제어부(140)는 각 처리 과정 중에 카운터 값을 체크하여 설정된 기준 값과 비교하여 카운터 값이 기준 값과 동일하면 처리 과정을 종료할 수 있다.The control unit 140 may control the load unit 110 and the determination unit 120 to determine whether a driver for each interface supported by the device 100 is installed in the host. Specifically, when the device 100 supports (or activates) a plurality of interfaces, the control unit 140 loads one of the plurality of interfaces to determine whether the driver is installed, and then loads It is possible to control the load unit 110 and the determination unit 120 so as to determine whether to install the drivers for each of the interfaces by performing load and driver installation determination for each of the interfaces. For example, when the device supports (or activates) the four interfaces A, B, C, and D, the control unit 140 controls the load unit 110 to load the A interface, 120 to determine whether a driver for the A interface is installed in the host. Next, the control unit 140 controls the load unit 110 to load the B interface, and then controls the determination unit 120 to determine whether the driver for the B interface is installed in the host. This process is also performed for the C and D interfaces. As described above, since the number of interfaces supported (or activated) by the device is reflected in the configuration descriptor, the control unit 140 can know the number of interfaces supported by (or activating) the device and its information. The control unit 140 may include a counter unit (not shown) to determine whether or not the driver is installed in the host for all interfaces supported (or activated) by the device. Accordingly, the control unit 140 sets the counter reference value to the number of interfaces (4 in the example) in which the device supports (or activates) the counter reference value, sets the counter value to 1, A interface) is loaded and controlled to determine whether the driver is installed in the host, the counter value is incremented by one to 2, and the second interface (B interface in the above example) is controlled to be processed . The controller 140 checks the counter value during each process and compares the counted value with the set reference value so that the process can be terminated when the counter value is equal to the reference value.

한편, 디바이스(100)는 각 인터페이스의 드라이버 설치 여부에 관한 판단부(120)의 판단 결과를 저장하는 판단 결과 저장부(160)를 더 포함할 수 있다. 판단 결과 저장부(160)가 판단부(120)의 판단 결과를 저장하는 방법은 도 2를 참조하여 후술하기로 한다.The device 100 may further include a determination unit 160 for storing a determination result of the determination unit 120 as to whether or not a driver of each interface is installed. A method for storing the determination result of the determination unit 120 by the determination unit 160 will be described later with reference to FIG.

또한, 제어부(140)는 판단부(120)의 판단 결과, 모든 인터페이스의 드라이버가 호스트에 설치되어 있는 경우, 로드부(110)가 모든 인터페이스를 로드할 수 있도록 제어할 수 있다.As a result of the determination by the determination unit 120, the control unit 140 may control the load unit 110 to load all the interfaces when drivers for all interfaces are installed in the host.

또한, 판단부(120)의 판단 결과, 호스트에 설치되어 있지 않은 인터페이스의 드라이버가 존재하여, 드라이버 설치가 필요한 경우, 제어부(140)는 설치가 필요한 드라이버의 설치 파일, 드라이버 목록 또는 드라이버를 다운로드할 수 있는 링크 정보(예를 들어, 웹 사이트 링크 정보) 등을 제공할 수 있도록 제공부(130)를 제어할 수 있다. 예를 들어, 제공부(130)가 디바이스에 설치가 필요한 드라이버의 설치 파일을 제공하는 경우, 제어부(140)는 로드부(110)가 CD-Rom 인터페이스 또는 USB Mass-Storage 인터페이스를 로드하도록 제어하고, 이를 통하여 제공부(130)는 설치가 필요한 드라이버를 제공할 수 있다. 통상적으로, CD-Rom이나 USB Mass-Storage의 경우 별도의 드라이버 설치 없이 호스트에서 인식 가능하며, 이러한 디바이스가 인식될 경우 호스트에서 별도의 팝업창을 실행하게 된다. 따라서, 로드부(110)가 CD-Rom 인터페이스 또는 USB Mass-Storage 인터페이스를 로드하면, 호스트가 디바이스를 CD-Rom 또는 USB Mass-Storage로 인식하므로 이를 통해 제공부(130)가 설치가 필요한 드라이버를 제공할 수 있다.If it is determined that the driver for the interface not installed in the host exists as a result of the determination by the determination unit 120 and the driver is required to be installed, the control unit 140 downloads the installation file, the driver list, (E.g., web site link information) that can be provided by the user. For example, when the providing unit 130 provides an installation file of a driver to be installed in the device, the control unit 140 controls the load unit 110 to load the CD-Rom interface or the USB Mass-Storage interface , So that the supply unit 130 can provide a driver that requires installation. In case of CD-Rom or USB mass-storage, the host can recognize it without installing a driver. When such a device is recognized, a separate pop-up window is executed by the host. Accordingly, when the load unit 110 loads the CD-Rom interface or the USB Mass-Storage interface, the host recognizes the device as a CD-Rom or a USB Mass-Storage, .

또한, 제공부(130)에서 제공된 정보를 이용해 호스트에 필요한 드라이버가 설치되면, 제어부(140)는 로드부(110)가 모든 인터페이스를 다시 로드할 수 있도록 제어할 수 있다.When a driver necessary for the host is installed using the information provided by the providing unit 130, the control unit 140 may control the loading unit 110 to reload all the interfaces.

한편, 디바이스가 다수의 기능 모드를 제공하는 경우, 사용자가 특정 기능 모드를 선택하면, 제어부(140)는 사용자가 선택한 특정 기능 모드와 관련된 인터페이스에 대해서만 로드 및 드라이버 설치 여부 판단을 하도록 로드부(110) 및 판단부(120)를 제어할 수 있다. 예를 들어, 디바이스(100)가 PC 툴을 이용하여 데이터를 관리하는 PC 데이터 모드, 미디어 파일 전송에 관한 MTP 모드, 이미지 파일 전송에 관한 PTP 모드, 대용량 파일 전송에 관한 이동식 디스크 모드, 테더링을 위한 테더링 모드 등을 제공한다고 가정하면, 사용자가 PC 데이터 모드를 선택한 경우, 제어부(140)는 로드부(110) 및 판단부(120)를 제어하여 PC 데이터 모드와 관련된 인터페이스인 Modem 및 Diag 에 대해서만 로드 및 드라이버 설치 여부 판단을 수행한다. 이때, Modem은 데이터 통신 포트로써 펌웨어 다운로드 등의 기능을 지원하며, Diag는 디버그 용도 포트로써 개발자들이 필요한 로그를 받아볼 수 있는 기능을 지원한다.On the other hand, when the device provides a plurality of function modes, when the user selects a specific function mode, the controller 140 controls the load unit 110 And the judging unit 120 of FIG. For example, the device 100 may include a PC data mode for managing data using PC tools, an MTP mode for media file transfer, a PTP mode for image file transfer, a removable disk mode for large file transfer, The control unit 140 controls the load unit 110 and the determination unit 120 to determine whether the PC data mode is selected by the user in the Modem and Diag Only the load and the driver are installed. At this time, Modem is a data communication port and supports functions such as downloading firmware. Diag is a debug port, and it supports a function to receive logs required by developers.

한편, 추가적 실시 예에 따르면, 디바이스(100)는 재연결부(150)를 더 포함할 수 있다. 재연결부(150)는 디바이스(100)가 호스트에 USB 연결(물리적 연결)된 상태에서 연결 상태를 리셋(예를 들어, 소프트웨어 리셋)함으로써 호스트에 새로운 디바이스가 연결된 것과 같이 인식하도록 한다. 따라서, 디바이스(100)가 복수의 인터페이스를 지원(또는 활성화)하는 경우 각 인터페이스에 대하여 호스트에 드라이버가 설치되어 있는지 판단할 수 있으며, 호스트에 미설치된 드라이버를 판단한 후 디바이스(100)를 CD-Rom 또는 USB Mass-Storage로 호스트가 인식하도록 하여 제공부(130)가 드라이버 정보를 제공할 수 있게 된다. 구체적으로, 로드부(110)에서 기존에 로드된 인터페이스를 언로드하고 다른 인터페이스를 새로이 로드하는 경우, USB를 재인식하여 USB를 통하여 연결된 디바이스(100)와 호스트의 기존 연결을 끊고 새로 연결(리셋)할 수 있다. 이때, USB 재인식은 일종의 소프트웨어적인 리셋으로서, 예를 들어, VBus voltage를 조절함으로써 가능하다.Meanwhile, according to a further embodiment, the device 100 may further include a re- The rejoining unit 150 allows the host 100 to recognize the new device as being connected to the host by resetting the connection state (for example, software reset) while the device 100 is USB-connected to the host (physical connection). Accordingly, when the device 100 supports (or activates) a plurality of interfaces, it is possible to determine whether or not the driver is installed in the host for each interface. After determining the driver not installed in the host, Or USB Mass-Storage, so that the providing unit 130 can provide the driver information. Specifically, when the load unit 110 unloads the previously loaded interface and newly loads another interface, it re-recognizes the USB, disconnects the existing connection with the device 100 connected via USB, and newly connects (resets) . At this time, USB re-recognition is a kind of software reset, for example, by adjusting the VBus voltage.

도 2는 드라이버 설치 여부 판단 결과를 저장한 예를 도시한 도면이다. 이때, 디바이스(100)는 제 1 인터페이스, 제 2 인터페이스, 제 3 인터페이스를 지원한다고 가정한다. 여기서, 인터페이스는, 예를 들면, 데이터 통신 포트로써 펌웨어 다운로드 등을 위한 Modem, 디버그 용도를 위한 Diag, 미디어 파일 등을 전송하기 위한 MTP, 대용량 파일 전송 기능을 위한 Mass-storage 또는 CD-Rom, 네트워크 통신을 위한 RNDIS, 이미지 파일을 전송하기 위한 PTP 등을 포함하나 이에 한정되는 것은 아니다.FIG. 2 is a diagram illustrating an example of storing a driver installation determination result. At this time, it is assumed that the device 100 supports the first interface, the second interface, and the third interface. The interface may be, for example, a data communication port, such as a modem for downloading firmware, a Diag for debugging purpose, an MTP for transmitting media files, a Mass-storage or CD-Rom for large- RNDIS for communication, PTP for transmitting image files, and the like.

판단 결과 저장부(160)는 디바이스(100)가 지원하는 인터페이스의 드라이버가 호스트에 설치되어 있는 지 여부를 판단한 판단결과를 인터페이스 별로 저장한다. 도 2에 도시된 바와 같이, 판단 결과 저장부(160)는 각각의 인터페이스의 드라이버 설치 여부를 인터페이스 이름 필드와 설치 여부 필드를 포함하는 형태로 저장한다. 이때, Windows, Linux, Mac 등 각각의 OS에 대해서 지원되어야 하는 인터페이스 목록이 다르므로, 인터페이스 이름 필드에는 각각의 OS에 따라 다른 데이터가 저장될 수 있다.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 device 100 is installed in the host, for each interface. As shown in FIG. 2, the storage unit 160 stores whether the driver of each interface is installed in a form including an interface name field and an installation / non-installation field. At this time, since the interface list to be supported for each OS such as Windows, Linux, and Mac is different, different data may be stored in the interface name field according to each OS.

도 3은 도 1의 드라이버 저장부(170)에서 드라이버를 저장한 예를 도시한 도면이다. 이때, OS는 OS1, OS2, OS3가 있고, 디바이스(100)는 제 1 인터페이스, 제 2 인터페이스, 제 3 인터페이스를 지원한다고 가정한다.3 is a diagram illustrating an example in which a driver is stored in the driver storage unit 170 of FIG. At this time, it is assumed that the OS has OS1, OS2, and OS3, and that the device 100 supports the first interface, the second interface, and the third interface.

각각의 OS에 대해서 지원되어야 하는 인터페이스가 다르므로, OS에 따라 동일한 인터페이스에 대한 드라이버가 각각 다를 수 있다. 따라서, 도 3에 도시된 바와 같이, OS의 종류별로 각 인터페이스의 드라이버가 분류되어 저장된다.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.

또한, 도시되지는 않았지만, OS 버전 별로 인터페이스나 인터페이스의 드라이버가 다른 경우는 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는 본 발명의 일 실시 예에 따른 드라이버 설치 여부 판단 방법을 도시한 도면이다.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.

도 4를 참조하면, 디바이스(100)가 호스트와 USB 연결되면, 로드부(110)는 디바이스(100)가 지원하는 인터페이스 중 하나를 로드한다(405). 이때, 디바이스(100)가 복수의 기능 모드를 제공하여 사용자가 특정 기능 모드를 선택하는 경우는, 사용자가 선택한 특정 기능 모드와 관련된 인터페이스 중 하나를 로드한다. 예를 들어, 로드부(110)는 사용자가 특정 PC툴을 이용하여 데이터를 관리하는 PC 데이터 모드를 선택하는 경우, PC 데이터 모드와 관련된 인터페이스인 Modem 및 Diag 중에 Modem을 로드할 수 있다. 이때, Modem은 데이터 통신 포트로써 펌웨어 다운로드 등의 기능을 지원하며, Diag는 디버그 용도 포트로써 개발자들이 필요한 로그를 받아볼 수 있는 기능을 지원한다.Referring to FIG. 4, when the device 100 is USB-connected to a host, the load unit 110 loads one of the interfaces supported by the device 100 (405). At this time, when the device 100 provides a plurality of function modes and the user selects a specific function mode, the device 100 loads one of the interfaces related to the specific function mode selected by the user. For example, when the user selects a PC data mode for managing data using a specific PC tool, the load unit 110 may load the Modem among the Modem and Diag interfaces related to the PC data mode. At this time, Modem is a data communication port and supports functions such as downloading firmware. Diag is a debug port, and it supports a function to receive logs required by developers.

그 후, 판단부(120)는 로드된 인터페이스에 대한 드라이버가 디바이스(100)와 연결된 호스트에 설치되어 있는지를 판단한다(410). 예를 들어, 호스트로부터 특정 데이터 패킷이 수신된 후, 미리 설정된 시간 내에 호스트로부터 로드된 인터페이스에 대한 정보 요청을 받는 경우, 판단부(120)는 해당 인터페이스에 대한 드라이버가 호스트에 설치되어 있다고 판단하고, 그렇지 않은 경우는, 판단부(120)는 해당 인터페이스에 대한 드라이버가 호스트에 설치되어 있지 않다고 판단할 수 있다.Thereafter, the determination unit 120 determines whether a driver for the loaded interface is installed in the host connected to the device 100 (410). For example, when receiving a request for information about an interface loaded from a host within a predetermined time after a specific data packet is received from the host, the determination unit 120 determines that a driver for the interface is installed in the host Otherwise, the determination unit 120 may determine that the driver for the interface is not installed in the host.

즉, 디바이스가 호스트와 USB 인터페이스를 통하여 연결되면, 호스트는 디바이스 디스크립터(Device Descriptor)와 컨피규레이션 디스크립터(Configuration Descriptor)를 디바이스에 요청하고, 디바이스로부터 디바이스 디스크립터(Device Descriptor)와 컨피규레이션 디스크립터(Configuration Descriptor)를 수신한 후, 특정 데이터 패킷(예를 들어, Set Configuration)을 송신한다. 그 후, 호스트는 디바이스(100)에 로드된 인터페이스에 대한 드라이버를 검색하여, 검색되는 경우에만 해당 인터페이스에 대한 정보를 디바이스에 요청한다. 따라서, 디바이스(100)는, 특정 데이터 패킷(예를 들어, Set Configuration)을 호스트로부터 수신한 후, 미리 설정된 시간 내에 호스트로부터 해당 인터페이스에 대한 정보 요청이 있는지를 확인하여, 호스트에 해당 인터페이스의 드라이버가 설치되어 있는지를 판단할 수 있다.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 device 100, and requests information about the interface to the device only when it is searched. Accordingly, the device 100 receives a specific data packet (for example, a Set Configuration) from the host, checks whether there is an information request for the interface from the host within a preset time, It is possible to judge whether or not there is installed.

그 후, 단계 410의 판단 결과를 판단 결과 저장부(160)에 저장하고(415), 제어부(140)는 디바이스(100)가 지원하는 모든 인터페이스에 대하여, 드라이버 설치 여부를 판단하였는지를 확인하고(420), 단계 420의 확인 결과 드라이버 설치 여부를 모두 판단한 경우, 디바이스(100)가 지원(또는 활성화)하는 인터페이스의 드라이버가 호스트에 모두 설치되어 있는지 여부를 판단한다(425). 단계 420은, 예를 들어, 카운터부(미도시)의 카운터 값을 확인함으로써 이루어질 수 있으며, 단계 425는 판단 결과 저장부(160)에 저장된 데이터를 확인함으로써 이루어질 수 있다. 단계 425의 판단 결과 드라이버가 모두 설치 되어 있는 경우, 디바이스(100)가 지원하는 인터페이스 모두를 로드부(110)에 로드하고(430), 재연결부(150)를 통해 디바이스(100)를 호스트에 재인식하여 디바이스(100)와 호스트의 연결을 끊고 재연결을 한다(435).Thereafter, the determination result of step 410 is stored in the determination result storage unit 160 (step 415). The control unit 140 determines whether or not driver installation is determined for all the interfaces supported by the device 100 (step 420 If it is determined in step 420 that all drivers are installed, it is determined whether the driver for the interface supported (or activated) by the device 100 is installed in the host (step 425). Step 420 may be performed, for example, by checking the counter value of the counter unit (not shown), and step 425 may be performed by checking the data stored in the storage unit 160 as a result of the determination. If it is determined in step 425 that all the drivers are installed, all of the interfaces supported by the device 100 are loaded into the load unit 110 and re-recognized by the re-combination unit 150 And disconnects the device 100 from the host and reconnects it (435).

단계 420의 확인 결과, 디바이스(100)가 지원하는 인터페이스 중 드라이버 설치 여부를 판단하지 않은 인터페이스가 있는 경우, 판단하지 않은 다른 인터페이스를 로드부(110)에 로드하고(440), USB를 재인식하여 디바이스(100)와 호스트의 연결을 끊고 재연결을 한다(445). 그 후, 단계 410, 단계 415 및 단계 420을 수행한다.As a result of checking in step 420, if there is an interface that the device 100 does not determine whether a driver is installed among other interfaces supported by the device 100, it loads the other interface that is not determined in the load unit 110 (440) The host 100 is disconnected from the host and reconnected (445). Then, steps 410, 415 and 420 are performed.

이러한 과정은 디바이스(100)가 지원하는 인터페이스 모두에 대하여, 드라이버 설치 여부 판단을 완료할 때까지 반복 수행된다.This process is repeatedly performed for all interfaces supported by the device 100 until it is determined whether or not the driver is installed.

단계 425의 판단 결과, 호스트에 설치되어 있지 않은 드라이버가 존재하여, 드라이버의 설치가 필요한 경우, 제공부(130)는 설치가 필요한 드라이버에 대한 정보를 제공한다(480). 예를 들어, 설치가 필요한 드라이버의 설치 파일을 직접 제공할 수도 있으며, 설치가 필요한 드라이버 목록을 팝업창의 형태로 제공할 수도 있으며, 설치가 필요한 드라이버를 다운로드 받을 수 있는 링크 정보(예를 들어, 웹사이트 링크 정보)를 제공할 수도 있다. 이때, 설치가 필요한 드라이버를 직접 제공하기 위해, 로드부(110)에 CD-Rom 인터페이스 또는 USB Mass-Storage 인터페이스의 로드 및 재연결부(150)를 통한 USB 재인식을 수행하여 디바이스(100)를 대용량 USB 장치로 호스트가 인식할 수 있도록 할 수 있다.If it is determined in step 425 that there is a driver not installed in the host and installation of the driver is required, the providing unit 130 provides information about the driver that needs to be installed (480). For example, it is possible to directly provide an installation file of a driver that requires installation, to provide a list of drivers requiring installation in the form of a pop-up window, to provide link information (for example, a web Site link information). At this time, the load unit 110 is loaded with a CD-Rom interface or a USB mass-storage interface, and the USB re-recognition is performed through the re-combination unit 150 to provide the device 100 with a large capacity USB The device can be made aware of the host.

이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시 예에 한정되지 않고 특허청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.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: 디바이스, 110: 로드부,
120: 판단부, 130: 제공부,
140: 제어부, 150: 재연결부,
160: 판단 결과 저장부, 170: 드라이버 저장부.
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 load unit loading at least one interface for using a function supported by the device;
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.
제 1항에 있어서,
상기 판단부는,
특정 데이터 패킷을 상기 호스트로부터 수신하는 수신부;
상기 특정 데이터 패킷을 수신한 후 미리 설정된 시간 내에 상기 호스트로부터 상기 로드된 인터페이스에 대한 정보 요청이 있는 지 여부를 확인하는 확인부; 및
상기 확인 결과에 따라 드라이버 설치 여부를 판단하는 판정부; 를 포함하는 드라이버 설치 여부 판단 기능을 제공하는 디바이스.
The method according to claim 1,
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.
제 2항에 있어서,
상기 판정부는, 상기 특정 데이터 패킷을 수신한 후 미리 설정된 시간 내에 상기 호스트로부터 상기 로드된 인터페이스에 대한 정보 요청이 있는 경우, 상기 호스트에 상기 로드된 인터페이스와 관련된 드라이버가 설치되어 있다고 판단하는 드라이버 설치 여부 판단 기능을 제공하는 디바이스.
3. The method of claim 2,
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.
제 2항에 있어서,
상기 특정 데이터 패킷은 컨피규레이션(Configuration) 셋업이 완료되었음을 나타내는 Set Configuration 신호인 드라이버 설치 여부 판단 기능을 제공하는 디바이스.
3. The method of claim 2,
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.
제 1항에 있어서,
적어도 하나 이상의 인터페이스 각각을 상기 로드부가 하나씩 로드할 수 있도록 제어신호를 생성하는 제어부; 를 더 포함하는 드라이버 설치 여부 판단 기능을 제공하는 디바이스.
The method according to claim 1,
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.
제 1항에 있어서,
상기 로드부에 로드된 인터페이스가 언로드되고 새로운 인터페이스가 로드되면, 상기 디바이스와 상기 호스트를 재연결하는 재연결부; 를 더 포함하는 드라이버 설치 여부 판단 기능을 제공하는 디바이스.
The method according to claim 1,
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.
제 6항에 있어서,
상기 재연결부는 상기 디바이스와 상기 호스트 사이의 연결을 소프트웨어적으로 리셋하는 드라이버 설치 여부 판단 기능을 제공하는 디바이스.
The method according to claim 6,
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.
제 5항에 있어서,
상기 제어부는, 상기 적어도 하나 이상의 인터페이스와 관련된 드라이버가 상기 호스트에 모두 설치되어 있는 경우, 상기 적어도 하나 이상의 인터페이스 모두를 로드하도록 제어신호를 생성하는 드라이버 설치 여부 판단 기능을 제공하는 디바이스.
6. The method of claim 5,
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.
제 1항에 있어서,
상기 드라이버에 대한 정보는 드라이버 설치 파일, 드라이버의 목록 및 드라이버 설치 파일을 다운로드할 수 있는 링크 정보 중 적어도 하나를 포함하는 드라이버 설치 여부 판단 기능을 제공하는 디바이스.
The method according to claim 1,
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.
제 1항에 있어서,
상기 판단부의 판단 결과를 인터페이스 별로 저장하는 판단 결과 저장부; 를 더 포함하는 드라이버 설치 여부 판단 기능을 제공하는 디바이스.
The method according to claim 1,
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.
제 1항에 있어서,
상기 적어도 하나 이상의 인터페이스와 관련된 드라이버를 저장하는 드라이버 저장부; 를 더 포함하는 드라이버 설치 여부 판단 기능을 제공하는 디바이스.
The method according to claim 1,
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.
디바이스가 지원하는 기능을 사용하기 위한 적어도 하나 이상의 인터페이스를 로드하는 단계;
상기 디바이스와 연결된 호스트에 상기 로드된 인터페이스와 관련된 드라이버가 설치되어 있는지 여부를 판단하는 단계; 및
상기 판단 결과에 따라 상기 호스트에 설치되어 있지 않은 드라이버에 대한 정보를 제공하는 단계; 를 포함하는 드라이버 설치 여부 판단 방법.
Loading at least one interface for using a function supported by the device;
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.
제 12항에 있어서,
상기 판단하는 단계는,
특정 데이터 패킷을 상기 호스트로부터 수신하는 단계;
상기 특정 데이터 패킷을 수신한 후 미리 설정된 시간 내에 상기 호스트로부터 상기 로드된 인터페이스에 대한 정보 요청이 있는 지 여부를 확인하는 단계; 및
상기 확인 결과에 따라 드라이버 설치 여부를 판단하는 단계; 를 포함하는 드라이버 설치 여부 판단 방법.
13. The method of claim 12,
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.
제 13항에 있어서,
상기 판단하는 단계는, 상기 특정 데이터 패킷을 수신한 후 미리 설정된 시간 내에 상기 호스트로부터 상기 로드된 인터페이스에 대한 정보 요청이 있는 경우, 상기 호스트에 상기 로드된 인터페이스와 관련된 드라이버가 설치되어 있다고 판단하는 드라이버 설치 여부 판단 방법.
14. The method of claim 13,
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.
제 12항에 있어서,
상기 특정 데이터 패킷은 컨피규레이션(Configuration) 셋업이 완료되었음을 나타내는 Set Configuration 신호인 드라이버 설치 여부 판단 방법.
13. The method of claim 12,
Wherein the specific data packet is a Set Configuration signal indicating that the configuration setup is completed.
제 12항에 있어서,
상기 로드하는 단계는, 상기 적어도 하나 이상의 인터페이스 중 하나를 로드하되,
상기 로드하는 단계 및 상기 판단하는 단계는, 상기 적어도 하나 이상의 인터페이스 모두에 대하여 각각 수행되는 드라이버 설치 여부 판단 방법.
13. The method of claim 12,
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.
제 16항에 있어서,
상기 로드된 인터페이스가 언로드되고 새로운 인터페이스가 로드되면, 상기 디바이스와 상기 호스트를 재연결하는 단계; 를 더 포함하는 드라이버 설치 여부 판단 방법.
17. The method of claim 16,
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.
제 17항에 있어서,
상기 재연결하는 단계는 상기 디바이스와 상기 호스트 사이의 연결을 소프트웨어적으로 리셋하여 재연결하는 드라이버 설치 여부 판단 방법.
18. The method of claim 17,
Wherein the reconnecting step resets the connection between the device and the host by software.
제 16항에 있어서,
상기 적어도 하나 이상의 인터페이스와 관련된 드라이버가 상기 호스트에 모두 설치되어 있는 경우, 상기 적어도 하나 이상의 인터페이스 모두를 로드하는 단계; 를 더 포함하는 드라이버 설치 여부 판단 방법.
17. The method of claim 16,
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.
제 12항에 있어서,
상기 드라이버에 대한 정보는 드라이버 설치 파일, 드라이버의 목록 또는 드라이버 설치 파일을 다운로드할 수 있는 링크 정보 중 적어도 하나를 포함하는 드라이버 설치 여부 판단 방법.
13. The method of claim 12,
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.
제 12항에 있어서,
상기 판단 결과를 인터페이스 별로 저장하는 단계; 를 더 포함하는 드라이버 설치 여부 판단 방법.



13. The method of claim 12,
Storing the determination result for each interface; And determining whether or not the driver is installed.



KR20130042463A 2013-04-17 2013-04-17 Device and Method for judging driver installation KR20140125008A (en)

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)

Similar Documents

Publication Publication Date Title
US9563442B2 (en) Baseboard management controller and method of loading firmware
US10152443B2 (en) System and method for providing personality switching in a solid state drive device
US9778844B2 (en) Installation of operating system on host computer using virtual storage of BMC
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
US20130013818A1 (en) Method for switching working mode, usb device, and host device
US7921230B2 (en) USB devices pre-configuration for KVM switch
US7908417B2 (en) Motherboard system, storage device for booting up thereof and connector
CN102622313B (en) The method of the port switching method of USB device, system and differentiation operating system
JP2017527921A (en) Method and apparatus for controlling the mode of a device
US20140244822A1 (en) Management apparatus and method of managing server node
US20150154029A1 (en) Electronic apparatus and operational method thereof
US20180210783A1 (en) Information processing apparatus, control method of the same, and storage medium
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
CN106528226B (en) Installation method and device of operating system
US10838740B2 (en) Information processing apparatus and startup method
CN105279110B (en) A kind of method and USB device of USB device identification host system
KR20140125008A (en) Device and Method for judging driver installation
EP2477120B1 (en) Method for processing device connection, combination device and host device
US20150212826A1 (en) Information processing apparatus, information processing method, and storage medium
CN111953753A (en) Communication equipment connection method and device, computer equipment and storage medium
EP3413205A1 (en) Re-enumeration of usb 3.0 compatible devices
US20130080659A1 (en) Device and method for controlling usb terminal
CN100440146C (en) Computer working environment migration system, related device and method

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20130417

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20140731

Patent event code: PE09021S01D

PG1501 Laying open of application
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20150117

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20140731

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I