RU2643481C2 - Method of identification of operating system type and usb device - Google Patents

Method of identification of operating system type and usb device Download PDF

Info

Publication number
RU2643481C2
RU2643481C2 RU2015146594A RU2015146594A RU2643481C2 RU 2643481 C2 RU2643481 C2 RU 2643481C2 RU 2015146594 A RU2015146594 A RU 2015146594A RU 2015146594 A RU2015146594 A RU 2015146594A RU 2643481 C2 RU2643481 C2 RU 2643481C2
Authority
RU
Russia
Prior art keywords
operating system
message
usb device
computer
usb
Prior art date
Application number
RU2015146594A
Other languages
Russian (ru)
Other versions
RU2015146594A (en
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 ЗетТиИ Корпорейшн
Publication of RU2015146594A publication Critical patent/RU2015146594A/en
Application granted granted Critical
Publication of RU2643481C2 publication Critical patent/RU2643481C2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Systems (AREA)
  • Stored Programmes (AREA)

Abstract

FIELD: radio engineering, communication.
SUBSTANCE: method of identification of operating system type after receiving access to the computer by receiving a message from the Universal Serial Bus (USB) device requesting the descriptors of the Microsoft operating system (MODS) when the computer performs a secondary enumeration, determining the USB device type of the operating system in accordance with the accepted Microsoft operating system descriptor.
EFFECT: increased accuracy of determining differences in operating systems.
7 cl, 3 dwg

Description

Область техникиTechnical field

Настоящее изобретение относится к области разработки встроенных устройств и области связи, в частности к способу и устройству универсальной последовательной шины (Universal Serial Bus, USB) для идентификации типа операционной системы.The present invention relates to the field of development of embedded devices and the field of communication, in particular to a method and device for a universal serial bus (Universal Serial Bus, USB) for identifying the type of operating system.

Предпосылки создания изобретенияBACKGROUND OF THE INVENTION

В настоящее время с внедрением системы Microsoft WIN8 относительно предшествующих систем WIN7 и ХР разработан ряд новых функций в системе WIN8, таких как поддержание нового стандартного драйвера сетевого адаптера (например, драйвера сетевого адаптера для модели интерфейса мобильной широкополосной связи (Mobile Broadband Interface Model, MBIM)) в системе WIN8, и для того, чтобы использовать эти функции, вновь добавленные в систему WIN8, устройство USB должно быть в состоянии идентифицировать тип операционной системы, к которой осуществляется доступ. Исходя из этого, важнейшей проблемой, требующей решения, является реализация устройства USB, автоматически идентифицирующего, является ли операционная система, к которой осуществляется доступ, системой WIN8.Currently, with the introduction of the Microsoft WIN8 system relative to previous WIN7 and XP systems, a number of new functions have been developed in the WIN8 system, such as supporting the new standard network adapter driver (for example, the network adapter driver for the Mobile Broadband Interface Model (MBIM) ) on the WIN8 system, and in order to use these features newly added to the WIN8 system, the USB device must be able to identify the type of operating system that is being accessed. Based on this, the most important problem that needs to be solved is the implementation of a USB device that automatically identifies whether the operating system that is being accessed is a WIN8 system.

В настоящее время имеется три способа автоматической идентификации операционной системы.There are currently three ways to automatically identify the operating system.

Способ первый: драйвер фильтра устройства USB заранее устанавливается на персональном компьютере (ПК), и идентификационный код, согласованный с устройством USB, заранее реализуется в драйвере, например, в рамках системы WINDOWS драйвер ПК будет посылать 0хА1, в рамках системы Macintosh (MAC) драйвер ПК будет посылать 0хА2 и т.д.The first method: the USB device filter driver is pre-installed on a personal computer (PC), and the identification code that is matched with the USB device is pre-implemented in the driver, for example, within the WINDOWS system, the PC driver will send 0xA1, within the Macintosh (MAC) system PC will send 0xA2, etc.

Способ второй: когда оптический диск удаляется из привода, различные команды переключения заранее устанавливаются для разных операционных систем с использованием команд интерфейса малых компьютерных систем (small computer system interface, SCSI), тем самым достигается идентификация операционной системы.The second way: when the optical disk is removed from the drive, various switching commands are pre-set for different operating systems using the commands of the small computer system interface (SCSI), thereby identifying the operating system.

Способ третий: автоматическая идентификация системы достигается в процессе энумерации (опознания) устройства посредством дескрипторов операционной системы (ОС) Microsoft (Microsoft Operating System Descriptors, (MODS), расширенных Microsoft.The third method: automatic identification of the system is achieved in the process of enumeration (identification) of the device through descriptors of the operating system (OS) Microsoft (Microsoft Operating System Descriptors, (MODS), extended by Microsoft.

Для вышеуказанных трех способов, способ первый требует, чтобы драйвер фильтра был заранее установлен до того, как пользователь использует устройство USB, а второй способ требует, чтобы устройство USB было реализовано с оптическим диском, оба способа доставляют пользователю неудобства в процессе использования. В настоящее время только третий способ может идентифицировать, является ли операционная система ПК, к которому устройство USB в настоящий момент осуществляет доступ, базовой системой LINUX или базовой системой не-LINUX, и для базовой системы не-LINUX невозможно достичь различения того, является ли система системой WIN7 или системой WIN8.For the above three methods, the first method requires that the filter driver be pre-installed before the user uses the USB device, and the second method requires the USB device to be implemented with an optical disk, both methods give the user inconvenience during use. Currently, only the third method can identify whether the PC operating system to which the USB device is currently accessing is a LINUX base system or a non-LINUX base system, and for a non-LINUX base system it is not possible to distinguish whether the system is WIN7 system or WIN8 system.

Краткое изложение сущности изобретенияSummary of the invention

Варианты осуществления настоящего изобретения предлагают способ и устройство универсальной последовательной шины (USB) для идентификации типа операционной системы, которые могут автоматически идентифицировать операционную систему (для систем семейства WINDOWS, в частности, они позволяют идентифицировать, является ли система, к которой устройство осуществляет в данный момент доступ, системой WIN8, или системой WIN7, или системой ХР).Embodiments of the present invention provide a universal serial bus (USB) method and device for identifying an operating system type that can automatically identify an operating system (for WINDOWS family systems, in particular, they can identify whether the system to which the device is currently accessing access, WIN8 system, or WIN7 system, or XP system).

Вариант осуществления настоящего изобретения предлагает способ идентификации типа операционной системы, включающий:An embodiment of the present invention provides a method for identifying an operating system type, comprising:

после получения доступа к компьютеру, прием устройством USB сообщения с запросом дескриптора операционной системы Microsoft, отправленного текущей операционной системой компьютера, и ответ устройства USB на это сообщение; иafter gaining access to the computer, the USB device receives a message requesting a descriptor of the Microsoft operating system sent by the current computer operating system, and the USB device responds to this message; and

когда компьютер выполняет вторичную энумерацию, определение устройством USB типа операционной системы в соответствии с тем, принято ли конкретное сообщение с запросом дескриптора операционной системы Microsoft.when the computer performs secondary enumeration, the USB device determines the type of operating system according to whether a particular message has been received requesting a descriptor for the Microsoft operating system.

Вышеупомянутый способ также характеризуется тем, что:The above method is also characterized in that:

устройство USB поддерживает множество наборов информации о конфигурации USB.The USB device supports many sets of USB configuration information.

Вышеупомянутый способ также характеризуется тем, что: прием устройством USB сообщения с запросом дескриптора операционной системы Microsoft, отправленного текущей операционной системой компьютера, и ответ устройства USB на это сообщение включает:The above method is also characterized in that: the USB device receives a message requesting a descriptor of the Microsoft operating system sent by the current computer operating system, and the response of the USB device to this message includes:

после приема сообщения с запросом строчного дескриптора операционной системы (operating system string descriptor), отправленного текущей операционной системой компьютера, отклик устройства USB в виде ответного сообщения, соответствующего допустимому запросу строчного дескриптора операционной системы; иafter receiving a message requesting the operating system string descriptor sent by the current operating system of the computer, the response of the USB device in the form of a response message corresponding to a valid operating system string descriptor request; and

после приема сообщения с запросом дескриптора признака (operating system feature descriptor) операционной системы, отправленного текущей операционной системой компьютера, отклик устройства USB в виде ответного сообщения, соответствующего корректному запросу дескриптора признака операционной системы.after receiving a message requesting an operating system feature descriptor of the operating system sent by the current computer operating system, the response of the USB device is in the form of a response message corresponding to the correct request of the operating system attribute descriptor.

Вышеупомянутый способ также характеризуется тем, что:The above method is also characterized in that:

упомянутое конкретное сообщение с запросом дескриптора операционной системы Microsoft включает сообщение с запросом строчного дескриптора операционной системы;said specific Microsoft operating system descriptor request message including an operating system string descriptor request message;

определение устройством USB типа операционной системы в соответствии с тем, принято ли конкретное сообщение с запросом дескриптора операционной системы Microsoft, включает следующее:determining the type of operating system by the USB device according to whether a particular message requesting a Microsoft operating system descriptor is received includes the following:

если устройство USB приняло сообщение с запросом строчного дескриптора операционной системы, устройство USB определяет, что операционной системой является система WIN8.if the USB device has received a message requesting a string descriptor for the operating system, the USB device determines that the operating system is WIN8.

Вариант осуществления настоящего изобретения также предлагает устройство универсальной последовательной шины (USB), содержащее:An embodiment of the present invention also provides a universal serial bus (USB) device, comprising:

стек протокола USB, выполненный с возможностью реализации стека протокола USB и поддержки множества наборов информации о конфигурации USB;a USB protocol stack configured to implement a USB protocol stack and support multiple sets of USB configuration information;

модуль обработки сообщения, выполненный с возможностью, после того как устройство USB получает доступ к компьютеру, приема сообщения с запросом дескриптора операционной системы Microsoft и ответа на это сообщение; иa message processing module, configured to, after the USB device accesses the computer, receive a message requesting a handle to the Microsoft operating system and respond to this message; and

модуль идентификации, выполненный с возможностью, когда компьютер выполняет вторичную энумерацию, определения типа операционной системы в соответствии с тем, принято ли конкретное сообщение с запросом дескриптора операционной системы Microsoft.an identification module, configured to, when the computer performs secondary enumeration, determine the type of operating system according to whether a particular message is received requesting a descriptor for a Microsoft operating system.

Вышеупомянутое устройство USB также характеризуется тем, что:The above USB device is also characterized in that:

модуль обработки сообщения выполнен с возможностью приема сообщения с запросом дескриптора операционной системы Microsoft, отправленного текущей операционной системой компьютера, и ответа на это сообщение следующим образом:the message processing module is configured to receive a message requesting a descriptor of a Microsoft operating system sent by the current computer operating system and to respond to this message as follows:

после приема сообщения с запросом строчного дескриптора операционной системы, отправленного текущей операционной системой компьютера, отклика в виде ответного сообщения, соответствующего допустимому запросу строчного дескриптора операционной системы; иafter receiving a message requesting a string descriptor of the operating system sent by the current operating system of the computer, a response in the form of a response message corresponding to a valid request for a string descriptor of the operating system; and

после приема сообщения с запросом дескриптора признака операционной системы, отправленного текущей операционной системой компьютера, отклика в виде ответного сообщения, соответствующего корректному запросу дескриптора признака операционной системы.after receiving a message requesting a descriptor tag of the operating system sent by the current operating system of the computer, a response in the form of a response message corresponding to the correct request of the descriptor tag of the operating system.

Вышеупомянутое устройство USB также характеризуется тем, что:The above USB device is also characterized in that:

упомянутое конкретное сообщение с запросом дескриптора операционной системы Microsoft включает сообщение с запросом строчного дескриптора операционной системы; иsaid specific Microsoft operating system descriptor request message including an operating system string descriptor request message; and

модуль идентификации выполнен с возможностью определения типа операционной системы в соответствии с тем, принято ли конкретное сообщение с запросом дескриптора операционной системы Microsoft, следующим образом:the identification module is configured to determine the type of operating system in accordance with whether a particular message has been received requesting a descriptor for a Microsoft operating system, as follows:

когда компьютер выполняет вторичную энумерацию, если принято сообщение с запросом строчного дескриптора операционной системы, модуль идентификации определяет, что операционной системой является система WIN8.when the computer performs secondary enumeration, if a message is received requesting a string descriptor of the operating system, the identification module determines that the operating system is WIN8.

В заключение следует отметить, что внедрение способа и устройства USB для идентификации типа операционной системы, предлагаемых вариантами осуществления настоящего изобретения, может автоматически идентифицировать операционную систему (для систем семейства WINDOWS, в частности, возможна идентификация того, что система, к которой устройство осуществляет доступ в настоящий момент времени, является системой WIN8, или системой WIN7, или системой ХР). В тоже время способ идентификации операционной системы не требует от производителя предоставления драйвера фильтра или функции, использующей оптический диск, что сокращает количество программного обеспечения, установленного на компьютере, и может снизить затраты на разработку и последующее обслуживание, а также одновременно улучшить впечатления от использования устройства USB со стороны пользователя.In conclusion, it should be noted that the introduction of a USB method and device for identifying the type of operating system proposed by the embodiments of the present invention can automatically identify the operating system (for WINDOWS family systems, in particular, it is possible to identify that the system to which the device accesses the present moment of time, is a WIN8 system, or a WIN7 system, or an XP system). At the same time, the method of identifying the operating system does not require the manufacturer to provide a filter driver or a function that uses an optical disk, which reduces the amount of software installed on the computer and can reduce the development and subsequent maintenance costs and at the same time improve the experience of using a USB device by the user.

Краткое описание чертежейBrief Description of the Drawings

Фиг. 1 представляет блок-схему алгоритма способа идентификации типа операционной системы в соответствии с вариантом осуществления настоящего изобретения.FIG. 1 is a flow diagram of a method for identifying an operating system type in accordance with an embodiment of the present invention.

Фиг. 2 представляет структурную схему устройства USB в соответствии с вариантом осуществления настоящего изобретения.FIG. 2 is a block diagram of a USB device in accordance with an embodiment of the present invention.

Фиг. 3 представляет блок-схему алгоритма реализации способа в соответствии с практическим примером осуществления настоящего изобретения.FIG. 3 is a flowchart of an implementation of a method in accordance with a practical embodiment of the present invention.

Предпочтительные варианты осуществления настоящего изобретенияPreferred Embodiments of the Present Invention

Примеры осуществления настоящего изобретения будут подробно описаны ниже со ссылкой на приложенные чертежи. Важно отметить, что варианты осуществления и признаки вариантов осуществления настоящего изобретения могут быть объединены друг с другом произвольно и без конфликта.Embodiments of the present invention will be described in detail below with reference to the attached drawings. It is important to note that the embodiments and features of the embodiments of the present invention can be combined with each other arbitrarily and without conflict.

Фиг. 1 представляет блок-схему алгоритма способа идентификации типа операционной системы в соответствии с вариантом осуществления настоящего изобретения, и, как показано на фиг. 1, способ осуществления настоящего изобретения включает следующие шаги:FIG. 1 is a flow diagram of a method for identifying an operating system type in accordance with an embodiment of the present invention, and as shown in FIG. 1, a method of implementing the present invention includes the following steps:

На шаге S101, после получения доступа к компьютеру, устройство USB принимает и отвечает на сообщение с запросом MODS, отправленное текущей операционной системой компьютера.In step S101, after gaining access to the computer, the USB device receives and responds to the MODS request message sent by the current computer operating system.

На шаге S102, когда компьютер выполняет вторичную энумерацию, устройство USB определяет тип операционной системы в соответствии с тем, принято ли конкретное сообщение с запросом MODS.In step S102, when the computer performs secondary enumeration, the USB device determines the type of operating system according to whether a particular MODS request message has been received.

Устройство USB поддерживает множество наборов информации о конфигурации USB.The USB device supports many sets of USB configuration information.

В способе варианта осуществления может быть решена проблема автоматической идентификации устройством USB того, является ли текущая операционная система системой WIN8, тем самым эффективно используются новые возможности системы WIN8 и отменяется работа производителя по предоставлению драйвера фильтра для пользователя, что позволяет экономить затраты на развитие и последующее обслуживание, а также одновременно улучшает восприятие пользователем устройства USB.In the method of the embodiment, the problem of automatic identification by the USB device of whether the current operating system is a WIN8 system can be solved, thereby the new capabilities of the WIN8 system are effectively used and the manufacturer’s work to provide a filter driver for the user is canceled, which saves development and subsequent maintenance costs , and at the same time improves the user experience of the USB device.

Варианты осуществления настоящего изобретения достигаются посредством технической поддержки, заключающейся в том, что когда выполняется энумерация, устройство USB может поддерживать множество наборов информации о конфигурации, а хостовая операционная система (WINDOWS SP2 и выше) поддерживает MODS.Embodiments of the present invention are achieved through technical support in that when enumeration is performed, the USB device can support many sets of configuration information, and the host operating system (WINDOWS SP2 and higher) supports MODS.

Предпосылкой является то, что на стороне устройства USB должна реализовываться поддержка множества наборов конфигураций USB, а причина, почему необходимо поддерживать множество наборов конфигураций USB, заключается в том, что поддержка множества наборов конфигураций USB является механизмом реализации системы Microsoft WIN 8. Когда устройство USB получает доступ к компьютеру с WIN8, после того как компьютер с WIN8 обнаружил, что устройство имеет множество наборов конфигураций USB в процессе взаимодействия при энумерации, компьютер будет определять, есть ли необходимость в проведении энумерации устройства множество раз. Если устройство имеет только один набор конфигурации USB, энумерация не будет выполняться дважды.The premise is that multiple USB configuration sets must be supported on the USB device side, and the reason why multiple USB configuration sets need to be supported is that supporting multiple USB configuration sets is a mechanism for implementing Microsoft WIN 8. When a USB device receives access to a computer with WIN8, after a computer with WIN8 detects that the device has many sets of USB configurations during interaction during enumeration, the computer will determine if there is the need for enumeration, the device multiple times. If the device has only one USB configuration set, enumeration will not be performed twice.

Когда выполняется энумерация, устройство USB само сообщит, сколько наборов конфигураций поддерживаются в данный момент времени, и каждый набор конфигураций определяет, о каких устройствах устройство USB должно давать отчет при данном наборе конфигурации. Например, упомянутое конкретное устройство USB имеет два набора конфигураций USB, и первым набором из двух наборов может быть устройство сетевого адаптера модели управления Ethernet (Ethernet Control Model, EMC) и устройство оптического привода, а вторым набором может быть: сетевой адаптер MBIM (интерфейс мобильной широкополосной связи) и устройство Т-адаптера.When enumeration is performed, the USB device itself will tell you how many configuration sets are supported at a given time, and each configuration set determines which devices the USB device should report with this configuration set. For example, the specific USB device mentioned has two sets of USB configurations, and the first set of two sets can be an Ethernet Control Model (EMC) network adapter device and an optical drive device, and the second set can be: MBIM network adapter (mobile interface Broadband) and T-adapter device.

Во-первых, когда USB осуществляет доступ к хосту семейства ОС WINDOWS в первый раз, хостовая операционная система отправляет запрос строчного дескриптора операционной системы (строчный дескриптор ОС) для определения, содержит ли устройство USB один или более дескрипторов признаков, и осуществляет запись того, откликнулось ли текущее устройство USB ответом на запрос допустимого строчного дескриптора ОС хосту в списке.Firstly, when USB accesses the host of the WINDOWS family of OS for the first time, the host operating system sends a query to the operating system string descriptor (OS string descriptor) to determine if the USB device contains one or more feature descriptors, and records whether it responded whether the current USB device responds to a request from a valid OS string descriptor for the host in the list.

Во-вторых, если хостовая операционная система получила ответ на допустимый запрос строчного дескриптора ОС, хостовая операционная система затем отправляет запрос дескриптора признака операционной системы (дескриптора признака ОС) для получения признаков устройства USB.Secondly, if the host operating system receives a response to a valid OS string descriptor request, the host operating system then sends a request to the operating system tag descriptor (OS tag descriptor) to obtain USB device attributes.

В-третьих, так как устройство USB имеет множество наборов информации о конфигурации USB, хост выполнит повторную энумерацию устройства USB, и после того как вторая энумерация начнет выполняться, для компьютера с WIN8, хост снова отправит запрос строчного дескриптора ОС на устройство USB, в то время как для компьютера с WIN7/XP хост не будет отправлять такое сообщение. Таким образом, определение того, является ли операционная система, к которой обеспечивается доступ, системой WIN8, могла быть осуществлена посредством вышеупомянутых трех шагов.Thirdly, since the USB device has many sets of USB configuration information, the host will re-enumerate the USB device, and after the second enumeration starts, for a computer with WIN8, the host will again send an OS line descriptor request to the USB device, while for a computer with WIN7 / XP the host will not send such a message. Thus, determining whether the operating system to which access is provided is a WIN8 system could be carried out by the above three steps.

Фиг. 2 представляет структурную схему устройства USB в соответствии с вариантом осуществления настоящего изобретения, и, как показано на фиг. 2, устройство 1 USB этого варианта осуществления может содержать:FIG. 2 is a block diagram of a USB device in accordance with an embodiment of the present invention, and as shown in FIG. 2, the USB device 1 of this embodiment may comprise:

модуль 11 стека протокола USB, реализующий стек протокола USB, при этом стек протокола USB поддерживает устройство с множеством наборов информации о конфигурации USB;a USB protocol stack module 11 implementing the USB protocol stack, wherein the USB protocol stack supports a device with a plurality of sets of USB configuration information;

модуль 12 обработки сообщения, выполненный с возможностью, после того как устройство USB получает доступ к компьютеру, приема сообщения с запросом MODS, отправленного текущей операционной системой компьютера, и ответа на это сообщение; иa message processing module 12, configured to, after the USB device accesses the computer, receive a MODS request message sent by the current computer operating system and respond to this message; and

модуль 13 идентификации, выполненный с возможностью, когда компьютер выполняет вторичную энумерацию, определения типа текущей хостовой операционной системы, доступ к которой обеспечивается, и в соответствии с типом текущей хостовой операционной системы, переключения на другие типы устройств.an identification module 13, configured to, when the computer performs secondary enumeration, determine the type of current host operating system that is accessible, and in accordance with the type of the current host operating system, switch to other types of devices.

Например, если текущей хостовой операционной системой является система WIN8, требуется, чтобы устройство USB переключилось на устройство сетевого адаптера MBIM и устройство Т-адаптера. Если же текущей системой является система WIN7/VISTA/XP, требуется, чтобы устройство USB переключилось на устройство сетевого адаптера спецификации интерфейса удаленного сетевого драйвера (Remote Network Driver Interface Specification, RNDIS), устройство оптического привода и устройство Т-адаптера. Если текущей хостовой операционной системой является система MAC, требуется, чтобы устройство USB переключилось на устройство сетевого адаптера ЕМС, устройство оптического привода и устройство Т-адаптера.For example, if the current host operating system is WIN8, the USB device is required to switch to the MBIM network adapter device and the T-adapter device. If the current system is WIN7 / VISTA / XP, the USB device is required to switch to the network adapter device of the Remote Network Driver Interface Specification (RNDIS), the optical drive device, and the T-adapter device. If the current host operating system is a MAC system, the USB device is required to switch to the EMC network adapter device, optical drive device, and T-adapter device.

В варианте осуществления после того, как устройство USB осуществляет доступ к компьютеру с семейством ОС WINDOW, упомянутое USB будет идентифицировать, является ли текущая хостовая операционная система, к которой осуществляется доступ, системой WIN8 в соответствии с тем, отправляет ли текущая операционная система запрос строчного дескриптора ОС MODS в ходе вторичной энумерации, тем самым могут использоваться новые функции, предоставляемые ОС WIN8, и значительно улучшится восприятие пользователя.In an embodiment, after the USB device accesses the computer with the WINDOW family of OSs, said USB will identify whether the current host operating system to be accessed is a WIN8 system according to whether the current operating system sends a string descriptor request OS MODS during the secondary enumeration, thereby can use the new functions provided by WIN8, and significantly improve the user experience.

Пример примененияApplication example

Вариант осуществления описывает случай, когда пользователь использует устройство USB в хосте конкретного компьютера в первый раз и как показано на фиг. 3, что включает в себя следующие шаги.An embodiment describes a case where a user uses a USB device in a host of a particular computer for the first time and as shown in FIG. 3, which includes the following steps.

На шаге 201 устройство USB осуществляет доступ к хосту, необходимому для работы.At step 201, the USB device accesses the host required for operation.

Работающим хостом может быть персональный компьютер, а также другие устройства, поддерживающие ведущий контроллер USB, например карманный компьютер и т.п. Для операционной системы, работающей на хосте, варианты осуществления адаптированы под систему WIN8. В действительности, другие операционные системы, например операционные системы WIN7, WINDOWS ХР и VISTA, и т.д. могут быть включены в объем настоящего изобретения.The working host can be a personal computer, as well as other devices that support a USB host controller, such as a PDA, etc. For a host operating system, embodiments are adapted for the WIN8 system. In fact, other operating systems, such as WIN7, WINDOWS XP and VISTA operating systems, etc. may be included in the scope of the present invention.

Устройство USB вставляется в компьютер с WIN8, и когда персональный компьютер отправляет сообщение с запросом на получение информации об устройстве USB, устройство USB откликается двумя наборами (или множеством наборов) информации о конфигурации USB, поддерживаемых устройством, на запрос ПК.The USB device is inserted into the computer with WIN8, and when the personal computer sends a message requesting information about the USB device, the USB device responds with two sets (or many sets) of USB configuration information supported by the device to a PC request.

На шаге 202, после приема запроса строчного дескриптора ОС, отправленного с хоста на устройство USB, устройство USB откликается ответом, соответствующим корректному запросу строчного дескриптора ОС, в операционную систему.At step 202, after receiving an OS line descriptor request sent from the host to the USB device, the USB device responds with a response corresponding to the correct OS line descriptor request to the operating system.

На шаге 203, после приема запроса дескриптора признака ОС, отправленного с хоста на устройство USB, устройство USB откликается ответом, соответствующим корректному запросу дескриптора признака ОС, в операционную систему.At step 203, after receiving the OS attribute descriptor request sent from the host to the USB device, the USB device responds with a response corresponding to the correct OS attribute descriptor request to the operating system.

На шаге 204 ПК снова будет выполнять энумерацию на устройстве USB, и когда устройство USB обнаружит, что текущая операционная система отправляет ему запрос строчного дескриптора ОС снова, устройство USB может определить, что текущей операционной системой является операционная система WIN8 семейства ОС WINDOWS, в противном случае это будет операционная система не-WIN8 семейства ОС WINDOWS.In step 204, the PC will enumerate again on the USB device, and when the USB device detects that the current operating system sends it an OS string descriptor request again, the USB device can determine that the current operating system is WIN8 operating system family WINDOWS, otherwise it will be a non-WIN8 operating system of the WINDOWS OS family.

Обычный специалист в данной области техники может понять, что все или часть шагов в вышеуказанном способе может быть выполнена посредством программы, дающей команды соответствующему аппаратному обеспечению, и эта программа может храниться на машиночитаемой носителе, таком как постоянное запоминающее устройство, диск или оптический диск и т.п. Альтернативно, все или часть шагов вышеуказанных вариантов осуществления могут быть реализованы посредством одной или более интегральных схем. Таким образом, соответствующий модуль/блок в вышеуказанных вариантах осуществления может быть реализован с использованием функционального модуля аппаратного или программного обеспечения. Таким образом, настоящее изобретение не ограничивается какой-либо конкретной комбинацией аппаратных и программных средств.A person of ordinary skill in the art can understand that all or part of the steps in the above method can be performed by a program giving instructions to the appropriate hardware, and this program can be stored on a computer-readable medium such as read-only memory, disk or optical disk, etc. .P. Alternatively, all or part of the steps of the above embodiments may be implemented by one or more integrated circuits. Thus, the corresponding module / unit in the above embodiments may be implemented using a functional module of hardware or software. Thus, the present invention is not limited to any particular combination of hardware and software.

Приведенное выше описание представляет только предпочтительные варианты осуществления настоящего изобретения и, естественно, настоящее изобретение также может иметь различные другие варианты осуществления и специалист в данной области техники может вносить различные соответствующие изменения и модификации в соответствии с настоящим изобретением в пределах объема и сущности настоящего изобретения, и эти соответствующие изменения и модификации должны быть включены в объем защиты посредством прилагаемой формулы настоящего изобретения.The above description is only preferred embodiments of the present invention and, of course, the present invention may also have various other embodiments, and one skilled in the art may make various corresponding changes and modifications in accordance with the present invention within the scope and spirit of the present invention, and these corresponding changes and modifications should be included in the scope of protection by the appended claims of the present invention Nia.

Промышленная применимостьIndustrial applicability

Внедрение способа и устройства в варианте осуществления настоящего изобретения позволит идентифицировать операционную систему, уменьшить количество программного обеспечения, установленного на компьютере, сэкономить затраты на разработку и последующее техническое облуживание и улучшить восприятие пользователем устройства USB.The implementation of the method and device in the embodiment of the present invention will allow to identify the operating system, reduce the amount of software installed on the computer, save development costs and subsequent technical maintenance and improve the user experience of the USB device.

Claims (24)

1. Способ идентификации типа операционной системы, включающий:1. A method for identifying the type of operating system, including: после получения доступа к компьютеру, прием устройством универсальной последовательной шины (USB) сообщения с запросом дескрипторов операционной системы Microsoft (MODS), отправленного текущей операционной системой компьютера, и ответ устройства USB на это сообщение; иafter gaining access to the computer, receiving by the universal serial bus (USB) device a message requesting descriptors of the Microsoft operating system (MODS) sent by the current computer operating system, and the response of the USB device to this message; and когда компьютер выполняет вторичную энумерацию, определение устройством USB типа операционной системы в соответствии с тем, принято ли конкретное сообщение с запросом дескрипторов операционной системы Microsoft.when the computer performs secondary enumeration, the USB device determines the type of operating system according to whether a particular message has been received requesting descriptors for the Microsoft operating system. 2. Способ по п. 1, в котором2. The method according to p. 1, in which устройство USB поддерживает множество наборов информации о конфигурации USB.The USB device supports many sets of USB configuration information. 3. Способ по п. 1, в котором прием устройством USB сообщения с запросом дескрипторов операционной системы Microsoft, отправленного текущей операционной системой компьютера, и ответ устройства USB на это сообщение, включает:3. The method according to claim 1, in which the USB device receives a message requesting descriptors of the Microsoft operating system sent by the current computer operating system, and the response of the USB device to this message includes: после приема сообщения с запросом строчного дескриптора операционной системы, отправленного текущей операционной системой компьютера, отклик устройства USB в виде ответного сообщения, соответствующего допустимому запросу строчного дескриптора операционной системы; иafter receiving a message requesting a string descriptor of the operating system sent by the current operating system of the computer, the response of the USB device in the form of a response message corresponding to a valid request for a string descriptor of the operating system; and после приема сообщения с запросом дескриптора признака операционной системы, отправленного текущей операционной системой компьютера, отклик устройства USB в виде ответного сообщения, соответствующего корректному запросу дескриптора признака операционной системы.after receiving a message requesting a descriptor tag for the operating system sent by the current operating system of the computer, the response of the USB device in the form of a response message corresponding to the correct request for a descriptor tag for the operating system. 4. Способ по любому из пп. 1-3, в котором:4. The method according to any one of paragraphs. 1-3, in which: упомянутое конкретное сообщение с запросом дескрипторов операционной системы Microsoft включает сообщение с запросом строчного дескриптора операционной системы; иsaid specific Microsoft operating system descriptor request message including an operating system string descriptor request message; and определение устройством USB типа операционной системы в соответствии с тем, принято ли конкретное сообщение с запросом дескрипторов операционной системы Microsoft, содержит следующее:determining the type of operating system by the USB device according to whether a specific message requesting descriptors of the Microsoft operating system is received, contains the following: если устройство USB приняло сообщение с запросом строчного дескриптора операционной системы, устройство USB определяет, что операционной системой является система WIN8.if the USB device has received a message requesting a string descriptor for the operating system, the USB device determines that the operating system is WIN8. 5. Устройство универсальной последовательной шины (USB), содержащее:5. A universal serial bus (USB) device, comprising: модуль стека протокола USB, выполненный с возможностью реализации стека протокола USB и поддержки множества наборов информации о конфигурации USB;a USB protocol stack module configured to implement a USB protocol stack and support multiple sets of USB configuration information; модуль обработки сообщения, выполненный с возможностью, после получения доступа к компьютеру устройством USB, приема сообщения с запросом дескрипторов операционной системы Microsoft, отправленного текущей операционной системой компьютера, и ответа на это сообщение; иa message processing module, configured to, after gaining access to the computer with a USB device, receive a message requesting descriptors of the Microsoft operating system sent by the current operating system of the computer, and respond to this message; and модуль идентификации, выполненный с возможностью, когда компьютер выполняет вторичную энумерацию, определения типа операционной системы в соответствии с тем, принято ли конкретное сообщение с запросом дескрипторов операционной системы Microsoft.an identification module, configured to, when the computer performs secondary enumeration, determine the type of operating system according to whether a particular message is received requesting descriptors of the Microsoft operating system. 6. Устройство USB по п. 5, в котором:6. The USB device according to claim 5, in which: модуль обработки сообщения выполнен с возможностью приема сообщения с запросом дескрипторов операционной системы Microsoft, отправленного текущей операционной системой компьютера, и ответа на это сообщение, следующим образом:the message processing module is configured to receive a message requesting descriptors of the Microsoft operating system sent by the current computer operating system, and to reply to this message, as follows: после приема сообщения с запросом строчного дескриптора операционной системы, отправленного текущей операционной системой компьютера, отклика в виде ответного сообщения, соответствующего допустимому запросу строчного дескриптора операционной системы; иafter receiving a message requesting a string descriptor of the operating system sent by the current operating system of the computer, a response in the form of a response message corresponding to a valid request for a string descriptor of the operating system; and после приема сообщения с запросом дескриптора признака операционной системы, отправленного текущей операционной системой компьютера, отклика в виде ответного сообщения, соответствующего корректному запросу дескриптора признака операционной системы.after receiving a message requesting a descriptor tag of the operating system sent by the current operating system of the computer, a response in the form of a response message corresponding to the correct request of the descriptor tag of the operating system. 7. Устройство USB по п. 5 или 6, в котором:7. The USB device according to claim 5 or 6, in which: упомянутое конкретное сообщение с запросом дескрипторов операционной системы Microsoft включает сообщение с запросом строчного дескриптора операционной системы; иsaid specific Microsoft operating system descriptor request message including an operating system string descriptor request message; and модуль идентификации выполнен с возможностью определения типа операционной системы в соответствии с тем, принято ли конкретное сообщение с запросом дескрипторов операционной системы Microsoft, следующим образом:the identification module is configured to determine the type of operating system in accordance with whether a particular message has been received requesting descriptors of the Microsoft operating system, as follows: когда компьютер выполняет вторичную энумерацию, если принято сообщение с запросом строчного дескриптора операционной системы, модуль идентификации определяет, что операционной системой является система WIN8.when the computer performs secondary enumeration, if a message is received requesting a string descriptor of the operating system, the identification module determines that the operating system is WIN8.
RU2015146594A 2013-05-15 2013-09-04 Method of identification of operating system type and usb device RU2643481C2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310180181.6A CN104156328B (en) 2013-05-15 2013-05-15 A kind of method and USB device identifying OS Type
CN201310180181.6 2013-05-15
PCT/CN2013/082909 WO2014183358A1 (en) 2013-05-15 2013-09-04 Method for identifying type of operating system, and usb device

Publications (2)

Publication Number Publication Date
RU2015146594A RU2015146594A (en) 2017-06-20
RU2643481C2 true RU2643481C2 (en) 2018-02-01

Family

ID=51881833

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015146594A RU2643481C2 (en) 2013-05-15 2013-09-04 Method of identification of operating system type and usb device

Country Status (3)

Country Link
CN (1) CN104156328B (en)
RU (1) RU2643481C2 (en)
WO (1) WO2014183358A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018067139A1 (en) * 2016-10-05 2018-04-12 Hewlett-Packard Development Company, L.P. Usb device filtering
CN108733519B (en) * 2017-04-14 2022-08-16 中兴通讯股份有限公司 Configuration method of USB (universal serial bus) equipment and host
CN111193690B (en) * 2018-11-15 2023-08-22 中兴通讯股份有限公司 Method and device for processing request message and computer readable storage medium
CN114780157B (en) * 2022-04-24 2024-06-18 联宝(合肥)电子科技有限公司 System identification method and device, embedded controller and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253904A (en) * 2011-06-08 2011-11-23 广州视睿电子科技有限公司 Method and device for identifying computer operating system by USB equipment
US20120054372A1 (en) * 2010-08-24 2012-03-01 Mediatek Inc. Method of usb device enumeration including detecting the operating system type of the usb host
US20130031277A1 (en) * 2010-09-16 2013-01-31 Feitian Technologies Co., Ltd. Method for identifying version type of windows operating system on a host by a usb device
RU2013117127A (en) * 2010-09-16 2014-10-27 Эппл Инк. MEMORY PORT CONTROLLER OF MEMORY DEVICE WITH PORTS ASSOCIATED WITH TRAFFIC CLASSES

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702143B (en) * 2009-12-02 2011-08-10 华为终端有限公司 Method and device for modifying driving and matching information of USB device
CN102375786B (en) * 2011-10-18 2014-09-10 中兴通讯股份有限公司 Automatic operating system identifying method and system for USB (Universal Serial Bus) equipment
CN102890662B (en) * 2012-10-19 2016-10-05 无锡海森诺科技有限公司 By USB HID device is carried out the method that secondary enumerates to identify host operating system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120054372A1 (en) * 2010-08-24 2012-03-01 Mediatek Inc. Method of usb device enumeration including detecting the operating system type of the usb host
US20130031277A1 (en) * 2010-09-16 2013-01-31 Feitian Technologies Co., Ltd. Method for identifying version type of windows operating system on a host by a usb device
RU2013117127A (en) * 2010-09-16 2014-10-27 Эппл Инк. MEMORY PORT CONTROLLER OF MEMORY DEVICE WITH PORTS ASSOCIATED WITH TRAFFIC CLASSES
CN102253904A (en) * 2011-06-08 2011-11-23 广州视睿电子科技有限公司 Method and device for identifying computer operating system by USB equipment

Also Published As

Publication number Publication date
CN104156328B (en) 2019-02-05
CN104156328A (en) 2014-11-19
WO2014183358A1 (en) 2014-11-20
RU2015146594A (en) 2017-06-20

Similar Documents

Publication Publication Date Title
US10282192B1 (en) Updating device code through a bus
US10496388B2 (en) Technologies for securing a firmware update
US7457900B2 (en) Method for discovering and partitioning PCI devices
TWI477970B (en) Mode switch method of electronic device and assocaited electronic device
CN102375786B (en) Automatic operating system identifying method and system for USB (Universal Serial Bus) equipment
CN110134446B (en) Method for starting PCIE equipment scanning
CN109388604B (en) Hot plug control method, device and storage medium based on PCIe
US20120042307A1 (en) System and method for creating memory interface of computing device
RU2643481C2 (en) Method of identification of operating system type and usb device
CN102681959A (en) Method for interacting inner-band information and out-of-band information of server
CN103744708A (en) Method of fixing disk device names in Linux operating system
CN104995613A (en) Generic method to build virtual PCI device and virtual MMIO device
JP2010219725A (en) Network device and method of releasing external storage device on network
KR20110068916A (en) Virtual bus device using management engine
CN102103555A (en) Method and system for switching ports of USB (universal serial bus) device
CN111124508A (en) Method and device for adjusting PXE (PCI extensions for instrumentation) starting sequence of network card
JP6033942B2 (en) Device, system and method for assigning identifiers to components of a control system
US9501444B2 (en) USB device and method thereof for automatically recognizing microsoft windowing operating system version
US10216664B2 (en) Remote resource access method and switching device
CN114185603B (en) Control method of intelligent accelerator card, server and intelligent accelerator card
US9465597B2 (en) System for operating a device as a storage device and a modem device
CN113626276B (en) Method, system, terminal and storage medium for identifying type of server HBA card
CN102156648A (en) Wireless communication terminal starting method and device
US20200015296A1 (en) Computer system and method thereof for sharing of wireless connection information between uefi firmware and os
US10007529B2 (en) Data terminal running mode switching method, device, and data terminal