Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USB устройство различает ОС?
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
newlamer
Доброго времени суток.

Предисловие:
К моему авто в комплекте шло два ключа: основной и запасной... Всегда пользовался основням ключом, установил на вавто все настройки (дисплей, бортовой комп, магнитола). Недавно по мере надобности пришлось ткнуть второй ключ - я обалдел! Авто будто подменили: все настройки другие! магнитола сама заиграла музыку на станции, которую я не слушаю вообще... Думал, слетело всё!... Аннет! Ткнул обратно основной ключ - все стало привычно и сердцу мило.

К делу:
Есть задумка разработать концепт устройства USB (такова специфика работы), которое, в зависимости от компа, в который оно воткнуто, подстраивалось бы под настройки, совершенные именно на этом компе... Например: подсветка кулхацкерской мышки (настройки на самой мышке делаются) в компе Васи будет гореть зеленым плавным цветом, а в компе Пети вернет мигание всеми цветами гирлянды... Или USB-подогревалка на компе Васи плавно греет чай, а на компе Ани жжот так, что можно жарить йайцы. Главная идея - сделать все это стандартными фишками без установки лишних драйверов, чтобы не утомить юзера установкой лишнего софта.

Собственно вопрос:
Есть ли в протоколе обмена данными USB какая-нибудь возможность спросить хоста, кто он такой, или определить это по другим признакам? Сам я плохо знаком с различными классами устройств, но не уже ли никому из устройств USB никогда не надо знать параметры хоста? о0

Заранее спасибо всем ответившим. Признателен.
Olej
В том, что вы описываете, нужно детально садится разбираться (вам разбираться!): что там за компьютер + что там за USB.

Цитата(newlamer @ Oct 4 2012, 18:56) *
Собственно вопрос:
Есть ли в протоколе обмена данными USB какая-нибудь возможность спросить хоста, кто он такой, или определить это по другим признакам? Сам я плохо знаком с различными классами устройств, но не уже ли никому из устройств USB никогда не надо знать параметры хоста? о0


А как вы себе это представляете? - "спросить хоста".
Для этого устройство USB должно быть активным инициатором.

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


Xenia
Цитата(newlamer @ Oct 4 2012, 19:56) *
Собственно вопрос:
Есть ли в протоколе обмена данными USB какая-нибудь возможность спросить хоста, кто он такой, или определить это по другим признакам? Сам я плохо знаком с различными классами устройств, но не уже ли никому из устройств USB никогда не надо знать параметры хоста?


USB-девайс (а ваш ключ, несомненно, это) ни о чем спросить не может. Он, как на допросе sm.gif, - может только отвечать на вопросы хоста, когда тот их задает.

Однако если хост - персональный компьютер, то возможен вариант, когда при инсталляции USB-девайса тот сопровождается родным драйвером, который станет доносить девайсу дополнительную информацию с компьютера.
MrYuran
Цитата(Olej @ Oct 5 2012, 02:22) *
А как вы себе это представляете? - "спросить хоста".

autorun.inf

Правда, на колхацкерском компьютере автозапуск с большой вероятностью отключен.
А в быту сойдет.
gerber
Юзер должен же как-то запрограммировать под себя такого рода устройство - как оно должно себя вести, индивидуально для себя. Поэтому так или иначе без своего драйвера и утилиты не обойтись.
А установку драйвера можно автоматизировать - при первом подключении USB устройства оно должно "выглядеть" как USB-флэшка с записанным драйвером. Ну а если autorun.inf не заблокирован - то и драйвер сам инсталлируется, можно так сделать.
Olej
Цитата(gerber @ Oct 5 2012, 11:30) *
А установку драйвера можно автоматизировать - при первом подключении USB устройства оно должно "выглядеть" как USB-флэшка с записанным драйвером. Ну а если autorun.inf не заблокирован - то и драйвер сам инсталлируется, можно так сделать.


Это в неявном предположении, что это USB устройство будут всовывать в железку с Windows.
А если там нормальная laughing.gif операционная система?
(та же история, как с USB GSM / CDMA / WiMAX / LTE модемами)
Xenia
Решение с дравером есть лишь один из множества вариантов, когда передача информации инициируется со стороны хоста, когда по инициативе самого девайса это сделать невозможно. В принципе неважно, какой "троянский конь" sm.gif был внедрен в хост/компьютер, главное здесь лишь то, что с этой стороны проявлять инициативу можно.

Внедрение можно осуществить не только посредством драйвера, но и путем запуска на хосте/компьютере программы, которая реагирует на системное сообщение "добавлен новый девайс" тем, что посылает ему информационную просылку. К сожалению все эти способы возможны лишь тогда, когда хост доступен для модификации. Однако в случае топикстартера мы имеем в качестве хоста магнитолу, программное обеспечение которой, скорее всего, прошито в ПЗУ или во флеш МК. А в этом случае такие решения не пройдут.
gerber
Цитата(Olej @ Oct 5 2012, 12:48) *
Это в неявном предположении, что это USB устройство будут всовывать в железку с Windows.
А если там нормальная laughing.gif операционная система?

На QNX намекаете ? laughing.gif
Пользователи нормальных операционных систем, как известно, не ищут лёгких путей и сами решают свои драйверные проблемы.
Цитата(Xenia @ Oct 5 2012, 13:27) *
К сожалению все эти способы возможны лишь тогда, когда хост доступен для модификации. Однако в случае топикстартера мы имеем в качестве хоста магниолу, программное обеспечение которой, скорее всего, прошито в ПЗУ или во флеш МК. А в этом случае такие решения не пройдут.

Это Вы о чём? Что мешает магнитоле различать два разных USB ключа и в зависимости от воткнутого менять свои настройки?
Olej
Цитата(gerber @ Oct 6 2012, 07:00) *
На QNX намекаете ? laughing.gif


Не-а ... На любую не-Windows систему santa2.gif .
MBR
Вообще эта концепция называется OTG - притвориться хостом, узнать все, отключиться и подключиться девайсом. Но, это врядли будет работаться на компьютере. Точнее, в windows точно не будет, а для linux, вроде, есть патчи. В любом случае, это будет требовать установки дополнительного софта и более геморройно в разработке девайса.

Так что мешает Вам установить драйвера для своего устройства? В принципе, для особо тупых пользователей можно делать композитное усб, один из девайсов - mass storage с драйверами.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.