Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> LibUsbDotNet Не находит девайс. 
:(
    Опции темы
klein
Дата 30.11.2010, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 30.5.2006
Где: Київ

Репутация: нет
Всего: нет



Использую  LibUsbDotNet_Bin.2.2.8 dll библиотеку. Код пишу по примерам http://libusbdotnet.sourceforge.net/V2/Index.html 
Никак не могу найти устройство. Vid/Pid беру из диспетчера устройств из строки
Код
HID\VID_09DA&PID_000A\7&177F3D70&0&0000

Соответственно Vid = 09DA  Pid = 000A в хексе.
Код

private void button1_Click(object sender, EventArgs e)
        {
            FindUsbDeviceByVidPid(comboBoxVID.Text, comboBoxPID.Text);
        }
        void FindUsbDeviceByVidPid(string VidStr, string PidStr)
        {
            int VidInt = Int32.Parse(VidStr, System.Globalization.NumberStyles.AllowHexSpecifier);
            int PidInt = Int32.Parse(PidStr, System.Globalization.NumberStyles.AllowHexSpecifier);
            UsbDevice usbdevice;
            UsbDeviceFinder MyUsbFinder = new UsbDeviceFinder(VidInt, PidInt);
            usbdevice = UsbDevice.OpenUsbDevice(MyUsbFinder);
            if (usbdevice == null) textBox1.AppendText("\r\n Device Not Found !");
            if (usbdevice != null) textBox1.AppendText("\r\n Device Is Found !");          
        }
 
Результат постоянно - Device Not Found ! Перепробовал кучу комбинаций и на двох машинах.
Кто может подскажите пожалуйста где и что я делаю неправильно.
PM MAIL   Вверх
i2m
Дата 30.11.2010, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 4.5.2010

Репутация: нет
Всего: 1



Код

 public static UsbDeviceFinder MyUsbFinder = new UsbDeviceFinder(1234, 1);


Не нужен тут HEX, используется десятичная система счисления.

Код

            int VidInt = Convert.ToInt32(VidStr, 16);
            int PidInt = Convert.ToInt32(PidInt, 16);


Это сообщение отредактировал(а) i2m - 30.11.2010, 18:54
PM MAIL   Вверх
i2m
Дата 30.11.2010, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 4.5.2010

Репутация: нет
Всего: 1



PS скачал библиотеку, проверил действительно не работает, девайс не находится.
PS разобрался, нужно добавить девайс в фильтр libusb-win32

Код

using System;
using System.Windows.Forms;
using LibUsbDotNet;
using LibUsbDotNet.Main;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            FindUsbDeviceByVidPid("058F", "6387");
        }

        void FindUsbDeviceByVidPid(string vidStr, string pidStr)
        {
            var vidInt = Convert.ToInt32(vidStr, 16);
            var pidInt = Convert.ToInt32(pidStr, 16);

            var myUsbFinder = new UsbDeviceFinder(vidInt, pidInt);
            var usbdevice = UsbDevice.OpenUsbDevice(myUsbFinder);

            if (usbdevice != null)
            {
                MessageBox.Show(string.Format("Manufacturer: {0}\r\nProduct: {1}\r\nSerial: {2}",
                    usbdevice.Info.ManufacturerString, usbdevice.Info.ProductString, usbdevice.Info.SerialString));
            }
            else
            {
                MessageBox.Show("Device Not Found!");
            }
        }
    }
}


http://pics.kz/s1/9b/a3/bf/9ba3bf48304073e...71c82159df9.png

PS в одно время ответили  smile 

Это сообщение отредактировал(а) i2m - 30.11.2010, 20:27
PM MAIL   Вверх
Ky7m
Дата 30.11.2010, 20:25 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 8.4.2008

Репутация: 1
Всего: 2



Ребята на сколько я знаю, что использовать эту библиотеку, надо сначала установить драйвер Libusb для вашего устройства (то есть вашего PID и VID). А потом искать. Для этого прилагается специальная тулза не понмю как назывется. 
PM MAIL ICQ   Вверх
Fortnox
Дата 30.11.2010, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 31.10.2008
Где: Ростов-на-Дону

Репутация: 14
Всего: 22



Фильтр установили для устройства (или для всех устройств)? 
Цитата

Before LibUsbDotNet can access a usb device on a Windows operating system the device must be installed with either WinUSB or libusb-win32 usb drivers. Optionally, libusb-win32 has the unique ability to operate as a filter service. When the filter service mode is enabled, libusb-win32 will allow access to every usb device on the system without the need for driver setup/installation packages. 
?

Добавлено через 3 минуты и 31 секунду
Пока читал справку, уже ответили)
PM MAIL   Вверх
klein
Дата 1.12.2010, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 30.5.2006
Где: Київ

Репутация: нет
Всего: нет



To i2m:
Первая строка (Ваша) і моя вторая примерно аналогичны.
Код

int VidInt = Convert.ToInt32(VidStr, 16);
int VidInt = Int32.Parse(VidStr, System.Globalization.NumberStyles.AllowHexSpecifier);

За фильтр libusb-win32 я както пропустил. Спасибо всем за дельные советы. Буду вникать.

Это сообщение отредактировал(а) klein - 1.12.2010, 10:31
PM MAIL   Вверх
i2m
Дата 1.12.2010, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 4.5.2010

Репутация: нет
Всего: 1



Цитата(klein @  1.12.2010,  10:30 Найти цитируемый пост)
Первая строка (Ваша) і моя вторая примерно аналогичны.

Да аналогичны, к вечеру голова уже шалит  =)
PM MAIL   Вверх
alex6441161
Дата 1.10.2014, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 1.10.2014

Репутация: нет
Всего: нет



Здравствуйте, я пытаюсь изучать библиотеку  LibUsbDotNet_Bin.2.2.8 dll, никак не могу найти хорошо растолкованной статьи в интернете или книги какой нибудь по это библиотеке. Поэтому кое как пытаюсь понять что то на сайте libusbdotnet.sourceforge.net. Но для меня как новичка вообще в программировании капаться в чужих кодах очень сложно, тем более что все коментарии на английстком. Не подскажите где можно почитать по поводу этой библиотеки. На данный момент получается найти устройство и вывести о нем какую то информацию, но не принимать не отправлять я не могу. в качестве устройства у меня контроллер Atmega8, в нем зашита программа реализации HID-Class из библиотеки V-USB. На сколько я понял, там передача идет с помощью репортов, может в этом есть причина, что я не могу принять и отправить данные? как мне настроить  LibUsbDotNet_Bin.2.2.8 dll или на стороне контроллера что то сделать? Захотел реализовать именно этот пример потому что там говорилось что можно передать данных за один раз больше чем в других примерах(например пример передачи с помощью управляющих команд).
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0751 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.