Толик 0 2 июля, 2007 Опубликовано 2 июля, 2007 · Жалоба Почему USB перезагружает WINDOWs ? Какие вообще есть конфликты между USB-устройствами и Windows'ом? Хоть бы ссылочку какую-нибудь получить. Разрабатываемое устройство перезагружается в самом начале, когда устройство программно отключается от питания(шины USB), а затем включается. :smile3046: Если устройство до этого не было подключено (кабель), то при подключении не перезагружает Windows(хотя процедура программного включения-выключения всё равно выполняется). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TailWind 0 2 июля, 2007 Опубликовано 2 июля, 2007 · Жалоба Это у Вас что-то с драйвером. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 2 июля, 2007 Опубликовано 2 июля, 2007 · Жалоба Если USB device что-либо неправильно посылает host'у с Windows может произойти много чего нехорошего типа появления "синего экрана смерти" или система начинает работать в 100 - 1000 раз медленнее. Резет - из той же оперы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Толик 0 2 июля, 2007 Опубликовано 2 июля, 2007 · Жалоба Это у Вас что-то с драйвером. Драйвер Windows'овский Вы писали: ......Если USB device что-либо неправильно посылает host'у Но тогда устройство не определилось бы или не включилось, выдало бы в диспетчере устройств код ошибки Мне бы ссылочки......ссылочки.....вот было бы хорошо-то как а? :wassat: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 2 июля, 2007 Опубликовано 2 июля, 2007 · Жалоба Уважаемый! Какие ты хочешь ссылочки? Я делюсь собственным опытом. Меня две недели как-то трахали, что device не работает. А дело было в ошибках по железу. При этом компьютер зависал намертво по десять раз на дню, причем пару раз с летальным исходом (приходилось все переустанавливать). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vvs157 0 2 июля, 2007 Опубликовано 2 июля, 2007 · Жалоба Драйвер Windows'овский Ясное дело, что не Линуксовский. Вы наверно хотели сказать что он не Микросовтовский :crying: . Кривой драйвер может творить с системой все, что угодно. Единственный рецепт - ищите менее глючный драйвер. Другого выхода нет. Сами Вы его не поправите :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Толик 0 2 июля, 2007 Опубликовано 2 июля, 2007 · Жалоба То что проблема с железом это понятно. Вопрос был в том какая проблема. Поэтому я и написал что драйвер стандартный Windows'a и к нему вопроса быть не может. А ссылки нужны по самой Windows. В часности почему она позволяет постороннему устройству себя перезагружать и не выдаёт при этом каких-нибудь предупреждений? Да и вообще - почему перезагружается Windows? Свою проблему я уже решил. Но решение ещё более запутало. Оказывается я ставил слишком большое значение поля wMaxPacketSize в дескрипторе конечной точке. Даже и не знаю что думать. Может компьютер слишком слабый, а может во мне проблема? То что проблема с железом это понятно. Вопрос был в том какая проблема. Поэтому я и написал что драйвер стандартный Windows'a и к нему вопроса быть не может. А ссылки нужны по самой Windows. В часности почему она позволяет постороннему устройству себя перезагружать и не выдаёт при этом каких-нибудь предупреждений? Да и вообще - почему перезагружается Windows? Свою проблему я уже решил. Но решение ещё более запутало. Оказывается я ставил слишком большое значение поля wMaxPacketSize в дескрипторе конечной точке. Даже и не знаю что думать. Может компьютер слишком слабый, а может во мне проблема? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 2 июля, 2007 Опубликовано 2 июля, 2007 · Жалоба Насчет того, что ты проблему решил - это скорее всего иллюзия. Обмен дескрипторами происходит на этапе usb enumeration, т.е. когда еще твой драйвер не подгружен. Посмотри внимательно, нет ли звона на фронтах сигналов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EShamaev 0 2 июля, 2007 Опубликовано 2 июля, 2007 · Жалоба Хочется уточнить характер перезагрузки: 1 вариант. После подключения устройства Windows корректно завершает свою работу и аккуратно перезагружается. В таком случае дело действительно в драйверах или в системе целом. На мой взгляд такое развитие событий неправдоподобно. 2 вариант. Подключайете устройство и компьютер сразу уходит на перезагрузку как после нажатия на Reset. В таком случае скорее всего проблема в элементарной электрической совместимости вашего устройства и в целом всего компьютера. Не несет ли оно на себе потенциал? Напрямую либо через емкость? Установлены ли защитные цепи от выбросов по сигнальным цепям и питающим? Не потребляет ли оно слишком большой ток при включении от USB шины? Попробуйте подключить устройство к другим компьютерам, может материнская плата чувствительная оказалась к недоработкам в вашем устройстве. 3 вариант. Windows выдает кучу ошибок уровня ядра, выходит в синий экран и после дампа перегружается. Проблема с драйвером, ваше устройство скорее всего не при чем. Если часть вашего приложения работает в ражиме ядра - ищите там. Если только во внешнем кольце, то вы не при чем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 2 июля, 2007 Опубликовано 2 июля, 2007 · Жалоба Замечено, что если на этапе енумерации устройство отваливается, то виндюки валятся в перезагрузку без объяснения причин. У меня устройство, успев послать пару дескрипторов уходило в ресет - виндюки падают с некоторой вероятностью (видимо в зависимости от момента). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vvs157 0 2 июля, 2007 Опубликовано 2 июля, 2007 · Жалоба А ссылки нужны по самой Windows. В часности почему она позволяет постороннему устройству себя перезагружать и не выдаёт при этом каких-нибудь предупреждений? Да и вообще - почему перезагружается Windows? Вы не совсем правильно интерпретируете проблему. Винда уходит на перезагрузку не потому, что драйвер ее перегружает, а потому, что в систему возникает критический сбой, который несовсестим с дальнейшим функционированием системы (причем такой, что даже до синего экрана не доходит). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryM 0 3 июля, 2007 Опубликовано 3 июля, 2007 · Жалоба Еще есть вариант с серийным номером. У нас вында перегружалась если поключались два наших HID с одинаковыми серийниками, причем не на всех машинах и системах. (имеется в виду ХР, ХР+SP и т.д.) ЗЫ. Linux не падал даже если обнаружил два устройства с одинаковыми серийниками. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Georgy 0 3 июля, 2007 Опубликовано 3 июля, 2007 · Жалоба Почему бы Майкрософт не спросить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
a_electronic 0 3 июля, 2007 Опубликовано 3 июля, 2007 · Жалоба Подпись "Мелклсофт сорп." такая же виртуализация, как и вся память в РС :) На самом деле самая объемная часть системы - это хост контроллер, а его драйвер пишется непосредственно с учетом железа материнки. А кем же пишутся дрова распространенные на Асус или какой нить Элттгруп как не производителями - теми же китайцами? Так что я тоже думаю, что причина в драйвере, в котором не предусмотрен вариант какой-то некорректной ситуации и его писатели не предусмотрели обработчик, который корректно выводит систему из нее. Самое простое убедится в этом - попробовать на другой машине с другим железом. А решение - либо поискать другой драйвер, либо методом тыка обойти некорректные безвыходные ситуации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 3 июля, 2007 Опубликовано 3 июля, 2007 · Жалоба Подпись "Мелклсофт сорп." такая же виртуализация, как и вся память в РС :) На самом деле самая объемная часть системы - это хост контроллер, а его драйвер пишется непосредственно с учетом железа материнки. А кем же пишутся дрова распространенные на Асус или какой нить Элттгруп как не производителями - теми же китайцами? Так что я тоже думаю, что причина в драйвере, в котором не предусмотрен вариант какой-то некорректной ситуации и его писатели не предусмотрели обработчик, который корректно выводит систему из нее. Самое простое убедится в этом - попробовать на другой машине с другим железом. А решение - либо поискать другой драйвер, либо методом тыка обойти некорректные безвыходные ситуации. У USB аппаратные интерфейса хостов стандартизованы. Всего три варианта, два для USB 1.1, один - для USB 2.0. Драйвера для них писаны Майкрософтом. Драйвера довольно кривые. Возможно, лучше чем у многого китайского железа - но, тем не менее, багов в них исправлена было очень много. Вообще, с драйверами у Майкрософтов длительное время было плохо - достаточно было порыться в примерах из DDK, чтобы это понять. В последнее время ситуация улучшалась. Что касается перезагрузки системы при неправильной работе USB устройства - про это слышал давно. Многие драйвера не проверяют корректность работы устройства, считая, что железу можно доверять. Вроде бы, система может слететь даже если USB железяка некорректно выдала строковый дескриптор. Для отладки может быть полезно подключить kernel debugger через RS-232 и даже поставить checked build операционки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться