<div dir="ltr">Hi Vadim & Piotr!<div><br></div><div>I've managed to get ccch_scan working with a RTL-SDR using Vadim instructions and this container I've created:<div><div><a href="https://hub.docker.com/r/pachulo/xenial-gr-gsm-osmocombb/">https://hub.docker.com/r/pachulo/xenial-gr-gsm-osmocombb/</a></div><div><br></div><div>With something like this to start a container:</div><div>docker run --device=/dev/bus/usb/002 -it --name test-osmocombb-trx pachulo/xenial-gr-gsm-osmocombb<br></div><div><br></div><div>And something like this to get more consoles inside the container:</div><div>docker exec -ti test-osmocombb-trx /bin/bash</div><div><br></div><div>Thanks for this great addition to OsmocomBB & GR-GSM!</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jul 16, 2017 at 7:00 PM, Vadim Yanitskiy <span dir="ltr"><<a href="mailto:axilirator@gmail.com" target="_blank">axilirator@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Piotr,<span class=""><br><br>> I'm very happy to hear from you again.<br><br></span>Glad to see you too!<span class=""><br><br>> It's great that you figured it out. I'm more than interested<br>> to help you to push this topic forward. Will you be able to tell<br>> me how to compile and run the software so I will be able to test<br>> it on my side?<br><br></span>Thanks! I definitely need to create a page on wiki about that.<br>This is a brief guideline how to run OsmocomBB on SDR:<br><br>  1) You will need to clone a fork of GR-GSM from GitHub:<br>     <a href="https://github.com/axilirator/gr-gsm/tree/fixeria/trx" target="_blank">https://github.com/axilirator/<wbr>gr-gsm/tree/fixeria/trx</a><br>     I am going to send a pull request, as soon as I finish<br>     some things and clean up the code according to your<br>     requirements.<br><br>  2) Build GR-GSM as usually, and you will see a new GNURadio<br>     block named 'TRX Interface' in gnuradio-companion.<br><br>  3) Clone my branch of OsmocomBB:<br>     git clone git://<a href="http://git.osmocom.org/osmocom-bb" target="_blank">git.osmocom.org/osmocom-<wbr>bb</a> -b fixeria/sdr_phy<br><br>  4) Make sure you have a fresh version of libosmocore, and build<br>     OsmocomBB without firmware (we don't need it anymore):<br><br>     cd osmocom-bb/src/<br>     make nofirmware<br><br>  5) Go to the 'apps/trx/' directory, and launch the 'grgsm_trx.py'<br>     application. One will init a simple follow graph and actual<br>     TRX interface.<br><br>  6) Go to the 'osmocom-bb/src/host/trxcon/' directory, and run<br>     the 'trxcon' application, which is used to connect OsmocomBB<br>     L2&3 applications with transceiver application.<br><br>     ./trxcon -d DAPP:DL1C:DSCH<br><br>  7) Go to the 'osmocom-bb/src/host/layer23/<wbr>src/misc/' directory<br>     and run the 'ccch_scan' application, and you will see how <br>     it actually works ;)<br><br>     ./ccch_scan -a ARFCN -i 127.0.0.1<span class=""><br><br>> To answer this I will need to know more about what hardware you plan to<br>> use to receive and transmit. With i.e. USRP on a hardware level you have<br>> the synchronization. If you plan to use RTL-SDR + some transmitter then<br>> we will probably need some way to provide synchronization at a hardware<br>> level too. As for GSM Receiver - it sends bursts together with GSMTAP<br>> header which contains frame number. So you can identify bursts.<br><br></span>I think, exactly devices like USRP should be our primary hardware<br>platform. I use UmTRX - USRP based board, designed exactly for mobile<br>networks. At the same time, I would prefer to keep in mind further<br>possibility to use the project with separate RX and TX hardware.<span class=""><br><br>> We will need to write some modulator for bursts. We can adapt the code<br>> from osmo-trx or use portion of the code from GMSK Mod block. Using GMSK<br>> Mod block might not be a good idea because of 8.25 symbols long guard<br>> periods between bursts. The quater bit long shifts might be a problem.<br><br></span>Yeah, I had a little discussion on #gnuradio IRC, and some guy<br>consulted me a bit. One problem, we will probably deal with, is<br>GNURadio scheduling engine and block buffers. At the same time, the<br>trxcon application can send TX bursts in advance. As much frames before<br>as it's required to normal TX operation. This is how OsmoBTS does.<br><br>He also described an exemplary algorithm of TX operation:<br><br>1) Take in your bits (burst)<br>2) Up sample<br>3) Pulse shape with an interpolating fir filter with a Gaussian response<br>4) Feed that into a frequency modulation operation with the correct gain<br>5) Then channel filter those with an FFT filter<br>6) Use a frequency rotator of you need to freq shift the signal within<br>   your DSP bandwidth<br>7) And perform a final up sampling and antialias filter before TX.<br><br>What do you think?<span class=""><br><br>> Can you tell me what you would like to do on OsmocomBB side and what to<br>> do on the GNU Radio side? I'm asking because have some idea how to make<br>> a low level part of GSM TRX in GNU Radio.<br><br></span>OsmocomBB's side does all burst transcoding operations itself,<br>so we only need to modulate and send requested bursts in time.<br>We will also need to perform power measurements, but let's focus<br>on TX for now.<span class=""><br><br>> What hardware you want to use (RTL-SDR to receive and Calypso<br>> phone to transmit)?<br><br></span>No, we need to build a Calypso independent PHY for OsmocomBB.<br>See my answer above.<br><div class="gmail_extra"><br clear="all"><div><div class="m_4469498983100344982gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>With best regards,<br></div><div>Vadim Yanitskiy.<br></div></div></div></div></div></div>
</div></div>
</blockquote></div><br></div></div></div>