Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Правовые аспекты использования USB
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Nosaer
Здравствуйте.
Хотелось бы убрать пробел в знаниях касаемо использования USB протокола в своих проектах. В интернете как то все мутно и разносторонне расписано.

Предположим, коммерческой фирмой разрабатывается прибор с использованием USB протокола, реализованного на одном из контроллеров Atmel. Сейчас для связи прибора и ПК используется FT232, но хотелось бы уйти от этого.

При настройке контроллера соответственно необходимо задать такие параметры как VID и PID, которые как пишут, нужно купить у конторы которая продвигает этот самый USB.

Как вы поступайте в своих проектах? Нужно ли заморачиваться по этому поводу. Или возможно есть какие то диапазоны VID и PID для общего использования. Ну и так далее...
ataradov
Если это коммерческое устройство, то лучше купить VID. Для организации это не так дорого.

А вообще для малых партий (до 10000 устройств) производители чипов могут дать PID из их диапазона VID.

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

С точки зрения закона, если вы лого USB на продукт и упаковку не наносите, то делайте что хотите, ничего страшного не будет.
Nosaer
Ясно. Большое спасибо за разъеснение
_pv
а кто что скажет про вариант чтобы МК полностью прикинулся тем же ft232, чтобы использовать ftdiные же драйвера, которые по умолчанию уже есть везде.
клепают же китайцы клоны usb blasterов альтеровских (которые в оригинале на ft245) на силабсах C8051F32.
ataradov
QUOTE (_pv @ Jan 1 2016, 09:09) *
а кто что скажет про вариант чтобы МК полностью прикинулся тем же ft232, чтобы использовать ftdiные же драйвера, которые по умолчанию уже есть везде.
клепают же китайцы клоны usb blasterов альтеровских (которые в оригинале на ft245) на силабсах C8051F32.

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

Если нужен только COM-порт, то самое простое - это сделать CDC ACM (дрова тоже везде есть из коробки) и взять VID от любой из компаний, которые ушли из бизнеса. Таких в списке USB VID полно.

Есть так же сервисы, которые продают небольшие диапазоны PID от своего VID. USB IF это не нравится, он они не могут ничего сделать. Как только номер назначен его уже нельзя отобрать.

_4afc_
Цитата(ataradov @ Jan 2 2016, 01:29) *
и взять VID от любой из компаний, которые ушли из бизнеса. Таких в списке USB VID полно.

У меня при одинаковых для всех устройств левых и редких VID&PID, ещё для удобства - поля:
MANUFACTURE_NAME - содержат название нашей фирмы;
PRODUCT_NAME - название изделия;
SERIAL_NAME - уникальный для каждого номер.

В результате, даже новое SERIAL_NAME - вызывает установку драйвера и всегда можно посмотреть в свойствах - что за устройство и какого типа драйвер встал.
Сергей Борщ
Цитата(ataradov @ Jan 2 2016, 00:29) *
Если нужен только COM-порт, то самое простое - это сделать CDC ACM (дрова тоже везде есть из коробки) и взять VID от любой из компаний, которые ушли из бизнеса. Таких в списке USB VID полно.
Звучит заманчиво. Более того, даже работет. Под линухом. Воткнул и играй. А вот Виндовс, даже несмотря на то, что класс устройства стандартный и дрова у него на борту есть, все равно требует .inf с прописанными туда VID и PID именно этого устройства. Я замучался искать эти дрова для VID и PID от STM32 CDC для XP. А для семерки и выше, как я понимаю, в случае своих или левых VID и PID придется стандартные дрова с этими VID/PID еще и подписывать?
_pv
Цитата(Сергей Борщ @ Jan 4 2016, 03:00) *
А вот Виндовс, даже несмотря на то, что класс устройства стандартный и дрова у него на борту есть, все равно требует .inf с прописанными туда VID и PID именно этого устройства. Я замучался искать эти дрова для VID и PID от STM32 CDC для XP. А для семерки и выше, как я понимаю, в случае своих или левых VID и PID придется стандартные дрова с этими VID/PID еще и подписывать?

вот собственно по этой причине (только не с стм32, а кипарис) и возник вопрос, кем бы так прикинуться со стороны МК (ftdi'ем ft232) чтобы иметь CDC и про драйвера со стороны ПК вообще не вспоминать.
ataradov
QUOTE (_pv @ Jan 3 2016, 15:14) *
вот собственно по этой причине (только не с стм32, а кипарис) и возник вопрос, кем бы так прикинуться со стороны МК (ftdi'ем ft232) чтобы иметь CDC и про драйвера со стороны ПК вообще не вспоминать.
FTDI - это не CDC.

INF файл можно руками написать по примеру за пол часа. Зато получится свой "драйвер" со своими строками в названиях и т.д.
ШСА
Цитата(ataradov @ Jan 4 2016, 02:00) *
INF файл можно руками написать по примеру за пол часа. Зато получится свой "драйвер" со своими строками в названиях и т.д.

Пример не покажете?
ataradov
QUOTE (ШСА @ Jan 3 2016, 17:05) *
Пример не покажете?
Я все время начинаю с этого, так как оно всегда под рукой.

В сети можно найти получше примеры, в том числе и от производителей МК.
Сергей Борщ
Цитата(ataradov @ Jan 4 2016, 01:11) *
Я все время начинаю с этого, так как оно всегда под рукой.
Спасибо. Этот файл подписывать не нужно?
И еще вопрос - вот там всякие магические цифры в ClassGuid - они откуда берутся?
ataradov
QUOTE (Сергей Борщ @ Jan 4 2016, 04:29) *
Спасибо. Этот файл подписывать не нужно?
Я не пробовал ни на чем новее Win7, но не думаю. INF просто указывает на стандартный драйвер из винды.

QUOTE (Сергей Борщ @ Jan 4 2016, 04:29) *
И еще вопрос - вот там всякие магические цифры в ClassGuid - они откуда берутся?


Они стандартные. Значения должны быть в MSDN где-то. Но их менять в общем случае не нужно.
Сергей Борщ
Спасибо.
GetSmart
Встречал аномалии при работе с микросхемой преобразователь USB-COM AS8303, которая имеет такие же PID/VID как PL2303. Видимо подделывается ею. Аномалии не объяснить ни электрической, ни программной кривизной. Причём аномалии встречались и у устройств, подключённых через эту микросхему.

Возможно, если от законного владельца не было публичного или персонального разрешения на использование клонов, то гарантии безглючности не будет.
GetSmart
После того как USB стал основным каналом соединения большинства устройств и особенно с компьютерами/ноутбуками/планшетами, и вне зависимости от изначальных юридических оформленных норм стандарта USB, если на данный момент не выделено достаточно большого бесплатного региона VID/PID, то изначальные требования стандарта могут становиться некорректными по отношению к пользователям. У обозначенных устройств (ширпотреба) просто обязаны быть бесплатные каналы связи с любыми устройствами, а не только с купившими VID/PID официально.

Не хватает международного профсоюза юзеров, отстаивающего их права.

Upd
Но с другой стороны, зачем большой регион, если нет никакой гарантии отсутствия конфликтов адресов. Достаточно одного бесплатного VID. Или ещё уже. ПО всё-равно должно будет особым образом (нестандартно) верифицировать своё железо.
ataradov
QUOTE (GetSmart @ Jan 16 2016, 10:04) *
После того как USB стал основным каналом соединения большинства устройств и особенно с компьютерами/ноутбуками/планшетами, и вне зависимости от изначальных юридических оформленных норм стандарта USB, если на данный момент не выделено достаточно большого бесплатного региона VID/PID, то изначальные требования стандарта могут становиться некорректными по отношению к пользователям. У обозначенных устройств (ширпотреба) просто обязаны быть бесплатные каналы связи с любыми устройствами, а не только с купившими VID/PID официально.
После того как torrents.ru стал основным каналом распространения пиратских фильмов, если на данный момент не создано официального торрент-трекера, то изначальные требования лицензий могут становиться некорректными по отношению к пользователям sm.gif .

QUOTE (GetSmart @ Jan 16 2016, 10:04) *
Но с другой стороны, зачем большой регион, если нет никакой гарантии отсутствия конфликтов адресов. Достаточно одного бесплатного VID. Или ещё уже. ПО всё-равно должно будет особым образом (нестандартно) верифицировать своё железо.
Уже есть VID = 6666 зарезервированный для прототипов продуктов.
GetSmart
Цитата(ataradov @ Jan 16 2016, 23:56) *
После того как torrents.ru стал основным каналом распространения пиратских фильмов, если на данный момент не создано официального торрент-трекера, то изначальные требования лицензий могут становиться некорректными по отношению к пользователям sm.gif .

Нет аналогии. Для интернета аналогом будет эзернет, не домен,сайт или протокол высокого уровня. Да и отличие USB в совсем другой топологии. Доступна должна быть возможность законно бесплатно соединиться с (любым) другим устройством, с прохождением общих для USB стадий инициализации. Для полного счастья халявщиков профсоюз им должен отжать какой-нибудь свободный класс устройства и придумать что-нибудь о установке множества (неподписанных) драйверов на общий VID&PID, опознающих своё железо самостоятельно. Как халявщики будут договариваться и как отстаивать свои признаки любопытно посмотреть. Но бесплатное и законное окно в USB должно быть. Именно из-за железа. С минимальными накладными расходами для стандартизаторов. Реализация этих возможностей в ПО (ОС) - это вторая часть балета и каждый производитель ПО может навязывать и защищать свои права.

Цитата
Уже есть VID = 6666 зарезервированный для прототипов продуктов.

Формулировка должна явно содержать "для свободного использования всеми желающими". Иначе юридически можно докопаться. Хотя вопрос встанет в чьи законы соблюдать и с чьей колокольни смотреть. Достаточно у какого-либо VID с одним конкретным PID явно указать эту формулировку. Ессно при соблюдении минимальной электрической и софтовой совместимости со стандартом.

Сейчас лицензии на производство мед.техники раздают без каких-либо требований соблюдения информационной безопасности создаваемого продукта. Т.о. дают официальное разрешение создавать её на любой дырявой основе. За такое "предоставление услуг ненадлежащего качества" давно нужно уволить бригаду разработчиков законодательства и главврача. Чтобы Белгородскому было не так обидно.

Цитата
С точки зрения закона, если вы лого USB на продукт и упаковку не наносите, то делайте что хотите, ничего страшного не будет.

Хмм. Если производитель чипа так же рассуждает и на чипе нет лого, то он что-то нарушает? Куда потом впаяют его чип и кто получит по морде, он изначально не знает.
GetSmart
В продолжение темы вопрос к юридически подкованным разработчикам и пользователям электронного оборудования. Существует ли организация, аналогичная Роспотребнадзору (если он неподходящий для этого), в которую можно обратиться с жалобой на товар из области бытовой электроники? То есть из-за наличия бага не в одном конкретном экземпляре, а во всей продукции какого-то товара. Без соответствующей организации у покупателя самой обычной USB-флэш не будет возможности доказать, что ему был продан некачественный товар, несоответствующий заявленному на документах товара стандарту. Мне попадались много флэшек, которые работают через чудеса. Это можно продемонстрировать без дорогостоящего оборудования. Если сотрудники будут соответствующей квалификации.
Genadi Zawidowski
Кому-то пригодится: Windows10 работает с CDC ACM (последовательный порт) не требуя вообще никаких драйвров.
smalcom
Цитата(Genadi Zawidowski @ Aug 27 2016, 20:20) *
Кому-то пригодится: Windows10 работает с CDC ACM (последовательный порт) не требуя вообще никаких драйвров.


Круто. Linux это делает с 2004 года.
Genadi Zawidowski
Типа, крутой пингвиновод?
Может, раз уж вы снизошли, скажете - что за устройство /dev/serial появляется вместе с /dev/ttyACM0. Терминалка работает только с последним. И ещё - как влияет наличе status endpoint (та, которая interrupt) в дескрипторе CDC на работоспособность устройства под linux. Зависимость под Windows я уже огрёб. Просто в некоторых процессорах не хватает аппаратных ендпоинтов для поддержания всего что требуется мне - и не хотелось бы держать "фэйковый" ендпоинт, не обслуживаемый в процессоре. В виндах (кроме десятки) убирание этого енджпонита из конфигурационного дескриптора приводлит к тому, что перестает работать поток данных из устройства в хост, обратно всё передается нормально.

ps: только сейчас понял чтооффтопик...
smalcom
Цитата
Терминалка работает только с последним.

хз, чо вы там испольуете. Я вот пользовался minicom и cutecom. Вписываю нужное устройство и никаких проблем.

Цитата
И ещё - как влияет наличе status endpoint

я даже не знаю что это.

Цитата
ps: только сейчас понял чтооффтопик...

именно sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.