The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Гарольд Велт раскрыл причины проблем с разработкой бинарных ..."
Отправлено User294, 28-Ноя-08 03:15 
>Хороший пример. Кстати, осталось только вспомнить, сколько раз USB стэк ломали в
>Linux.

Опять же - при юзании usb2serial конверторов это будут НЕ ВАШИ проблемы.Для вас в таком случае есть виртуальный компорт, в линуксах такой порт как правило называется /dev/ttyUSBx - полностью аналогичный компорту который сто лет назад юзали как /dev/ttySx ну разве что максимальная скорость совсем не обязана упираться в 115200 а может быть и несколько мегабит (если железка такое позволяет и оно вдруг надо).Соответственно для софта такой юсб-девайс будет всего лишь виртуальным компортом и с ним строго говоря может работать любой софт работавший с компортом.А кто и как порт слепит - да не ваши проблемы вообще.И какие они там апи при этом перетрясут - тоже не ваше дело если вы удовольствуетесь обычным виртуальным компортом без продвинутостей (как то энумерация, чтение дескрипторов и прочая).Достаточно популярное решение у embedder'ов поскольку писать драйвера USB всем ломливо а под винду иначе в общем то никак иначе и не выкрутишься.Если оно вам надо, подобные чипы делают FTDI (FT232, FT2xxx, ...), Prolific (PL2101, PL2103, ... ), OTI, а скорее еще и еще кто-нибудь (я всех чипмейкеров не знаю, можно в сорцах ядра подсмотреть наверное более подробный список всех причастных:D).Для индивидуалов и мелкосерийщиков в России лучше всего связываться с FTDI на мое имхо(легко доставабельны в раша, достаточно популярны у местных, под линукс есть даже вендоровский утиль для зашивки еепромины с кастомизацией под вас по usb и прочая).

Минусы у такого решения тоже есть: максимально-возможные для USB скорости так выжать трудновато и кроме того будет некоторый трабл с поиском девайса софтиной, особенно если девайсов надо прицепить более чем 1.Но в 95% случаев это проблем из себя не представляет т.к. бОльшей части железяк хватает тех нескольких Мбит которые так можно пропихнуть без геморроя а железяка - одна.

Если все-таки надо работать с нативным usb (ну скажем энумеровать девайсы на шине и работать с нативными эндпойнтами а не виртуальными компортами) - в линуксе часто можно отделаться сугубо юзанием libusb и user-mode приложения (вот тут изменения API вас могут затронуть, зато можно попытаться сэкономить на чипе если используемый однокристальник сам с юсб например).Драйвер в линухе потребуется лишь для каких-то круто специфичных случаев(ну вон N8x0 в линуксе шьются по юсб - и без всяких драйверов...).

В винде кстати все хуже: там никаких libusb нет так что если вы не вписались в стандартные классы устройств и не захотели юзать usb2serial чипы чтобы спихнуть гемор с драйверами на других (производителя чипа и\или ядерщиков из линукса) - тогда вы влетаете на полновесный геморрой с вашим собственным драйвером.И что интересно, embedder's почему-то по жизни стараются от этого отделаться.Потому что даже в винде это - геморрой.

>И в итоге получается, что софт железки работает без проблем
>с любым дистрибутивом не старше года, а потом -  надо
>опять переписывать под современные дистрибутивы.

Господи, что вы там собираетесь переписывать?Интерфейсу компорта - уж ...цать лет и программится он как и ...цать лет назад, что в вин что в линукс.А кто там вам его и как изобразит - ваше ли дело?То что виртуальным компортом притворится чип воткнутый в usb+его драйвер - программа и не узнает вообще (ну разве что в линуксе по названию файла ttyUSBx вместо ttySx).Так даже древние программы и железки могут работать по новым интерфейсам, что соответственно всем и симпатично - вон судя по этому форуму APC как минимум некоторые из своих UPSов именно так и оснастил интерфейсом USB.Чит?Зато какая экономия времени и сил и не надо драйвера USB писать - а для их написания надо скурить огромный талмуд спеков.Лично я осилил половину талмуда на USB 1.1 и подзаколебался.А 2.0 еще увесистее... :)

>Кстати, у меня USB Bluetooth приемник
>работает уж сколько лет и в Win98/XP/Vista,

А у меня мой (довольно не позорный) usb'шный Bluetake не работает в XP SP2 (более ранние его вообще не знают).При том - винда бойко вкорячивает для него свой нерабочий (!!) драйвер.Потом - девайс вроде есть.Но - не работает.Вообще.Чтобы заработало - надо этот драйвер выколупать, подтвердить насильную установку "несовместимого" драйвера с сидюшника (который на самом деле как раз очень даже совместимый и в отличие от - еще и работающий).И вот тогда после установки софтины с сидюка - заработает.При том - стэк блютуса в итоге они выбрали не Widcomm а половина стороннего софта в итоге не работает (многие поддерживают только widcomm как наиболее популярный хотя есть и еще несколько альтернативных+родной MS после некоторого момента появился).Комплектный bluesoleil ессно работает.Такой вот, блин, хардкорный плагнплей в винде.Чем занимался WHQL что их драйвер так "работает" оставим на их совести, но проблема - очень известная, на нее часто наступают - MSовский стэк часто демонстрирует волшебную фигу.Погуглив узнал что на эту проблему налетает немеряно народа и регулярно.

>а для Linux дешевле новый купить, чем разбираться, почему там плуг анд плай
>работал, а потом перестал работать с какого-то там ядра.

А вот убунты всем назло с моей донглой работают в режиме "воткнули - заработало".Никакого диджества сюдюками, кстати, не требуется.Вот это я понимаю - plug&play.Правда в последней кубунте если верить юзерам идиллию подпортили - в *К*убунте с ее 4 кедами банально нет гуя для работы с зубом.Как я понимаю для 4-х кедов он еще банально не готов(в убунте все нормально).А у меня - зуб от 3-х кедов остался потому как система грейдилась с 8.04 и оно даже в кубунте работает, хотя и не должно бы вроде, если верить known issues :)

>Зато на упаковке было гордо "встроенная поддержка в Linux" :)

Откуда ж я знаю что там у вас в конкретном кернеле кто накосячил?Это наверное вопросы к майнтайнеру дистриба почему они такие кернели в дистрибе раздают.При том если у меня не работает что-то в убунте - там баг хоть закатать реально.А в случае виндовса жаловаться судя по всему можно с таким же успехом и в спортлото.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру