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 ()

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

Что прям совсем бесплатно?

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

Да, совсем бесплатно. Процедура запроса через pull-request немного странная, но вполне рабочая.

alexru ★★★★ ()

Очень-очень рад. К сожалению 57тыщ проектов не так уж и много, но рад что лёд сдвинулся. Надоели торговцы воздухом.

true_admin ★★★★★ ()

А для тех кто в тапке. О чём новость-то? :) Ну, в смысле, что что это за идентификаторы и зачем это всё нужно?

anonymous ()

иНдентификаторы

Что?

Deleted ()
Последнее исправление: romeo250501 (всего исправлений: 1)

любое открытое программное обеспечение

Может быть, всё-таки аппаратное (ну и аппаратно-программное)? Я как-то с трудом представляю, зачем PID проекту, в котором нет железяк.

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

Разве в статье не написано? Для определения устройства.

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

У каждого USB-устройства есть уникальный идентификатор в 32 бита. Разделяется на Vendor ID - идентификатор производителя и Product ID - идентификатор продукта. ОСи смотрят на VID/PID и загружают соответствующий драйвер для устройства.

Чтобы получить свой VID производителю нужно принести бабки (~5 килобаксов) консорциуму USB-IF.

Kosyak ★★★★ ()

Молодцы, а то народ уже похоронил идею бесплатной раздачи идентификаторов.

AlexVR ★★★★★ ()

Гут

Хорошая новость.

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

О, спасибо большое, теперь более-менее стало понятно :)

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

Ну, как-то из статьи не сразу осилил :(

anonymous ()

О, круто! Жаль, что нельзя просто так взять и получить пару сотен.

CYB3R ★★★★★ ()

А прикольно стали выбирать PID-ы народ

DADA	Rebel Technology OWL
DEAD	chaosfield.at AVR-Ruler
FEED	ProgramGyar AVR-IR Sender
CAFE	ii iigadget

AlexVR ★★★★★ ()

капля в море, но хоть что-то, может кто-то еще подтянется

autonomous ★★★★ ()
Последнее исправление: autonomous (всего исправлений: 1)

Годно, хотя и без надобности - я успех отхватить, пока OpenMoko раздавали.

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

Получаешь один, и заставляешь свой драйвер парсить string дескрипторы... Профит!

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

Не совсем. Жестко драйвер привязан к паре VID/PID только у венды, и не может быть двух устройств с одинаковым VID/PID но разным драйвером. В линуксах может. Особенно если драйвером является де-факто юзерспейсная прога с libusb. Кстати в windows тоже это частично обходится. на оба таких девайса драйвер 'libusb', и уже в юзерспейсе разруливаем.

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

Лучшеб USB-IF стандартизировали USB-реквест, который возвращает более развернутый индентификатор. И зарезервировать VID/PID под него.

Хотя это тоже тот ещё костыль.

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

тут скорее проблема вендо-ос и жесткой привязкой работающего драйвера к VID/PID. А так всегда можно парсить стринг дескрипторы.

ncrmnt ★★★★★ ()

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

или будут юридические проблемы с продажей таких железяк?

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

или будут юридические проблемы с продажей таких железяк?

Они будут не USB-совместимые, т.е., де-юре не USB вообще.

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

Они будут не USB-совместимые, т.е., де-юре не USB вообще.

И в чем тут страх? Что нельзя USB лейбу вешать? Я в свое время одному заказчику usb девайс разрабатывал на базе контроллера Atmel. Их тысяч 20 уже выпустили. Так и не смог убедить заказчика купить себе pid/vid. Он просто не понимал, за что он должен платить. В итоге в серию устройство ушло с VID/PID атмела, которые использовались в одном из примеров для атмеловского development kit.

Dead ★★★★ ()
Последнее исправление: Dead (всего исправлений: 1)

Предлагаю просто договориться и выделить диапазон адресов для общего пользования.
А на мудаков из USB-IF положить толстый и немытый.
Отказались они. Ну так пусть валят нахрен. Продавцы воздуха. А поддерживать список с идентификаторами сможет и FSF или, логичней, EFF. Уж пару баксов в год для поддержки инфраструктуры они найдут.

Stahl ★★☆ ()

Отлично. Прекрасная новость

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

она оставила себе «про запас» PID с 0×1000 по 0×1FFF, а остальные (0×2000-0xFFFF) передала проекту pid.codes

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

А на мудаков из USB-IF положить толстый и немытый.

Может есть какие-то патентные ограничения или еще какие-то? Я просто подумал, что-то ведь препятствует тому, чтобы передавать кому-то эти идентификаторы. Например, фирма купила их и передала, тут сказано, что запрещено, а каким законом запрещено?

А также, чтобы на рынок выводить устройства с чужими идентификаторами.

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

каким законом запрещено?

Договором.

на рынок выводить устройства с чужими идентификаторами.

Китайцы так и делают. Но если ты не китаец и тебя поймают то жди суда.

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

Чтобы получить свой VID производителю нужно принести бабки (~5 килобаксов) консорциуму USB-IF.

Можешь брать любой и пользовать его, включая выпуск коммерческих продуктов.

Платить USB-IF необходимо только чтобы застолбить VID или получить шильдик USB-совместимо. Не клеишь шильдик - копирасты идут лесом. Можно лишь нарваться на конфликт, если vid/pid уже застолблен. Но лишь с той конторой, которая эти 5к$ отвалила.

На эмбеддерских форумах это тысячу раз перетиралось. Новость ни о чем.

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

Китайцы так и делают. Но если ты не китаец и тебя поймают то жди суда.

А можно поподробнее? Кто подаст в суд? USB-IF? За что? О каком договоре идет речь?

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

она оставила себе «про запас» PID с 0×1000 по 0×1FFF, а остальные (0×2000-0xFFFF) передала проекту pid.codes

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

тобы получить свой VID производителю нужно принести бабки (~5 килобаксов) консорциуму USB-IF.

Кстати, все правильно делают

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

А можно поподробнее?

Ну это я на пальцах гадал. А что бы ты сделал если бы твои идентификаторы юзала другая контора? Что будет делать сам USB-IF я не знаю. В единичных случаях ничего. Но если PID-ы будут раздавать направо и налево то, наверно, наймут адвокатов и будут судиться ибо это их денежка. Хотя, я не очень понимаю сколько они на этом зарабатывают. Мне кажется, особого профита это не приносит. Хотя, может, весь профит получает десяток чуваков, тогда имеет смысл бороться.

О каком договоре идет речь?

Речь шла о раздаче PID всем желающим. Вот договор:

The company set forth above hereby applies for a USB Vendor ID Number and agrees to the following: The USB Implementers Forum is the authority which assigns and maintains all USB Vendor ID Numbers. Each Vendor ID Number is assigned to one company for its sole and exclusive use, along with associated Product ID Numbers. They may not be sold, transferred, or used by others, directly or indirectly, except in special circumstances, and then only upon prior written approval by USB-IF. Unauthorized use of assigned or unassigned USB Vendor ID Numbers and associated Product ID Numbers are strictly prohibited.

(стырено http://www.arachnidlabs.com/blog/2013/10/18/usb-if-no-vid-for-open-source/)

true_admin ★★★★★ ()

У меня есть вот какая мысль,что USB настолько пообвыкся,
что достаточно чтобы через упаковку был виден разъём,
а саму наклейку о его поддержке делать совсем не обязательно.

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

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

Не клеишь шильдик - копирасты идут лесом

А можно написать что это USB девайс? Или эти три буквы не должны встречаться вообще?

Я бы тогда написал «this device comes with THIS interface» и рядом изображение.

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

Прочел надпись на чипе с твоего юзерпика: KISSJTAG

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

Я бы тогда написал «this device comes with THIS interface» и рядом изображение.

Ататата, там закопиращенный значёк USB присутствует.

Kosyak ★★★★ ()

Лишь бы не нахватали напрасно кучу ID-шников, а чтобы это было грамотно и экономно распределено!

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от torvn77

Ты намекаешь типа не писать что это USB-compatible, примерно как с I2C сделали назвав его TWI, или как DisplayPort? Поясни суть гениальной идеи...

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от true_admin

А можно написать что это USB девайс? Или эти три буквы не должны встречаться вообще?

Я думаю, что если написать что-то типа: «Устройство подключается к порту/разъему USB» то проблем быть не должно.

Dead ★★★★ ()

Сделали бы USB-IF идентификаторы очень длинными (128 бит или больше), а получение сделали бы по принципу GUID (случайное число, настолько длинное, что вероятность, что двум людям попадётся одинаковое стремится к нулю - как не найдёшь двух линуксовых ФС с одинаковыми UUID, если только не создавать их специально такими). И не было бы никаких проблем. Поскольку идентификатор передаётся лишь один раз - при подключении устройства к хосту - нет никакого смысла экономить на размере идентификатора - это никак не скажется на скорости работы.

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

А можно написать что это USB девайс? Или эти три буквы не должны встречаться вообще?

Да можно. Иначе любое упоминание USB в даташитах было бы со ссылкой на копирайт. По аналогии с оффтопиком.

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

Ататата, там закопиращенный значёк USB присутствует.

Неа. Тоже боян. Трезубец свободен от копирастии. За исключением трезубца для super speed девайсов.

http://www.usb.org/developers/logo_license

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

что-то ведь препятствует тому, чтобы передавать кому-то эти идентификаторы. Например, фирма купила их и передала, тут сказано, что запрещено, а каким законом запрещено?

Запрещено договором купли-продажи. Если узнают - просто отзовут у перепродавшего этот диапазон и продадут его кому-то еще.

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