- Дней с нами
- 3.399
- Розыгрыши
- 0
- Сообщения
- 189
- Репутация
- 16
- Реакции
- 174
Сегодня мы будем делать GSM сеть, чтобы отправлять смс от имени банка
Что нам потребуется:
1. Компьютер с установленной 32-битной Ubuntu 14.04 (Не виртуалка)
2.два телефона на чипсете TI Calypso (Motorola c113, c118, c123, ...)
3.два USB-TTL конвертера
4.два провода (джек 2.5 мм + джемперы)
Ну допустим вы нашли все компоненты, что делать дальше?
Теперь начинаем издеваться над телефонами
Подключаем телефон к компьютеру через USB-TTL конвертер и собранный провод, коротко нажимаем на кнопку включения и в окне PuTTY должно появиться сообщение @ftmtoolerror среди прочих символов.
Как и сказано в начале, я рекомендую использовать Ubuntu 14.04, именно 32-битную ее версию. Возможно у Вас получится все установить и на 64-битную Ubuntu 16.04, но тогда Вам придется самостоятельно решать все проблемы с зависимостями при установке и совместимостью с ветками проектов Osmocom.
Также, Вы можете попытаться использовать виртуальную машину, но мне так и не удалось получить устойчивую связь на гостевой ОС. Возможно, проблемы возникают на уровне виртуализации USB порта.
Вы можете использовать виртуальную машину для работы с osmocombb и его отдельными приложениями, но если дело касается запуска GSM сети, я советую не использовать виртуализацию.
Установим базовые пакеты, которые нам потребуются для сборки Osmocom.
Для сборки программ для телефона нам потребуется кросс-компилятор toolchain. На официальном сайте сейчас представлена более новая версия, но с ней не будут работать старые ветки osmocombb, которые писались под старый компилятор.
Устанавливаем пакет FFT
Устанавливаем библиотеку libosmo-dsp
Собираем ветку osmocombb для OsmoBTS
Нужно раскомментировать в target/firmware/Makefile строку
Компилируем:
Устанавливаем libdbi для sqlite
Скачиваем
https://sourceforge.net/projects/libdbi/files/libdbi/libdbi-0.8.3/
Скачиваем: sourceforge.net/projects/libdbi-drivers/files/libdbi-drivers/libdbi-drivers-0.8.3
В драйвере есть опечатка, которая приведет к ошибкам во время подключения к HLR. Исправляем перед компиляцией.
Меняем _dbi_internal_error_handler на _dbd_internal_error_handler.
Собираем:
Устанавливаем ORTP
Устанавливаем библиотеку libosmo-abis
Устанавливаем библиотеку libosmo-netif
Устанавливаем OpenBSC
Устанавливаем OsmoBTS
Конфигурация
Я работаю с Osmocom из под root, поэтому мои файлы конфигурации находятся в /root/.osmocom
mkdir /root/.osmocom;cd /root/.osmocom
touch ~/.osmocom/osmo-bts.cfg
touch ~/.osmocom/open-bsc.cfg
Дальше скачиваем гуид
https://osmocom.org/projects/osmonitb/wiki/OsmoNITB
Наконец-то вы всё скачали, настроили (можете погладить себя по голове)
Инициализируем первый трансивер
Коротко нажимаем на кнопку включения телефона, который был подключен первым. После окончания загрузки на экране телефона Вы увидите надпись TRX.
Инициализируем второй трансивер
Коротко нажимаем на кнопку включения телефона, который был подключен вторым. После окончания загрузки на экране телефона Вы увидите надпись TRX.
Настраиваем трансиверы на следование таймеру коммерческой BTS
Вместо ARFCN вы должны указать номер канала, на котором работает коммерческая базовая станция с хорошим сигналом. Опять же, может быть найдена при помощи RSSI или cell_log.
Запускаем MSC, HLR и СМС-центр
Запускаем базовую станцию
Что нам потребуется:
1. Компьютер с установленной 32-битной Ubuntu 14.04 (Не виртуалка)
2.два телефона на чипсете TI Calypso (Motorola c113, c118, c123, ...)
3.два USB-TTL конвертера
4.два провода (джек 2.5 мм + джемперы)
Ну допустим вы нашли все компоненты, что делать дальше?
Теперь начинаем издеваться над телефонами
Подключаем телефон к компьютеру через USB-TTL конвертер и собранный провод, коротко нажимаем на кнопку включения и в окне PuTTY должно появиться сообщение @ftmtoolerror среди прочих символов.
Установка по
Как и сказано в начале, я рекомендую использовать 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
Код:
git clone git://git.osmocom.org/libosmocore.git cd libosmocore/ autoreconf -i ./configure make make install ldconfig -i
Для сборки программ для телефона нам потребуется кросс-компилятор toolchain. На официальном сайте сейчас представлена более новая версия, но с ней не будут работать старые ветки osmocombb, которые писались под старый компилятор.
Код:
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
Код:
vi /etc/bash.bashrc add in the end export PATH=$PATH:/root/osmocom/gnu-arm-installer/install/bin
Код:
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
Скачиваем
https://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
Дальше скачиваем гуид
https://osmocom.org/projects/osmonitb/wiki/OsmoNITB
Наконец-то вы всё скачали, настроили (можете погладить себя по голове)
Запуск
Подключаем оба телефона к компьютеру и проверяем их доступность.
Код:
ls -l /dev/ttyUSB*
Инициализируем первый трансивер
Код:
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
Вот собственно всё готово
Конектимся с основного телефона к нашей станции с именем TestNet (это можно изменить в предыдущей части, например на МТС или Билайн или хз какие у вас там(но вы же не будете менять имя, чтобы не заиметь проблем с законом?! )
Последнее редактирование модератором: