Unable to enumerate USB device

Обмен опытом по установке Линукс на разные аппаратные конфигурации

Модераторы: Olej, vikos

Аватара пользователя
1r0pb
Активист
Сообщения: 10
Зарегистрирован: 13 окт 2014, 10:56
Контактная информация:

Unable to enumerate USB device

Непрочитанное сообщение 1r0pb » 14 окт 2015, 09:58

Здравствуйте, пытаюсь подключить ftdi плату по USB, но сначала при подключении как у всех весь лог забивался одинаковыми сообщениями типа "unable to enumerate USB device on port Х", я как и везде писали сделал то что тут написано http://geekdevs.com/2010/04/solved-unab ... -ehci_hcd/ , то есть выгрузил модуль ehci_hcd, но тогда возникла проблема как в одной теме этого форума viewtopic.php?f=5&t=1338&p=1655&hilit=ehci_hcd#p1655 , один в один(( До этого правда была такая вещь, что когда ставил драйвер ftdi, до него при подключении платы загружались модули ftdi_sio и usbserial, сейчас уже не загружаются, но по гайду они и не нужны
Подскажите куда хотя бы смотреть и что это вообще может быть...

Ядро 3.2.0-27
x64
Astra-Linux

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Unable to enumerate USB device

Непрочитанное сообщение Olej » 15 окт 2015, 10:31

1r0pb писал(а):пытаюсь подключить ftdi плату по USB,
Вы напишите для начала что это за такая плата ftdi, модель, прозводитель, ссылка и т.п.

Аватара пользователя
1r0pb
Активист
Сообщения: 10
Зарегистрирован: 13 окт 2014, 10:56
Контактная информация:

Re: Unable to enumerate USB device

Непрочитанное сообщение 1r0pb » 16 окт 2015, 12:57

Olej писал(а):
1r0pb писал(а):пытаюсь подключить ftdi плату по USB,
Вы напишите для начала что это за такая плата ftdi, модель, прозводитель, ссылка и т.п.
Производитель чипа сам ftdichip http://www.ftdichip.com/Products/ICs/FT245B.htm - вот этот чип , плату делали у нас на предприятии.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Unable to enumerate USB device

Непрочитанное сообщение Olej » 16 окт 2015, 13:47

1r0pb писал(а):
Olej писал(а):
1r0pb писал(а):пытаюсь подключить ftdi плату по USB,
Вы напишите для начала что это за такая плата ftdi, модель, прозводитель, ссылка и т.п.
Производитель чипа сам ftdichip http://www.ftdichip.com/Products/ICs/FT245B.htm - вот этот чип , плату делали у нас на предприятии.
Ну, прежде всего, если не видится USB-устройство, то, может такую плату ... делали у нас на предприятии ;-) ... которая не соответствует спецификациям USB? ;-)

Для чего функционально, по назначению, предназначен этот чип и сделанная на нём плата?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Unable to enumerate USB device

Непрочитанное сообщение Olej » 16 окт 2015, 13:56

1r0pb писал(а): (цитаты я беру из ReadMe-linux.txt файла в составе драйверов)
А вот в составе архивов "драйверов" Linux, которые совершенно проприетарные и бинарные!, есть прелюбопытные штуки:

- в examples/SetVIDPID там есть пример приложения, которое устанавливает VID и PID вашего устройства принудительно, т.е. их ни в вашем чипе, ни в вашей плате, похоже просто нет!

- файл ftd2xx.h, в котором:

Код: Выделить всё

...
#ifndef _WIN32^M
        // Extra functions for non-Windows platforms to compensate^M
        // for lack of .INF file to specify Vendor and Product IDs.^M
^M
        FTD2XX_API^M
                FT_STATUS FT_SetVIDPID(^M
                DWORD dwVID, ^M
                DWORD dwPID^M
                );^M
                        ^M
        FTD2XX_API^M
                FT_STATUS FT_GetVIDPID(^M
                DWORD * pdwVID, ^M
                DWORD * pdwPID^M
                );^M
...
Т.е. VID:PID вашего USB-устройства он, похоже, хочет взять из какого-то .inf файла, которого у вас, естественно, нет.

Аватара пользователя
1r0pb
Активист
Сообщения: 10
Зарегистрирован: 13 окт 2014, 10:56
Контактная информация:

Re: Unable to enumerate USB device

Непрочитанное сообщение 1r0pb » 16 окт 2015, 15:41

Olej писал(а): - в examples/SetVIDPID там есть пример приложения, которое устанавливает VID и PID вашего устройства принудительно, т.е. их ни в вашем чипе, ни в вашей плате, похоже просто нет!

Т.е. VID:PID вашего USB-устройства он, похоже, хочет взять из какого-то .inf файла, которого у вас, естественно, нет.
Ну да, в примерах и описании есть рекомендации выгружать usbserial и как инициализировать, но вот с VID PID я пока не понял. До этого они всегда присылались устройством и их система видела (на других платах), и я соответственно их и вписывал в файлы модуля. То есть они распознавались как устройства. А тут явно не так и действительно нужно их присвоить. Но как их получить...
Но почему такие ошибки вылетают, это нормально для устройств без VID PID?
Вот у меня есть другой драйвер, но он не собирается у меня, говорит что нет разных файлов, хотя они есть, но в других папках, когда прописывал и перемещал файлы, делал даже дополнительные ссылки, но получаются новые ошибки, мне кажется так не должно быть. Там есть хидер с множеством PID, но по названию чипа не нашел, какой может подходить? Это драйвер был поставлен с чипом. Но он не собирался.

Кстати спасибо за верное направления в проблеме, а то я когда гуглил эту ошибку что в заглавии - куча тем про неправильно выгруженный модуль ehci_hcd, недостаточно напряжения, неправильное подключение или ошибки в ядре.
Вложения
ftdi_sio.rar
(32.98 КБ) 277 скачиваний

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Unable to enumerate USB device

Непрочитанное сообщение Olej » 16 окт 2015, 16:24

1r0pb писал(а): Ну да, в примерах и описании есть рекомендации выгружать usbserial и как инициализировать, но вот с VID PID я пока не понял. До этого они всегда присылались устройством и их система видела (на других платах), и я соответственно их и вписывал в файлы модуля.
"до этого" - это когда? ;-)
для совершенно других USB-устройств (флешек, модемов, фотоаппаратов)?
1r0pb писал(а): То есть они распознавались как устройства. А тут явно не так и действительно нужно их присвоить. Но как их получить...
Но почему такие ошибки вылетают, это нормально для устройств без VID PID?
а тут просто виндовые чудеса, но просто перенесенные в Linux - тут может быть всё что угодно.
устройство без VID:PID и должно бы (наверное?) сыпать сообщения типа "unable to enumerate USB device on port Х".

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Unable to enumerate USB device

Непрочитанное сообщение Olej » 16 окт 2015, 16:35

1r0pb писал(а): Вот у меня есть другой драйвер, но он не собирается у меня, говорит что нет разных файлов, хотя они есть, но в других папках, когда прописывал и перемещал файлы, делал даже дополнительные ссылки, но получаются новые ошибки, мне кажется так не должно быть. Там есть хидер с множеством PID, но по названию чипа не нашел, какой может подходить? Это драйвер был поставлен с чипом. Но он не собирался.
Ну, начнём с того, что файлы этого драйвера 2008 года :-o
Но и там вы можете найти:

Код: Выделить всё

#define FTDI_VID        0x0403  /* Vendor Id */
PID вашего устройства там нет ... FT245B, наверное, просто не существовало в 2008 году ;-)
Но нужно найти (в файле) подобное по функциональности устройство (FTDI_232RL ?) и добавить строку с тем же кодом.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Unable to enumerate USB device

Непрочитанное сообщение Olej » 16 окт 2015, 17:13

1r0pb писал(а):он не собирается у меня, говорит что нет разных файлов, хотя они есть, но в других папках, когда прописывал и перемещал файлы, делал даже дополнительные ссылки, но получаются новые ошибки, мне кажется так не должно быть.
Я посмотрел слегка сборку...
Там такая дремучая сборка (это не 2.4 ядро ли ещё?), что собраться оно не может, в принципе!
Я переписал Makefile - сборка пошла, но куча синтаксических ошибок ... связанных с тем, что за 7 или больше лет структуры в ядре, связанные с USB, поменяли свои поля, имена, прототипы функций (число и типы параметров).

Если и пытаться что-то сделать с этим драйвером, то это очень много работы: выгребать построчно каждую синтаксическую ошибку и разбираться что там поменялось.

Аватара пользователя
1r0pb
Активист
Сообщения: 10
Зарегистрирован: 13 окт 2014, 10:56
Контактная информация:

Re: Unable to enumerate USB device

Непрочитанное сообщение 1r0pb » 19 окт 2015, 10:51

Помимо ftdi у меня и другие платы есть с usb, но там с этим нормально, хотя фирма производитель Россия.
Кстати я тут полазил и вроде как пишут что VID такой же как и был - 0403, а PID - 6001, но что-то все равно не проходит, считывает же мои id как 15d6 и 1, но как шла эта ошибка так и едет после установки id, и мне кажется что он вообще и не пытается что-то писать в устройство. Но я тут посмотрел что в драйвере есть файл в папке eeprom serialno.o, вот как посмотреть .o файл, а то блокнотом не хочет?
http://www.datasheetarchive.com/dl/Data ... 017423.pdf
http://www.techdesign.be/projects/017/017.htm
Olej писал(а):Я посмотрел слегка сборку...
Ну ядро я в начале написал 3.2.0-27

Ответить

Вернуться в «Железо для Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей