Dear Osmocom community,
I would like to share some good news about development of SDR PHY
for OsmocomBB. In a few words: I was managed to make xCCH and SCH
decoding work, so the ccch_scan application works now!
As already pointed out, I use GNURadio and GR-GSM as a back-end
for signal processing (burst detection and demodulation). Despite
GR-GSM provides some blocks for decoding bursts into L2 packets,
there are some reasons why I don't use them:
- First of all, I would like to keep OsmocomBB compatible with
OsmoTRX, which can only work with raw GSM bursts. Moreover,
one already has TX capability and better stability.
- GR-GSM is only capable to decode xCCH and TCH/F. Other logical
channels (like TCH/H and PDTCH) aren't supported yet.
- GR-GSM uses decoding implementation from OpenBTS project, which
has lower performance / code quality than implementation from
libosmocoding. BTW: Piotr Krysik was working on this issue, and
some work, related to libosmocoding migration, already done, but
not finished for now.
So, we have a simple GR-GSM follow graph, which sends GSM bursts and
some corresponding info (RSSI, frame number, timeslot index) to the
application I am currently working on - trxcon. I have migrated and
a bit modified TDMA scheduler from OsmoBTS project. At the moment,
the application is capable to collect xCCH and SCH bursts, decode
them and send to higher layer applications (L2 & L3) via L1CTL link.
Regarding to L1CTL protocol, trxcon handles the following requests:
- L1CTL_RESET_REQ
- L1CTL_FBSB_REQ
- L1CTL_CCCH_MODE_REQ
- L1CTL_ECHO_REQ
All the results of my work may be found here:
https://github.com/axilirator/gr-gsm/tree/fixeria/trx
http://git.osmocom.org/osmocom-bb/log/?h=fixeria/sdr_phy
If someone would like to test, one will need:
- GNURadio framework
- gr-osmosdr
- Custom GR-GSM with 'TRX Interface' block (link above)
- fixeria/sdr_phy branch of OsmocomBB (link above)
- SDR device supported by gr-osmosdr
Regarding to the latest requirement, UmTRX board requires external
power source / active cooling, and takes some space on my table, so
I use RTL-SDR. Sounds crazy, but OsmocomBB works on RTL-SDR ;)
One could be used until TX capabilities are implemented.
With best regards,
Vadim Yanitskiy.