Haiku — свободная операционная система для персональных компьютеров, первая версия которой нацелена на бинарную совместимость с операционной системой BeOS.

Haiku воплощает в себе основные идеи BeOS. Это будет модульная система, архитектурно решённая как «модульное ядро», способная динамически подгружать необходимые модули. К интересным особенностям системы следует отнести архитектуру трансляторов — системных интерпретаторов файловых форматов (например, JPEG).

О проекте

ad block

Закладки

Понемногу эволюционируем

После ваших откликов всё стало выглядеть вот так. Информация о локальном устройстве больше не выпирает на передний план, а за первым табом пользователь может увидеть текущий список удалённых устройств (пока не реализован)

Есть мнение, что таб с настройками не нужен обычному пользователю, а настройки по идентификации будут доступны также через апплет в Deskbar'е

Настройки и дальнейшие шаги

Предыдущие несколько месяцев работа велась над Этапом1 (ARCE) проекта. Три главных задачи, исправление багов, чистка кода и реализация дополненительных возможностей и настроек - начинается Этап2 работ по Bluetooth, главная цель которых сделать работу с ним убоднее.

Одним из самых неприятных моментов является то, что bluetooth_server не распознаёт горячее подключение устройств к системе: их надо подключать перед запуском сервера. Поэтому следует улучшить работу с подключаемыми к системе устройствами.

Второй момент — это нехватка инструментов: сейчас их 2 — один информационный, а другой для обнаружения, но они пока (в svn) не работают. Все прочие действия должны быть отлажены на удалённом устройстве (телефоне)

Я сделал свои наброски и пожелания пользовательского интерфейса.

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



3 таба: правый для общих настроек. Средний — список всех известных удалённых устройств: доступных, спареных, заблокированных, соединённых. И описание того, что мы о них знаем и об их службах, если они есть.

Таб, показанный на картинке - это описание нашего локального хоста, и главная его цель - сделать его доступным (обнаруживаемым). Для этого там есть 2 чекбокса и они уже работают. В чёрном квадрате будет показываться иконка лаптопа или десктопа (кто знает... смартфона?), в зависимости от того, как вы себя захотите обозначить.

Панель дана в общих чертах, и я думаю вокруг полно художников, которые могут дать дельные советы. Я буду рад прочесть их мнения, прежде, чем приступлю к работе.

КСТАТИ: Устройство на скриншоте было подарено Питером Пэнмэном, и наконец имеет валидный bdaddr, спасибо!

urnenfeld

Bluetooth Bounty завершено

Oliver Ruiz Dorantes:
http://urnenfeld.blogspot.com/2008/11/5th6th-milestone-phase-1-reached.html
Наконец закоммиттил:
http://cia.vc/stats/author/oruizdorantes
последнюю часть и закончил 1 часть Haikuware's bluetooth bounty:
http://www.haikuware.com/bounties/bluetooth-bounty

Посему мы отправили призовой фонд $1820.47 (он ещё получил памяти от админа haikuware thenerd). Немного не достаёт до запрошенных им $1950, но мы считаем, что суммой он остался доволен.

Хотим поблагодарить всех спонсоров, сделавших это возможным, а так же Оливье за его тяжкий труд, благодаря которому в Haiku есть работающий bluetooth! Поздравляем всех.

5th/6th Milestone, части 1 достигнута.

Этот пост я хотел бы написать ещё весной 2007, когда начался наш первый Google Summer of Code.

После того, как удалось установить двустороннюю коммуникацию по l2cap, нужно было заставить мобильник начать какую-нибудь коммуникацию с Haiku. Конкретно, это была сессия SDP (service discovery protocol), в которой мобильник интересуется у Haiku, какие сервисы bluetooth она предоставляет.

продолжение

L2cap Signaling / в обе стороны

Месяц уже прошёл. Я рассчитывал вернуться к началу месяца, но, к удивлению, последнюю неделю задержался.

Ответные сигналы, которые l2cap Haiku отсылала на тестовую мобилу, были кривоваты. Неверный размер ACL и полей L2cap и неверное определение ID канала отправителя и получателя.

После KDL's и поигравшись с уровнями передачи, устройство поняло мой l2cap ответ и телефон начал конфигурировать сессию....

скоро, скоро...

Сдвиг на 1 месяц (Извините)

Как вы знаете, крайний срок окончания работ по Bluetooth - 1-е ноября.

Мы всё ещё отстаём от графика и, судя по достижениям последней недели, следующий этап будет закрыт через 2 недели (включая эту).

Поэтому у нас вроде есть неделя в запасе, но скорее всего её не хватит, поскольку у меня ожидалась поездка по делам рано или поздно, и вот она случилась ПРЯМ СЕЙЧАС, поэтому я буду занят до конца месяца.

Я еду в немецкий город(ок) под названием Кронах где-то около Мюнхена, судя по купленному мне компанией билету на самолёт. Правда жаль, что я не настроил рабочую среду на лаптопе, поскольку я там никого не знаю и мне будет скучно...

Посему я, к сожалению, вынужден сдвинуть срок сдачи на 1 месяц.

urnenfeld

Сигнализация L2cap / односторонняя

Начато тестирование протокола l2cap нижнего уровня.

После установки соединения, мы готовы к приёму пакетов ACL, которые, после обработки, станут кадрами L2cap, часть короторых, типа G, будут данными пользователя/приложения.

Но в начале идут кадры типа C (сингалы), которые устанавливают L2cap канал, и этот канал будет нести кадры типа G.

Это была теория, теперь факты: данные ACL обрабатываются (не вполне оттестированно, так как первый кадр L2CAP должен влезать в 1 пакет ACL :-/) и посылаются на уровень L2CAP, который разбирает и обрабатывает первый кадр C L2cap, что было главным достижением последних дней.

Первый сигнал запрашивает открытие канала, поэтому следующий шаг - проверка, есть ли связанный l2cap сокет для приёма и передачи следующего сигнального кадра, который надо сегментировать (если слишком большой) и послать как ACL...

urnenfeld

Обновление Bluetooth и пожертвование железом

Очень давно у нас не было никакого движения по bluetooth.

Последние два месяца вся деятельность крутилась около протокола L2cap (и, конечно же, походов на пляж). Протокол лежит поверх TCP/IP стека и использует протоколы TCP и UDP, поэтому задача отнюдь не проста.

Хорошая новость состоит в том, что после переговоров о лицензировании с главным разработчиком FreeBSD (Максимом Евменкиным) и разработчиками Haiku в рассылки, я использовал код из BSD адаптировав его для API ядра Haiku, что съэкономило кучу времени на разработку.

Я разделил протокол l2cap на два подуровня 2 (нижний/верхний). Нижний целиком закончен и сейчас я заканчиваю верхний, который, после совмещения с интерфесом сокетов, завершит последний этап.(НАКОНЕЦ-ТО!)

Также огромное спасибо за поступившее пожертвование в виде железа из......

Luroh, спасибо ему, с большим опозданием прислал мне пару PCMCIA bluetooth карт и одну беспроводную. Когда я их получил, я уже было собрался прекратить работы по их поддержке, но в Haiku нет поддержки PCMCIA :(... в моём TODO листе появились новые записи. В любом случае карты полезны, так как пополнят количество моих bluetooth устройств.

Спасибо, Luroh!

urnenfeld

Спаривание! 5-я веха

img_3076.jpg

Да, ещё одна мутная и нечитаемая картинка. В камере села батарейка и лучше не получится.

Помните Марвина? На этот раз он добавлен (если видите) в список доверенных устройств моего телефона после процесса соединения, ввода пинкода и обмена ключом для шифрования (речь идёт о соединении по bluetooth - haikuos.info)

На картинке видно окошко пинкода пользователя (чтобы ввести пинкод, выданный телефоном) и другое окно, которое говорит нам, что соединение состоялось.

В этот раз я хочу поблагодарить Monni за присланные мне патчи :)

urnenfeld

Вышла поддержка Bluetooth в Haiku

Я обещал Андреа подарок к Рождеству и изрядно задержался. Давайте зазипуем всё. что мы показывали в последних постах и расскажем, что с этим делать. Теперь у нас есть некий функционал и мы можем дать вам возможность с ним поиграться, а также написать приложения, такие, как например панель настроек в Preference.

Прежде, чем продолжать, ознакомьтесь, пожалуйста, с этой статьёй о возможном риске.

Шаги по установке для R5(не тестировалось под Haiku и ZETA):

Установка драйвера (/h2/h2generic) :

Положите драйвер в /boot/home/config/add-ons/kernel/drivers/bin

Сделайте на него ссылку и положите в /boot/home/config/add-ons/kernel/drivers/dev/bluetooth

Скорее всего у вас нет этого каталога, поэтому его придётся создать. С помощью команды usb_dev_info убедитесь, что устройство определяется. После этого проверьте, правильно ли устройство опубликовано:
$ find /dev/bluetooth/
/dev/bluetooth/
/dev/bluetooth/h2generic
/dev/bluetooth/h2generic/0

Если нет, то может помочь перезагрузка или команда $ rescan h2generic.

Установка библиотеки (/lib/libbluetooth.so) :

Положите библиотеку в /boot/home/config/lib/

Запуск сервера (/server/bluetooth_server) :

Этот компонент можно положить в любое место, например: /boot/beos/system/servers/

Запуск приложений (/apps/*) :

Это программы для командной строки. Их можно класть в любое место и запускать из терминала.

Доступный функционал:

Всё, что описано в программах /haiku/trunk/src/bt_*.cpp и LocalDevice::SetDiscovery(); который не используется в приложениях

Скачать Bluetooth для Haiku (Arce.4.1)

Примечание: Если есть желающие сделать красивый установочный скрипт или ссылки на папки Drop me here - присылайте мне, я их с радостью опубликую.

urnenfeld

Архивы

Сентябрь 2007| Октябрь 2007| Январь 2008| Февраль 2008| Март 2008| Апрель 2008| Май 2008| Июнь 2008| Июль 2008| Август 2008| Сентябрь 2008| Октябрь 2008| Ноябрь 2008| Декабрь 2008| Январь 2009