LINUX.ORG.RU

Бесплатные идентификаторы USB для открытого аппаратного обеспечения

 , , ,


6

2

Несмотря на то, что в 2013 году консорциум USB-IF отказался выделить диапазон идентификаторов (VendorID) для открытых проектов, энтузиастами была найдена лазейка.

При определении USB-устройств операционные системы использует 16-разрядные идентификаторы VendorID (VID) и ProductID (PID). В частности, невозможно одновременно использовать два устройства с одинаковыми идентификаторами, если им требуются разные драйверы.

Правила получения диапазона строго запрещают передачу идентификаторов продукта в любой форме, а само получение обходится в несколько тысяч долларов (за один диапазон ёмкостью аж в 65535 PID, что приводит к очевидному выводу — большая часть полученных идентификаторов лежит у владельцев мёртвым грузом). Но эти правила не распространяются на диапазоны, выданные в давние времена, ещё до образования USB-IF. Компания InterBiometrics, владеющая именно таким диапазоном (VID 1209), за всё время использовала лишь 6 идентификаторов из 65535. Поэтому она оставила себе «про запас» PID с 0×1000 по 0×1FFF, а остальные (0×2000-0xFFFF) передала проекту pid.codes, благодаря чему, любое открытое аппаратное обеспечение теперь может получить свой уникальный идентификатор.

Процедура описана здесь. Условиями получения являются: распространение под свободной лицензией, наличие публичного репозитория и, естественно, интерфейса USB.

>>> Подробности

anonymous

Проверено: JB ()
Последнее исправление: unfo (всего исправлений: 3)
Ответ на: комментарий от TEX

Сегодня бесплатные, завтра нет, послезавтра «твой» PID отдадут другому, и фиг докажешь что ты не виноват

То есть, всё как и до этого было, но только теперь есть хоть какой-то упорядоченный список и надежда на лучшее.

anonymous
()

Пообщался с одним своим знакомым,так вот он озвучил вот какую позицию:
В разработку и раскрутку USB были вложены деньги,
что и в последствии и привело к его распространению на ПК.
И надо нам мол так же разработать свой вариант интерфейса и под него и делать свои устройства,а к уважваемым господам их USB не соваться.

В принципе нельзя считать что он формально не прав,хотя лично я считаю распилом и проявлением коррупции то,
что в качестве стандартного интерфейса используется проприннтарная разработка.
И вот вопрос,почему никто не пытается сделать свой вариант полностью открытого интерфейса?
Я понимаю,что мышки флешки к нему не подключить,но свои то устройства можно?

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 4)
Ответ на: комментарий от torvn77

Только зоопарк больше станет. Взять тот же HDMI и DisplayPort.

h4tr3d ★★★★★
()
Ответ на: комментарий от torvn77

В разработку и раскрутку USB были вложены деньги,
что и в последствии и привело к его распространению на ПК.

Вот именно, эти уроды весь мир обули, удавили все интерфейсы, кроме этого чудовищного поллингового бастарда, хочешь-не хочешь, а дивайсы сейчас больше к компу просто нЕ через чего подключать, если только это не промышленное решение. На юзерских компах других портов просто нет. И это отнюдь не потому, что «интерфейс хороший» — знаю, что говорю, видел его с обеих сторон (прошивку делал для железяки, которая слейв, и хостовой софт для неё, соответственно), мать их так, это адЪ какой-то. Стандарты, составляющие USB, писаны откровенными дегенератами, не было бы охрененного количества бабла на его раскрутку — не было бы и его самого, оно в норме просто нежизнеспособно.

Целью этих мразей — а USB-IF в основном держит железячный «крупняк» — было не сделать удобный интерфейс, а выкинуть с рынка всех независимых (читай — мелких) разработчиков компьютерной периферии. И что, мы этим сволочам теперь благодарны должны быть? И как-то там уважать их всеобщий развод на бабло по пять тонн баксов за циферку? (Кстати, раньше действительно можно было, если не покупать всякую «программу поддержки» и прочий развод, получить VID за 2000, но это уже в прошлом — USB-IF осознали, что упускают бабло и снижают порог вхождения, что напрямую противоречит их реальным целям). По-моему, наоборот, сама мысль этим гнидам хоть один бакс заплатить — достойна усекновения головы.

Теперь по другим вопросам. Можно, вообще говоря, взять любую пару VID/PID, проще всего из VID брать из «верха» пространства uint16_t, например, 0xF345, и всё, собственно. Нет договора с USB-IF — нет и никаких судебных претензий, точнее, они идут лесом. Больше того, даже если договор есть — были прецеденты, когда кто-то крупный имитировал железку кого-то другого крупного, ставя в дивайс ИХ (то есть чужой) VID/PID, и никто ничего сделать не смог, потому что никакой закон не ограничивает и не может ограничить использование пары 16-битных чисел. Причём дело было не в Китае, а прямо-таки в Штатах.

Логотип, конечно, нельзя использовать — ну так не используйте. Говорить, что оно «может использоваться совместно с USB», можно, тут никакие торговые марки не нарушаются, нельзя только говорить, что оно «сертифицировано для USB» или там «стопроцентно совместимо с USB».

А по поводу драйверов под винду — один совет начинающим USB-железячникам: сделайте устройство класса HID. И никакого драйвера; точнее, драйвер, который обслуживает ВСЕ HID-устройства оптом, в винде уже есть. А если нужно перекачивать большие объёмы, сделайте его USB Mass Storage. Профит двойной — и вам никакого геморроя, и вашему несчастному пользователю не надо носиться с сакраментальным «диском драйверов» и то и дело засовывать его в проклятую винду. Ну а в нормальных системах, в т.ч. в Линуксе, никаких проблем никогда не было.

Croco ★★★
()
Ответ на: комментарий от torvn77

Э-ммм, упустил

почему никто не пытается сделать свой вариант полностью открытого интерфейса?

Таких интерфейсов уже как собак нерезаных. Вот были rs232, известные как COM-порты, были LPT-порты, и сейчас ещё на большинстве настольных компов они есть. Из более экзотических можно, например, rs485 вспомнить. Наконец, блин, Ethernet. Во всех этих вариантах никому ничего башлять не надо.

Но изжить USB можно разве что транглюкировав десяток наиболее крупных производителей железа в мире, начиная с HP, Intel и Microsoft. Пока они живы, их картельные сговоры непобедимы.

Croco ★★★
()
Ответ на: Э-ммм, упустил от Croco

Вообще я думал что эта тема похоронилась в новостях и сделал отдельную тему в talks,
которая и получила развитие.

Почему сообщество не пытается создать открытую альтернативу шине USB?

Так вот,я там сделал предложение о том,что бы FSF начало продвигать свою собственную шину.
И вроде как для этого есть всё:
1)FSF производит свой опенхардварный ноутбук и может там разместить свой хостконтролёр
2)уговорить производителей ARM плат для самодельшиков выпустить платы с этим интерфейсом.
3)На случай если на плате этого контролёра нет процедуру связи начинать с согласования скорости работы шины,что позволит эмулировать контролёр с помощью GPIO пинов устройства.
4)Разработать виндовый драйвер шины(подобное придётся делать в любом случае если USB-IF отзовёт vid:pid у FSF) Вроде как посильная для FSF программа

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 2)
Ответ на: Э-ммм, упустил от Croco

Наконец, блин, Ethernet. Во всех этих вариантах никому ничего башлять не надо.

с распределением МАС адресов всё точно так же как и с VID/PID у USB. только там он должен быть уникальным у каждой железки. но зато их хотя бы в розницу по 0.25$ покупать можно.

anonymous
()
Ответ на: комментарий от anonymous

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

Croco ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.