Утилита переключения виртуального CD-ROM
Утилита переключения виртуального CD-ROM — это программа, предназначенная для отключения виртуального привода CD-ROM на некоторых устройствах, таких как модемы мобильной широкополосной связи. Такие утилиты представляют собой средства смены режима работы устройств, в частности, «переключатели режимов» для многорежимных устройств USB[1].
Принцип работы
Некоторые USB-устройства, включая беспроводное оборудование стандартов WAN, имеют функцию хранения драйверов на самом устройстве: при первом подключении они опознаются как USB flash drive и автоматически устанавливают драйверы. После установки драйвер отправляет устройству команду, после чего оно переключается в рабочий режим, и вместо виртуального CD-ROM или устройства типа USB mass storage device class появляется само оборудование. Производитель оборудования для беспроводных WAN — компания Option N.V. — называет эту функцию ZeroCD (ZeroCD™). Возможность использования устройства ограничивается операционными системами, поддерживающими соответствующий драйвер, поскольку только драйвер может отправлять команду переключения.
С помощью программ для перехвата USB-трафика и библиотеки libusb можно отслеживать коммуникацию драйвера с устройством, выделять команду/действие для смены режима и воспроизводить этот процесс в другой программной среде[2].
Утилита переключения виртуального CD-ROM позволяет имитировать эту команду с целью смены режима устройства с флеш-накопителя на модем. При этом происходит отключение смонтированного диска с программным обеспечением и создание последовательного порта для подключения к сети (обычно /dev/ttyUSB0) для networkmanager[3].
В некоторых операционных системах, реализующих стандарт USB, драйверы устройств уже встроены, благодаря чему любые 3G-устройства распознаются как последовательные порты, а любые накопители — как USB-устройства хранения данных. В результате устройства, не способные запустить свой собственный драйвер, могут использовать встроенные драйверы системы. Виртуальный CD-ROM на совместимых с U3 устройствах можно удалить с помощью программных инструментов[4]. Некоторые 3G-модемы, например компании Huawei, поддерживают полное отключение виртуального CD-ROM[5].
Доступные программные решения включают следующие утилиты:
- ZeroCD: При использовании метода ZeroCD устройство при первом подключении определяется как USB CD-ROM с виртуальным CD-диском, содержащим драйверы Windows и специализированную управляющую программу Cosmote. После установки драйверов Windows отправляется специальная команда USB, переводящая устройство в режим модема[6].
- Ozerocdoff: Позволяет временно отключить ZeroCD для USB-модемов компании Option WWAN. При подключении такие устройства поддерживают режим CD-ROM, в котором содержатся драйверы Windows для работы с модемом. Во время процесса инициализации устройство определяется как виртуальный CD-ROM с вендорным именем «ZOPTION», также известное как ZERO-CD. Ozerocdoff позволяет отключить режим ZERO-CD и использовать модем непосредственно[7].
- USB_ModeSwitch: Представляет собой утилиту для смены режима виртуального CD-ROM в различных устройствах. Начиная с версии 1.0.3, имеется интеграция с udev (диспетчер устройств Linux) для полной автоматизации процесса переключения[2].
- Switch2modem: Предназначена для переключения 3G USB-модемов, работает под управлением OpenSolaris[8].
- Fetch utility: huaweiAktBbo.c — это утилита, которую можно скомпилировать и использовать для воспроизведения USB-коммуникаций, применяемых в Windows[9].