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

 
 
 
Reply to this topicStart new topic
> Переход WinXPSP2->SP3, как исправить проблему с usbser.sys?
OlegHmt
сообщение Aug 21 2009, 08:08
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 5-12-06
Пользователь №: 23 146



Здравствуйте

Посоветуйте, пожалуйста, как можно исправить такую ситуацию.
В своё время, разрабатывалось устройство на базе AT91SAM7X, которое, помимо всего прочего, управлялось с компьютера через USB с использованием виртуального COM-порта на базе драйвера usbser.sys. В качестве основы при этом был использован пример из FreeRTOS.
Устройство нормально заработало, в связи с выходом SP3 появились проблемы - неработоспособность даной конфигурации.

Более-менее просмотрев интернет в поиске решения проблемы минимальными средствами, увидел предложения отказываться от использования usbser.sys или заменять его файлом из дистрибутива WinXPSP2. С первым вариантом не очень хочется связываться, так как времени для написания собственного драйвера (а, в основом, для изучения как это делать) особенно нету. В другом варианте недостаток - виндовс, по словам пользователей устройства, иногда не даёт заменить драйвер возвращая старый на место. Да и непонятно, как отобъётся замена файла более старым на работоспособность других частей виндовс.

Я попробовал переименовать старый usbser.sys, подправить inf всюду где встречается его название и скормить его через update drivers. На моей системе (WinXPSP2) - этот вариант прошёл без проблем, но на некоторых системах (и SP2, и SP3) Windows не хочет производить замену выдавая при установке "нового" переименованного драйвера - "The name is already in use as either a service name or a service display name".

Есть ли какие-то другие решения проблемы?

Спасибо

Сообщение отредактировал OlegHmt - Aug 21 2009, 08:08
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Aug 22 2009, 19:16
Сообщение #2


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата(OlegHmt @ Aug 21 2009, 12:08) *
Устройство нормально заработало, в связи с выходом SP3 появились проблемы - неработоспособность даной конфигурации.

Более-менее просмотрев интернет в поиске решения проблемы минимальными средствами, увидел предложения отказываться от использования usbser.sys или заменять его файлом из дистрибутива WinXPSP2.


Пытались ли разбираться, что именно приизошло? Какие проявления неработоспособности? Программа не находит виртуальный порт? Устройствот как "неопознанный" девайс выглядит? Если опозналось - хипертерминал открывает устройство? Что за .inf используется для установки?
Такие вопросы потому, что у меня с моими CDC устройствами НЕ использовавшими FreeRTOS такой проблемы при переходе под SP3 не возникало.

Сообщение отредактировал Genadi Zawidowski - Aug 22 2009, 19:18
Go to the top of the page
 
+Quote Post
microsin
сообщение Dec 25 2009, 06:38
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 27-11-08
Пользователь №: 41 999



Как самый простой вариант - можно переделать Ваше устройство на USB HID. Тогда вообще никакие драйвера не нужны, просто пишете ПО, которое с Вашим HID работает (по заданным параметрам VID и PID). Есть хорошие рабочие примеры для IAR от Atmel. ПО хоста можно написать как на вызовах функций из HID.dll (библиотечка от Микрософт, примеры в Интернете есть), так и с помощью вызова функций из libusb (свободная библиотека, примеры тоже есть). В случае libusb код легко будет работать как на Windows, так и на *NIX.

[См. также]

1. AT91SAM7X256 - пишем USB HID и ПО хоста для него
2. IAR EW ARM: как сделать USB Mass Storage Device на основе MMC/SD
Go to the top of the page
 
+Quote Post
=F8=
сообщение Jan 7 2010, 06:05
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Делал виртуальный com на основе примера из иара. Тоже CDC, тоже usbser.sys, никаких проблем с SP3, для висты пришлось inf файл передалать.

Сообщение отредактировал =F8= - Jan 7 2010, 06:07
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 9 2010, 18:58
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Совсем недавно сделал подобное устройство на SAM7X. Работает нормально на WinXP SP2(3)/Vista/Seven 32/64 bit. Возможно, проблема в дескрипторе устройства. Если можно, покажите его.


--------------------
Go to the top of the page
 
+Quote Post
overloaded
сообщение Jan 11 2010, 21:17
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 73
Регистрация: 17-10-07
Из: Киев
Пользователь №: 31 422



То что наблюдал я - в СП3, драйвер посылает девайсу zero length packet после пакета размером 32 байта (и размере конечной точки 64) - чего делать не должен. В СП2 по идее не посылает даже когда нужно (сам правда не проверял, но читал где-то). Для теста просто попробуйте избежать пакетов кратных 32б и проверить работоспособность )) Ведь может быть связано и не с этим..
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 12 2010, 18:36
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(overloaded @ Jan 12 2010, 04:17) *
То что наблюдал я - в СП3, драйвер посылает девайсу zero length packet после пакета размером 32 байта (и размере конечной точки 64) - чего делать не должен.
А где написано, что этого делать НЕЛЬЗЯ??? Не понятно, чего тут страшного? Получили пакет нулевой длины, погрустили что нет данных и пошли работать дальшеsmile.gif


--------------------
Go to the top of the page
 
+Quote Post
Alechek
сообщение Jan 14 2010, 06:53
Сообщение #8


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

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Можно, но вот беда в том, что драйвер в устройстве поверяется на работоспособность с существующим usbser. А как иначе?
Сам наступал на грабли, когда все начали переходить на SP3. Драйвер в устройстве к таким фокусам оказался не готов.
Только мне показалось что посылается не при 32 байтах, а при 8. Пришлось делать заплатки на стороне компьютера - посылать данные размером не кратным 8-ми.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th June 2025 - 16:03
Рейтинг@Mail.ru


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