The present invention relates to the technology field of USB devices, and more particularly to a method and a device capable of automatically identifying host operating systems.
Through the plug-and-play characteristic of universal serial bus (USB), desk computers or notebooks can easily expand their peripheral devices having an USB interface, such as mouse, keyboard, joystick, scanner, digital camera, printer, flash drive, portable external hard drive, optical drive, wireless network card, speaker, and microphone.
As engineers skilled in USB device designing and manufacturing technology field know, a specific operating system installed in a host electronic device would automatically treat a specific USB device with an USB enumeration procedure when the specific USB device is connected to the host electronic device. Taking Windows XP as the example of the operating system, wherein the USB enumeration procedure executed by Windows XP consists of following steps:
Moreover, the engineers skilled in USB device designing and manufacturing technology field also know that, some of commercial USB devices just can support one specific operating system because the steps of USB enumeration procedure adopted by others operating system such as iOS or Android would be not completely identical to the above-listed steps (1′)-(8′). For instance, RNDIS (Remote Network Driver Interface Specification) is a Microsoft proprietary protocol implemented in a first USB network device, wherein the first USB network device merely supports Windows XP and other advanced Windows operating systems. On the other hand, CDC/ECM (Communications Device Class/Ethernet Control Model) is another one proprietary protocol implemented in a second USB network device, wherein the second USB network device merely supports the operating systems of Mac OS and Linux.
With the update and increase of USB interfaces' type, all operating systems including Microsoft's Windows, Apple's Mac OS and iOS, Google's Android, and Linus constantly upgrade their expandability on USB devices; nevertheless, USB devices or interfaces must simultaneously possess outstanding host operating system identifying ability in order to support all of the operating systems. In view of that, inventors of the present application have made great efforts to make inventive research thereon and eventually provided a method and a device capable of automatically identifying host operating systems.
The primary objective of the present invention is to provide a method and a device capable of automatically identifying host operating system. For conventionally-used USB devices or USB bridge interfaces cannot identify all kinds of Operation Systems (OS) from an electronic device, the present invention proposes a novel USB device consisting of: a USB physical interface, a central processing unit, and at least one peripheral interface controller. In the present invention, the central processing unit is particularly embedded with an OS identifying library for facilitating the novel USB device identify all kinds of Operation Systems. Moreover, the present invention simultaneously proposes an automatic OS identifying method, which particularly consists of a plurality of OS identifying steps designed based on conventional USB enumeration procedures. Thus, when a specific OS of a host device treats this novel USB device with a USB enumeration, the OS identifying library is able to detect the kind of the specific OS installed in the host device, according to the plurality of OS identifying steps.
In order to achieve the primary objective of the present invention, the inventor of the present invention provides an embodiment for the method capable of automatically identifying host operating system, comprising following steps:
USB device, if yes, proceeding to step (3); otherwise, proceeding to step (4);
For achieving the primary objective of the present invention, the inventor of the present invention also provides an embodiment for the device capable of automatically identifying host operating system, comprising:
The invention as well as a preferred mode of use and advantages thereof will be best understood by referring to the following detailed description of an illustrative embodiment in conjunction with the accompanying drawings, wherein:
To more clearly describe a method and a device capable of automatically identifying host operating system according to the present invention, embodiments of the present invention will be described in detail with reference to the attached drawings hereinafter.
It is well known that USB devices or USB products have been widely used and applied, such as mouse, keyboard, joystick, scanner, digital camera, printer, flash drive, portable external hard drive, optical drive, wireless network card, speaker, and microphone. On the other hand, a particular product integrated with USB and wireless network technologies has also developed and proposed resulted from the usability of USB technology and wireless network technology, such as wireless network care, wireless microphone, wireless mouse, and wireless keyboard. Please refer to
The USB device 1 shown in
The corresponding descriptions for the notations of “I2C”, “UART”, “eMMC”, “SATA”, “PATA”, “I2S”, and “SD” are integrated in following Table (1).
Please refer to
Continuously referring to
In the central processing unit 12, the data buffer 121 is coupled to the USB control unit 112 for receiving data outputted by the USB control unit 112. Moreover, the direct memory access controller 122 is coupled to the data buffer 121, the peripheral interface controlling unit 13 and the center processor 123. On the other hand, the center processor 123 is also coupled with the GPIO interface 125 and the clock signal generator 126. By such arrangement, the USB control unit 112 would immediately transmit data to the data buffer 121 when the host electronic device 2 output data to the USB physical unit 111 of the USB physical interface 11. Meanwhile, the power manager 17 provides power to the central processor 123 and the direct memory access controller 122 based on a clock signal outputted by the clock signal generator 125, such that the central processor 123 makes the data buffer 121 transmit the data to the peripheral interface controlling unit 13 through the direct memory access controller 122. Eventually, the peripheral interface controlling unit 13 transmits the data (or signal) to an I/O device connected to the USB device 1 by a specific data transmission protocol.
It is very easy for the engineers skilled in USB product designing and manufacturing technology field to understand that, because the aforesaid I/O device 3 and the USB device 1 shown in
Particularly, the present invention embeds an operating system (OS) identifying library in the USB control unit 112 of the USB physical interface 11. Therefore, when an operating system installed in the host electronic device 2 treats the USB device 1 with an USB enumeration procedure, the OS identifying library is able to identify the operating system as a first class operating system, a second class operating system, a third class operating system, or a fourth class operating system based on an address setting command sent by the operating system, a device descriptor replied by the USB device 1, a configuration descriptor replied by the USB device 1.
In order to explain the way for the aforesaid OS identifying library embeds in the USB control unit 112 of
First of all, the method proceeds to step (S1) for connecting the USB device 1 (shown in
The step (S3) further comprises 3 following detail steps:
Referring to
In the present invention the third class operating system is defined as Apple Mac OS operating system, and the fourth class operating system is defined as Google Android operating system or Linux operating system. Moreover, the step (S8) comprises 3 detail steps for further recognize the version of the said Microsoft Windows operating system is XP, Vista, 7, or 8. The 3 detail steps are listed as follows:
Therefore, through above descriptions, the method and the device capable of automatically identifying host operating system provided by the present invention has been introduced completely and clearly; in summary, the present invention includes the advantages of:
(1) For the conventionally-used USB devices or USB bridge interfaces cannot effectively identify all kinds of Operation Systems (OS) from an electronic device, the present invention proposes a novel USB device consisting of: a USB physical interface, a central processing unit, and at least one peripheral interface controller; wherein the central processing unit is particularly embedded with an OS identifying library. Moreover, the present invention simultaneously proposes an automatic OS identifying method, which particularly consists of a plurality of OS identifying steps designed based on conventional USB enumeration procedures. Thus, when a specific OS of a host device treats this novel USB device with a USB enumeration, the OS identifying library is able to detect the kind of the specific OS installed in the host device, according to the plurality of OS identifying steps.
The above description is made on embodiments of the present invention. However, the embodiments are not intended to limit scope of the present invention, and all equivalent implementations or alterations within the spirit of the present invention still fall within the scope of the present invention.