Сайт размещен на FirstVDS

LVI

22 января 2015 года
18 декабря 2014 года
21 июня 2013 года

Где найти Bluetooth донгл с чипом от Broadcom?

У Broadcom самый лучший стек (знаю, вопрос спорный, для некоторых 🙂 ), а ещё он бесплатный.
Одна маленькая проблемка: этот стек работает только со своими чипами.
И одна проблемка чуть больше — найти донгл с их чипом.
Я потерял две надежды: первая — что продавцы таких устройств в характеристиках будут указывать на каком чипе сделан тот или иной девайс, вторая — что девайсы с чипами от Broadcom будут продаваться в нашей стране.
И вот, после потери всех надежд, пошел на алибабу, и что вы думаете — нашел.
Естественно сомнения в том, что там продается заявленное, были ну очень велики, а вот цена — не большая и я рискнул купить.
Как положено, через 45 дней открыл диспут, потому что, банально, не получил купленное, но всего через 62 дня с момента отправки, девайсы (заказал 2) были у меня в руках.
И что вы думаете?
Читать дальше »

5 декабря 2012 года

SONY DR-BT21G частые перерывы в звучании

Случилось так, что в один прекрасный день c моей любимой bluetooth стерео гарнитурой Motorola S305 решила поиграться собака и за 5 минут превратила их в горку пластмассы с металлом. Стал я искать нечто похожее, а именно накладные наушники (мне такие нравятся больше вкладышей). Хотелось приобрести S305 но, к сожалению, их уже не найти. Моё внимание привлекла модель SONY DR-BT21G и накладные наушники  и цена не плоха и производитель известный 🙂 Удивило то, что данное устройство на рынке с 2007 года и до сих пор продается.

Купил, зарядил, подключил к смартфону acer s300… перерывы в звучании оказались больше самого времени звучания… Читать дальше »

10 марта 2012 года

ВНИМАНИЕ Acorp WBD2-A2 (2.0) !

В далеких планах было желание купить bluetooth донгл с чипом от Broadcom. Как-то специально я этим не занимался и тут мой коллега, у которого был подобный девайс, сообщил, что в довольно известном магазине из 3-х букв есть такой же, как у него, ну или почти такой же.
Бегло почитав спецификацию и не обратив внимание на комментарии, я приобрел за 299 рублей устройство под названием «Acorp WBD2-A2/WBD2-A2+ (2.0)».
В надежде наконец-то установить драйвера от Broadcom и насладиться их богатыми возможностями, девайс был вынут из упаковки и вставлен в компьютер. Но… ни одна из 4-х имеющихся в моем распоряжении версий драйверов не увидели это чудо-устройство.
Читать дальше »

11 октября 2011 года

Алгоритм декодирования СМС (SMS 7-bit to 8-bit decoder )

Недавно занимался задачей декодирования входящих СМС, т.к. готовых алгоритмов не нашел, пришлось курить спецификацию GSM 03.38 и заголовочник «RIL.h».
Начну с того, что СМС может кодироваться 3мя методами:
— Метод кодирования «По умолчанию» (Default alphabet) — использует 7 бит на символ, длина СМС считается в символах.
— Метод кодирования «UCS2» — использует 16 бит на символ, длина СМС считается в октетах.
— Метод кодирования «8-ми битные данные, определенные пользователем» (8 bit data is user defined) — использует 8 бит на символ, длина СМС считается в октетах.
Читать дальше »

21 июля 2011 года

Реализация базового приложения для стека Broadcom

В статье Профиль HID и протокол L2CAP были описаны различия в подходе к реализации HID для разных стеков. Здесь я в двух словах опишу попытку реализации применительно к стеку Broadcom и дам ссылку на проект для его изучения.
Читать дальше »

17 июля 2011 года

Профиль HID и протокол L2CAP

Тонкости использования L2CAP в реализации профиля HID.

Профиль HID использует протокол управления логической связью и адаптацией (Logical Link Control and Adaptation Protocol – L2CAP).
Для полноценной работы профиля обязательным условием является использование 2х или более каналов L2CAP для передачи и приема пакетов управления и данных.
Хост, для bluetooth HID, открывает 2 канала L2CAP: канал управления и канал данных. Для того, что бы использовать 2 разных канала (а каналы назначаются динамически), профиль HID использует 2 различных протокольных/сервисных мультиплексора (PSM — Protocol/Service Multiplexer).
Значения этих PSM однозначно определены в спецификации «Assigned Numbers»:
— для канала управления: 0х0011;
— для канала данных (в HID он называется канал прерываний): 0х0013.

Различия в реализации L2CAP для стеков Broadcom и Microsoft.
Мобильные устройства на базе ОС Windows Mobile в основном используют один из 2х стеков:
— стек от Broadcom;
— стек от Microsoft.
Broadcom в своем SDK для стека, предоставляет интерфейсы для работы с L2CAP:
— CL2CapIf — класс для установки значений PSM и регистрации этих значений в протоколе L2CAP;
— CL2CapConn — класс, управляющий соединениями L2CAP.
Благодаря наличию этих двух классов управление протоколом L2CAP не вызывает никаких затруднений, чего не скажешь о…
Microsoft, которая в своем SDK не предоставляет API для работы с L2CAP :(.
У этой фирмы несколько другой подход к тому, как реализовать протокол L2CAP, а именно Microsoft предлагает использовать так называемый Bluetooth Stack Extension Layer, позволяющий расширять базовую функциональность её стека через написание потокового драйвера. Вот об этом хорошо написано в MSDN, и если еще приложить чуток терпения, то окажется, что в Windows  CE Embedded 5.0 есть уже готовый пример  Installable Stream Driver   именно для L2CAP.

У себя в реализации я использовал готовый пример, только адаптировал его для конкретного применения.

Благодарю за внимание и успехов в изучении технологии 😉

9 января 2011 года

Сервисная запись SDP

SDP (Service Discovery Protocol) — протокол обнаружения сервисов. Здесь мы не будем подробно вникать в его предназначение, а укажем только ссылку на русскоязычное описание данного протокола. Кому интересно, может почитать. Нас будет интересовать сервисная запись (Service Record), поскольку она действительно является самой важной частью работы устройства bluetooth. Благодаря сервисной записи наш КПК и будет определяться как HID мышь.

Самое сложное в реализации сервисной записи — это настройка сервисных атрибутов (впрочем, если поискать в сети, то можно найти готовые примеры сервисной записи для мышки). Каждый атрибут имеет свое название и свой уникальный номер. Сложность в реализации заключается не столько в подготовке самой записи, сколько в разном ее представлении для различных стеков на уровне исходных кодов . Так, для стека Broadcomm, при формировании записи необходимо инициализировать каждый атрибут, а для стека Microsoft необходима монолитная структура записи. При формировании записи необходимо учитывать какие именно атрибуты необходимы для HID устройства. В спецификации Bluetooth HID в таблице 18 и 19 описаны все атрибуты с пометкой их обязательности.

Сейчас мы попытаемся на примерах разобрать некоторые атрибуты.Кстати, интерпретация каждого байта записи — это отдельная песня, хорошо описанная в спецификации SDP. И так начнем:
Читать дальше »

9 января 2011 года

Стек профиля HID

Если глянуть на рисунок, любезно предоставленный сайтом, то тут все понятно и без слов 🙂

Применительно к рисунку я только хотел заметить следующее:
PC Host — это у нас будет ПК, к которому мы будем подключать нашу мышь, эту часть мы не будем рассматривать вообще 🙂 ;
HID — это КПК, который мы превратим в мышь;

Что касается правой части рисунка, а именно устройства HID, будем предполагать что некоторые части у нас уже есть, это Radio и Baseband как аппаратная часть КПК; Link Manager, L2CAP и SDP как программная часть имеющегося на КПК стека. Естественно если КПК вообще имеет Bluetooth. А вот с «HID application firmware» мы попытаемся что-то сделать, а именно, мы расширим возможности HID, имеющиеся в КПК путем добавления профиля HID, только не как клиента, а как сервера. (клиентом у нас будет ПК).

Еще одно замечание, касающееся протоколов L2CAP и SDP. Описание и ньюансы их реализации, особенно L2CAP для разных производителей стека, а именно Broadcom и Microsoft, я опишу позже, тогда, когда дойду до того, зачем они здесь применяются.