реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Вопрос по AVRUSB и SERIAL_NUM, Не то чтобы AVR, но бед AVRusb :)
Spider
сообщение Jun 11 2009, 05:19
Сообщение #1


В поисках истины
***

Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923



Всем привет!

Использую AVRUSB от obdev для связи своих устрйоств с компом. Пока всё было хорошо, пока было 1 устройство. Теперь у меня 2 одинаковых устройства и как их отличать друг от дурга в системе я не знаю. Точнее пришла мысль различать их по серийному номеру. Для чего в недрах драйвера было обнаружено поле USB_CFG_SERIAL_NUMBER. Следующий шаг был объявить
Код
#define USB_CFG_SERIAL_NUMBER_LEN  4
#define USB_CFG_SERIAL_NUMBER 'D','0','0','1'

И попробовать вставить это дело в USB. Первое что замечено, что устройство установилось как НОВОЕ. Но как теперь добраться до Serial я не знаю. lsusb -v оно есть, но серийника у него нет :\ Что я не так делаю?
Go to the top of the page
 
+Quote Post
GDI
сообщение Jun 11 2009, 06:56
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Вот проверил у себя, это часть ответа от стандартного usb-rs232 конвертера
Код
Bus 001 Device 003: ID 0711:0230 Magic Control Technology Corp. MCT-232 Serial Port
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        16
  idVendor           0x0711 Magic Control Technology Corp.
  idProduct          0x0230 MCT-232 Serial Port
  bcdDevice            1.03
  iManufacturer           1 USB-RS232 Interface Converter
  iProduct                2
  iSerial                 3 056527
  bNumConfigurations      1
откуда видно что iSerial имеет длину 3 байта - может в этом у вас проблема?
И еще, вы уверены что правильно задали переменную USB_CFG_SERIAL_NUMBER? Её именно так надо задавать, а не как строку символов в общих кавычках?


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Jun 15 2009, 16:52
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(GDI @ Jun 11 2009, 10:56) *
Вот проверил у себя, это часть ответа от стандартного usb-rs232 конвертера
Код
Bus 001 Device 003: ID 0711:0230 Magic Control Technology Corp. MCT-232 Serial Port
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        16
  idVendor           0x0711 Magic Control Technology Corp.
  idProduct          0x0230 MCT-232 Serial Port
  bcdDevice            1.03
  iManufacturer           1 USB-RS232 Interface Converter
  iProduct                2
  iSerial                 3 056527
  bNumConfigurations      1
откуда видно что iSerial имеет длину 3 байта - может в этом у вас проблема?
И еще, вы уверены что правильно задали переменную USB_CFG_SERIAL_NUMBER? Её именно так надо задавать, а не как строку символов в общих кавычках?

iSerial это индекс строкового дескриптора, описывающего серийный номер. В данном случае = 3. Сам серийный номер выдаётся по запросу от хоста GET_DESCRIPTOR с соотв-м индексом и типом=стринг=3 в поле wValue. В данном случае wValue будет = 0x0303. В нулевом байте стринг дескриптора д.б. его длина в байтах. В первом - тип (3=стринг). Дальше в уникодах (по 2 байта на символ) данные. Стандарт - 12 символов 0..F. Пример валидного сериального стринга: 0x1A 0x03 0x30 0x00 0x31 0x00 0x32 0x00 0x33 0x00 0x34 0x00 0x35 0x00 0x36 0x00 0x37 0x00 0x38 0x00 0x39 0x00 0x41 0x00 0x42 0x00 (т.е. 0123456789AB). Видимо так нужно задавать USB_CFG_SERIAL_NUMBER...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 10th July 2025 - 04:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01375 секунд с 7
ELECTRONIX ©2004-2016