Открытая мобильная связь может спасти мир

сентября 1, 2010

В разгаре очередной фестиваль Burning Man и уже третий раз связь на фестивале обеспечивается при помощи OpenBTS. NetworkWorld опубликовала по этому поводу статью с хорошим обзором текущего состояния проекта. Статья основана на интервью, взятом у одного из основателей проекта — Глена Эденса. Некоторые интересные факты из статьи:

  1. Связь для 50 000 участников фестиваля будет обеспечиваться при помощи 2 секторов (антенн) по 3 частотных канала в каждом. Также в этом году предоставляется возможность осуществлять звонки «наружу».
  2. Вместо USRP в этом году используется специализированное железо.
  3. Коммерческой часть проекта будет анонсирована на DEMO conference 13-15 сентября.
  4. Полноценная базовая станция на основе OpenBTS будет стоить около $10K, а не $50-100K как традиционная базовая станция.
  5. OpenBTS использовался для обеспечения связи в главном госпитале Порт-о-Пренс (Гаити) после того, как землетрясение нарушило все существовавшие коммуникации. Инсталляция заняла всего два часа.
  6. С января было продано около 150 готовых комплектов для развёртывания OpenBTS.
  7. Исходный код был скачан 4 000 раз — в основном теми, кто может собрать всё необходимое своими руками.
  8. Тестовые сети на основе OpenBTS запущены в Индии, Африке, Тихом океане и некоторых других странах. Несколько инсталляций OpenBTS обслуживают частные владения — нефтяные месторождения, фермы, корабли. Ведётся работа по инсталляции OpenBTS на австралийской станции в Антарктике. Также интерес к OpenBTS проявляют военные и силовые структуры и DARPA. Системой интересуются провайдеры мобильной связи Telefonica и T-Mobile.

Проект становится на ноги, и я думаю, что уже ни у кого не возникает вопросов «зачем это всё надо?». Остаётся лишь вопрос — станет ли это толчком к кардинальному изменению мира, или мир станет лучше «лишь чуть-чуть». И ответ на него во многом зависит от всех нас, от нашего участия в изменении мира. :)

Chaos Constructions'10 и Open-Source Hardware

августа 31, 2010

Рассказал на CC'10 про Open-Source Hardware. Надеюсь, присутствовашим было интересно и полезно :) Слайды с выступления доступны на SlideShare. Видеозапись должна скоро появиться на сайте СС.

Заодно познакомился с ребятами, которые делают oshw.ru и oshec.org. К сожалению, сами сайты сильно запущены, но проекты живы. В начале октября собираемся сделать совместную микро-конференцию по Open-Source Hardware — пригласить другие проекты, познакомиться, поделиться опытом, обсудить общие проблемы и личные достижения, планы, а так же просто пообщаться. Точное время, место и план мероприятия будут объявлены позднее. Постараемся организовать возможность удалённого участия. Все, кому интересно — пишите в комментариях.

OpenBTS 2.6 и Kalibrator 0.4.1

августа 31, 2010

Анонсирован выход OpenBTS 2.6. Новая версия должна быть полностью совместима с инсталляциями OpenBTS 2.5 и обновление должно пройти без проблем. В связи с этим OpenBTS 2.5 обновляться больше не будет и все исправления будут только в ветке 2.6.
Основные изменения:

  1. Лицензия изменена с GPLv3 на AGPLv3 с дополнительными условиями. Если Вы собираетесь применять OpenBTS в реальной жизни — настоятельно рекомендуется её внимательно прочитать.
  2. Админы GnuRadio уже скоро год как не могут создать для OpenBTS git-репозиторий, пожтому код опубликован в GIT на SourceForge. Посмотреть его можно тут, скачать исходники в архиве тут.
  3. Для получения доступа на запись в репозиторий OpenBTS достаточно подписать contributors' license agreement (CLA) c Kestrel SP.

Отдельно замечу, что мои исправления к OpenBTS вообще и USSD в частности можно скачать с github.

Также вышла новая версия утилиты Kalibrator 0.4.1. Эта утилита позволяет при помощи USRP просканировать эфир, чтобы найти частоты, на которых работают окружающие базовые станции и мощность их сигнала, и определить расхождение частоты генератора на USRP и генератора на базовой станции. В новой версии существенно повышена чувствительность  и введён родной режим сканирования. Узнать подробности и скачать исходные коды можно тут: http://thre.at/kalibrate.

Chaos Constructions'10 — 28-29 августа, Санкт-Петербург

августа 24, 2010

На следующих выходных я буду нести распространять идею Open Source Hardware на комьютерном фестивале Chaos Constructions 10 в Санкт-Петербурге 28-29 августа.

Был план продемонстрировать на фестивале OpenBTS  в действии, но мой ноутбук попал в ремонт. Если есть энтузиаст, готовый пожертвовать на время демонстрации ноутбук с Ubuntu, идею можно возродить.

Disclaimer: Я ещё ни разу не был на Chaos Constructions, и надеюсь, что он будет похож по духу на берлинский Chaos Communication Congress. Если среди читателей есть завсегдатаи СС — напишите в комментариях.

Неработающие комментарии

августа 24, 2010

Из-за бага в плагине reCaptcha все комментарии помечались как спам вне зависимости от ответа на каптчу. В итоге я только сегодня обнаружил в папке со спамом все комментарии, оставленные вами за последние месяцы. Я постараюсь на них ответить по мере появления свободного времени.

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

Поддержка USSD

июня 28, 2010

Практически закончена реализация GSM-части USSD в OpenBTS и пора приступать к реализации внешнего API. В данный момент для выполнения внешних запросов рассматриваются варианты использования SMPP и HTTP. Первый вариант более стандартный — протокол изначально создавался для передачи SMS и USSD. Второй же вариант не так стандартен, но лично мне кажется более интересным.

Используя HTTP, можно привлечь к написанию USSD-приложений огромную армию web-разработчиков и обеспечить доступ к самым разнообразным интернет-ресурсам прямо из USSD. Однако HTTP легко использовать только в простом режиме запрос-ответ. Как его лучше всего использовать для создания меню, в котором запросы посылаются несколько раз в течение одной сессии нам пока не ясно. Ну не web-разработчики мы. :) Если вы знаете, как это лучше (и проще) всего реализовать — напишите нам, пожалуйста.

Ещё один вариант, который может быть интересен — использование Jabber или того же SIP/SIMPLE для обработки USSD-запросов и USSD-меню. Но не будет ли это слишком большим оверхэдом для достаточно простой функции?

Приглашаю всех к обсуждению этого вопроса — здесь в комментариях (на русском) или в рассылке OpenBTS (на английском). Давайте вместе сделаем API удобным и красивым.

Новые новости

июня 28, 2010

Как-то незаметно пролетели два месяца с прошлой записи в блоге. Нет, мы не в отпуске и не бросили проект, мы просто слишком много работаем. :)

К сожалению, из-за различных накладок нам не удалось поехать в Германию на OpenBTS Workshop. Вчера он должен был уже закончиться, но от организаторов и участников пока ни одной весточки... будем надеяться у них всё хорошо.

Но есть и хорошие новости:

  • Вышел Kalibrator-0.3 с небольшими улучшениями функциональности и скриптом для сканирования спектра на предмет обнаружения несущих частот базовых станций (FCCH). (ссылка)
  • В мартовском номере Open Source Business Resource опубликована статья Дэвида Бёрджеса «Low Cost Cellular Networks with OpenBTS». В статье рассказывается об истории создания OpenBTS и текущем состоянии проекта.
  • Для коммерциализации OpenBTS зарегистрирована отдельная компания — Range Networks. Официального анонса пока не слышно, но на выступлениях Дэвид Бёрджес уже подписывается именно этой компанией. Надеемся агрессивная коммерциализация не нанесёт слишком большого урона сообществу.
  • Проект открытого конфигурируемого опорного генератора ClockTamer постепенно приближается к стабильному релизу аппаратной части. Я надеюсь, что уже скоро мы получим с завода первую сотню генераторов и сможем наконец обеспечить ими всех желающих.
  • Силвайн Мюнаут (Sylvain Munaut) не без нашего участия наконец-то закончил разводку фронтенда для USRP и скоро фронтенды будут доступны для заказа. Фронтенд включает в себя керамический дуплексер, а также малошумящий усилитель и фильтр на принимающем канале. Работает фронтенд в диапазоне GSM1800.

OpenBTS на Habrahabr

апреля 24, 2010

На Habrahabr появилась первая статья с тегом OpenBTS: Ваша личная мобильная связь в стандарте GSM

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

PS Один из частых вопросов — где бы посмотреть на OpenBTS в действии? Ответ: Если договориться с нами, то можно посмотреть прямо тут, в Москве! :)
Если вам интересно — напишите в комментариях. Как наберётся человек пять, договоримся и устроим презентацию-демонстрацию. Можно, например, устроить презентацию после нашего возвращения с воркшопа. Тогда мы сможем заодно поделиться свежими впечатлениями, идеями и драйвом, а заодно показать ролики оттуда.

июнь: OpenBTS воркшоп в Германии

апреля 24, 2010

23-27 июня в Германии недалеко от Мюнхена создатели OpenBTS будут проводить воркшоп «с погружением». Более подробную информацию о воркшопе можно получить тут.

Мы будем представлять на воркшопе российскую часть разработчиков, :) а так же представим разработанную нами реализацию USSD для OpenBTS.

Мы постараемся организовать видео-запись мероприятий воркшопа и сделать её доступной всем интересующимся.

Введение в устройство типичного GSM-телефона

апреля 14, 2010

Харальд Велте (Harald Welte, лидер проектов OpenBSC, OsmocomBB и др) опубликовал первый набросок введения во внутреннее устройство GSM-телефонов. В нём кратко рассказывается, из каких аппаратных блоков состоят современные GSM-телефоны, как выглядит программная архитектура их GSM-части, приводятся ответы на частые вопросы и т.д. В заключительной части Харальд традиционно жалуется на закрытость отрасли и недоступность исходных кодов. :)

PS Добавления, исправления и переводы текста крайне приветствуются.

OpenBTS 2.5.4

марта 17, 2010

Вышло минорное обновление OpenBTS с исправлениямиошибок компиляции на последней Fedora и с git-версией GnuRadio.
Ребята из GnuRadio уже второй месяц не могут создать для OpenBTS git-репозиторий у себя на серверах, поэтому релиз доступен только в виде архивов исходного кода на странице скачивания SourceForge.

Первая настоящая инсталляция OpenBTS!

марта 15, 2010

Итак, вот и первый реальный ответ тем, кто не понимает, как и зачем использовать OpenBTS в реальных приложениях. Дэвид Бёрджес (David Burgess), Харвинд Самра (Harvind Samra) и Тим Пантон (Tim Panton) по заказу «Ниуэ Телеком» (Telecom Niue) запустили в закрытую тестовую эксплуатацию вышку с OpenBTS на острове Ниуэ.
Без приключений, конечно, не обошлось, и об этом можно почитать в блогах Дэвида и Тима.

Индикация шифрования на мобильных телефонах

февраля 19, 2010

Я пока ещё ни разу не видел, чтобы телефон показывал отсутствие шифрования в сети. Даже при тестировании OpenBTS, которая шифрование пока не поддерживает. Собственно, до недавнего времени я даже не знал, что по спецификации телефонам рекомендуется это делать. Узнал об этом я на 26C3 из нашумевшего доклада Карстена Нола (Kartsen Nohl) и Криса Пэйджа (Chris Paget) и последующих за этим обсуждениях. Говорят, что некоторые телефоны вообще не умеют показывать значок отсутствия шифрования, а остальные не показывают, потому что эта возможность блокируется подавляющим большинством операторов при помощи установки специального бита на SIM-карте. Вот как это описано в спецификации GSM 02.07 Normative Annex B.1.26:

Ciphering Indicator
The ciphering indicator feature allows the ME to detect that ciphering is not switched on and to indicate this to the user,
as defined in GSM 02.09.
The ciphering indicator feature may be disabled by the home network operator setting data in the «administrative data»
field (EFAD) in the SIM, as defined in GSM 11.11.
If this feature is not disabled by the SIM, then whenever a connection is in place, which is, or becomes unenciphered, an
indication shall be given to the user.
Ciphering itself is unaffected by this feature, and the user can choose how to proceed.

Ciphering Indicator

The ciphering indicator feature allows the ME to detect that ciphering is not switched on and to indicate this to the user, as defined in GSM 02.09.

The ciphering indicator feature may be disabled by the home network operator setting data in the «administrative data» field (EFAD) in the SIM, as defined in GSM 11.11.

If this feature is not disabled by the SIM, then whenever a connection is in place, which is, or becomes unenciphered, an indication shall be given to the user.

Ciphering itself is unaffected by this feature, and the user can choose how to proceed.

В моём вольном переводе:

Индикатор шифрования

Индикатор шифрования позволяет ME (Mobile Equipment, мобильное оборудование, т.е. мобильный телефон) определять, что шифрование не включено и сообщать об этом пользователю, как определяется в спецификации GSM 02.09.

Инликатор шифрования может быть заблокирован домашним оператором связи (т.е. оператором, который выпускает SIM-карту) установкой значения поля «административные данные» (EFAD) на SIM-карте, как определяется спецификацией GSM 11.11.

Если индикатор не заблокирован SIM-картой, то соединение, которое уже или только будет не зашифровано, должно сопровождаться индикатором отсутствия шифрования.

Само шифрование не затрагивается этой

Индикатор не влияет на шифрование само по себе, и пользователь сам решает, как ему действовать.

Так же эта «фича» упоминается в GSM 02.09 Section 3.3.3:

Functional requirements

...

The ME has to check if the user data confidentiality is switched on using one of the seven algorithms as defined in GSM 02.07.  In the event that the ME detects that this is not the case, or ceases to be the case (e.g. during handover), then an indication is given to the user.

This ciphering indicator feature may be disabled by the SIM (see GSM 11.11).

In case the SIM does not support the feature that disables the ciphering indicator, then the ciphering indicator feature in the ME shall be enabled by default.

The nature of the indicator and the trigger points for its activation are for the ME manufacturer to decide.

During the establishment of a call the trigger point shall be at call initiation at the latest. In the case of handover the trigger point shall be the completion of handover at the latest.

The manufacturer may provide the means to enable the user to temporarily disable the feature. This should be done in such a way that the user can protect it from misuse.

В моём вольном переводе:

Функциональные требования

...

ME должен проверять, включена ли защита конфиденциальности пользователя одним из семи алгоритмов, определённых в спецификации GSM 02.07. В случае если это не так, или перестало быть так (например, в случае передачи соединения (handover'а)), пользователю показывается индикатор.

Возможность показа индикатора фишрования может быть запрещена SIM-картой (см. спецификацаию GSM 11.11).

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

Сущность индикатора и точки его включения определяются производителем ME.

В ходе установки соединения, точка включения индикации должна быть не позднее инициализации звонка. В случае передачи содинения точка включения индикации должна быть  не позднее завершения передачи соединения.

Производитель может дать опльзователю возможность временно отключить эту возможность Это должно быть таким образом, чтобы пользователь мог защитить её от неправильного (не авторизованного?) использования.

Ну и в спецификации GSM 11.11 Section 10.3.18 описан собственно формат хранения этого флага на SIM-карте. Он называется OFM и хранится в младшем бите третьего байта поля EFAD (Administrative data). В спецификациях на GSM его значение почему-то не рашифровывается, а в более позних спецификациях, например в 3GPP TS  31.103 Section 4.2.5 его значение чётко прописано:

The OFM bit is used to control the Ciphering Indicator as specified in TS 22.101 [21].

Т.е.

Бит OFM используется для контроля Индикатора Шифрования, как описано в спецификации TS 22.101.

Значит, имея адаптера для чтения SIM-карт или смарт-карт должно быть можно проверить наличие этого бита, а при наличии программируемой SIM-карты — снять его, и проверить, будет ли телефон показывать отсутствие шифрования при подключении к OpenBTS. Что я и собираюсь сделать в скором времени.

Если у вас есть SIM-адаптер, попробуйте прочитать этот бит на вашей SIM-карте. Давайте посмотрим, все ли операторы скрывают индикатор шифрования?

PS Спасибо Sylvain Munaut за то, что дал чёткие ссылки на места в стандарте, где эта «фича» описана.

OpenBTS 2.5.3

февраля 12, 2010

Некоторое время назад вышел bug-fix релиз OpenBTS 2.5.3. Всем пользующимся предыдущими версиями настоятельно рекомендуется обновиться. Архивы с исходным кодом традиционно доступны на странице скачивания SourceForge.

Всем хорошей связи :)

Beelilne ZM?

января 10, 2010

(И снова не про 26С3)

Похоже наши сотовые операторы серьёзно решили расширяться на развивающиеся рынки.

С театральным опозданием в 5 минут консорциум Вымпелкома (бренд Билайн) и Альфа-Групп подал заявку на участие в конкурсе по приватизации Zamtel (Cell-Z) — третьего по размеру сотового оператора Замбии с 200 тыс. подписчиков против 700 тыс. у MTN и 3 млн. у Zain.

При этом общее население страны почти 12 млн человек, уровень грамотности очень даже приличный — 80 % (по оценке 2003), а вот средний доход всего US$1150 в год, хотя бОльшая часть населения живёт менее чем на US$360 в год. С электричеством традиционно проблемы — многие базовые станции питаются от дизель-генераторов, и Хуавей очень гордится тем, что смог в два раза уменьшить потребление дизеля на базовых станциях своего производства в Замбии.

Получается практически идеальная картина для внедрения решений на OpenBTS. При таком небольшом охвате существующей сети стыковка с SIP не должна вызвать больших проблем. Использование правильной аппаратуры c OpenBTS позволит обойтись без дизель-генераторов вообще, исключительно за счёт солнечных батарей и ветряков. Ну а использование открытых продуктов и модульной архитектуры даст превосходную гибкость.

PS Да, сейчас OpenBTS ещё не готов к массовому внедрению. Но через год, когда он обрастёт всеми необходимыми возможностями и когда подоспеет та самая «правильная аппаратура», лучшего решения для подобных внедрений будет не найти. «Правильная аппаратура» уже разрабатывается несколькими командами (в том числе и нашей), а возможности добавляются с завидной скоростью. Так что ждите, скоро на ваших экранах...

PS Интернет-домен Замбии — ZM.

Сила локальных сообществ

января 6, 2010

Помните, ещё совсем недавно даже в Москве подключиться к интернету можно было только через домашние локальные сети, которые создавались энтузиастами? И первое время только энтузиасты ими и пользовались, а обычным людям до интернета не было дела. Видимо это естественных ход истории, когда доступный доступ в интернет появляется сначала в локальных сообществах, «для друзей».

Вот пара примеров из отдалённых (от нас) мест, где интернет — это всё ещё роскошь, а не «средство передвижения». Marcelo Balisteri в списке рассылки Village Telco представил своё видео про Parque On Line — маленького «провайдера», предоставляющего интернет в трущобах Бразилии:

Parque On Line

Второй пример — из свежей записи в блоге Дэвида Роу: Baboons, Mesh networks, and Community. Он рассказывает про mesh-сеть в Scarborough (недалеко от Кейптауна, ЮАР), благодаря которой люди из этого небольшого города имеют возможность получить доступ в интернет. Даже бесплатно, если ты согласен иметь меньший приоритет, чем у платных подписчиков.

Интересно, что в обоих случаях это бизнес, но бизнес не жадный, думающий не только о деньгах, но и о людях. Социально-ориентированный бизнес.

PS В следующей записи поделюсь впечатлениями о нашей крайне интересной поездке на CCC.

Приближается Chaos Communication Congress

декабря 21, 2009

C 27 по 30 декабря мы Берлине — на 26-м Chaos Communication Congress (26C3). Мероприятие обещает быть интересным и насыщенным. Будет там и с кем поговорить про GSM вообще и OpenBTS в частности — Harald Welte (лидер проекта OpenBSC) обещает запустить на время конгресса локальную GSM сеть, для любителей GSM будет выделено специальное место для общения, экспериментирования и совместной работы, а в списке лекций есть такие лекции:

  1. Playing with the GSM RF Interface
  2. Using OpenBSC for fuzzing of GSM handsets
  3. GSM: SRSLY?

Я также выступлю там с Lightning Talk и представлю наш опорный генератор на суд публики.

Все, кто остаётся в это время дома смело могут нам завидовать. ;)

PS Впрочем, все выступления будут доступны в онлайн видеотрансляциях в ходе Конгресса, а через пару месяцев — в хорошем качестве доступны для скачивания на сайте.

Стив Сонг об инновациях, связи и африканском континенте

декабря 10, 2009

Выложена в сеть видеозапись выступления Стива Сонга (Steve Song) на TEDx, в котором он рассказывает о Village Telco и Mesh Potato, инновациях в современном мире, телекоммуникационных операторах и о том, почему именно сейчас есть возможность радикально изменить ситуацию со связью на африканском континенте. Свой анализ современных трендов развития коммуникаций он сводит к 4 фразам:

1)  Tinkering is the new Inventing
2)  Emergence is the new Order
3)  Quantity is the new Quality
4)  Atoms are the new Bits

http://www.vimeo.com/7924369 (video, English)

http://www.slideshare.net/ssong/village-telco-tedx-newtown (slides, English)

О Village Telco

Village Telco — это некоммерческий открытый проект, финансируемый Shuttleworth Foundation, и нацеленный на радикальное снижение стоимости связи для обитателей африканского континента. Тут он конкурирует с OpenBTS, ставящим аналогичные цели, но на мой взгляд эти проекты скорее комплементарны. И это подтверждается тёплыми отношениями между представителями обоих проектов.

Вышел Kalibrator 0.2

декабря 5, 2009

Это уже не совсем новость, но пусть будет. :)

С милостивого разрешения автора (Joshua Lackey), я релизнул kal-0.2. Kalibrator, в народе известная как 'kal', — это утилита для проверки точности и стабильности опорного генератора вашей USRP. В качестве эталонной частоты используется синхросигнал соседней с вами базовой станции. Правда частоту базовой станции вам придётся подобрать самостоятельно. ;) Для этого можно использовать либо телефон с включённым NetMonitor, либо USRP в режиме спектроанализатора (usrp_fft.py).

Отличие kal-0.2 от kal-0.1 в возможности выбрать сторону USRP (A или B) и антенну (RX/TX или RX2).

Вышел OpenBTS 2.5.1

декабря 5, 2009

Вышел новый релиз OpenBTS 2.5.1. Архивы с исходным кодом традиционно доступны на странице скачивания SourceForge. Релиз 2.5 содержал несколько багов и был практически сразу же заменён на 2.5.1, так что не удивляйтесь. :)

Кроме исправления большого количества проблем, в этом релизе OpenBTS присутствует SMS-сервер smqueue, написанный Джоном Гилмором (John Gilmore), со-основателем EFF.  Сервер реализует RFC3428 store-and-forward SIP-сервер.

Обратите внимание, что при апгрейде с 2.4 необходимо обновить данные регистрации Asterisk. Теперь SIP-имена, под которыми регистрируются мобильные телефоны, начинаются с букв «IMSI». Т.е. телефон с IMSI 310410186585295 будет регистрироваться под SIP-именем «IMSI310410186585295».

Релиз содержит трансивер как для работы со стандартными USRP с 64МГц опорными часами, так и для работы с опорными часами 52МГц. Всем настоятельно рекомендуется использовать именно 52МГц опорные часы, так как трансивер для 64МГц развиваться дальше не будет и хранится только для того, чтобы людям проще было начать экспериментировать.

Universal Clocking Unit for USRP — PCBs are ready!

октября 30, 2009

(русская версия поста тут)

Some time ago at OpenBTS and GnuRadio mailing lists we announced a new universal clocking board for USRP. One of it's ample features is an ability to drive USRP at 52MHz with enough stability to run OpenBTS smoothly. This week we finally received manufactured PCBs and are in process of preparing testing samples. Main batch of PCB will be passed to population soon and we hope to make them available for shipping in the beginning of December.

Here are some PCB pictures for now:

Universal Clocking Unit for USRP - PCB

Universal Clocking Unit for USRP - PCB


Universal Clocking Unit for USRP is so tiny!

Universal Clocking Unit for USRP is so tiny with all its features!


Universal Clocking Unit for USRP - positioning

Universal Clocking Unit for USRP - positioning

Опорный генератор для OpenBTS и USRP

октября 30, 2009

(native English version is here)

Некоторое время назад в списках рассылки OpenBTS и GnuRadio мы анонсировали универсальный опорный (тактовый) генератор для USRP, который можно использовать, в том числе, и для тактирования USRP на 52МГц — рекомендованный режим работы для OpenBTS. На этой неделе мы, наконец-то, получили с завода платы и скоро приступим к монтажу первых тестовых экземпляров. Готовые платы, надеюсь, мы сможем предложить всем желающим где-то в начале декабря. :)

А пока — несколько фотографий:

Опорный генератор для USRP - PCB

Опорный генератор для USRP - PCB


Опорный генератор для USRP получился совсем крохотным

Опорный генератор для USRP получился совсем крохотным


Опорный генератор для USRP - примерно так он будет располагаться на USRP.

Опорный генератор для USRP - примерно так он будет располагаться на USRP.

Настоящий телефон

октября 22, 2009

Объявив по всем знакомым сбор старых телефонов, мы стали собирать свою колекцию. И вот, принесли к нам такое чудо. Автомобильный GSM-телефон от Motorola, судя по интернету такие ставились в старые BMW. А может и в другие автомобили. Но выглядит впечатляюще: цельно металлический корпус, обилие дискретных компонентов, силовые компоненты. Мощность судя по всему у него была максмальная — 8Вт. SIM-карта используется ещё полноразмерная, размером со стандартную смарт-карту (приёмник для ней расположен на фотографии справа, под платой, поукруглый выступ в корпусе — это выемка для пальцев, чтобы удобнее было ей доставать).

Жаль, что нам он достался без трубки. Так как кнопки и дисплей расположены на ней, то без трубки телефон совершенно не функционален. Друзья, если у кого-то завалялась трубка к такому телефону — милости просим с ней к нам в гости! :)

А теперь фотографии:

Motorola SUF1321A car-phone inside

Motorola SUF1321A car-phone inside


Motorola SUF1321A car-phone bottom

Motorola SUF1321A car-phone bottom

Вышел OpenBTS 2.4.1

октября 22, 2009

Вышел bug-fix релиз OpenBTS 2.4.1, включающий в себя пачку моих исправлений ошибок обращения к памяти и патч от Christian Meier с исправленим бага в формировании SMS.

Версия доступна для скачивания архивом или через SourceForge svn.

А мы переходим к отлову багов в грядущей 2.5, чтобы ускорить её выпуск в открытый доступ.

Об открытых и не очень кодах

сентября 29, 2009

Надо сказать, что не смотря на то, что все GPL-проекты равны, некоторые из них ровнее. Иначе говоря, GPL-проекты могут быть более открытыми и менее открытыми.  И OpenBTS является как раз менее открытым проектом. Как же так, ведь в лицензии написано, что все исходные коды должны быть доступны? Да, доступны, но только когда вы начинаете распространять продукт на основе этих исходны кодов. Т.е. пока вы ведёте разработку, вы можете держать свои изменения при себе и никому не показывать. Или показывать, но ограниченно. И это будет в рамках лицензии. Такие условия логичны, но иногда могут приводить к странным последствиям.

Если вы заглянете на страницу закачек OpenBTS, то найдёте там версию 1.6 (New Iberia) — это версия, которую Kestrel SP выпустили в апреле этого года, то есть почти полгода назад. Из официального блога проекта можно узнать, что на Burning Man 2009 они использовали версию 2.5, которая у них хорошо работала и которую они за время фестиваля хорошенько отладили. Более того, на официальной вики проекта приводится список совместимости с телефонами для версии 2.4.

Где же эти версии 2.4 и 2.5? А они доступны только «активным разработчикам» из сообщества и коммерческим клиентам Kestrel SP. Почему так? Дэвид объясняет — компании требуются средства на существование и клиенты готовы платить за то, чтобы первыми получить доступ к той или иной функциональности. Активные разработчики же могут быть приравнены к клиентам, потому что экономят время и деньги компании. Кроме того, — Дэвид об этом не говорит, но это очевидно, — таким образом несколько затрудняется жизнь тем, кто хочет взять софт на халяву и продать под своим брендом. В принципе, всё выглядит достаточно логично, если бы не несколько «но». Допустим, человек начинает осваиваться в проекте, делает первые тесты и тут же находит и первые баги в проекте. У него есть варианты — (1) игнорировать баг, если он не сильно мешает, (2) сообщить о нём в рассылку или в трекер проекта и (3) исправить его и отправить в проект патч. Для проекта наиболее полезен вариант (3) — проект совершенно бесплатно получает исправление, до которого у основных разработчиков не дошли руки или который редко встречается. От вариантов (1) и (2) проекту по большому счёту ни холодно, ни жарко. Но вспомним, что человек работает со старой версией и знает об этом. И в этом случае у него очень слабая мотивация исправлять найденный баг — раз разработчики пишут, что у них всё прекрасно работает, значит они, наверное, его уже исправили и можно просто подождать, пока они не выложат в общий доступ новую версию. Не делать же, действительно, двойную работу, которая будет потом никому не нужна — разработчики наверняка предпочтут своё исправление бага, чем какое-то стороннее. В итоге, многие ошибки, которые могли бы быть исправлены силами сообщества, разработчики вынуждены исправлять сами, тратя своё время (и деньги).

Есть ещё и другая сторона проблемы. Получается, что сообществу дают версию, в которая заведомо хуже работает, и при этом говорят, что всё работает отлично (но в новой версии!). Люди ставят эту версию, пытаются заставить её работать, и у них это не очень получается, они тратят на это большое количество времени и сил, в попытках понять, что же не так — ведь писали, что всё работает. Потом им говорят: «Вот вам версия поновее, мы её скоро выложим в открытый доступ, она может будет лучше работать». Они пробуют — и всё действительно начинает лучше работать. Как после этого чувствуют себя эти люди? Так, как будто их кинули. Не самое полезное ощущение, когда работаешь с open-source проектом.

PS Да, мы получили от Дэвида на тестирование версии 2.4 и 2.5. Первые результаты обнадёживают — теперь все наши тестовые Siemens'ы спокойно подключаются и работают. Более подробно о новых результатах тестирования — в следующих постах.