0x00 寫在前面
以下内容将會指導你怎樣用Osmocom-bb相容的手機(如c115,c118,c123等)當作OpenBTS的無線收發機.
0x01 環境
首先安裝libosmo-dsp庫
先下載下傳
編譯前需要安裝fftw3
然後編譯
0x02 Osmocom-BB
再切換分支編譯
預設編譯出的版本發送信号相關的功能是被注釋掉的,用mobile啟動layer23後會一直于搜信号的過程中,因為無法發送信号。
如果需要進行實網測試需要打開src/target/firmware/Makefile檔案中的編譯開關
把osmocom-bb/src/target/firmware下的Makefile中的DCONFIG_TX_ENABLE宏打開:
然後到src目錄下編譯
0x03 OpenBTS
這裡使用的OpenBTS的版本是OpenBts-p2.8(嫌手動編譯麻煩的可以找我要DEB安裝的教程),首先安裝依賴
下載下傳源碼
然後在終端内輸入sqliteman啟動軟體,打開/etc/OpenBTS/目錄下的OpenBTS.db檔案

0x04 刷入固件
用osmocon程式将trx.compalram.bin刷入手機
指令
0x05 開始執行
到OpenBTS/apps目錄下,将transceiver重命名為transceiver.bak建立腳本檔案transceiver内容如下
<your path to osmocom-bb>替換成你自己的路徑,<ARFCN>替換成附近信号最強的ARFCN号
賦予執行權限
然後開4個終端視窗分别執行
如果一切運作順利打開手機進入 設定-移動網絡-網絡營運商 即可看到我們建立的基站
在OpenBTSCLI的終端視窗可以輸入 help 檢視指令幫助
輸入 tmsis 可以檢視目前基站使用者的IMSI
輸入 sendsms IMSI 電話号碼 短信内容 即可發送任意顯示号碼的短信
0x06 結語
一入GSM深似海,作者不是學通信的,隻是業餘愛好,第一次寫文章投稿,文中不免纰漏和不妥之處,有任何建議或意見歡迎留言!
0x07參考資料
<a href="http://osmocom.org/projects/baseband/wiki/Transceiver" target="_blank">http://osmocom.org/projects/baseband/wiki/Transceiver</a>
<a href="https://wush.net/trac/rangepublic/wiki/BuildInstallRun" target="_blank">https://wush.net/trac/rangepublic/wiki/BuildInstallRun</a>
<a href="https://wush.net/trac/rangepublic/wiki/DebOpenBTS" target="_blank">https://wush.net/trac/rangepublic/wiki/DebOpenBTS</a>
<a href="http://bb.osmocom.org/trac/blog/PHD2012" target="_blank">http://bb.osmocom.org/trac/blog/PHD2012</a>
<a href="http://www.h-online.com/open/news/item/29C3-Budget-mobile-turns-into-GSM-base-station-1775204.html" target="_blank">http://www.h-online.com/open/news/item/29C3-Budget-mobile-turns-into-GSM-base-station-1775204.html</a>
<a href="http://blog.0x7678.com/2014/03/osmocombbopenbtsgsmcalypso.html" target="_blank">http://blog.0x7678.com/2014/03/osmocombbopenbtsgsmcalypso.html</a>
0x08效果示範