Nuvoton ec generic hid driver что это
В статье описывается реализация USB драйверов PC для Generic HID Class. На самом деле здесь имеется в виду не написание обычного драйвера как такового, а описание способа применения уже готового драйвера USB HID, встроенного в операционную систему Windows, с помощью специальной библиотеки Atmel USB HID DLL (AtUsbHid.dll). Текст статьи - почти дословный перевод даташита Atmel "USB PC Drivers Based on Generic HID Class" (doc7645.pdf).
[Возможности библиотеки Atmel USB HID DLL]
• Поддерживаются все операционные системы Windows, начиная от Windows 98® SE (все более поздние версии Windows также поддерживаются).
• Возможен полнодуплексный обмен данными через USB (Full Duplex Communication).
• Передача команд через конечную точку 0 (EP 0, она же конечная точка управления, Control Endpoint).
• Библиотека DLL (Dynamic Link Library) поддерживается любым известным компилятором: VC++, JAVA, VB и т. д.
• Автодетектирование устройства USB HID для программы на VC++ (Visual Studio).
• Обмен данными типа точка-точка (Point-to-Point Communication).
Описанная в статье Atmel USB HID DLL (AtUsbHid.dll) является по сути простой оберткой над функциями HID.dll от Microsoft, написанной для облегчения их использования. Поэтому AtUsbHid.dll имеет некоторые ограничения по функционалу, но зато позволяет легко и просто писать программы для компьютера, осуществляющие обмен данными с устройством USB HID, а также отслеживать в программе события подключения и отключения устройства. К сожалению, исходный код AtUsbHid.dll недоступен. Если же Вы гуру в Windows API, то возможно Вам лучше использовать библиотеку HID.dll напрямую - в SDK от Microsoft есть примеры использования HID.dll. См. также обзор библиотек для работы с USB HID [2].
[1. Введение]
Этот апноут описывает способ интеграции библиотеки USB HID DLL в Ваше приложение (программу для компьютера, ПО хоста USB). Предоставленные примеры основаны на компиляторах VC++ (имеется в составе Visual Studio), JAVA, однако среда программирования и язык программы имеет мало значения, можно использовать и любые другие компиляторы - VB (Visual Basic), Delphi, LabView, и т. п. Простые примеры кода демонстрируют разные варианты реализации программы. Далее, где в тексте статьи упоминается DLL, то имеется в виду AtUsbHid.dll.
[2. Описание функций, встроенных в AtUsbHid.dll]
Как указано в стандарте USB HID, приложение для класса Generic HID использует два репорта report IN и report OUT для приема и отправки данных соответственно (полезная нагрузка). Длина этих репортов назначается в коде firmware микроконтроллера (эта длина задана в дескрипторах устройства USB HID), и она автоматически определяется библиотекой AtUsbHid.dll в точном соответствии с настройками проекта firmware для Вашего микроконтроллера. Подробности см. в [1], там подробно описана структура firmware, его настройки, и как эти настройки менять.
Имейте в виду, что библиотека DLL, описанная в этой статье, позволяет одновременно вести обмен данными с одним и только одним устройством USB Generic HID. Вы не можете обработать одновременный обмен данными с несколькими устройствами USB HID, используя эту DLL. Это сделано для упрощения использования библиотеки (хендл открытого устройства USB для простоты спрятан в коде библиотеки). Для одновременной работы с несколькими устройствами используйте другие библиотеки [2].
Рис. 2-1. Упрощенная структура приложения, построенного на AtUsbHid.dll.
2.1 findHidDevice
Эта функция (возвращает значение типа BOOLEAN, т. е. true или false) позволяет найти в системе Windows подключенное устройство Generic HID по его идентификаторам vendor ID (VID) и product ID (PID). Эта функция также открывает хендл (handle) к этому USB-устройству, если оно подключено.
Выходное возвращаемое значение:
FALSE: устройство не найдено. Больше информации можно получить, если после возврата false вызвать API функцию Windows GetLastError. TRUE: соединение произведено успешно, и к устройству USB HID открыт хендл.
Вызов GetLastError (в случае возврата FALSE) может вернуть:
ERROR_USB_DEVICE_NOT_FOUND если устройство не найдено в системе.
ERROR_USB_DEVICE_NO_CAPABILITIES если устройство найдено, но нельзя запросить от него описатели возможностей устройства. Обычно это говорит об ошибке в дескрипторах, или о том, что устройство не принадлежит классу USB HID.
2.2 closeDevice
Эта функция прекращает обмен с устройством USB HID и закрывает хендл к нему.
2.3 writeData
Когда отправляемый размер данных меньше максимального размера пакета, то передается все равно блок данных максимального размера, просто в хвост данных дописываются нулевые данные (байты 0x00).
Выходное возвращаемое значение:
FALSE: ошибка в передаче данных. Вызов GetLastError() вернет код ERROR_WRITE_FAULT.
TRUE: пакет данных успешно передан от компьютера к устройству USB HID.
2.4 readData
Эта функция (BOOLEAN) читает пакеты данных, отправленные устройством USB HID (пакеты IN data). Чтобы предотвратить потери данных, это функция должна вызваться постоянно (с использованием отдельного потока или таймера).
Выходное возвращаемое значение:
FALSE: если данные от устройства USB HID пока не поступили.
TRUE: если принятые данные сохранены в буфере.
2.5 setFeature
Длина данных, которые можно передать вызовом функции setFeature, можно определить через вызов функции getFeatureReportLength (см. секцию 2.11 этой статьи). Длина передаваемых данных не должна превышать длины, которую возвратила getFeatureReportLength.
Выходное возвращаемое значение:
FALSE: ошибка в передаче данных.
TRUE: пакет данных успешно передан от компьютера к устройству USB HID.
2.6 hidRegisterDeviceNotification
Внимание: имейте в виду, что эта функция может использоваться только для проекта VC++. Эта функция оповещает ПО хоста USB (приложение для компьютера) о переподключениях устройства USB.
Выходное возвращаемое значение:
FALSE: вызов функции потерпел ошибку. Чтобы получить дополнительную информацию, вызовите GetLastError.
TRUE: успешный возврат из функции.
2.7 hidUnregisterDeviceNotification
Внимание: имейте в виду, что эта функция может использоваться только для проекта VC++. Эта функция закрывает указанный хендл оповещения о переподключениях USB-устройства (device notification handle).
Выходное возвращаемое значение:
FALSE: вызов функции потерпел ошибку. Чтобы получить дополнительную информацию, вызовите GetLastError.
TRUE: успешный возврат из функции.
2.8 isMyDeviceNotification
Внимание: имейте в виду, что эта функция может использоваться только для проекта VC++. Эта функция позволяет проверить, пришло или нет настроенное через hidRegisterDeviceNotification оповещение (подключено или отключено устройство) для используемого устройства USB HID.
Выходное возвращаемое значение:
TRUE: если подключенное/отключенное устройство USB HID является используемым.
FALSE: если это другое устройство.
2.9 getOutputReportLength
Эта функция позволяет пользователю библиотеки получить длину OUT report (размер пакета, который отправляется от компьютера PC к устройству USB HID). Эта длина задается в firmware устройства USB HID (описана в дескрипторах).
2.10 getInputReportLength
Эта функция позволяет пользователю библиотеки получить длину IN report (размер пакета, который отправляется от устройства USB HID к компьютеру PC). Эта длина задается в firmware устройства USB HID (описана в дескрипторах).
2.11 getFeatureReportLength
Эта функция позволяет пользователю библиотеки получить длину Feature report (пакет управления Control data packet, который оправляется от компьютера PC к устройству USB). Эта длина задается в firmware устройства USB (описана в дескрипторах).
[3. PC demos - демонстрационные примеры программ ПО хоста USB]
3.1 VC++ demo
Демонстрационная программа VC++ показывает, как загрузить AtUsbHid.dll в проект, и как использовать оповещения о переподключениях устройства USB (plug & play notification).
3.1.1 Загрузка DLL в приложении на Visual C++
Файл заголовка AtUsbHid.h предоставляет макросы, которые помогают загрузить и использовать функции, представленные в Atmel USB HID DLL. Когда Вы разрабатываете приложение, использующее DLL, то Вам нужно сделать следующее (это стандартная практика работы с функциями DLL):
• Создать хендлер (handler) для DLL и сбросить его: HINSTANCE hLib = NULL;
• Загрузить DLL в память, используя API функцию Windows: hLib =LoadLibrary(AT_USB_HID_DLL);
• Проинициализировать указатели на каждую используемую функцию DLL, используя loadFuncPointers(hLib).
Как только все эти шаги выполнены без ошибок, DLL и её функции загружены в Ваше приложение и готовы к работе. Теперь Вы можете вызвать нужные функции с помощью макроса DYNCALL(DllFunction()).
Когда приложение завершает свою работу, то неплохо освободить память, выгрузив DLL с помощью функции API FreeLibrary(hLib). Перед выгрузкой DLL из памяти Вы должны убедиться, что хендл устройства USB предварительно был закрыт (через вызов функции closeDevice).
3.1.2 Использование возможности автоматического подключения/отключения (Automatic Device Connection/Disconnection Feature)
DLL предоставляет функции, которые позволяют пользователю детектировать события подключения и отключения устройства. Чтобы добиться этого, проделайте следующие действия:
• Зарегистрируйте программно Ваше приложение, чтобы оно могло получать оповещения от операционной системы. Это делается следующим образом:
DYNCALL(hidRegisterDeviceNotification)((m_hWnd));
• Добавьте в список событий приложения (Message Map) функцию ON_WM_DEVICECHANGE().
• Создайте функцию с именем OnDeviceChange(UINT nEventType, DWORD dwData) которая будет вызваться при возникновении событий изменения статуса устройства USB.
• В теле функции OnDeviceChange вызывайте DYNCALL(isMyDeviceNotification(dwData)), чтобы определить, изменился ли статус Вашего устройства USB (было ли оно подключено или отключено). Пример, как это делается, см. в модуле UsbHidDemoCodeDlg.cpp.
• Когда приложение завершается, отмените регистрацию оповещений вызовом:
DYNCALL(hidUnregisterDeviceNotification(m_hWnd));
3.1.3 Чтение данных от устройства USB HID - использование readData
Устройство USB HID может постоянно передавать от себя данные (например, клавиатурные нажатия или перемещения курсора мыши). Интересна возможность периодически читать данные с использованием таймера. Это позволит организовать опрос принимаемых данных вызовами функции readData. Чтобы добиться этого, сделайте следующее:
• Добавьте функцию ON_WM_TIMER() в список событий приложения (Message Map).
• Создайте функцию, которая называется OnTimer(UINT nIDEvent). Она будет делать вызовы DYNCALL(readData(sbuffer).
• Теперь Вы можете установить таймер на указанный интервал с использованием функции SetTimer(n,x,y); это нужно для того, чтобы вызывать каждые x миллисекунд функцию readData, когда Ваше устройство USB HID подключено.
• Удалите таймер вызовом KillTimer(n), когда Ваше устройство отключено.
3.1.4 Внешний вид программы (интерфейс пользователя)
На рис. 3-1 приведен скриншот предоставленного демонстрационного приложения. Имейте в виду, что PID по умолчанию относится к специфическому demo (демки Atmel, которые имеют интерфейс Generic HID, могут не иметь одинаковые PID). Поэтому проверьте в приложении параметр PID (и на всякий случай и VID), чтобы он соответствовал тому, который используется в Вашем устройстве USB HID. Установленные VID/PID в устройстве USB можно узнать либо через Диспетчер Устройств Windows, либо через просмотр исходного кода firmware Вашего устройства USB (параметры VID и PID указаны в дескрипторах).
Рис. 3-1. VC++ based demo
Описание компонентов интерфейса GUI программы (рис. 3-1):
• Поля ввода Vendor ID, Product ID используются для того, чтобы указать нужные значения VID/PID для подключения к нужному устройству USB HID.
• Кнопка OK должна быть нажата один раз после того, как корректно установлены значения VID и PID.
• Кнопки LED 1 .. LED 4 управляют портами микроконтроллера, и позволяют переключать состояние светодиодов (зажжен/погашен) на отладочной плате (например, плата Atmel STK526. Вместо неё можно использовать плату AVR-USB162).
• Кнопка Firmware Upgrade позволяет пользователю запустить бутлоадер для обновления firmware через интерфейс USB (подробности см. в даташите на bootloader DFU Atmel).
• Кнопка Exit завершает работу приложения.
• Поле статуса предоставляет информацию о состоянии подключения, а также когда устройство подключено, то выдают длины репортов IN report, OUT report и Feature report (эти параметры автоматически используются DLL для отправки/приема данных).
3.1.5 DOS demo (консольное демонстрационное приложение VC++)
Это демо предоставляет простой пример консольного приложения. В нем используются фиксированные значения VID/PID, поэтому при их изменении требуется перекомпиляция приложения. Перед запуском консольного приложения должно быть подключено устройство с загруженным Generic HID firmware.
Рис. 3-2. DOS Interface (консольное приложение, запускаемое в среде cmd.exe)
Внимание: консольное приложение может быть скомпилировано с использованием среды MinGw [4]. Командная строка для компиляции приложения:
mingw32-g++ -O2 -Wall UsbHidSmallDemoCode.cpp -o AtUsbHidMinGw.exe -I.
3.2 JAVA demo
Эта демка показывает, как интегрировать AtUsbHid.dll в проект на языке JAVA. Интерфейс между AtUsbHid.dll и JAVA осуществляется через пакет AtUsbHidJni.jar.
3.2.1 Интегрирование AtUsbHid.dll
Чтобы встроить в приложение JAVA использование AtUsbHid.dll, выполните следующие простые шаги:
• Добавьте следующий код в секцию импорта (import section) Вашего файла JAVA:
import com.atmel.atusbhidjni.AtUsbHidJni
• Создайте новый объект для использования DLL:
AtUsbHidJni usbDevice = new AtUsbHidJni();
• Загрузите DLL:
usbDevice.loadLibraryUsbHid();
• Теперь DLL готова к использованию. Как использовать - см. описание функций AtUsbHid.dll.
• Важно перед выходом из приложения выгрузить DLL:
usbDevice.UnloadloadLibraryUsbHid();
• Чтобы скомпилировать проект, добавьте путь до класса (class path) пакета AtUsbHidJni.jar:
JAVAc userhid.JAVA -classpath AtUsbHidJni.jar
Дополнительную информацию можете получить из HTML-документации, предоставленном в пакете DLL [5].
3.2.2 Внешний вид программы (интерфейс пользователя)
Исходный код GUI-интерфейса программы на JAVA находится в папке JNICodeForHIDDLL. На рис. 3.3 показан скриншот пользовательского интерфейса на JAVA.
Рис. 3.3. Интерфейс пользователя программы, написанной на JAVA
Как можно видеть, программа на JAVA имеет интерфейс полностью аналогичный интерфейсу программы на VC++. Чекбокс Auto-Connect используется, чтобы разрешить приложению автоматически детектировать подключение/отключение устройства.
3.2.3 DOS demo (консольное демонстрационное приложение JAVA)
Это демо дает простой пример консольного приложения. Демо использует фиксированные значения VID/PID, и поэтому требуется перекомпиляция после изменения этих параметров в коде программы. Перед запуском консольного приложения должно быть подключено устройство с загруженным Generic HID firmware.
Рис. 3-4. DOS Interface (консольное приложение JAVA)
[4. Структура пакета AtUsbHid.dll]
Когда Вы распакуете архив пакета DLL, то Вы увидите несколько папок, которые имеют следующее назначение:
AtUsbHid - эта папка содержит бинарный файл AtUsbHid.dll и файл заголовка AtUsbHid.h.
ExeDemo - эта папка содержит различные исполняемые демонстрационные приложения.
JNICodeForHIDDLL - здесь находится исходный код проекта на JAVA.
UsbHidDemoCode - здесь находится исходный код проекта на VC++.
UsbHidSmallDemoCode - здесь находится исходный код проекта VC++ small demo (DOS demo, консольное приложение).
[Словарик]
Здесь даны краткие описания некоторых терминов, встречающихся в статье - для упрощения понимания. Подробности и значения других терминов ищите в [3] или в Википедии.
На сколько поняла из форумов, дальше нужно запустить сервер:
Мануалов толком не нашла, настраиваю по темам форумов, в т.ч. этого.
Пробовала в настройка использовать другой порт и другой драйвер, но всегда были ошибки.
Теперь при повторном выполнение команды, появляется ошибка:
При изменении драйвера - ошибка другая:
Если порт поменять на определяемое устройство, выдает такое:
Для Powercom драйверов всего два. Подскажите, как подключить UPS?
У меня powercom spt-1000, он работал с драйвером blazer, в том случае это было blazer_ser который работал с ups через usb-serial.
С blazer_ser пробовала. Но даже port = auto не подходит.
Это получилось максимально адекватным конфигом, т.к. сам определяет и idVendor = 0x0d9f, и idProduct = 0x00a4, даже когда они не прописаны в конфиге:
А когда прописаны, ошибка та же:
Получается, usb не определяется?
У меня был port не авто, а так:
Добрался до стац. компа. Прочитал нормально логи.
Сайт говорит, что драйвер usbhid-ups . Подключаешь ты UPS по USB. И, судя по тому логу, когда ты его запускала от рута, драйвер работает.
Но, ещё раз, от рута не нужно его использовать.
В общем, на стадии драйвера какие затыки в CentOS.
1.1 Копируешь правила из пакета nut в рабочу папку udev:
И меняешь dialout на nut
1.3 Перетыкаешь кабель, чтобы переподключить и выставилась нормальная группа. Дальше она будет автоматом нормально выставляться при каждой загрузке. Проверяешь, чтобы у устройства /dev/bus/usb/004/002 была группа nut
2. Драйвер запускается не просто командой upsdrvctl start . Для него еще предварительно нужно создать временную папку /var/run/nut , чтобы он записывал туда свои pid-файлы. Для этого был создан юнит systemd. В нём предварительно создается эта временная папка и только потом запускается драйвер. Но мейнтейнеры положили файл, где прописана эта папка, не в то место, которое прописано в юните. Поэтому:
2.1 Открываешь файл:
И правишь его содержимое на:
2.2 Правишь путь к этому файлу в юните nut-server. Открываешь файл:
И меняешь --create /etc/tmpfiles.d/nut-run.conf на --create /usr/lib/tmpfiles.d/nut-run.conf
2.3 Перезагружаешь systemd:
2.4 Драйвер запускается командой запуска этого юнита:
2.5 Команда systemctl status nut-server должна выдывать успешный репорт:
А команда upsc ups что-то вроде этого:
roiman ★ ( 17.07.18 08:14:56 )Последнее исправление: roiman 17.07.18 08:20:35 (всего исправлений: 2)
Права на устройство теперь выданы верно:
При переопределении путь создания юнита оказалось, что юнит не создается именно в этом файле /usr/lib/systemd/system/nut-server.service. . Но он есть в соседнем, требуемом для запуске /usr/lib/systemd/system/nut-driver.service и в последующем /usr/lib/systemd/system/nut-monitor.service :
Заменила путь создания юнита в nut-driver.service .
Сервер не запустился:
Привела файл с юнитом сервера к виду:
Тоже сервер не запускается:
В юните с монитором тоже поменяла путь. Тоже самое.
Да, извини, я перепутал. Писал по памяти. Нужно менять юнит nut-driver , а не nut-server. Приведи nut-server к исходному виду.
Из того что я нашел в инете.
Это то что Bluetooth в сущности сетевой протокол, как эзернет например, и что работа разных устройств по блютузу это просто использование разных прикладных протоколов.
Один умный человек все это раскопал Jon Scaife но Broadcom недавно купила Widcomm со всем что было и попросила Джона убрать всю информацию о том, как сдалать так чтобы Видкомоские дрова пахали на, почти, любых Блютуз-контроллерах. Есть некое лицензирование, по которому тот или иной производитель, на уровне драйверов, добовляет возможность использования со своим устройством, мыши или телефона или КПК. Так вот, если вы стали обладателем такого Блютуз-контроллера, производитель которого пожмотничал и в драйверах своих реализовал только поддержку того или иного типа устройств, а не всех которые Вам нужны, то здесь мы с вами все это обсудим и будет нам счастье
надо отдать должное Hipster и Кренг за помощь
На момент установки и удаления драйверов, ОТКЛЮЧИТЕ антивирусы и файрволы .
С устройствами НЕ на Broadcom чипсете, работа с драйверов Widcomm выше версии 5.1.0.1100 - маловероятна , но можно попытаться сделать гибрид из драйверов.
В свою очередь я сделал все по инструкции и с устройством от 3СОМ
3Com Wireless Bluetooth PC Card (3CRWB6096B)
у меня все завелось и значит будем составлять список работающих донглов и т.п. .
PCMCIA карта 3СОМ (PCMCIA\3Com-3CRWB6096B_Bluetooth_PC_Card-959F)
USB донгл в нотабуке FujitsuSiemens Celsius H230 - ALPS (USB\VID_044E&PID_3001)
CF NoName (PCMCIA\BT--547B) может называться Formosa H4 Compact Flash Card
USB донгл Tecom BT3034 (USB\VID_0A5C&PID_200A) может называться Blutonium BCM2035 или Broadcom
USB донгл в ноутбуке Broadcom USB Bluetooth Device BCM2035 (USB\VID_0A5C&PID_200A) "selectively suspendable" dongle
USB донгл Conceptronic CBT 100U (USB\VID_0A12&PID_0001)
USB донгл Billionton UBTCR3C1A-B (USB\VID_0A12&PID_0001)
USB донгл Bluetake BT007X (USB\VID_0A12&PID_0001)
USB донгл Pilotech BU002-ERD (USB\VID_0A12&PID_0001)
USB донгл Hassnet Bluetooth Dongle (USB\VID_055D&PID_0BB1) SAMSUNG BC02 external
USB донгл Prolife UB 22S (USB\VID_0A12&PID_0001) CSR Bluetooth Device Grozd
USB донгл BlueTake BT007SX (USB\VID_0A12&PID_0001), поддержка протокола bluetooth 2.0, EDR от ersm
USB донгл Tekram-307 (USB\VID_0A12&PID_0001) от Infra
USB донгл Cellink BTA-3120 (VID_0C10&PID_0000) чип Silicon Wave
USB донгл Canyon CN-BTU1 (USB\VID_0C10&PID_0000) чип Silicon Wave
USB донгл в нотабуке HP NC4010 - (USB\VID_049F&PID_0086) он же BLUETHUMB USB Device , "selectively suspendable" dongles not supporting remote wakeup when the whole machine is suspended
USB донгл на упаковке маркером было написано "JVC", а на самом донгле написано model:BTU02B made in Taiwan (VID_1310&PID_0001) он же Air2U Bluetooth Device
PCMCIA Billionton работает с 5.0.1.2500, определяется как TDK Bluetooth PC Card, драйвера лежат в DATA1.CAB - его надо распаковать (WinAce/WinRAR), который находится в корне дистрибутива. После установки девайс не будет опознан в "Оборудование" в "Дополнительных настройках" - "Device Not Found", но при этом будет работать.
USB донгл Orient B308 (USB\VID_1131&PID_1001) определяется как ISSC USB Bluetooth Device
USB донгл Espada v1.2 (USB\VID_1131&PID_1001) в системе - ISSC USB Device, WIDCOMM 5.1.0.1100 Zakk_Whylde
USB донгл D-Link DBT-122 USB Bluetooth 1.2 Adapter (USB\VID_2001&PID_F111) он же Formosa 1 , "selectively suspendable" dongle
USB донгл Bluetake BT009X (USB\VID_0A12&PID_0001) , CSR Real Stealth
USB донгл Motorola PC850 (USB\VID_22B8&PID_0850) он же Motorola USB Bluetooth Device "selectively suspendable" dongle
USB донгл и мышь Genius Bluetooth Traveler (USB\VID_0458&PID_003f)
USB донгл ASUS WL-BTD202 Class 2 (USB\VID_0B05&PID_1715) от описание Rucha он же Broadcom 2045 Bluetooth 2.0 USB Device (BS6 -)
USB донгл ASUS WL-BTD201M Class 1 (USB\VID_0B05&PID_1715) от FoxD
USB донгл MSI Starkey 2.0 (USB\VID_0A5C&PID_2101) a-design он же Broadcom 2045 Bluetooth 2.0 USB Device, non UHE "selectively suspendable" dongle
USB донгл Bluetake BT007SX (USB\VID_0A5C&PID_2100) белого цвета из Санрайза от eugene_kadett_13NB , и DeviceLock от Nimnul, он же Broadcom 2045 Bluetooth 2.0 USB-UHE Device, Broadcom Smart Dongle
USB донгл Bluetake BT007SX (USB\VID_0A12&PID_0001) ВНИМАНИЕ, бывает и на CSR, вероятно в UltraComputers от aar
USB донгл в нотабуке FujitsuSiemens S7110 Supreme от августа 2007 (USB\VID_0C24&PID_000F) USB Bluetooth Driver (V2.0+EDR) ; TaiyoYuden/CSR for Fujitsu
USB донгл Epox DG06b (USB\VID_0A12&PID_0001) от Шу!рик
USB донгл CBR (Cyber Brand Retail) ES-600 (USB\VID_1131&PID_1001) от Vic_tor
USB донгл ES-388 (USB\VID_0E5E&PID_6622) от pul2000
USB донгл Acorp WBD1-A2 (USB\VID_0A5C&PID_2101) от f2065
USB донгл в нотабуке Asus F7Sr (USB\VID_0B05&PID_1712) от Victor.K
USB донгл CBR DOK-35U (USB\VID_1131&PID_1001)&REV_0373 (чип ISSC) от LILI
USB донгл Acorp WBD1-C2 (USB\VID_0A12&PID_0001) (чип CSR о чём говорит в названии индекс -C) от LILI
USB донгл в нотабуке Samsung R55 (USB\VID_0A5C&PID_2045) от assa62
USB донгл Tekram TM-308 (USB\VID_0A12&PID_0001) от SuSt
USB донгл нонейм, внешне 1 в 1 выпускается фирмой Cyber-Blue (USB\VID_0A12&PID_0001) от Smith
USB донгл в нотабуке Samsung Q55 (А001) MacS
USB донгл в нотабуке Dell Inspiron 1720 model:PP22X ref:07018, Wireless 355 2.0+EDR (USB\VID_413C&PID_8126) BCM92045MD от Vince
USB донгл в нотабуке Dell Vostro 1310 (USB\VID_413C&PID_8140) от alk0v
USB донгл Smart WD BT 06 A EDR (USB\Vid_1131&Pid_1001&Rev_0373) от beb
USB донгл Epox BT DG02 (USB\VID_0A12&PID_0001) очевидно на CSR, от sciensys
USB донгл Direc USB BLUETOOTH-адаптер micro 2.0 SB8107 (USB\VID_0A12&PID_0001) Generic CSR
USB донгл в нотабуке ASUS F3Sr (USB\VID_0B05&PID_1712&REV_1915) от vvv2007 стек Toshiba
USB донгл некий Broadcom (USB\VID_0A5C&PID_2123) от Mike1981
USB донгл no name (USB\Vid_1131&Pid_1001&Rev_0373) от shaltai с Bluesoliel 5
USB донгл Bluetooth Gembird BTD-MINI1 USB BT ISSC V2.0 EDR (USB\Vid_1131&Pid_1004) от iljaV
USB донгл Super Mini Bluetooth 2.0 Adapter Dongle (USB\VID_0C10&PID_0000) от Zdpn
НЕ работающие или глЮчные
если интересно как и что глючит - в поиск по ветке (кнопка "печать" и после загрузки Crtl+F ввести слово)
USB донгл E. CYCLONE ADS-273 - в ситеме ISSC Bluetooth Device. Комплектуется обычно дровами BlueSoleil.
USB донгл Match BT100 - он же CYCLONE ADS-273
USB донгл Mobidick BCU43 (USB\VID_0A5C&PID_2101) BCM2045A Grozd
USB донгл Mobidick BCU43 еще один камень от s1zeist
USB донгл Noname от DizM
USB донгл ISSC USB донгл от Cleo1977
Universal Share Downloader для скачивания со всяких Рапидшар, МегаАплоадер и прочих Слил.ру
тут исследователи могут поискать драйвера
Widcomm / Broadcomm
Windows XP / Vista
Widcomm 6 и Widcomm 5 ? от lexab65
Widcomm_patcher_v2.rar Патчер версии 2 НЕОБХОДИМ для Widcomm x32 версий 4.0.1.2101, 5.0.1.х, а может и более свежих. от bbsc. изменяет четыре файла посчле чего становится возможным использование ЛЮБОГО совместимого донгла. Ставить в "безопасном режиме".
WidcommLicensePatcher19pre.rar Патчер v1.9pre файла лицензии
WidcommLicensePatcher17.rar Патчер v1.7 файла лицензии НЕОБХОДИМ для Widcomm х64, но так же может быть использован и для х32 от Phantasm4489. патчит только файл лицензии пару строк в реестре под КОНКРЕТНЫЙ донгл
Патчер файла лицензии - комментарии на GSMhosting
Патчер файла лицензии - комментарии от pretorean
О Widcomm 5.1.0.2700 от Garry
Аккуратнее, в директории svcpack может лежать прошивка - бла бла бла.DFU , перед установкой таких дров, прошивку лучше убрать оттуда вместе с файлом svcpack.ini
Widcomm от Anycom Vista x32 & x64 v6.1.0.5200-BETA multilanguage
Widcomm от Anycom Vista x32 & x64 v6.1.0.4700 multilanguage
Widcomm от Anycom Vista x32 & x64 v6.0.1.6300 multilanguage
Widcomm от ThinkPad bluetooth with Enhanced Data Rate software 6.0.1.4900 rewyt
Widcomm от Anycom XP & Vista, x32 & x64 v5.5.0.5500 multilanguage, от 03.11.08
Widcomm от Anycom XP & Vista x32 & x64 v5.5.0.3900 multilanguage, от 14.07.08
Widcomm от HP servicepack 5.1.0.4800 от iSmart
Widcomm от Anycom XP & Vista x32 & x64 v5.1.0.4200 multilanguage
Widcomm multilanguage Win32 5.1.0.3300 от a-design Rapidshare
btwusb.inf обновлённый для 5.1.0.1100 х32. положить в распакованный архив вместо оригинала и начать установку. от 15.05.2008
Widcomm 5.1.0.1100 multilanguage Win64 содержит патченную лицензию и REG файл который должен добавляться во время установки. Патчер лицензии тоже прилагается. Ну нижесказанное тоже верно и для х64 версии. Я не проверял х64.
Widcomm 5.1.0.1100 multilanguage Win32 Vista последний, на 25.10.2007, стек от WidComm который работает с CSR, новыми CSR, ALPS, ISSC чипсетами. Уже v5.1.0.1700 неработает, а v5.1.0.4200 и подавно
Файл автоустановки SFX RAR, проверено на WinXPproSP2 с хотфиксами на сентябрь 2007. Содержит ВСЕ донглы перечисленные на первой странице, за исключением PCMCIA и CF, т.к. с ними надо еще разобраться. Так же содержит УЖЕ пропатченные файлы, т.е. ненадо ничего патчить и никуда специально перегружаться. Перед установкой драйверов ОТКЛЮЧИТЬ или вынуть из компа донгл. Установить драйверы, согласившись на ВРЕМЕННОЕ отключение предупреждений Виндовз о неподписанных сертифакатах драйверов, на предложение вставить донгл - ответить отказом, дождаться конца установки, перезагрузить компутер. Если после перезагрузки копутера и подключения донгла не происходит "поиск новых устройств", то в диспетчере устройств надо удалить USB device помеченный желтым знаком вопроса и там же произвести поиск новых устройств посредством правого клика мыши на "названии" вашего компьютера в самом верху списка и выбора там "Обновить конфигурацию оборудования", на предложение подключиться к Internet и соединится с WindowsUpdate - ответить отказом. После того как донгл будет найден нужно перезагрузить компьютер и значек блютуза внизу справа должен стать белым.
пишите если заработает
Widcomm 5.1.0.1100 multilanguage Win32 немодифицированный
Widcomm 4.0.1.2101 от MSI StarKey_Drv4.0.1.2101.zip - вероятно ИХ использовал Mr.I для своей борьбы с CF bluetooth
Toshiba
Windows XP / Vista
XP v5.10.06F оригинальный файл от FujitsuSiemens S7110 (USB\VID_0C24&PID_000F)
Vista32 v5.00.08F оригинальный файл от FujitsuSiemens S7110 (USB\VID_0C24&PID_000F)
BlueSoleil
Windows XP / Vista Версия 6
Программа проверки на совместимость прямая ссылка
Windows 2000 / XP / Vista
(CSR, ISSC main chipset compatible.)
BlueSoleil 5.0.5.178 32bit Multilingual
FTP
вроде для х32 - работает? отпишитесь (патчить в безопасном режиме для висты обязательно)
BlueSoleil 5.0.5.178 64bit Multilingual
FTP
вроде для х64 - работает? отпишитесь (патчить в безопасном режиме для висты обязательно)
Vista compatible Version for Windows 2000/XP/Vista (CSR chip Only)
Bluesoleil 3.2.2.8 VoIP 070421 32bit Multilingual
European
Asia
FTP
На сколько поняла из форумов, дальше нужно запустить сервер:
Мануалов толком не нашла, настраиваю по темам форумов, в т.ч. этого.
Пробовала в настройка использовать другой порт и другой драйвер, но всегда были ошибки.
Теперь при повторном выполнение команды, появляется ошибка:
При изменении драйвера - ошибка другая:
Если порт поменять на определяемое устройство, выдает такое:
Для Powercom драйверов всего два. Подскажите, как подключить UPS?
У меня powercom spt-1000, он работал с драйвером blazer, в том случае это было blazer_ser который работал с ups через usb-serial.
С blazer_ser пробовала. Но даже port = auto не подходит.
Это получилось максимально адекватным конфигом, т.к. сам определяет и idVendor = 0x0d9f, и idProduct = 0x00a4, даже когда они не прописаны в конфиге:
А когда прописаны, ошибка та же:
Получается, usb не определяется?
У меня был port не авто, а так:
Добрался до стац. компа. Прочитал нормально логи.
Сайт говорит, что драйвер usbhid-ups . Подключаешь ты UPS по USB. И, судя по тому логу, когда ты его запускала от рута, драйвер работает.
Но, ещё раз, от рута не нужно его использовать.
В общем, на стадии драйвера какие затыки в CentOS.
1.1 Копируешь правила из пакета nut в рабочу папку udev:
И меняешь dialout на nut
1.3 Перетыкаешь кабель, чтобы переподключить и выставилась нормальная группа. Дальше она будет автоматом нормально выставляться при каждой загрузке. Проверяешь, чтобы у устройства /dev/bus/usb/004/002 была группа nut
2. Драйвер запускается не просто командой upsdrvctl start . Для него еще предварительно нужно создать временную папку /var/run/nut , чтобы он записывал туда свои pid-файлы. Для этого был создан юнит systemd. В нём предварительно создается эта временная папка и только потом запускается драйвер. Но мейнтейнеры положили файл, где прописана эта папка, не в то место, которое прописано в юните. Поэтому:
2.1 Открываешь файл:
И правишь его содержимое на:
2.2 Правишь путь к этому файлу в юните nut-server. Открываешь файл:
И меняешь --create /etc/tmpfiles.d/nut-run.conf на --create /usr/lib/tmpfiles.d/nut-run.conf
2.3 Перезагружаешь systemd:
2.4 Драйвер запускается командой запуска этого юнита:
2.5 Команда systemctl status nut-server должна выдывать успешный репорт:
А команда upsc ups что-то вроде этого:
roiman ★ ( 17.07.18 08:14:56 )Последнее исправление: roiman 17.07.18 08:20:35 (всего исправлений: 2)
Права на устройство теперь выданы верно:
При переопределении путь создания юнита оказалось, что юнит не создается именно в этом файле /usr/lib/systemd/system/nut-server.service. . Но он есть в соседнем, требуемом для запуске /usr/lib/systemd/system/nut-driver.service и в последующем /usr/lib/systemd/system/nut-monitor.service :
Заменила путь создания юнита в nut-driver.service .
Сервер не запустился:
Привела файл с юнитом сервера к виду:
Тоже сервер не запускается:
В юните с монитором тоже поменяла путь. Тоже самое.
Да, извини, я перепутал. Писал по памяти. Нужно менять юнит nut-driver , а не nut-server. Приведи nut-server к исходному виду.
Читайте также: