| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > драйвер serial USB под win xp для ecos |
| Автор: daemonaz 14.5.2012, 09:34 |
| Приветствую! Просьба помочь решить одну проблемку, пишу приложение под eCOS, проц at91sam9263, требуется реализовать serial USB с использованием имеющихся в арсенале RTOS eCOS функциии, но вот проблема возникает с драйвером Windows, в документации ecos указано что нужно скопировать eCosUsbSerial.inf и usbser.sys в папку, затем с помошью диспетчера устройств указать на эту папку для установки драйвера? как и было сделано. Однако при запуске платы появляется значок COM7 и восклицательный знак, виртуальный COM-порт не открывается, не могу понять почему так происходит. С linux проблем таких не было, достаточно набрать modprobe usbserial vendor=0xffff product=0x0001 и вуаля, все работает. Как заставить windows xp работать с портом? |
| Автор: UniBomb 14.5.2012, 09:59 |
| daemonaz, а что пишет в состоянии устройства? |
| Автор: daemonaz 14.5.2012, 13:38 |
| Пишет, что Запуск этого устройства невозможен. (Код 10) Есть подозрение на глукавый usbser.sys |
| Автор: UniBomb 14.5.2012, 15:06 |
| Мелкомягкие в данном случае сами не знают причину неработоспособности и http://support.microsoft.com/kb/943104/. Советуют при этом обновить всё что можно - начиная от дрйверов устройства и кончая обновлениями самой системы. У меня был похожий случай с библиотекой lufa. Залил пример на мк, поставил драйвер и радость закончилась. Долго разбираться не пришлось - через день или два вышла новая версия библиотеки. Я скомпилировал новый пример, скормил новый драйвер и всё заработало. Поэтому чем чёрт не шутит - может действительно стоит обновить драйвера. И ещё момент - есть подозрение, что устройству просто не хватает питания. Может сопля где висит. Попробуй замерить ток или подключить девайс через активный юсб-хаб (это который со своим отдельным питанием). |
| Автор: daemonaz 14.5.2012, 16:15 |
| хм, а на Линуске все работает, принимает и передает данные, спасибо за ссылку, действительно мягкотелые чего-то не доработали.. Имеет ли смысль пробывать на windows 7? Кстати через тот же шнур SAM-BA работает безупречно.. |
| Автор: UniBomb 14.5.2012, 16:37 |
На линуксе же не стоят предлагаемые драйвера. Если бы работоспособность драйверов зависела от шнура Ну почему бы и нет. Правда это не решит проблему неработоспособнисти под ХР. Кстати, а всё же менять драйвера ты ещё не пробовал? Попробуй подсунуть драйвера свежее/старее. |
| Автор: daemonaz 14.5.2012, 18:11 |
| Скачал из сети несколько дров usbser.sys, отличающиеся по размеру, ни один не заработал, а последний стал засовывать, так операционка перестала грузиться, вместо системы синий эран смерти.. Поставил win 7 x64, то же самое, ничего не меняется. Что не так? |
| Автор: UniBomb 16.5.2012, 12:33 |
| daemonaz, починился хоть? Кстати пришла ещё мысль - а соответствуют ли vid и pid устройства тем, что указаны в драйверах (это как раз твои vendor=0xffff product=0x0001)? Не менял ли ты их? Ещё момент - возможно ты уже втыкал в компьютер другие устройства с такими vid и pid и в системе остались старые драйвера. Хотя это конечно маловероятно. |
| Автор: daemonaz 16.5.2012, 13:34 |
| UniBomb, нет, не менял, я все проверил, vid и pid такой же что и у устройства, иначе win его не распознал, вряд ли есть такие устройства с данными Vid-pid (0xFFFF:0x0001), через Virtual box я также пытался подключить, но безуспешно, сам Virtual box отказывается транслировать порт, ругается как на неизвестное устройство. В самом деле драйвер это и есть usbser.sys, а inf - это всего лишь информация что нужно делать с данным устрйоством с данными Vid:pid, inf фактически ничем не отличается от других стандартных рабочих inf для USB serial convertor. Есть подозрение на реализации библиотечных функции eСos, пока не знаю. Что самое интересное, что в Линуксе запустив CuteCom, порт открылся в режиме приема, но не одновременно прием-передача. |
| Автор: UniBomb 16.5.2012, 14:34 |
Зря сомневаешься. Тут какое дело - операционная система ставит драйвер по комбинации vid-pid. Сам по себе vid стоит денег. Посему, что бы не платить, то многие используют незанятый vid, ибо если оно будет совпадать, то драйвера будут всегда подсовываться от первого установленного устройства. Что бы не морочиться с уникальными комбинациями многие просто ffff. Это значение популярно среди радиолюбителей и китайцев. А по существу - больше я ничем не могу помочь (хотя и так ничем не помог |
| Автор: daemonaz 17.5.2012, 11:48 |
| Короче решил проблему, может кому-то пригодится, в текущей сборке ecos по умолчанию класс устройств = 0 (generic), что для Линуха норма, то для Windos плохо, однако Win работает с классом устройств CDC (0x02). Пересобрал сборку с нужными настройками и вуаля! спасибо за поддержку. |
| Автор: UniBomb 17.5.2012, 13:09 |
| daemonaz, я про классы устройств даже и не думал. В моём примере про луфу были аналогичные симптомы и железка тоже реализовывала CDC. Вот поэтому это и не вызывало подозрений Но хорошо, что проблема решилась |