Запускаем GSM-сеть у себя дома

  • Tutorial


В данной статье я хотел бы подробно описать, как мне удалось запустить собственную GSM сеть при помощи Osmocom и скромных вложениях в оборудование.

Инструкции на официальном сайте устарели и мне пришлось потратить довольно много времени на их адаптацию. К счастью все проблемы были решены, и, если вы будете строго следовать советам ниже, то и у Вас все получится.

В результате мы запустим экспериментальную 2G сотовую сеть в пределах комнаты с поддержкой СМС и голосовых вызовов, без GPRS. Ее можно будет использовать для изучения работы и взаимодействия устройств и компонентов GSM сети, не вмешиваясь в коммерческие сотовые сети.


Статьи цикла:

Запускаем GSM-сеть у себя дома
Анализ трафика GSM сетей в Wireshark
Добавляем GPRS в домашнюю GSM сеть
Практические примеры атак внутри GSM сети

Внимание!
Автор не несет никакой ответственности за действия других пользователей, их вмешательство в коммерческие GSM сети и порчу собственного оборудования. Прежде чем что-либо запускать, убедитесь, что Вы понимаете, что делаете.


UPD: Если вы сталкиваетесь с проблемами при сборке или при использовании моих конфигурационных файлов, я рекомендую установить все, что можно из deb-пакетов Nightly Builds на более новую ОС. Для сборки osmocombb (ветки jolly/testing) ветки вам понадобится старый toolchain, о чем я писал ниже по тексту. Я устанавливал все на Debian 9 (32 бита), нет проблем с libdbi и чем-то еще, ставите те зависимости, которые предлагает apt. При сборке toolchain-а могут возникнуть проблемы с texinfo. В скрипте axilirator уже есть пара патчей для этого, но для Debian 9 мне потребовались еще правки в gcc/doc/gcc.texi.

Железо и Софт


Железо

  • Компьютер с установленной 32-битной Ubuntu 14.04 (Не виртуалка)
  • 2 телефона на чипсете TI Calypso (Motorola c113, c118, c123, ...)
  • 2 USB-TTL конвертера
  • 2 провода (джек 2.5 мм + джемперы)

Софт

  • Трансиверы на основе OsmocomBB
  • Базовая станция на основе OsmoBTS
  • Контроллер базовых станций на основе OsmoBSC
  • MSC,HLR, СМС-центр на основе OsmoNTIB

Закупаемся



Телефоны на чипсете TI Calypso проще всего будет поискать на сайтах бесплатных объявлений в Вашем городе. Цена варьируется от 300 до 700 рублей в зависимости от состояния и наличия зарядного устройства. Вероятность купить в России телефон, предназначенный для западных GSM диапазонов очень мала, но если Вы решите покупать его за границей, то рекомендую обратить внимание на рабочие GSM диапазоны. Вам нужны телефоны, работающие с 900 Мгц и 1800 Мгц, если Вы проживаете в России.

Список поддерживаемых моделей можете посмотреть тут.

Возможно есть и другие совместимые телефоны, в частности, Motorola c113 и c113a полностью совместимы с OsmocomBB, хоть и не представлены на официальном сайте.

SIM-карты не нужны.



USB-TTL конвертеры могут работать на чипах CP2102, FT232 или PL2303.

Я рекомендую использовать CP2102 так как при помощи специализированной утилиты можно заставить работать этот конвертер на нестандартных скоростях, что требуется для некоторых веток OsmocomBB.

Приобрести его можно от 100 рублей на ebay или aliexpress, либо в 2-3 раза дороже в более-менее крупных магазинах радиоэлектроники. Второй вариант предпочтительнее, если Вы не хотите ждать.

Провод, соединяющий компьютер с телефоном может выглядеть по-разному, но я рекомендую купить 2.5 мм джек в магазине радиодеталей


UPD: На фото, как позже заметили, изображен джек с 4 пинами, вам нужен с 3, самый обыкновенный!

и провода с коннекторами, вроде тех, что часто используют для Arduino или Raspberry Pi.


При отсутствии вторых, можно придумать что-то свое. Ваша задача соединить выводы Tx, Rx, GND конвертера с контактами джека следующим образом:

TxD подключить к наконечнику джека
RxD подключить к среднему контакту джека
GND подключить к нижнему контакту джека.

Можно взять связку из трех проводов, откусить коннекторы с одного конца и припаять оставшиеся провода с коннекторами на одном конце к выводам джека.

Обратите внимание, что для запуска сети с поддержкой голосовых вызовов вам потребуется 2 телефона, 2 конвертера и 2 готовых провода.

Неочевидная проблема


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

Джеки, которые чаще всего продаются в магазинах радиодеталей не вставляются в гнездо до конца, т.к. им мешает корпус (свой/телефона).





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



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

Вы можете проверить надежность соединения при помощи PuTTY. Узнать номер COM порта можно заглянув в Диспетчер устройств.



Подключаем телефон к компьютеру через USB-TTL конвертер и собранный провод, коротко нажимаем на кнопку включения и в окне PuTTY должно появиться сообщение @ftmtoolerror среди прочих символов.

То же самое можно сделать под Linux при помощи minicom.

Установка


Как и сказано в начале, я рекомендую использовать Ubuntu 14.04, именно 32-битную ее версию. Возможно у Вас получится все установить и на 64-битную Ubuntu 16.04, но тогда Вам придется самостоятельно решать все проблемы с зависимостями при установке и совместимостью с ветками проектов Osmocom.

Также, Вы можете попытаться использовать виртуальную машину, но мне так и не удалось получить устойчивую связь на гостевой ОС. Возможно, проблемы возникают на уровне виртуализации USB порта.

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

Установим базовые пакеты, которые нам потребуются для сборки Osmocom.

apt-get install build-essential libtool libtalloc-dev shtool autoconf automake git-core pkg-config make gcc libpcsclite-dev

Устанавливаем библиотеку libosmocore

git clone git://git.osmocom.org/libosmocore.git
cd libosmocore/
autoreconf -i
./configure
make
make install
ldconfig -i

Устанавливаем toolchain

Для сборки программ для телефона нам потребуется кросс-компилятор toolchain. На официальном сайте сейчас представлена более новая версия, но с ней не будут работать старые ветки osmocombb, которые писались под старый компилятор.

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

git clone https://github.com/axilirator/gnu-arm-installer.git
cd gnu-arm-installer
apt-get install libgmp3-dev libmpfr-dev libx11-6 libx11-dev flex bison libncurses5 libncurses5-dbg libncurses5-dev libncursesw5 libncursesw5-dbg libncursesw5-dev zlibc zlib1g-dev libmpfr4 libmpc-dev texinfo
./download.sh
./build.sh

Процесс может занимать продолжительное время, вплоть до нескольких часов. Будьте терпеливы и убедитесь что на файловой системе свободно как минимум 3 Гб.

После завершения компиляции добавьте путь к исполняемым файлам в PATH, в моем случае /root/osmocom/gnu-arm-installer/install/bin

vi /etc/bash.bashrc
add in the end
export PATH=$PATH:/root/osmocom/gnu-arm-installer/install/bin

Собираем osmocombb

Master-ветка нам участвует в запуске GSM сети, но она будет полезна, если Вы захотите поработать с другими приложениями, такими как RSSI или cell_log (см. дальше по тексту).

Если Вы хотите иметь возможность что-либо отправлять в сеть, нужно раскомментировать в src/target/firmware/Makefile строку:

CFLAGS += -DCONFIG_TX_ENABLE

Собираем

git clone git://git.osmocom.org/osmocom-bb.git osmocombb
cd osmocombb/src
make

Устанавливаем пакет FFT

wget http://www.fftw.org/fftw-3.3.6-pl2.tar.gz
tar -xvzf fftw-3.3.6-pl2.tar.gz
cd fftw-3.3.6-pl2
./configure --enable-threads --enable-float
make
make install 
ldconfig

Устанавливаем библиотеку libosmo-dsp

git clone git://git.osmocom.org/libosmo-dsp.git
cd libosmo-dsp/
autoreconf -i
./configure
make
make install
ldconfig

Собираем ветку osmocombb для OsmoBTS

git clone git://git.osmocom.org/osmocom-bb.git trx
cd trx/
git checkout jolly/testing
cd src/

Нужно раскомментировать в target/firmware/Makefile строку

CFLAGS += -DCONFIG_TX_ENABLE

Компилируем:

make HOST_layer23_CONFARGS=--enable-transceiver

Устанавливаем libdbi для sqlite

apt-get install sqlite3 libsqlite3-dev libsctp-dev

Скачиваем: sourceforge.net/projects/libdbi/files/libdbi/libdbi-0.8.3

tar -xvzf libdbi-0.8.3.tar.gz
cd libdbi-0.8.3
autogen.sh
./configure --disable-docs
make
make install
ldconfig
cd ..

Скачиваем: sourceforge.net/projects/libdbi-drivers/files/libdbi-drivers/libdbi-drivers-0.8.3

tar -xvzf libdbi-drivers-0.8.3.tar.gz
cd libdbi-drivers-0.8.3

В драйвере есть опечатка, которая приведет к ошибкам во время подключения к HLR. Исправляем перед компиляцией.

vi drivers/sqlite3/dbd_sqlite3.c

Меняем _dbi_internal_error_handler на _dbd_internal_error_handler.

Собираем:

./autogen.sh
./configure --disable-docs --with-sqlite3 --with-sqlite3-dir=/usr/bin --with-dbi-incdir=/usr/local/include
make
make install
ldconfig

Устанавливаем ORTP

wget http://download.savannah.gnu.org/releases/linphone/ortp/sources/ortp-0.22.0.tar.gz
tar -xvf ortp-0.22.0.tar.gz
cd ortp-0.22.0/
./autogen.sh
./configure
make
make install
ldconfig

Устанавливаем библиотеку libosmo-abis

git clone git://git.osmocom.org/libosmo-abis.git
cd libosmo-abis
autoreconf -i
./configure
make
make install
ldconfig

Устанавливаем библиотеку libosmo-netif

git clone git://git.osmocom.org/libosmo-netif.git
cd libosmo-netif
autoreconf -i
./configure
make
make install
ldconfig

Устанавливаем OpenBSC

apt-get install libssl0.9.8 libssl-dev
ldconfig
git clone git://git.osmocom.org/openbsc.git
cd openbsc/openbsc/
autoreconf -i
./configure
make
make install

Устанавливаем OsmoBTS

git clone git://git.osmocom.org/osmo-bts.git
cd osmo-bts
autoreconf -i
./configure --enable-trx
make
make install

Конфигурация

Я работаю с Osmocom из под root, поэтому мои файлы конфигурации находятся в /root/.osmocom

mkdir /root/.osmocom;cd /root/.osmocom
touch ~/.osmocom/osmo-bts.cfg
touch ~/.osmocom/open-bsc.cfg

Далее есть два варианта:

  • Скачать мануалы по OsmoNTIB и настроить все самостоятельно
  • Вместо пустых файлов использовать мои, модифицировав под свои нужды.

Мои конфигурационные файлы osmo-bts.cfg и open-bsc.cfg находятся в конце статьи.

Я намеренно убрал из файлов настройку (band) для GSM диапазона и ARFCN.

ARFCN — радио канал на котором будет работать ваша базовая станция.
Подходящий ARFCN можно найти при помощи программы RSSI, пакета osmocombb, либо при помощи инструмента cell_log.

Помните, что сигнал от Вашей базовой станции не должен мешать сигналам коммерческих GSM сетей. В зависимости от того, какой канал Вы будете использовать, выбираете band.

Чтобы гарантированно ограничить сигнал от своей базовой станции, Вы можете соорудить Клетку Фарадея. Правда в случае с Calypso BTS не будет возможности получить SCH bursts от коммерческой соты. Тогда нужно придумать (и модифицировать код), как вести точный отсчет.

Без внесения ARFCN и band в мои конфигурационные файлы, OsmoNTIB не запустится.

Запуск


Подключаем оба телефона к компьютеру и проверяем их доступность.

ls -l /dev/ttyUSB*

Вы должны увидеть ttyUSB0 и ttyUSB1.

Далее каждую команду нужно выполнять в отдельном терминале.

В синтаксисе osmocon у Вас могут быть отличия. Например в вашем случае может быть compal_e86 или e87 и не c123xor, а что-то другое.

Инициализируем первый трансивер

cd /root/osmocom/trx/src
host/osmocon/osmocon -m c123xor -p /dev/ttyUSB0 -s /tmp/osmocom_l2 -c target/firmware/board/compal_e88/trx.highram.bin -r 99

Коротко нажимаем на кнопку включения телефона, который был подключен первым. После окончания загрузки на экране телефона Вы увидите надпись TRX.

Инициализируем второй трансивер

cd /root/osmocom/trx/src
host/osmocon/osmocon -m c123xor -p /dev/ttyUSB1 -s /tmp/osmocom_l2.2 -c target/firmware/board/compal_e88/trx.highram.bin -r 99

Коротко нажимаем на кнопку включения телефона, который был подключен вторым. После окончания загрузки на экране телефона Вы увидите надпись TRX.

Настраиваем трансиверы на следование таймеру коммерческой BTS

Вместо ARFCN вы должны указать номер канала, на котором работает коммерческая базовая станция с хорошим сигналом. Опять же, может быть найдена при помощи RSSI или cell_log.

cd /root/osmocom/trx/src/host/layer23/src/transceiver/
./transceiver -a ARFCN -2 -r 99

Запускаем MSC, HLR и СМС-центр

cd /root/.osmocom
osmo-nitb -c ~/.osmocom/open-bsc.cfg -l ~/.osmocom/hlr.sqlite3 -P -C --debug=DRLL:DCC:DMM:DRR:DRSL:DNM

Запускаем базовую станцию

cd /root/.osmocom
osmo-bts-trx --debug DRSL:DOML:DLAPDM -r 99

Все компоненты GSM сети теперь должны быть в рабочем состоянии и Вы готовы стать первым абонентом!

Тестирование


Теперь Вы можете подключиться к сети с любого сотового телефона, выбрав ее в ручном режиме. Сеть отобразится как 00101 или TestNet. Сеть может находиться не с первого раза.

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

После подключения узнать свой номер можно при помощи USSD кода *#100#.

Подключиться к консоли OsmoNTIB можно так

telnet localhost 4242

Подключиться к консоли OsmoBTS можно так


telnet localhost 4241

На этом все. В следующей статье я расскажу, как можно исследовать трафик мобильных устройств при помощи сниффера wireshark.

UPD: Про добавление поддержки GPRS читайте тут

Успехов!

Конфигурационные файлы


osmo-bts.cfg
!
! OsmoBTS (0.4.0.433-8913) configuration saved from vty
!!!
!
log stderr
logging filter all 1
logging color 1
logging print category 0
logging timestamp 0
logging level all everything
logging level rsl info
logging level oml info
logging level rll notice
logging level rr notice
logging level meas notice
logging level pag info
logging level l1c info
logging level l1p info
logging level dsp debug
logging level pcu notice
logging level ho notice
logging level trx notice
logging level loop notice
logging level abis notice
logging level rtp notice
logging level sum notice
logging level lglobal notice
logging level llapd notice
logging level linp notice
logging level lmux notice
logging level lmi notice
logging level lmib notice
logging level lsms notice
logging level lctrl notice
logging level lgtp notice
logging level lstats notice
logging level lgsup notice
logging level loap notice
logging level lss7 notice
logging level lsccp notice
logging level lsua notice
logging level lm3ua notice
log file OsmoBTS.log
logging filter all 0
logging color 1
logging print category 0
logging timestamp 1
logging level all everything
logging level rsl info
logging level oml info
logging level rll notice
logging level rr notice
logging level meas notice
logging level pag info
logging level l1c info
logging level l1p info
logging level dsp debug
logging level pcu notice
logging level ho notice
logging level trx notice
logging level loop notice
logging level abis notice
logging level rtp notice
logging level sum notice
logging level lglobal notice
logging level llapd notice
logging level linp notice
logging level lmux notice
logging level lmi notice
logging level lmib notice
logging level lsms notice
logging level lctrl notice
logging level lgtp notice
logging level lstats notice
logging level lgsup notice
logging level loap notice
logging level lss7 notice
logging level lsccp notice
logging level lsua notice
logging level lm3ua notice
!
line vty
no login
!
e1_input
e1_line 0 driver ipa
e1_line 0 port 0
no e1_line 0 keepalive
phy 0
osmotrx ip 127.0.0.1
osmotrx fn-advance 30
osmotrx rts-advance 5
instance 0
bts 0
band [ЗАДАТЬ GSM900 ИЛИ DCS1800]
ipa unit-id 1801 0
oml remote-ip 127.0.0.1
rtp jitter-buffer 0
paging queue-size 200
paging lifetime 0
uplink-power-target -75
min-qual-rach 50
min-qual-norm -5
ms-power-loop -65
timing-advance-loop
setbsic
trx 0
power-ramp max-initial 0 mdBm
power-ramp step-size 2000 mdB
power-ramp step-interval 1
ms-power-control dsp
phy 0 instance 0

open-bsc.cfg
!
! OpenBSC (0.15.0.763-5121) configuration saved from vty
!!!
!
log stderr
logging filter all 1
logging color 1
logging print category 0
logging timestamp 0
logging level all everything
logging level rll everything
logging level cc everything
logging level mm everything
logging level rr everything
logging level rsl everything
logging level nm everything
logging level mncc notice
logging level pag notice
logging level meas notice
logging level sccp notice
logging level msc notice
logging level mgcp notice
logging level ho notice
logging level db notice
logging level ref notice
logging level gprs debug
logging level ns info
logging level bssgp debug
logging level llc debug
logging level sndcp debug
logging level nat notice
logging level ctrl notice
logging level smpp debug
logging level filter debug
logging level ranap debug
logging level sua debug
logging level lglobal notice
logging level llapd notice
logging level linp notice
logging level lmux notice
logging level lmi notice
logging level lmib notice
logging level lsms notice
logging level lctrl notice
logging level lgtp notice
logging level lstats notice
logging level lgsup notice
logging level loap notice
logging level lss7 notice
logging level lsccp notice
logging level lsua notice
logging level lm3ua notice
log file OsmoBSC.log
logging filter all 0
logging color 1
logging print category 0
logging timestamp 1
logging level all info
logging level rll notice
logging level cc notice
logging level mm notice
logging level rr notice
logging level rsl notice
logging level nm info
logging level mncc notice
logging level pag notice
logging level meas notice
logging level sccp notice
logging level msc notice
logging level mgcp notice
logging level ho notice
logging level db notice
logging level ref notice
logging level gprs debug
logging level ns info
logging level bssgp debug
logging level llc debug
logging level sndcp debug
logging level nat notice
logging level ctrl notice
logging level smpp debug
logging level filter debug
logging level ranap debug
logging level sua debug
logging level lglobal notice
logging level llapd notice
logging level linp notice
logging level lmux notice
logging level lmi notice
logging level lmib notice
logging level lsms notice
logging level lctrl notice
logging level lgtp notice
logging level lstats notice
logging level lgsup notice
logging level loap notice
logging level lss7 notice
logging level lsccp notice
logging level lsua notice
logging level lm3ua notice
!
stats interval 5
!
line vty
no login
!
e1_input
e1_line 0 driver ipa
e1_line 0 port 0
no e1_line 0 keepalive
network
network country code 1
mobile network code 1
short name TestNet
long name TestNet
auth policy accept-all
authorized-regexp .*
location updating reject cause 13
encryption a5 0
neci 1
paging any use tch 0
rrlp mode none
mm info 1
handover 0
handover window rxlev averaging 10
handover window rxqual averaging 1
handover window rxlev neighbor averaging 10
handover power budget interval 6
handover power budget hysteresis 3
handover maximum distance 9999
timer t3101 10
timer t3103 0
timer t3105 40
timer t3107 0
timer t3109 0
timer t3111 0
timer t3113 60
timer t3115 0
timer t3117 0
timer t3119 0
timer t3122 10
timer t3141 0
dyn_ts_allow_tch_f 0
subscriber-keep-in-ram 0
bts 0
type sysmobts
description calypso
band DCS1800
cell_identity 0
location_area_code 1
base_station_id_code 63
ms max power 30
cell reselection hysteresis 4
rxlev access min 0
periodic location update 30
radio-link-timeout 32
channel allocator ascending
rach tx integer 9
rach max transmission 7
channel-descrption attach 1
channel-descrption bs-pa-mfrms 5
channel-descrption bs-ag-blks-res 1
early-classmark-sending forbidden
ip.access unit_id 1801 0
oml ip.access stream_id 255 line 0
neighbor-list mode automatic
codec-support fr amr
amr tch-h modes 0
amr tch-h start-mode 1
gprs mode none
no force-combined-si
trx 0
rf_locked 0
arfcn [ЗАДАТЬ]
nominal power 23
max_power_red 0
rsl e1 tei 0
timeslot 0
phys_chan_config CCCH+SDCCH4
hopping enabled 0
timeslot 1
phys_chan_config TCH/H
hopping enabled 0
timeslot 2
phys_chan_config TCH/H
hopping enabled 0
timeslot 3
phys_chan_config TCH/H
hopping enabled 0
timeslot 4
phys_chan_config TCH/H
hopping enabled 0
timeslot 5
phys_chan_config TCH/H
hopping enabled 0
timeslot 6
phys_chan_config TCH/H
hopping enabled 0
timeslot 7
phys_chan_config TCH/H
hopping enabled 0
mncc-int
default-codec tch-f amr
default-codec tch-h amr
nitb
subscriber-create-on-demand
assign-tmsi


UPD: пишут много вопросов — практические примеры создания базовой станции и анализ мобильного трафика я расскажу и покажу (на стенде) на Pentestit Security Conference в своем докладе: «Имплементация стека протоколов GSM».

UPD: Еще один мой текст по теме Osmocom defcon.ru/wireless-security/4716
Метки:
Pentestit 888,14
Информационная безопасность
Поделиться публикацией
Похожие публикации
Комментарии 185
  • 0
    Какой радиус действия такой сети?
    • 0

      Возможности приема сильно ограничены, если не проводить замену RX фильтров. Точную цифру еще предстоит узнать, но на текущий момент могу сказать, что сигнал в пределах квартиры устойчивый

      • 0
        Метров 30 в диаметре? На практике где-то можно проверить/посмотреть работу такого комплекса?
        • +4
          Небольшая модификация фирмвари позволяет повысить мощность трансивера моторолы до 2х ватт (очень не советую). Такая мощность + хорошая антенна + замена входного фильтра — датют очень хороший эффект. При включении такого девайса поблизости от реальной БС на том же ARFCN вызывает неприятный эффект в виде отключения несущей БС до пропадения помехи.
          • +8
            повысить мощность трансивера моторолы до 2х ватт

            За проходной ждали пилоты. Крепкие ребята с хорошей реакцией.
            • 0
              №-10054084 Хроники лаборатории. 10 июня. Запускали…
            • 0
              может кто-то подскажет, где о таком усилении можно почитать?
              • 0
                Делал через модификацию dsp_extcode. Если очень надо, покопаюсь в своих файлах, в осмокомовских репозитория этого нет.
          • +2
            Да, можно посмотреть на практике, см. UPD в конце статьи
      • –13
        А если я ваабще ни разу в жизни линукс не видел и не работал с ним, у меня получится? или можт есть возможность проделпать то же самое на Виндовс?? или использоваать андройд смартфон? (он же на сколько я знаю на ядре линукса)
        • +6
          Заодно и изучите немного линукс в процессе установки. Для Windows то же самое проделать не получится. Использовать телефоны, отличные от тех, что построены на чипсете TI Calypso, не получится, так как у нас нет доступа к сигнальному процессору и возможности его перепрограммировать.
        • 0
          Почему в софте указано железо? За статью жирный плюс!!!
          • +1
            В смысле? Все, что указано в категории Софт использует ресурсы того, что указано в категории Железо.
            • –3
              Где железо то?

              Это все софт
              • +5
                Компьютер, телефоны, конвертеры, провода…
                • 0

                  Школьнику не понятно что здесь происходит.

            • +1
              Эхъ, отличная статья! Такую-бы еще по пейджерам найти, ато валяются без дела (:
              • 0
                Быстро нагуглился протокол POCSAG
                • 0
                  Если учесть, что Osmocom появился спустя более чем 10 лет после появления коммерческих GSM сетей, то самое время начать осваивать POCSAG :)
                  • 0
                    В этой статье все «как для дибилов» — ну вот я понял. А зная про протокол и с моими навыками гугления — найти статью «от и до» — так и не смог.
                  • +1
                    Есть библиотека под Arduino и дешевый чип SI4432
                  • 0
                    Спасибо за статью!
                    Несколько вопросов:
                    Имеет ли смысл построить на таком маленькую офисную сетку если нет денег на фемтосоту?
                    Сложно ли перенаправлять из такой сетки звонки в Asterisk?
                    • +4
                      Спасибо за вопрос!

                      Теоретически эта сеть будет хорошо работать в офисе, но есть два момента:

                      1. Телефон не может одновременно принимать и передавать данные, поэтому он постоянно переключается на прием и передачу. В результате этого усилитель телефона в обычном режиме работает только 50% времени. Когда мы используем телефоны как передатчики для OsmoBTS, они работают в режиме передачи по 3-4 таймслота подряд, что создает дополнительную нагрузку на усилитель. Теоретически, при долгой работе такой базовой станции, усилители могут испортиться. У меня до сих пор ничего не случилось, но и дольше часа я их включенными не держал.

                      2. Такая конфигурация из 2-х телефонов может поддерживать голосовой вызов одновременно только между двумя абонентами. Для получения нескольких TCH каналов нужна дополнительная разработка.

                      3. У такой сети отсутствует шифрование, т.е. используется A5/0.

                      Что касается Asterisk то есть готовое звено для роутинга звонков через Asterisk osmo-sip-connector. Раньше использовался LCR.
                      • +1
                        3. У такой сети отсутствует шифрование, т.е. используется A5/0.

                        Шифрование реализуется на программном уровне, в планировщике OsmoBTS.
                        Его можно без проблем активировать и в такой сети, на базе CalypsoBTS.
                        • 0
                          Спасибо за поправку. Буду знать!
                          • 0
                            Я тут размышлял и решил уточнить про шифрование все таки. Слабо себе представляю, как его можно реализовать, если OsmoBTS никогда не узнает Ki и не сможет сгенерировать Kc. Наверное axilirator имел в виду программируемые сим-карты и этот гайд?

                            Просто чтобы не вводить читающих в замешательство. Если вы не хотите покупать программируемые сим-карты для такой офисной сети, а использовать сим-карты коммерческих операторов, то шифрования не будет. Если я не прав, пожалуйста, поправьте меня.
                        • 0
                          Не будет голосовой связи на двух калипсах нужен третий канал, похорошему нужно на каждый подключенный телефон по одному калипсо и один дополнительный общий калипсо на служебный канал, короче эта связь канальная а не пакетная! Я внизу вопрос сформулировал более по теме
                          • 0
                            Ниже ответил, что это не совсем так. Одного таймслота в режиме TCH/H достаточно для поддержания голосового вызова между двумя абонентами.
                        • 0
                          На всякий случай перед реализацией нужно хорошенько подумать о мощности сигнала и занимаемых частотах, чтобы не получить вдруг по голове от надзорных органов. Имхо — максимум всё описанное можно использовать в личных целях и на небольшое время, для фирмы же — это может обернуться слишком большими проблемами.
                      • 0

                        Почему телефон должен быть на чипе TI Calypso? Есть возможность использовать другие телефоны?

                        • +2
                          Потому что для отправки сообщений на логических каналах SCH, FCCH (что делает обычно BTS) мы должны уметь передавать бурсты специального вида, чего телефон делать не умеет (ему это ни к чему). Чтобы передавать на SCH и FCCH применяется специальный патч на DSP телефона на чипсете Calypso и DSP может отправлять Synchronization и Frequency correction бурсты. Никто (пока) не знает как получить доступ к DSP других телефонов.
                        • 0
                          А можно на Oscom сделать «удлиннитель» для сотовой связи?
                          Один комплект возить с собой в отпуск (к нему будет подключаться телефон с реальной SIM картой), второй комплект оставить дома, он будет подключаться к сети сотового оператора. Данные передавать по IP.
                          • +4
                            Может проще позвонить домой по VoIP?

                            Сложно себе представляю необходимость такого рода устройства, если у Вас есть доступ к Интернету.
                            Теоретически что-то такое реализовать возможно, но затраты того не стоят, считаю.
                            • 0
                              Просто позвонить не сложно.
                              Сложно делать исходящие вызовы со своего номера (не все сервисы это позволят).
                              И очень сложно принимать бесплатно входящие звонки на свой номер.
                              • 0
                                Таки комплект SIM+Модем с возможностью делать голосовые вызовы+Asterisk помогут вам в этом
                                • 0
                                  Рабочий вариант, но тогда нужно оставлять родную SIM карту в том самом модеме :(
                                  • 0
                                    Есть, конечно, вариант со штукой sim bank|sim server, но он промышленный и явно Вам не подойдет, как по размерам, так и по стоимости :)
                                    Лучше всего оставлять сим-карту в шлюзе|модеме в родной стране и в роуминге пользоваться своим номером с любого софтфона на телефоне/компьютере.
                                    • 0
                                      Вы вполне сможете пользоваться этим шлюзом и в домашнем регионе, вплоть до того, как не доберётесь до дому. Ну и SMS, вроде как, можно тоже через SIP переправлять. А так — не вижу особой причины, почему эту SIM нельзя оставить дома.
                              • 0
                                WiFi Calling как раз для этого сделан, только телефон «в отпуске» подключается к сети сотового оператора не по GSM/UMTS/Whatsever, а, как понятно из названия, по WiFi. Возможно будет работать и через адаптер USB-Ethernet, надо попробовать.

                                Пользуюсь WiFi Calling уже несколько месяцев — активируется через несколько секунд после подключения к вайфаю с доступом в интернет, работает даже если раздать вайфай на другом телефоне или планшете (tethering) и подключиться к нему. Чтобы быть уверенным, что точно не попадёшь на роуминг, можно включить в телефоне режим самолёта, а потом активировать только вайфай. Только SMS не всегда доходят по вайфаю, так что ради активации воцапа или подтверждения оплаты по SMS придётся активировать сотовую связь.
                                • 0
                                  А можно поподробнее?
                                  Кто-либо из операторов «большой четвёрки» в России такое поддерживает?
                                    • 0
                                      Сейчам уже вроде бы все операторы поддерживают, но не на всех тарифах и не на всех телефонах.
                                      Айфоны обычно все начиная с 6 и SE, самсунги последние, вроде бы ещё Huawei P9/10 и некоторые Sony.
                                      Тут прошлогодний обзор: http://www.stevsky.ru/internet/wifi-calling-obzor-kak-vkliuchit-mts-iphone-samsung-tele2-v-rossii-spisok-telefonov
                                      Но уточните у своего оператора.
                                  • +1

                                    Мегафон умеет отдавать sip-транк для обычных мобильных номеров, другие провайдеры не умеют. Называется Мультифон, подключается и используется бесплатно.

                                    • 0
                                      Знаю, но это только мегафон.
                                      И через него вроде бы нельзя отправлять исходящие SMS на короткие номера по своему тарифу (или уже можно?) — к примеру, отправка SMS на номер 900 (сбербанк).
                                      • 0

                                        Вот именно, только Мегафон.
                                        Да, с смсками туго — я пользовал только сторонние приложения, и они с смс не особо дружат. Вроде как можно отправлять смс через фирменное приложение, но его после каждой установки нужно активировать кодом из смски, которая приходит на gsm-аппарат, а если к нему нет доступа?
                                        В общем — смс через ип-телефонии это как-то нетривиально делается.

                                        • 0
                                          можно, но на сервис номера типа 900, это не сработает github
                                    • +1
                                      > Инструкции на официальном сайте устарели и мне пришлось потратить
                                      > довольно много времени на их адаптацию. К счастью все проблемы были
                                      > решены, и, если вы будете строго следовать советам ниже, то и у Вас
                                      > все получится.

                                      Большая просьба потратить еще немного времени и указать ссылку
                                      на эту самую инструкцию. А еще лучше — обновить Wiki проекта,
                                      поскольку со временем и Ваша инструкция может стать неактуальной.
                                      • +3
                                        Я не буду указывать ссылку на нерабочую инструкцию. Я добавлю все на Wiki, когда будет время, как и собирался.
                                      • 0
                                        > В результате мы запустим экспериментальную 2G сотовую сеть в пределах
                                        > комнаты с поддержкой СМС и голосовых вызовов, без GPRS. Ее можно будет
                                        > использовать для изучения работы и взаимодействия устройств и компонентов
                                        > GSM сети, не вмешиваясь в коммерческие сотовые сети.

                                        Как ни крути, «не вмешиваться в коммерческие сотовые сети» получается
                                        не всегда. Частотные диапазоны сотовых сетей требуют наличия лицензии
                                        и, чаще всего, уже поделены между существующими операторами. Однако,
                                        найти свободный (например, Guard) диапазон можно.
                                        • 0

                                          Можно уехать далеко от цивилизации и никто тебя не побеспокоит.

                                        • 0
                                          > Как и сказано в начале, я рекомендую использовать Ubuntu 14.04,
                                          > именно 32-битную ее версию.

                                          Что не так с 64-битной версией? Весь стек Osmocom прекрасно
                                          собирается как на Linux-based дистрибутивах, так и на BSD-based
                                          любой разрядности. Если что-то не получается на конкретном дистрибутиве,
                                          значит, скорее всего, Вы не умеете им пользоваться.
                                          • +3
                                            Читайте внимательно текст. Если Вы будете ТОЧНО следовать шагам в этой инструкции для 64-битной Ubuntu 16.04, у Вас ничего не получится. Это 100% рабочая инструкция для 32-битной Ubuntu 14.04. За другие дистрибутивы я не ручаюсь. Отличия в сборках есть, в частности и для fftw и libdbi. Вторая работает без проблем на 64-битной системе, в то же время есть ошибка для 32-битной версии (segmentation fault при доступе к HLR), о которой я написал в статье.
                                          • 0
                                            Некоторые пакеты собирать не обязательно, например: fftw, libdbi,
                                            ortp можно без проблем найти в репозиториях Ubuntu / Arch Linux.
                                            • +2
                                              > Настраиваем трансиверы на следование таймеру коммерческой BTS

                                              Постараюсь внести немного ясности. GSM использует две технологии
                                              разделения множественного доступа: FDMA и TDMA. Первая позволяет
                                              изолировать каналы базовых станций друг от друга по частоте,
                                              вторая — (частично) избежать интерференции между абонентами,
                                              разделяя поток данных на временные интервалы. В TDMA-системах
                                              требуется наличие опорного генератора, который имеет достаточную
                                              точность (в идеале, равную длительность фреймов).

                                              Сам по себе телефон не имеет столь точного оборудования, поэтому
                                              при его штатной работе синхронизация опорного генератора и
                                              коррекция счетчика фреймов выполняется по SCH-берстам BTS.

                                              В данном же случае, когда телефон сам используется в качестве
                                              BTS, возникает необходимость использования точного опорного
                                              генератора, чтобы абоненты не «плавали» по времени. Можно
                                              использовать специальные дорогие устройства, можно использовать
                                              сигналы GPS или Iridium, ну или, проще всего, синхронизировать
                                              CalypsoBTS с другой базовой станцией. А получаемыми отсчетами
                                              текущего номера фрейма делиться с планировщиком OsmoBTS.
                                              • +2
                                                «джемпер» — Вязаная кофта без воротника и застёжек или вязаный жилет.
                                                «джампер» — перемычка, позволяющая замыканием (размыканием) нескольких контактов сконфигурировать электрическую цепь
                                                • +1
                                                  Надо было писать jumper, спасибо!
                                                • +1
                                                  Неочевидная проблема
                                                  После покупки джека убедитесь, что он может быть вставлен в гнездо гарнитуры до конца. В противном случае вы можете получить ошибки из-за ненадежного соединения с телефоном или вовсе его не иметь.

                                                  За вот это отдельное спасибо. Впервые запустить осмоком я (долго)пытался еще полгода назад, но тогда по непонятным причинам любая прошивка отказывалась грузится. Я даже другой телефон купил, а оказалось надо просто поработать напильником.

                                                  В скрипте download.sh ошыбка
                                                  ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz

                                                  не загружается, надо исправить на
                                                  http://www.sourceware.org/pub/newlib/newlib-1.19.0.tar.gz


                                                  • +1
                                                    Спасибо, странно, еще пару недель назад все грузилось.
                                                  • 0
                                                    Есть ли вариант сделать такое самодельное решение, но на 300-400 человек? Нужно сделать свою соту в глухом лесу, где не ловится ни одна сеть, но есть оптика. Желательно еще чтобы работала передача данных по 3G. Фемтосоты не предлагать, тут чисто спортивный интерес именно свою сеть сделать. Понятно, что старые мотороллы такое не потянут, нужно другое железо, причем за приемлемые для «спортивного интереса» деньги.
                                                    • +2
                                                      Дело в том, что 3G — уже совсем другой разговор.
                                                      Нужно сделать все то же самое, что для GSM и даже больше, так как 3G сети еще более сложные.
                                                      Пока я знаю, что sysmocom предлагапт купить такой kit для 3G.
                                                      В глухом лесу есть и еще одна проблема — деревья, которые поглощают радиоволны.
                                                      • 0
                                                        … рации с поддержкой DMR стандарта, как вариант решения адресности абонентов, защищенности и общих каналов.

                                                        Что до распространения радиоволн в зависимости от частоты и поляризации в лесных массивах.
                                                        • 0
                                                          На Амазоне цена такой рации с DMR стартует от 35 баксов за штутку. И нужно проверять согласится ли сервис-посредник ее везти. А в РФ такие наверное еще дороже.
                                                      • 0
                                                        Интересно, есть ли моторолки на североамериканский жсм?
                                                      • +1

                                                        Спасибо.У меня получилось, я поднял на одном осмофоне, правда есть ограничение на звонки, но общаться можно, передавая смски.Как пробросить трафик через voip? чтобы можно было звонить на внешний номер, вроде можно с помощью проекта asterisk, но я не знаю как настроить эту систему.

                                                        • 0
                                                          По asterisku есть много инструкций в интернете и на хабре в том числе. Поищите. Для соединения с asterisk нужно использовать osmo-sip-connector. Я уже отвечал на этот вопрос выше
                                                        • 0
                                                          ХМММ…
                                                          А если телефон с сим картой будет, подключится ли он автоматически к этой сети, если её сигнал будет сильнее чем у остальных сетей?
                                                          Будет ли в это время возможность отправить на этот телефон СМС с помощью базовой станции…
                                                          • 0
                                                            А если телефон с сим картой будет, подключится ли он автоматически к этой сети, если её сигнал будет сильнее чем у остальных сетей?
                                                            Как я понимаю — телефон в первую очередь подключается к тому оператору, который вшит в симку, и только если его не находит совсем — может воспользоваться роумингом, то есть другими найденными сетями(если это разрешено в настройках).
                                                          • 0
                                                            Если Вы сконфигурируете MCC, MNC и имя сети, как у коммерческой (что незаконно), то устройство, имеющее SIM-карту под эти MCC и MNC должно подключиться к Вашей БТС. Но я лично это не проверял.
                                                            • 0
                                                              Но тогда это отличная лазейка для мошенников…
                                                              Можно присылать поддельные СМС например от номера 900, или делать рассылку спама…
                                                              • 0
                                                                Но нужно помнить, что телефон подключится к такой BST, только если не будет сетей оператора, предоставляющих больше услуг, т.е. 3G или 4G. Либо в телефоне будет выставлено специально «Только GSM».
                                                                • 0
                                                                  Так остальные можно еще и глушить, ведь можно же только определенных операторов глушить…
                                                                  Вариант с внесением ошибок в другие сети, даже проще чем усиление сигнала…
                                                                  • 0
                                                                    Верно. Или поймать абонента в месте, где 3G и 4G просто нет. Таких мест гораздо больше, чем может показаться на первый взгляд.
                                                          • 0

                                                            Вот всё бы хорошо, но rx-фильтры невыносимо режут возможности. Пробовал перепаять — при напайке плывёт плата телефона, либо, при меньшей температуре, плывёт сам фильтр (и это я ещё не пробовал напаивать новые конденсаторы). Не знаете случайно чем помочь?

                                                            • 0
                                                              Сам пока не перепаивал. Не хочу до конференции все сжечь. Но обязательно попробую после и отпишусь о результатах! В моих планах аккуратно выпаять фильтры при помощи оплетки и качественного паяльника, после напаять новые с первого/второго раза.
                                                              • 0

                                                                Да выпаять-то их можно просто аккуратно ткнув в каждый из них жало. Самые сочные проблемы начинаются при перепайке конденсаторов, размеры которых как раз и причиняют наибольшее количество проблем.

                                                              • 0
                                                                А изначальное предназначение этих фильтров какое?
                                                                • 0
                                                                  Читаем основы радиоэлектроники. В данном случае используется два полосовых
                                                                  фильтра, которые ослабляют сигналы вне рабочих диапазонов. Если подавать
                                                                  сигнал с антенны на усилитель напрямую, то на выходе будет много шума.
                                                                  • 0
                                                                    Ну я имел виду изначальное предназначение этих фильтров в телефоне. И почему для обычной работы телефона они полезны, а тут мешают?
                                                                    • 0
                                                                      Для обычной работы фильтры не позволяют UL трафику других телефонов создавать помехи.
                                                                      В случае сниффинга или работы в качестве базовой станции, мы должны как раз слушать на UL (в нормальном режиме телефон слушает на DL), а сигнал UL частот рубится RX-фильтрами. Поэтому они могут мешать.
                                                                • 0
                                                                  Чтобы гарантированно ограничить сигнал от своей базовой станции, Вы можете соорудить Клетку Фарадея.


                                                                  По опыту во многих случаях достаточно проводить опыты в подвале дома с толстыми стенами и или железо-бетонной конструкцией.
                                                                  • 0
                                                                    В этих условиях CalypsoBTS не заработает — Вам неоткуда будет взять стабильный Clock Source.
                                                                    Единственный выход в данной ситуации — использовать свой аппаратный генератор, либо изменить
                                                                    исходный код так, чтобы задействовать дополнительный телефон снаружи исключительно для приема
                                                                    GSM SCH, GPS или Iridium.
                                                                  • 0
                                                                    Перепаивал с помощью инфракрасной паяльной станции, все прошло без проблем!!!
                                                                    • 0

                                                                      Характеристики станции не подскажете случаем? Алсо, чем пользовались в качестве увеличителя?

                                                                      • 0

                                                                        Он вам не скажет.Он всегда молчит..

                                                                  • 0
                                                                    Спасибо за статью! С нетерпением жду про использование wireshark для сниффинга мобильного трафика.

                                                                    Но как-то где-то я читал, что обычные мобилки невозможно использовать в качестве передатчика на частотах от базовой станции к мобильной. Вы точно все в статье рассказали? Неужели передача на даунлинк частоте осуществляется через выходной фильтр, настроенный на аплинк частоты? Может в этом причина нестабильной работы и скорого выхода из строя передатчика? Там и помехи разные вместе с нестабильным приемом запросто должны вылезти.
                                                                    • 0
                                                                      Все я рассказать не мог. Это же туториал, а не полноценная научная статья про физическое устройство телефона, работу его передатчика и распространение волн в воздухе.
                                                                      Можете изучить устройство чипсета самостоятельно тут.
                                                                      • 0
                                                                        >Если Вы сконфигурируете MCC, MNC и имя сети, как у коммерческой (что незаконно), то устройство, имеющее >SIM-карту под эти MCC и MNC должно подключиться к Вашей БТС. Но я лично это не проверял.

                                                                        Проводил опыт по вышеуказанному принципу все абоненты находящиеся в радиусе 30-45 метров подключались автоматически…
                                                                        • 0
                                                                          Вероятно, не все, а только те, которые в силу разных причин не сидели в этот момент в сетях 3G и 4G.
                                                                          • 0
                                                                            коих можно «автоматически» в 2Дж перевести с помощью глушилки, заглушив 3Дж и 4Дж диапазоны…
                                                                          • 0
                                                                            А как же аутентификация? Она же не должна была пройти, т.к. ваш «оператор» не знает секретного ключа SIM карты… или это односторонняя защита — сеть может защититься от поддельной SIM'ки, а SIM'ка от поддельной сети — нет?
                                                                            • 0
                                                                              Насколько я помню в 2G сетях авторизация происходит на базовой станции, телефон/симкарта не проверяют базовую станцию на «реальность». По этому, имси кетчеры и работают.
                                                                              в 3G сетях, проверяется аутентичность базовой станции, поэтому такие трюки там не пройдут.
                                                                          • 0
                                                                            >коих можно «автоматически» в 2Дж перевести с помощью глушилки, заглушив 3Дж и 4Дж диапазоны…

                                                                            Полностью с вами в этом солидарен…
                                                                            • 0
                                                                              Добавлю к словам автора статьи несколько нюансов, которые могут немного упростить жизнь исследователям.
                                                                              1. Использование шнурков от ардуино отличная идея, особенно для тех, кто не силен в пайке. Поскольку гнездо для штекера в старых моторолах, в большинстве случаев в не очень хорошем состоянии, можно аккуратно припаяться к контактам от штекера непосредственно на плате телефона, такое соединение будет куда более стабильным, чем соединение на штекере, которое, по моему опыту очень часто отваливается.
                                                                              2. Телефоны с качественно перепаянными фильтрами можно найти в продаже на ebay, где они продаются одним продавцом, который довольно известный в исследовательских кругах (цена, правда, немного кусается).
                                                                              3. Если руки не очень прямые, то можно договориться о перепайке фильтров в небольших сервисных центрах по ремонту телефонов, стоимость, в большинстве случаев, довольно небольшая.
                                                                              4. Также, телефоны можно приобрести на известной китайской онлайн площадке, часто, они продаются там с уже усиленной антенной.
                                                                              • 0
                                                                                Опишите пожалуйста настройку соединения между двумя телефонами подключенными к вашей бтс, чтобы сделать голосовой звонок? Я так понимаю понадобится третий телефон с калипсо, как насчет маштабирования на третий телефон в конфигах??? Я пробовал лет эдак 7 назад на BT5 x64 но кроме как хриплой музыки при ожидании из астериска ничего не услышал… Интересно насколько продвинулась эта тема
                                                                                • 0
                                                                                  Добрый день,

                                                                                  Чтобы совершить голосовой звонок между двумя абонентами достаточно одного таймслота, на который мы меппим TCH/H логический канал. Т.о. один один голосовой канал делится между двумя абонентами.
                                                                                  Так что один телефон у нас может работать в режиме CCCH+SDCCH4, другой в режиме TCH/H.
                                                                                  Это указано в конфиге OpenBSC. У меня в конфиге астериска вообще нет, чистый GSM. Качество голоса отличное.

                                                                                  Что касается использования 3,4 и более телефонов, то в открытом доступе не встречал такого рода веток OsmocomBB. Может быть такое и есть, сам не пробовал модифицировать. Может быть товарищ axilirator смог что-то такое собрать. Я кажется встречал его обсуждение с Sylvain Munaut по этой теме на мейл-листе.

                                                                                  Так же (раньше так было по крайней мере) и один телефон в режиме BTS не на идеально работает, так как не умеет принимать несколько burst-ов подряд, плюс нужно время на переключение с DL на UL и проч.
                                                                                  • 0
                                                                                    У меня астериск соединял абонентов по номерам которые он присваивал т.е управлял вызовом, а у вас как номера присваиваются я че-то отстал, надо перечитать спасибо большое!
                                                                                    • 0
                                                                                      Так что один телефон у нас может работать в режиме CCCH+SDCCH4, другой в режиме TCH/H.
                                                                                      Не совсем так. CCCH+SDCCH4 является Combined Configuration, при который до 4-ех абонентов
                                                                                      могут использовать данный таймслот одновременно (в основном, для СМС). На второй доступный
                                                                                      таймслот можно назначить SDCCH8 (Non-combined Configuration) и в результате получить еще
                                                                                      восемь одновременных соединений. Голос по таким каналам не ходит.

                                                                                      Когда на второй таймслот назначен TCH/H, два абонента могут одновременно использовать данный
                                                                                      таймслот. Дело в том, что кроме таймслотов существуют сабслоты, и у TCH/H их два. Абоненту дается
                                                                                      не целый таймслот, а один сабслот. Сам сабслот определяется номером (мульти)фрейма, на котором
                                                                                      один абонент может принимать / передавать данные. Иными словами, на одном фрейме первый
                                                                                      абонент использует данный таймслот, на другом фрейме второй абонент использует тот же таймслот.

                                                                                      Что касается использования 3,4 и более телефонов, то в открытом доступе не встречал такого рода веток OsmocomBB. Может быть такое и есть, сам не пробовал модифицировать. Может быть товарищ axilirator смог что-то такое собрать. Я кажется встречал его обсуждение с Sylvain Munaut по этой теме на мейл-листе.
                                                                                      Я пробовал менять slotmask, которая передается прошивке и определяет, когда CalypsoBTS может принимать данные, а когда передавать. Однако, все мои попытки приводили к ошибкам DSP.

                                                                                      В качестве альтернативного решения, можно использовать еще одну пару телефонов как отдельную
                                                                                      базовую станцию на другой частоте (ARFCN). Там можно будет назначить еще два TCH/H канала, в
                                                                                      результате чего еще два абонента смогут одновременно разговаривать.

                                                                                      А вообще, для запуска нормальной стабильной сети, лучше использовать что-нибудь более серьезное,
                                                                                      например, USRP или UmTRX.
                                                                                  • 0
                                                                                    Вот перечитал извините за повтор хочу уточнить у вас голосовой звонок проходит с мобильного А на мобильный Б через вашу бтс с двумя калипсами на двух каналах, или голосовой звонок с мобильного А на базу и автоатветчик на базе?
                                                                                    • 0
                                                                                      Абоненту А выдается сабслот 1 в TCH/H, абоненту B выдается сабслот 2 того же канала TCH/H. Так они и слышат друг друга. Через отправку/получение burst-ов на своих таймслотах. Какая база?
                                                                                      • 0
                                                                                        Я так и не понял вы говорили между двумя абонентами на двух калипсах или нет? Потому что у меня грабли были в кодеке на полудуплекс как вы это решили?
                                                                                        • 0
                                                                                          В моем тексте нигде не фигурирует третий телефон. Все. Это нужно осознать и больше не возвращаться:)
                                                                                          Какой полудуплекс? Какие грабли? Вы используете один из двух сабслотов TCH/H на UL и DL диапазонах.
                                                                                          Кодек AMR. Эта конфигурация у меня выжает нестабильную связь на виртуалке. Стабильное соединение только на физической машине. Может и у Вас такая проблема… Сложно понять про какие грабли идет речь.
                                                                                          Обращаю Ваше внимание, что в инструкции указано все в точности, как у меня и конфиги приложены точно такие, как у меня.
                                                                                          • 0
                                                                                            Вот сложно ответить «да» был выполнен голосовой звонок соединяющий двух абонентов сети построенной на двух телефонах калипсо, все без обид, я этим увлекался когда калипсы в каждом ларьке по 300 руб лежали а ftdi выколупывали из преходников на com порт, вместо фильтров ставили кондеры, и была только openBTS, а в osmocom только появился режим tranceiver. Вообще это просто жсм снифер поэтому третий телефон все равно нужен как ни крути чтобы входящего абонента перепихнуть на реальную соту при mitm атаке…
                                                                                            • 0
                                                                                              Да, никаких обид. Этот текст не имеет никакого отношения к атакам. Не понимаю о каком митме Вы говорите.
                                                                                              • 0
                                                                                                А зачем тогда wireshark?
                                                                                                • 0
                                                                                                  В данном тексте чтобы смотреть, что ваша CalypsoBTS отправляет в сеть и что принимает. Для изучения работы стека протоколов GSM.
                                                                                                  • 0
                                                                                                    Вот это и называется термином «атака человек по середине» не имеющим ничего общего с атаками в прямом смысле этого слова
                                                                                                    • 0
                                                                                                      Эээ сложно это назвать mitm я бы даже сказал не корректно. Это называется sniffing
                                                                                                      • 0
                                                                                                        Ууу а я думал сетевой анализатор…
                                                                                                        • 0

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

                                                                                                          • 0
                                                                                                            Почему не можешь — можешь! читай! сейчас не знаю раньше было, автор показал только функцию передатчика, даже если чего-то нет сам допиши все коды открытые… Там на форумах поспрашивай если сам написать не в силах, денег там прям каждый второй предлагает немеряно за готовое решение, но в открытом доступе маштабирования на 3 и более каналов нет с 2010
                                                                                                            • 0

                                                                                                              Там совместно с сотой нужен ещё дешифратор kc, я так понимаю что его нужно синхронизировать с сотой.Всё же попробую с sip.Жду с Китая две USB-TTL.Надеюсь два телефона на это хватит.

                                                                                    • 0
                                                                                      Уважаемый Аxilirator! А Вы планируете продолжать свои статьи про OsmocomBB… Или уже потеряли интерес???
                                                                                      • 0
                                                                                        Ответ в самом низу первой части моих статей.
                                                                                      • +2
                                                                                        У меня лет 10 назад была идея для поиска потерявшихся туристов. Я даже письмо в МЧС писал. У туристов, как правило, с собой имеются мобильные телефоны, пусть и выключенные. Туристы теряются в тех местах, где связи нет, в противном случае они бы сами позвонили и сообщили, что с ними всё в порядке, или вызвали помощь. Так вот, идея заключается в том, что на легкомоторный самолёт или вертолёт, который используется в поисковой операции, устанавливается вот такая мини базовая станция и громкоговоритель, через который постоянно транслируется: «Потерявшаяся группа! Включите мобильный телефон!» Туристы включают мобильный телефон, базовая станция сразу сообщает, что есть соединение, оператор выясняет, что там с этими туристами, нужна ли им помощь и т.д.
                                                                                        • 0
                                                                                          Не только Вам такая идея пришла в голову :)

                                                                                          http://nextgis.com/blog/peoplefinder/
                                                                                          • 0
                                                                                            Сейчас в каждом телефоне туриста есть навигатор со спутника, поэтому пока батарейка не сядет он не заблудится!!!
                                                                                            • 0
                                                                                              Это сейчас. Напоминаю — дело было лет 10 назад. Впрочем, и сейчас не во всех телефонах навигаторы есть, хотя и во многих имеются.

                                                                                              Ситуация: заболел или травма, идти не может, даже если у него навигатор есть. Сидит и ждёт помощи.
                                                                                              • 0
                                                                                                Да кстати есть такие одиночки альпинисты, у них рации мощные, помню были радио телефоны харвест до мобил они били километров на 100 а то и более в черте города, ну а в целом да ситуация не простая, ну думаю если туристы тогда должна быть группа в группе проводник имеющий лицензию и наверняка средство связи типа спутникового телефона, кстати давно не видел их в продаже. Ну а тогда наверно сигнальные ракеты спички сигнальный костер. Знаю что при запросе оператор может указать местонахождение с точностью до 300м значит это диапазон вещания соты, наверно костер эффективнее с точки зрения МЧС
                                                                                                • 0
                                                                                                  Ну… альпинистов-то искать обычно не так трудно… но вот если сошла лавина и они где-то раскиданы по склону под снегом… и/или дети/подростки пропали в тайге с мобильником, то хорошее решение — искать по источнику радиосигнала например.
                                                                                                  А рации на 100км, как я понимаю, жрут энергию как свинья помои и их не так много в пользовании как обычных мобилок, так что ваше решение, ИМХО, неплохой вариант. Хотя бы для простой пелегации. Особенно если на квадрокоптерах запускать.
                                                                                          • 0
                                                                                            А нужны ли SIM карты подключающимся? Насколько я понимаю, симка содержит ключ авторизации в сети, не?
                                                                                            Можно ли подключиться без симки вовсе? если да, то как?

                                                                                            И еще вопрос. Будет ли у подключившегося тот же номер, что «зашит» в симке? или там только ICCID, а номер назначается оператором?
                                                                                            • 0
                                                                                              Добрый день,

                                                                                              Номера, конечно, не будет того же, что назначает оператор, но Вы и сами это понимаете, судя по всему.

                                                                                              Что касается вопроса про SIM-карты, OsmoBSC имеет настройку, пускать в сеть только определенные IMSI, заранее занесенные в базу, или accept all, когда каждый, кто выберет нашу сеть, автоматически будет занесен в базу и авторизован.
                                                                                              Но Osmocom не знает Ki, зашитый в Вашей симке. Ki знает только оператор. Так что OsmoNTIB не может аутентифицировать Вас по SIM-карте другого оператора.

                                                                                              Можно купить SIM-карты от sysmocom и запрограммировать под Вашего «собственного» оператора, тогда Вы будете знать Ki.

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

                                                                                              В теории Вам нужно корректно пройти процедуру аутентификации в сети с использованием IMSI, Ki и проч.
                                                                                              Все это хранится на SIM-карте.

                                                                                              Возможно, если использовать телефон на основе OsmocomBB и приложения mobile, то можно задать IMSI без SIM-карты в настройках и процедура регистрации пройдет для Calypso BTS, но не пробовал. Это лишь мое предположение.
                                                                                              • 0
                                                                                                Спасибо!
                                                                                                Верно ли я понимаю, что вы использовали SIM-карты от sysmocom для тестов?
                                                                                                Можно ли купить dummy карты (вот такие, например) и перепрограммировать их?
                                                                                                • 0
                                                                                                  Для тестов я использую собственный телефон или телефоны знакомых с коммерческими SIM-картами.
                                                                                                  С ними и регистрируюсь в своей сети.
                                                                                                  Если нужно изучать какие-то зашифрованные коммуникации, можно вставить симку в osmocombb-совместимый телефон и узнать Kc, чтобы расшифровывать свой трафик.

                                                                                                  Есть программатор от Osmocom.
                                                                                                  Но не все модели SIM-карт поддерживаются, насколько я понял.
                                                                                                  Нужны, например, такие
                                                                                                  • 0
                                                                                                    Т.е. карта не связана с сетью никак и можно использовать любую, достаточно выбрать сеть вручную? Я был уверен, что карта — это идентификатор в сети. Т.е. в чужой сети она будет регистрироваться, только если сеть «принимает» карту. Не?

                                                                                                    Или можно настроить BTS, чтобы та принимала все карты?
                                                                                                    • 0
                                                                                                      «Или можно настроить BTS, чтобы та принимала все карты?» — совершенно верно.

                                                                                                      Обычная сеть не примет вашу карту, если с ней будет «что-то не так» (Роуминг не продоставляет оператор или еще что).

                                                                                                      Карта — идентификатор сети, верно, она содержит ключ Ki, тот же, что и HLR оператора, т.о. сеть может опознать абонента.
                                                                                            • 0
                                                                                              Спасибо.Вопрос насчет сниффинга, когда я сканирую эфир, у меня в wireshark видны только пакеты GSMTAP, а где пакеты lapdm?
                                                                                              • 0
                                                                                                LAPDm должны быть вложены в GSMTAP. GSMTAP[LAPDm[L3]]] такое вложение.
                                                                                                Выйдет статья про сниффинг, там и будем разбирать такие вопросы.
                                                                                                • 0
                                                                                                  Даже не знаю))у нас у друга одинаковые ОС (linux mint) с установленной osmocombb, и вот у него появляются пакеты lapdm и gsmtap тоже, а у меня только gsmtap, не знаю почему((( у меня трафик в файл не записывается.Хотя когда я снифферю с помощью свистка (tv tunner) то всё нормально, видны пакеты и lapdm и gsmtap, и траффик в файл записывается.Почему эти проблемы с motorol'koy c118…
                                                                                              • 0
                                                                                                Бесплатная связь получается? Остаётся вышки бесплатные расставить по миру
                                                                                                • 0
                                                                                                  И лицензии получить ;)
                                                                                                • 0
                                                                                                  Кстати, на заглавном фото — силуэт одной из 4х башен радиоглушилки хрущёвских времён, такие глушилки тогда не давали слушать «Голос Америки».
                                                                                                  Вот в Ростове на ул. Каяни ещё осталась:
                                                                                                  https://fotki.yandex.ru/next/users/stalinets1/tag/радиоглушилка/album/1077/view/259?search-author=stalinets1&page=0
                                                                                                  https://fotki.yandex.ru/next/users/stalinets1/tag/радиоглушилка/album/1077/view/203705?page=0&search-author=stalinets1
                                                                                                  Правда, сейчас «крылья» на двух «крылатых» башнях уже демонтировали.
                                                                                                  • 0
                                                                                                    выпрыгивают ошибки во время сборки осмокомбб
                                                                                                    может кто-то подсказать в чем причина и как их устранить?

                                                                                                    Entering directory `/home/username/libosmocore/osmocombb/src/shared/libosmocore/build-target/src'
                                                                                                    CC timer.lo
                                                                                                    In file included from /usr/include/i386-linux-gnu/sys/types.h:216:0,
                                                                                                    from /home/username/libosmocore/osmocombb/src/target/firmware/include/string.h:4,
                                                                                                    from ../../src/timer.c:38:
                                                                                                    /home/username/libosmocore/osmocombb/src/target/firmware/include/endian.h:5:24: fatal error: sys/_types.h: No such file or directory
                                                                                                    #include <sys/_types.h>
                                                                                                    ^
                                                                                                    compilation terminated.
                                                                                                    make[4]: *** [timer.lo] Error 1
                                                                                                    make[4]: Leaving directory `/home/username/libosmocore/osmocombb/src/shared/libosmocore/build-target/src'
                                                                                                    make[3]: *** [all] Error 2
                                                                                                    make[3]: Leaving directory `/home/username/libosmocore/osmocombb/src/shared/libosmocore/build-target/src'
                                                                                                    make[2]: *** [all-recursive] Error 1
                                                                                                    make[2]: Leaving directory `/home/username/libosmocore/osmocombb/src/shared/libosmocore/build-target'
                                                                                                    make[1]: *** [all] Error 2
                                                                                                    make[1]: Leaving directory `/home/username/libosmocore/osmocombb/src/shared/libosmocore/build-target'
                                                                                                    make: *** [shared/libosmocore/build-target/src/.libs/libosmocore.a] Error 2
                                                                                                    • 0

                                                                                                      Вы не установили какие-то зависимости в систему. Поищите в системе файл types.h в системе
                                                                                                      sys/_types.h: No such file or directory
                                                                                                      И установите пакет, чтобы он появился, может не поставили build-essential или еще что..

                                                                                                    • 0
                                                                                                      Много ошибок при сборке, например при сборке того же libdbi и FFT и osmocom'a)) пробовал на виртуальной машине (virtualBox) ОС:Ubuntu 14.04.5 может выложите свой образец? ^_^
                                                                                                      • 0

                                                                                                        Неделю назад я установил все на Debian 9 (32 бита) с использованием Nightly Builds пакетов. Попробуйте. См. UPD В начале этой статьи.

                                                                                                      • 0
                                                                                                        Ошибка при выполнении ./build.sh

                                                                                                        gcc.info /root/gnu-arm-installer/src/gcc-4.5.2/gcc/doc/gcc.texi; \
                                                                                                        fi
                                                                                                        /root/gnu-arm-installer/src/gcc-4.5.2/gcc/doc/gcc.texi:89: warning: tex should only appear at the beginning of a line
                                                                                                        /root/gnu-arm-installer/src/gcc-4.5.2/gcc/doc/gcc.texi:209: no matching `@end tex'
                                                                                                        /root/gnu-arm-installer/src/gcc-4.5.2/gcc/doc/gcc.texi:209: no matching `@end multitable'
                                                                                                        /root/gnu-arm-installer/src/gcc-4.5.2/gcc/doc/gcc.texi:209: no matching `@end titlepage'
                                                                                                        Makefile:4052: recipe for target 'doc/gcc.info' failed
                                                                                                        make[1]: *** [doc/gcc.info] Error 1
                                                                                                        make[1]: Leaving directory '/root/gnu-arm-installer/build/gcc-4.5.2/gcc'
                                                                                                        Makefile:5024: recipe for target 'all-gcc' failed
                                                                                                        make: *** [all-gcc] Error 2
                                                                                                        root@kali:~/gnu-arm-installer#
                                                                                                        • 0

                                                                                                          Да, верно. Нужно еще один патч использовать.
                                                                                                          Добавьте строку в build.sh


                                                                                                          patch -p < ../patch-gcc46-texi.diff

                                                                                                          к остальным двум патчам.


                                                                                                          Патч

                                                                                                          — src/gcc-4.5.2/gcc/doc/gcc.texi.orig 2017-03-01 16:56:48.000000000 -0800
                                                                                                          +++ src/gcc-4.5.2/gcc/doc/gcc.texi 2017-03-01 17:03:38.000000000 -0800
                                                                                                          @@ -86,9 +86,15 @@
                                                                                                          item GNU Press
                                                                                                          tab Website: www.gnupress.org
                                                                                                          item a division of the
                                                                                                          -@tab General: tex press@@gnu.org end tex
                                                                                                          +@tab General:
                                                                                                          +@tex
                                                                                                          +press@@gnu.org
                                                                                                          +@end tex
                                                                                                          item Free Software Foundation
                                                                                                          -@tab Orders: tex sales@@gnu.org end tex
                                                                                                          +@tab Orders:
                                                                                                          +@tex
                                                                                                          +sales@@gnu.org
                                                                                                          +@end tex
                                                                                                          item 51 Franklin Street, Fifth Floor
                                                                                                          tab Tel 617-542-5942
                                                                                                          item Boston, MA 02110-1301 USA
                                                                                                          @@ -108,6 +114,7 @@
                                                                                                          @sp 1
                                                                                                          @insertcopying
                                                                                                          end titlepage
                                                                                                          +
                                                                                                          @summarycontents
                                                                                                          @contents
                                                                                                          page

                                                                                                          • 0
                                                                                                            Я добавил строку в build.sh строку patch -p < ../patch-gcc46-texi.diff
                                                                                                            но всё равно та же ошибка

                                                                                                            /opt/osmocom/gnu-arm-toolchain/src/gcc-4.5.2/gcc/doc/gcc.texi:89: warning: tex should only appear at the beginning of a line
                                                                                                            /opt/osmocom/gnu-arm-toolchain/src/gcc-4.5.2/gcc/doc/gcc.texi:209: no matching `@end tex'
                                                                                                            /opt/osmocom/gnu-arm-toolchain/src/gcc-4.5.2/gcc/doc/gcc.texi:209: no matching `@end multitable'
                                                                                                            /opt/osmocom/gnu-arm-toolchain/src/gcc-4.5.2/gcc/doc/gcc.texi:209: no matching `@end titlepage'
                                                                                                            Makefile:4052: recipe for target 'doc/gcc.info' failed
                                                                                                            make[1]: *** [doc/gcc.info] Error 1
                                                                                                            make[1]: Leaving directory '/opt/osmocom/gnu-arm-toolchain/build/gcc-4.5.2/gcc'
                                                                                                            Makefile:5024: recipe for target 'all-gcc' failed
                                                                                                            make: *** [all-gcc] Error 2

                                                                                                            а это куда добавить? — src/gcc-4.5.2/gcc/doc/gcc.texi.orig 2017-03-01 16:56:48.000000000 -0800
                                                                                                            +++ src/gcc-4.5.2/gcc/doc/gcc.texi 2017-03-01 17:03:38.000000000 -0800
                                                                                                            @@ -86,9 +86,15 @@ итд -это невозможно скопировать :)
                                                                                                      • 0
                                                                                                        Добавил.После запуска build.sh пишет:

                                                                                                        — |--- ./gcc/doc/gcc.texi.orig 2017-03-01 16:56:48.000000000 -0800
                                                                                                        |+++ ./gcc/doc/gcc.texi 2017-03-01 17:03:38.000000000 -0800
                                                                                                        — File to patch:

                                                                                                        • 0

                                                                                                          Значит сделайте бекап файла gcc.texi.
                                                                                                          И попробуйте в консоли выполнить команду patch -p < ../patch-gcc46-texi.diff
                                                                                                          из каталога где лежит build.sh.
                                                                                                          Патч должен примениться. Если нет, то нужно смотреть, почему. Патч должен "лечь" на файл.
                                                                                                          В крайнем случае можно убрать все из build.sh до начала компиляции GCC, далее вручную исправить ошибки в gcc.texi, запустить build.sh и закончить процесс компиляции.

                                                                                                        • 0
                                                                                                          Ошибка при выполнении
                                                                                                          cd osmocombb/src
                                                                                                          make --при выполнении этой команды, лог:
                                                                                                          configure: WARNING: syslog.h: section "Present But Cannot Be Compiled"
                                                                                                          configure: WARNING: syslog.h: proceeding with the compiler's result
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          configure: WARNING: ## Report this to openbsc@lists.osmocom.org ##
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          checking for syslog.h... no
                                                                                                          checking ctype.h usability... no
                                                                                                          checking ctype.h presence... yes
                                                                                                          configure: WARNING: ctype.h: present but cannot be compiled
                                                                                                          configure: WARNING: ctype.h: check for missing prerequisite headers?
                                                                                                          configure: WARNING: ctype.h: see the Autoconf documentation
                                                                                                          configure: WARNING: ctype.h: section "Present But Cannot Be Compiled"
                                                                                                          configure: WARNING: ctype.h: proceeding with the compiler's result
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          configure: WARNING: ## Report this to openbsc@lists.osmocom.org ##
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          checking for ctype.h... no
                                                                                                          checking for size_t... no
                                                                                                          checking for working alloca.h... no
                                                                                                          checking for alloca... yes
                                                                                                          checking for library containing dlopen... -ldl
                                                                                                          checking for doxygen... false
                                                                                                          checking if gcc supports -fvisibility=hidden... yes
                                                                                                          checking whether struct tm has tm_gmtoff member... no
                                                                                                          checking that generated files are newer than configure... done
                                                                                                          configure: creating ./config.status
                                                                                                          config.status: creating libosmocore.pc
                                                                                                          config.status: creating libosmocodec.pc
                                                                                                          config.status: creating libosmovty.pc
                                                                                                          config.status: creating libosmogsm.pc
                                                                                                          config.status: creating libosmogb.pc
                                                                                                          config.status: creating include/Makefile
                                                                                                          config.status: creating src/Makefile
                                                                                                          config.status: creating src/vty/Makefile
                                                                                                          config.status: creating src/codec/Makefile
                                                                                                          config.status: creating src/gsm/Makefile
                                                                                                          config.status: creating src/gb/Makefile
                                                                                                          config.status: creating tests/Makefile
                                                                                                          config.status: creating utils/Makefile
                                                                                                          config.status: creating Doxyfile.core
                                                                                                          config.status: creating Doxyfile.gsm
                                                                                                          config.status: creating Doxyfile.vty
                                                                                                          config.status: creating Doxyfile.codec
                                                                                                          config.status: creating Makefile
                                                                                                          config.status: creating config.h
                                                                                                          config.status: executing tests/atconfig commands
                                                                                                          config.status: executing depfiles commands
                                                                                                          config.status: executing libtool commands
                                                                                                          configure: WARNING: unrecognized options: --disable-tests, --disable-tests
                                                                                                          cd shared/libosmocore/build-target && make
                                                                                                          make[1]: Entering directory `/home/bart/osmocombb/src/shared/libosmocore/build-target'
                                                                                                          echo UNKNOWN > ../.version-t && mv ../.version-t ../.version
                                                                                                          make all-recursive
                                                                                                          make[2]: Entering directory `/home/bart/osmocombb/src/shared/libosmocore/build-target'
                                                                                                          Making all in include
                                                                                                          make[3]: Entering directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/include'
                                                                                                          GEN osmocom/core/crc16gen.h
                                                                                                          GEN osmocom/core/crc16gen.h
                                                                                                          GEN osmocom/core/crc32gen.h
                                                                                                          GEN osmocom/core/crc32gen.h
                                                                                                          GEN osmocom/core/crc64gen.h
                                                                                                          GEN osmocom/core/crc64gen.h
                                                                                                          GEN osmocom/core/crc8gen.h
                                                                                                          GEN osmocom/core/crc8gen.h
                                                                                                          make[3]: Leaving directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/include'
                                                                                                          Making all in src
                                                                                                          make[3]: Entering directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/src'
                                                                                                          GEN crc8gen.c
                                                                                                          GEN crc16gen.c
                                                                                                          GEN crc32gen.c
                                                                                                          GEN crc64gen.c
                                                                                                          make all-am
                                                                                                          make[4]: Entering directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/src'
                                                                                                          CC timer.lo
                                                                                                          In file included from /usr/include/i386-linux-gnu/sys/types.h:216:0,
                                                                                                          from /home/bart/osmocombb/src/target/firmware/include/string.h:4,
                                                                                                          from ../../src/timer.c:38:
                                                                                                          /home/bart/osmocombb/src/target/firmware/include/endian.h:5:24: fatal error: sys/_types.h: No such file or directory
                                                                                                          #include <sys/_types.h>
                                                                                                          ^
                                                                                                          compilation terminated.
                                                                                                          make[4]: *** [timer.lo] Error 1
                                                                                                          make[4]: Leaving directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/src'
                                                                                                          make[3]: *** [all] Error 2
                                                                                                          make[3]: Leaving directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/src'
                                                                                                          make[2]: *** [all-recursive] Error 1
                                                                                                          make[2]: Leaving directory `/home/bart/osmocombb/src/shared/libosmocore/build-target'
                                                                                                          make[1]: *** [all] Error 2
                                                                                                          make[1]: Leaving directory `/home/bart/osmocombb/src/shared/libosmocore/build-target'
                                                                                                          make: *** [shared/libosmocore/build-target/src/.libs/libosmocore.a] Error 2
                                                                                                          bart@bart-VirtualBox:~/osmocombb/src$ make
                                                                                                          cd shared/libosmocore/build-target && ../configure \
                                                                                                          --host=arm-none-eabi --enable-embedded --disable-shared \
                                                                                                          --disable-tests ac_cv_header_sys_select_h=no \
                                                                                                          --disable-tests ac_cv_header_sys_socket_h=no \
                                                                                                          CFLAGS="-Os -ffunction-sections -I/home/bart/osmocombb/src/target/firmware/include -nostartfiles -nodefaultlibs"
                                                                                                          configure: WARNING: unrecognized options: --disable-tests, --disable-tests
                                                                                                          ../configure: line 1951: config.log: Permission denied
                                                                                                          ../configure: line 1961: config.log: Permission denied
                                                                                                          make: *** [shared/libosmocore/build-target/Makefile] Error 1
                                                                                                          bart@bart-VirtualBox:~/osmocombb/src$ sudo make
                                                                                                          cd shared/libosmocore/build-target && ../configure \
                                                                                                          --host=arm-none-eabi --enable-embedded --disable-shared \
                                                                                                          --disable-tests ac_cv_header_sys_select_h=no \
                                                                                                          --disable-tests ac_cv_header_sys_socket_h=no \
                                                                                                          CFLAGS="-Os -ffunction-sections -I/home/bart/osmocombb/src/target/firmware/include -nostartfiles -nodefaultlibs"
                                                                                                          configure: WARNING: unrecognized options: --disable-tests, --disable-tests
                                                                                                          checking for a BSD-compatible install...
                                                                                                          /usr/bin/install -c
                                                                                                          checking whether build environment is sane... yes
                                                                                                          checking for arm-none-eabi-strip... no
                                                                                                          checking for strip... strip
                                                                                                          checking for a thread-safe mkdir -p... /bin/mkdir -p
                                                                                                          checking for gawk... no
                                                                                                          checking for mawk... mawk
                                                                                                          checking whether make sets $(MAKE)... yes
                                                                                                          checking whether make supports nested variables... yes
                                                                                                          checking whether make supports nested variables... (cached) yes
                                                                                                          checking whether make sets $(MAKE)... (cached) yes
                                                                                                          checking for arm-none-eabi-gcc... no
                                                                                                          checking for gcc... gcc
                                                                                                          checking whether the C compiler works... yes
                                                                                                          checking for C compiler default output file name... a.out
                                                                                                          checking for suffix of executables...
                                                                                                          checking whether we are cross compiling... yes
                                                                                                          checking for suffix of object files... o
                                                                                                          checking whether we are using the GNU C compiler... yes
                                                                                                          checking whether gcc accepts -g... yes
                                                                                                          checking for gcc option to accept ISO C89... unsupported
                                                                                                          checking whether gcc understands -c and -o together... yes
                                                                                                          checking for style of include used by make... GNU
                                                                                                          checking dependency style of gcc... gcc3
                                                                                                          checking build system type... i686-pc-linux-gnu
                                                                                                          checking host system type... arm-none-eabi
                                                                                                          checking how to print strings... printf
                                                                                                          checking for a sed that does not truncate output... /bin/sed
                                                                                                          checking for grep that handles long lines and -e... /bin/grep
                                                                                                          checking for egrep... /bin/grep -E
                                                                                                          checking for fgrep... /bin/grep -F
                                                                                                          checking for ld used by gcc... /usr/bin/ld
                                                                                                          checking if the linker (/usr/bin/ld) is GNU ld... yes
                                                                                                          checking for BSD- or MS-compatible name lister (nm)... no
                                                                                                          checking for arm-none-eabi-dumpbin... no
                                                                                                          checking for arm-none-eabi-link... no
                                                                                                          checking for dumpbin... no
                                                                                                          checking for link... link -dump
                                                                                                          configure: WARNING: using cross tools not prefixed with host triplet
                                                                                                          checking the name lister (nm) interface... BSD nm
                                                                                                          checking whether ln -s works... yes
                                                                                                          checking the maximum length of command line arguments... 805306365
                                                                                                          checking whether the shell understands some XSI constructs... yes
                                                                                                          checking whether the shell understands "+="... yes
                                                                                                          checking how to convert i686-pc-linux-gnu file names to arm-none-eabi format... func_convert_file_noop
                                                                                                          checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop
                                                                                                          checking for /usr/bin/ld option to reload object files... -r
                                                                                                          checking for arm-none-eabi-objdump... no
                                                                                                          checking for objdump... objdump
                                                                                                          checking how to recognize dependent libraries... unknown
                                                                                                          checking for arm-none-eabi-dlltool... no
                                                                                                          checking for dlltool... no
                                                                                                          checking how to associate runtime and link libraries... printf %s\n
                                                                                                          checking for arm-none-eabi-ar... no
                                                                                                          checking for ar... ar
                                                                                                          checking for archiver @FILE support... @
                                                                                                          checking for arm-none-eabi-strip... strip
                                                                                                          checking for arm-none-eabi-ranlib... no
                                                                                                          checking for ranlib... ranlib
                                                                                                          checking command to parse nm output from gcc object... ok
                                                                                                          checking for sysroot... no
                                                                                                          checking for arm-none-eabi-mt... no
                                                                                                          checking for mt... mt
                                                                                                          checking if mt is a manifest tool... no
                                                                                                          checking how to run the C preprocessor... gcc -E
                                                                                                          checking for ANSI C header files... no
                                                                                                          checking for sys/types.h... no
                                                                                                          checking for sys/stat.h... no
                                                                                                          checking for stdlib.h... no
                                                                                                          checking for string.h... no
                                                                                                          checking for memory.h... no
                                                                                                          checking for strings.h... no
                                                                                                          checking for inttypes.h... no
                                                                                                          checking for stdint.h... no
                                                                                                          checking for unistd.h... no
                                                                                                          checking for dlfcn.h... no
                                                                                                          checking for objdir... .libs
                                                                                                          checking if gcc supports -fno-rtti -fno-exceptions... no
                                                                                                          checking for gcc option to produce PIC... -fPIC -DPIC
                                                                                                          checking if gcc PIC flag -fPIC -DPIC works... yes
                                                                                                          checking if gcc static flag -static works... no
                                                                                                          checking if gcc supports -c -o file.o... yes
                                                                                                          checking if gcc supports -c -o file.o... (cached) yes
                                                                                                          checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
                                                                                                          checking dynamic linker characteristics... no
                                                                                                          checking how to hardcode library paths into programs... immediate
                                                                                                          checking whether stripping libraries is possible... yes
                                                                                                          checking if libtool supports shared libraries... no
                                                                                                          checking whether to build shared libraries... no
                                                                                                          checking whether to build static libraries... yes
                                                                                                          checking for ANSI C header files... (cached) no
                                                                                                          checking execinfo.h usability... no
                                                                                                          checking execinfo.h presence... yes
                                                                                                          configure: WARNING: execinfo.h: present but cannot be compiled
                                                                                                          configure: WARNING: execinfo.h: check for missing prerequisite headers?
                                                                                                          configure: WARNING: execinfo.h: see the Autoconf documentation
                                                                                                          configure: WARNING: execinfo.h: section "Present But Cannot Be Compiled"
                                                                                                          configure: WARNING: execinfo.h: proceeding with the compiler's result
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          configure: WARNING: ## Report this to openbsc@lists.osmocom.org ##
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          checking for execinfo.h... no
                                                                                                          checking for sys/select.h... (cached) no
                                                                                                          checking for sys/socket.h... (cached) no
                                                                                                          checking syslog.h usability... no
                                                                                                          checking syslog.h presence... yes
                                                                                                          configure: WARNING: syslog.h: present but cannot be compiled
                                                                                                          configure: WARNING: syslog.h: check for missing prerequisite headers?
                                                                                                          configure: WARNING: syslog.h: see the Autoconf documentation
                                                                                                          configure: WARNING: syslog.h: section "Present But Cannot Be Compiled"
                                                                                                          configure: WARNING: syslog.h: proceeding with the compiler's result
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          configure: WARNING: ## Report this to openbsc@lists.osmocom.org ##
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          checking for syslog.h... no
                                                                                                          checking ctype.h usability... no
                                                                                                          checking ctype.h presence... yes
                                                                                                          configure: WARNING: ctype.h: present but cannot be compiled
                                                                                                          configure: WARNING: ctype.h: check for missing prerequisite headers?
                                                                                                          configure: WARNING: ctype.h: see the Autoconf documentation
                                                                                                          configure: WARNING: ctype.h: section "Present But Cannot Be Compiled"
                                                                                                          configure: WARNING: ctype.h: proceeding with the compiler's result
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          configure: WARNING: ## Report this to openbsc@lists.osmocom.org ##
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          checking for ctype.h... no
                                                                                                          checking for size_t... no
                                                                                                          checking for working alloca.h... no
                                                                                                          checking for alloca... yes
                                                                                                          checking for library containing dlopen... -ldl
                                                                                                          checking for doxygen... false
                                                                                                          checking if gcc supports -fvisibility=hidden... yes
                                                                                                          checking whether struct tm has tm_gmtoff member... no
                                                                                                          checking that generated files are newer than configure... done
                                                                                                          configure: creating ./config.status
                                                                                                          config.status: creating libosmocore.pc
                                                                                                          config.status: creating libosmocodec.pc
                                                                                                          config.status: creating libosmovty.pc
                                                                                                          config.status: creating libosmogsm.pc
                                                                                                          config.status: creating libosmogb.pc
                                                                                                          config.status: creating include/Makefile
                                                                                                          config.status: creating src/Makefile
                                                                                                          config.status: creating src/vty/Makefile
                                                                                                          config.status: creating src/codec/Makefile
                                                                                                          config.status: creating src/gsm/Makefile
                                                                                                          config.status: creating src/gb/Makefile
                                                                                                          config.status: creating tests/Makefile
                                                                                                          config.status: creating utils/Makefile
                                                                                                          config.status: creating Doxyfile.core
                                                                                                          config.status: creating Doxyfile.gsm
                                                                                                          config.status: creating Doxyfile.vty
                                                                                                          config.status: creating Doxyfile.codec
                                                                                                          config.status: creating Makefile
                                                                                                          config.status: creating config.h
                                                                                                          config.status: config.h is unchanged
                                                                                                          config.status: executing tests/atconfig commands
                                                                                                          config.status: executing depfiles commands
                                                                                                          config.status: executing libtool commands
                                                                                                          configure: WARNING: unrecognized options: --disable-tests, --disable-tests
                                                                                                          cd shared/libosmocore/build-target && make
                                                                                                          make[1]: Entering directory `/home/bart/osmocombb/src/shared/libosmocore/build-target'
                                                                                                          make all-recursive
                                                                                                          make[2]: Entering directory `/home/bart/osmocombb/src/shared/libosmocore/build-target'
                                                                                                          Making all in include
                                                                                                          make[3]: Entering directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/include'
                                                                                                          make[3]: Nothing to be done for `all'.
                                                                                                          make[3]: Leaving directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/include'
                                                                                                          Making all in src
                                                                                                          make[3]: Entering directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/src'
                                                                                                          make all-am
                                                                                                          make[4]: Entering directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/src'
                                                                                                          CC timer.lo
                                                                                                          In file included from /usr/include/i386-linux-gnu/sys/types.h:216:0,
                                                                                                          from /home/bart/osmocombb/src/target/firmware/include/string.h:4,
                                                                                                          from ../../src/timer.c:38:
                                                                                                          /home/bart/osmocombb/src/target/firmware/include/endian.h:5:24: fatal error: sys/_types.h: No such file or directory
                                                                                                          #include <sys/_types.h>
                                                                                                          ^
                                                                                                          compilation terminated.
                                                                                                          make[4]: *** [timer.lo] Error 1
                                                                                                          make[4]: Leaving directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/src'
                                                                                                          make[3]: *** [all] Error 2
                                                                                                          make[3]: Leaving directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/src'
                                                                                                          make[2]: *** [all-recursive] Error 1
                                                                                                          make[2]: Leaving directory `/home/bart/osmocombb/src/shared/libosmocore/build-target'
                                                                                                          make[1]: *** [all] Error 2
                                                                                                          make[1]: Leaving directory `/home/bart/osmocombb/src/shared/libosmocore/build-target'
                                                                                                          make: *** [shared/libosmocore/build-target/src/.libs/libosmocore.a] Error 2
                                                                                                          bart@bart-VirtualBox:~/osmocombb/src$
                                                                                                          bart@bart-VirtualBox:~/osmocombb/src$ clear

                                                                                                          bart@bart-VirtualBox:~/osmocombb/src$ sudo make
                                                                                                          cd shared/libosmocore/build-target && ../configure \
                                                                                                          --host=arm-none-eabi --enable-embedded --disable-shared \
                                                                                                          --disable-tests ac_cv_header_sys_select_h=no \
                                                                                                          --disable-tests ac_cv_header_sys_socket_h=no \
                                                                                                          CFLAGS="-Os -ffunction-sections -I/home/bart/osmocombb/src/target/firmware/include -nostartfiles -nodefaultlibs"
                                                                                                          configure: WARNING: unrecognized options: --disable-tests, --disable-tests
                                                                                                          checking for a BSD-compatible install... /usr/bin/install -c
                                                                                                          checking whether build environment is sane... yes
                                                                                                          checking for arm-none-eabi-strip... no
                                                                                                          checking for strip... strip
                                                                                                          checking for a thread-safe mkdir -p... /bin/mkdir -p
                                                                                                          checking for gawk... no
                                                                                                          checking for mawk... mawk
                                                                                                          checking whether make sets $(MAKE)... yes
                                                                                                          checking whether make supports nested variables... yes
                                                                                                          checking whether make supports nested variables... (cached) yes
                                                                                                          checking whether make sets $(MAKE)... (cached) yes
                                                                                                          checking for arm-none-eabi-gcc... no
                                                                                                          checking for gcc... gcc
                                                                                                          checking whether the C compiler works... yes
                                                                                                          checking for C compiler default output file name... a.out
                                                                                                          checking for suffix of executables...
                                                                                                          checking whether we are cross compiling... yes
                                                                                                          checking for suffix of object files... o
                                                                                                          checking whether we are using the GNU C compiler... yes
                                                                                                          checking whether gcc accepts -g... yes
                                                                                                          checking for gcc option to accept ISO C89... unsupported
                                                                                                          checking whether gcc understands -c and -o together... yes
                                                                                                          checking for style of include used by make... GNU
                                                                                                          checking dependency style of gcc... gcc3
                                                                                                          checking build system type... i686-pc-linux-gnu
                                                                                                          checking host system type... arm-none-eabi
                                                                                                          checking how to print strings... printf
                                                                                                          checking for a sed that does not truncate output... /bin/sed
                                                                                                          checking for grep that handles long lines and -e... /bin/grep
                                                                                                          checking for egrep... /bin/grep -E
                                                                                                          checking for fgrep... /bin/grep -F
                                                                                                          checking for ld used by gcc... /usr/bin/ld
                                                                                                          checking if the linker (/usr/bin/ld) is GNU ld... yes
                                                                                                          checking for BSD- or MS-compatible name lister (nm)... no
                                                                                                          checking for arm-none-eabi-dumpbin... no
                                                                                                          checking for arm-none-eabi-link... no
                                                                                                          checking for dumpbin... no
                                                                                                          checking for link... link -dump
                                                                                                          configure: WARNING: using cross tools not prefixed with host triplet
                                                                                                          checking the name lister (nm) interface... BSD nm
                                                                                                          checking whether ln -s works... yes
                                                                                                          checking the maximum length of command line arguments... 805306365
                                                                                                          checking whether the shell understands some XSI constructs... yes
                                                                                                          checking whether the shell understands "+="... yes
                                                                                                          checking how to convert i686-pc-linux-gnu file names to arm-none-eabi format... func_convert_file_noop
                                                                                                          checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop
                                                                                                          checking for /usr/bin/ld option to reload object files... -r
                                                                                                          checking for arm-none-eabi-objdump... no
                                                                                                          checking for objdump... objdump
                                                                                                          checking how to recognize dependent libraries... unknown
                                                                                                          checking for arm-none-eabi-dlltool... no
                                                                                                          checking for dlltool... no
                                                                                                          checking how to associate runtime and link libraries... printf %s\n
                                                                                                          checking for arm-none-eabi-ar... no
                                                                                                          checking for ar... ar
                                                                                                          checking for archiver @FILE support... @
                                                                                                          checking for arm-none-eabi-strip... strip
                                                                                                          checking for arm-none-eabi-ranlib... no
                                                                                                          checking for ranlib... ranlib
                                                                                                          checking command to parse nm output from gcc object... ok
                                                                                                          checking for sysroot... no
                                                                                                          checking for arm-none-eabi-mt... no
                                                                                                          checking for mt... mt
                                                                                                          checking if mt is a manifest tool... no
                                                                                                          checking how to run the C preprocessor... gcc -E
                                                                                                          checking for ANSI C header files... no
                                                                                                          checking for sys/types.h... no
                                                                                                          checking for sys/stat.h... no
                                                                                                          checking for stdlib.h... no
                                                                                                          checking for string.h... no
                                                                                                          checking for memory.h... no
                                                                                                          checking for strings.h... no
                                                                                                          checking for inttypes.h... no
                                                                                                          checking for stdint.h... no
                                                                                                          checking for unistd.h... no
                                                                                                          checking for dlfcn.h... no
                                                                                                          checking for objdir... .libs
                                                                                                          checking if gcc supports -fno-rtti -fno-exceptions... no
                                                                                                          checking for gcc option to produce PIC... -fPIC -DPIC
                                                                                                          checking if gcc PIC flag -fPIC -DPIC works... yes
                                                                                                          checking if gcc static flag -static works... no
                                                                                                          checking if gcc supports -c -o file.o... yes
                                                                                                          checking if gcc supports -c -o file.o... (cached) yes
                                                                                                          checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
                                                                                                          checking dynamic linker characteristics... no
                                                                                                          checking how to hardcode library paths into programs... immediate
                                                                                                          checking whether stripping libraries is possible... yes
                                                                                                          checking if libtool supports shared libraries... no
                                                                                                          checking whether to build shared libraries... no
                                                                                                          checking whether to build static libraries... yes
                                                                                                          checking for ANSI C header files... (cached) no
                                                                                                          checking execinfo.h usability... no
                                                                                                          checking execinfo.h presence... yes
                                                                                                          configure: WARNING: execinfo.h: present but cannot be compiled
                                                                                                          configure: WARNING: execinfo.h: check for missing prerequisite headers?
                                                                                                          configure: WARNING: execinfo.h: see the Autoconf documentation
                                                                                                          configure: WARNING: execinfo.h: section "Present But Cannot Be Compiled"
                                                                                                          configure: WARNING: execinfo.h: proceeding with the compiler's result
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          configure: WARNING: ## Report this to openbsc@lists.osmocom.org ##
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          checking for execinfo.h... no
                                                                                                          checking for sys/select.h... (cached) no
                                                                                                          checking for sys/socket.h... (cached) no
                                                                                                          checking syslog.h usability... no
                                                                                                          checking syslog.h presence... yes
                                                                                                          configure: WARNING: syslog.h: present but cannot be compiled
                                                                                                          configure: WARNING: syslog.h: check for missing prerequisite headers?
                                                                                                          configure: WARNING: syslog.h: see the Autoconf documentation
                                                                                                          configure: WARNING: syslog.h: section "Present But Cannot Be Compiled"
                                                                                                          configure: WARNING: syslog.h: proceeding with the compiler's result
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          configure: WARNING: ## Report this to openbsc@lists.osmocom.org ##
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          checking for syslog.h... no
                                                                                                          checking ctype.h usability... no
                                                                                                          checking ctype.h presence... yes
                                                                                                          configure: WARNING: ctype.h: present but cannot be compiled
                                                                                                          configure: WARNING: ctype.h: check for missing prerequisite headers?
                                                                                                          configure: WARNING: ctype.h: see the Autoconf documentation
                                                                                                          configure: WARNING: ctype.h: section "Present But Cannot Be Compiled"
                                                                                                          configure: WARNING: ctype.h: proceeding with the compiler's result
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          configure: WARNING: ## Report this to openbsc@lists.osmocom.org ##
                                                                                                          configure: WARNING: ## ---------------------------------------- ##
                                                                                                          checking for ctype.h... no
                                                                                                          checking for size_t... no
                                                                                                          checking for working alloca.h... no
                                                                                                          checking for alloca... yes
                                                                                                          checking for library containing dlopen... -ldl
                                                                                                          checking for doxygen... false
                                                                                                          checking if gcc supports -fvisibility=hidden... yes
                                                                                                          checking whether struct tm has tm_gmtoff member... no
                                                                                                          checking that generated files are newer than configure... done
                                                                                                          configure: creating ./config.status
                                                                                                          config.status: creating libosmocore.pc
                                                                                                          config.status: creating libosmocodec.pc
                                                                                                          config.status: creating libosmovty.pc
                                                                                                          config.status: creating libosmogsm.pc
                                                                                                          config.status: creating libosmogb.pc
                                                                                                          config.status: creating include/Makefile
                                                                                                          config.status: creating src/Makefile
                                                                                                          config.status: creating src/vty/Makefile
                                                                                                          config.status: creating src/codec/Makefile
                                                                                                          config.status: creating src/gsm/Makefile
                                                                                                          config.status: creating src/gb/Makefile
                                                                                                          config.status: creating tests/Makefile
                                                                                                          config.status: creating utils/Makefile
                                                                                                          config.status: creating Doxyfile.core
                                                                                                          config.status: creating Doxyfile.gsm
                                                                                                          config.status: creating Doxyfile.vty
                                                                                                          config.status: creating Doxyfile.codec
                                                                                                          config.status: creating Makefile
                                                                                                          config.status: creating config.h
                                                                                                          config.status: config.h is unchanged
                                                                                                          config.status: executing tests/atconfig commands
                                                                                                          config.status: executing depfiles commands
                                                                                                          config.status: executing libtool commands
                                                                                                          configure: WARNING: unrecognized options: --disable-tests, --disable-tests
                                                                                                          cd shared/libosmocore/build-target && make
                                                                                                          make[1]: Entering directory `/home/bart/osmocombb/src/shared/libosmocore/build-target'
                                                                                                          make all-recursive
                                                                                                          make[2]: Entering directory `/home/bart/osmocombb/src/shared/libosmocore/build-target'
                                                                                                          Making all in include
                                                                                                          make[3]: Entering directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/include'
                                                                                                          make[3]: Nothing to be done for `all'.
                                                                                                          make[3]: Leaving directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/include'
                                                                                                          Making all in src
                                                                                                          make[3]: Entering directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/src'
                                                                                                          make all-am
                                                                                                          make[4]: Entering directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/src'
                                                                                                          CC timer.lo
                                                                                                          In file included from /usr/include/i386-linux-gnu/sys/types.h:216:0,
                                                                                                          from /home/bart/osmocombb/src/target/firmware/include/string.h:4,
                                                                                                          from ../../src/timer.c:38:
                                                                                                          /home/bart/osmocombb/src/target/firmware/include/endian.h:5:24: fatal error: sys/_types.h: No such file or directory
                                                                                                          #include <sys/_types.h>
                                                                                                          ^
                                                                                                          compilation terminated.
                                                                                                          make[4]: *** [timer.lo] Error 1
                                                                                                          make[4]: Leaving directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/src'
                                                                                                          make[3]: *** [all] Error 2
                                                                                                          make[3]: Leaving directory `/home/bart/osmocombb/src/shared/libosmocore/build-target/src'
                                                                                                          make[2]: *** [all-recursive] Error 1
                                                                                                          make[2]: Leaving directory `/home/bart/osmocombb/src/shared/libosmocore/build-target'
                                                                                                          make[1]: *** [all] Error 2
                                                                                                          make[1]: Leaving directory `/home/bart/osmocombb/src/shared/libosmocore/build-target'
                                                                                                          make: *** [shared/libosmocore/build-target/src/.libs/libosmocore.a] Error 2
                                                                                                          bart@bart-VirtualBox:~/osmocombb/src$


                                                                                                          • 0

                                                                                                            Вы все пытаетесь на Ubuntu 14.04 поставить? Тогда Вам нужно самостоятельно решить проблемы с отсутвием файлов в вашей ОС :)
                                                                                                            Используйте apt-file, гугл и найдете нужные пакеты.

                                                                                                            • 0
                                                                                                              Да ubuntu.Вчера пробовал на debian 9, но я не знаю как установить deb Nightly Builds пакеты((

                                                                                                              попробую разобраться.
                                                                                                              • 0

                                                                                                                Все очень просто. См. последнюю статью мою. Добавляете репозиторий и ключ. Потом apt-get update. Потом apt-get install libosmocore, например…
                                                                                                                Но osmocombb нужно тулчейном собирать так же.

                                                                                                                • 0
                                                                                                                  Обязательно, всё попробую)) скажите, не сталкивались ли с такой проблемой, при установке libosmo-dsp при выполнении команды make:

                                                                                                                  movsar-virtual-machine libosmo-dsp # make
                                                                                                                  make all-recursive
                                                                                                                  make[1]: Entering directory '/home/movsar/osmocombb/master/src/libosmo-dsp'
                                                                                                                  Making all in include
                                                                                                                  make[2]: Entering directory '/home/movsar/osmocombb/master/src/libosmo-dsp/include'
                                                                                                                  Making all in osmocom
                                                                                                                  make[3]: Entering directory '/home/movsar/osmocombb/master/src/libosmo-dsp/include/osmocom'
                                                                                                                  Making all in dsp
                                                                                                                  make[4]: Entering directory '/home/movsar/osmocombb/master/src/libosmo-dsp/include/osmocom/dsp'
                                                                                                                  make[4]: Nothing to be done for 'all'.
                                                                                                                  make[4]: Leaving directory '/home/movsar/osmocombb/master/src/libosmo-dsp/include/osmocom/dsp'
                                                                                                                  make[4]: Entering directory '/home/movsar/osmocombb/master/src/libosmo-dsp/include/osmocom'
                                                                                                                  make[4]: Nothing to be done for 'all-am'.
                                                                                                                  make[4]: Leaving directory '/home/movsar/osmocombb/master/src/libosmo-dsp/include/osmocom'
                                                                                                                  make[3]: Leaving directory '/home/movsar/osmocombb/master/src/libosmo-dsp/include/osmocom'
                                                                                                                  make[3]: Entering directory '/home/movsar/osmocombb/master/src/libosmo-dsp/include'
                                                                                                                  make[3]: Nothing to be done for 'all-am'.
                                                                                                                  make[3]: Leaving directory '/home/movsar/osmocombb/master/src/libosmo-dsp/include'
                                                                                                                  make[2]: Leaving directory '/home/movsar/osmocombb/master/src/libosmo-dsp/include'
                                                                                                                  Making all in src
                                                                                                                  make[2]: Entering directory '/home/movsar/osmocombb/master/src/libosmo-dsp/src'
                                                                                                                  CCLD libosmodsp.la
                                                                                                                  /usr/bin/ld: /usr/local/lib/libfftw3f.a(apiplan.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
                                                                                                                  /usr/local/lib/libfftw3f.a: error adding symbols: Bad value
                                                                                                                  collect2: error: ld returned 1 exit status
                                                                                                                  Makefile:407: recipe for target 'libosmodsp.la' failed
                                                                                                                  make[2]: *** [libosmodsp.la] Error 1
                                                                                                                  make[2]: Leaving directory '/home/movsar/osmocombb/master/src/libosmo-dsp/src'
                                                                                                                  Makefile:487: recipe for target 'all-recursive' failed
                                                                                                                  make[1]: *** [all-recursive] Error 1
                                                                                                                  make[1]: Leaving directory '/home/movsar/osmocombb/master/src/libosmo-dsp'
                                                                                                                  Makefile:373: recipe for target 'all' failed
                                                                                                                  make: *** [all] Error 2
                                                                                                                  movsar-virtual-machine libosmo-dsp #

                                                                                                                  • 0

                                                                                                                    Неправильно собрали libfftw3. Когда configure делали, не указали --enanle-float или что-то такое…
                                                                                                                    Или у вас 64 битная система. Там свои заморочки с fft.