From fca59bea770346cf1c1f9b0e00cb48a61b44a8f3 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 25 Oct 2015 21:00:20 +0100 Subject: import of old now defunct presentation slides svn repo --- 2012/foss-sdr12europe/foss-sdr12europe.tex | 464 +++++++++++++++++++++++++++++ 1 file changed, 464 insertions(+) create mode 100644 2012/foss-sdr12europe/foss-sdr12europe.tex (limited to '2012/foss-sdr12europe/foss-sdr12europe.tex') diff --git a/2012/foss-sdr12europe/foss-sdr12europe.tex b/2012/foss-sdr12europe/foss-sdr12europe.tex new file mode 100644 index 0000000..fa3ede4 --- /dev/null +++ b/2012/foss-sdr12europe/foss-sdr12europe.tex @@ -0,0 +1,464 @@ +% $Header: /cvsroot/latex-beamer/latex-beamer/solutions/conference-talks/conference-ornate-20min.en.tex,v 1.7 2007/01/28 20:48:23 tantau Exp $ + +\documentclass{beamer} + +\usepackage{url} +\makeatletter +\def\url@leostyle{% + \@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\tiny\ttfamily}}} +\makeatother +%% Now actually use the newly defined style. +\urlstyle{leo} + + +% This file is a solution template for: + +% - Talk at a conference/colloquium. +% - Talk length is about 20min. +% - Style is ornate. + + + +% Copyright 2004 by Till Tantau . +% +% In principle, this file can be redistributed and/or modified under +% the terms of the GNU Public License, version 2. +% +% However, this file is supposed to be a template to be modified +% for your own needs. For this reason, if you use this file as a +% template and not specifically distribute it as part of a another +% package/program, I grant the extra permission to freely copy and +% modify this file as you see fit and even to delete this copyright +% notice. + + +\mode +{ + \usetheme{Warsaw} + % or ... + + \setbeamercovered{transparent} + % or whatever (possibly just delete it) +} + + +\usepackage[english]{babel} +% or whatever + +\usepackage[latin1]{inputenc} +% or whatever + +\usepackage{times} +\usepackage[T1]{fontenc} +% Or whatever. Note that the encoding and the font should match. If T1 +% does not look nice, try deleting the line with the fontenc. + + +\title{Free and Open Source Software in SDR} + +%\subtitle {community based Free / Open Source Software for communications} + +\author{Harald Welte } + +\institute +{osmocom.org\\sysmocom GmbH} +% - Use the \inst command only if there are several affiliations. +% - Keep it simple, no one is interested in your street address. + +\date[] % (optional, should be abbreviation of conference name) +{June 29, SDR'12 - WInnForum Europe} +% - Either use conference name or its abbreviation. +% - Not really informative to the audience, more for people (including +% yourself) who are reading the slides online + +\subject{Communications} +% This is only inserted into the PDF information catalog. Can be left +% out. + + + +% If you have a file called "university-logo-filename.xxx", where xxx +% is a graphic format that can be processed by latex or pdflatex, +% resp., then you can add a logo as follows: + +% \pgfdeclareimage[height=0.5cm]{university-logo}{university-logo-filename} +% \logo{\pgfuseimage{university-logo}} + + + +% Delete this, if you do not want the table of contents to pop up at +% the beginning of each subsection: +%\AtBeginSubsection[] +%{ +% \begin{frame}{Outline} +% \tableofcontents[currentsection,currentsubsection] +% \end{frame} +%} + + +% If you wish to uncover everything in a step-wise fashion, uncomment +% the following command: + +%\beamerdefaultoverlayspecification{<+->} + + +\begin{document} + +\begin{frame} + \titlepage +\end{frame} + +\begin{frame}{Outline} + \tableofcontents[hideallsubsections] + % You might wish to add the option [pausesections] +\end{frame} + + +% Structuring a talk is a difficult task and the following structure +% may not be suitable. Here are some rules that apply for this +% solution: + +% - Exactly two or three sections (other than the summary). +% - At *most* three subsections per section. +% - Talk about 30s to 2min per frame. So there should be between about +% 15 and 30 frames, all told. + +% - A conference audience is likely to know very little of what you +% are going to talk about. So *simplify*! +% - In a 20min talk, getting the main ideas across is hard +% enough. Leave out details, even if it means being less precise than +% you think necessary. +% - If you omit details that are vital to the proof/implementation, +% just say so once. Everybody will be happy with that. + +\begin{frame}{About the speaker} +\begin{itemize} + \item Linux Kernel / bootloader / driver / firmware developmer since 1999 + \item IT security expert, focus on network protocol security + \item Former core developer of Linux packet filter netfilter/iptables + \item Board-level Electrical Engineering + \item Always looking for interesting protocols (RFID, DECT, GSM) + \item OpenPCD, Openmoko, deDECTed.org, OpenBSC, OsmocomBB, OsmoSGSN +\end{itemize} +\end{frame} + +\begin{frame}{About sysmocom GmbH}{systems for mobile communications} +\begin{itemize} + \item small company, started by two Osmocom developers in Berlin + \item provides commercial R\&d and support for professional + users of Osmocom software + \item develops its own products like sysmoBTS (inexpensive, + small-form-factor, OpenBSC compatible BTS) + \item runs a small webshop for Osmocom related hardware like + OsmocomBB compatible phones, SIMtrace, etc. +\end{itemize} +\end{frame} + + +\section{Free and Open Source Software} + +\subsection{Where is FOSS today} + +\begin{frame} +\begin{itemize} + \item Free and Open Source Software (FOSS) is everywhere + \item Particularly Servers and all areas of Embedded + \item FOSS has fundamentally changed the software industry + \item Systems architecture of products becomes more complex + \item Nobody can afford to build complex products from scratch + \item Everyone builds products on existing FOSS components, + particularly the Linux kernel and other OS-level + components +\end{itemize} +\end{frame} + +\begin{frame}{Linux and Free Software (FOSS) everywhere} +\begin{figure}[h] + \centering + \includegraphics[width=100mm]{linux_netfilter_singapore_entertainment.jpg} +\end{figure} +\end{frame} + +\begin{frame} +\begin{itemize} + \item FOSS is not a technology + \item FOSS is not a product + \item FOSS is not a company + \item FOSS is a development methodology and culture + \item Only companies with sufficient FOSS experience understand + the value of how to interact with the wider FOSS + communities +\end{itemize} +\end{frame} + +\begin{frame} +\begin{itemize} + \item FOSS enables participation + \item you don't have to work for a specific company in order to + do OS development + \item nobody has to have any formal relationship with their + collaborators, suppliers. + \item any {\em nobody} can contribute, even so-called amateurs, + hobbyists, students + \item it doesn't matter how deep your pockets are + \item meritocracy (the better your merits, the more you have a + say in the development process) +\end{itemize} +\end{frame} + +\begin{frame}{FOSS: Democracy / Equal Access} +\begin{itemize} + \item The means of productions (Computers, OS, Compilers) are + abundant and inexpensive (for the first world) + \item Anyone can create and produce software, all you need is + your brain + \item No membership required in exclusive forums, industry + clubs, consortia +\end{itemize} +\end{frame} + +\subsection{FOSS and SDR} + +\begin{frame}{Traditional Radio Engineering} +\begin{itemize} + \item Traditional radio development required electrical + engineering in hardware. You have to + \begin{itemize} + \item know analog / RF electronics + \item spin board revisions / prototypes + \item actually physically build something + \end{itemize} + \item Aside from the skills, there is a significant non-HR cost + involved for actually doing this development +\end{itemize} +\end{frame} + +\begin{frame}{SDR and FOSS} +\begin{itemize} + \item SDR transforms radio engineering into the software domain + \item In Software, all you need to do R\&D is a bit of general-purpose hardware and your brains + \item With inexpensive general-purpose SDR hardware, the same + conditions apply to development of radio software! + \item Participatory, collaborative, community driven R\&D +\end{itemize} +\end{frame} + + +\section{SDR hardware popular in community SDR projects} + +\begin{frame} +\begin{itemize} + \item When you (the audience) thinks of SDR, it's probably + mostly bleeding-edge high-end and high-cost + \item At the same time, if you don't have the same high-end + requirements, SDR receiver hardware is available cheap + \item commoditization effect +\end{itemize} +\end{frame} + + +\begin{frame}{The USRP family} +\begin{itemize} + \item probably the most-used SDR hardware in the FOSS world + \item still the primarily radio used with gnuradio today + \item at the low end of the 'professional sdr' price segment + \item still, typical configuration costs > 1000 USD + \item not everyone is able to spend that (students, hobbyists, + especially outside first world countries) +\end{itemize} +\end{frame} + + +\subsection{Fun Cube Dongle Pro} + +\begin{frame}{Fun Cube Dongle Pro (2010)} +\begin{itemize} + \item 64 MHz to 1700 Mhz USB SDR receiver (193 USD) + \item limited to 96 kHz I/Q baseband sampling + \item great for amateur radio and TETRA, but most other +communications systems (like GSM introduced in 1992) use wider band-widths + \item great progress in terms of size and cost, but much more +limited than USRP + \item Hardware design and firmware sadly are proprietary +\end{itemize} +\end{frame} + +\begin{frame}{Fun Cube Dongle Pro (2010)} +\begin{figure}[h] + \centering + \includegraphics[width=110mm]{fcdp_pcb.jpg} +\end{figure} +\end{frame} + +\subsection{OsmoSDR} + +\begin{frame}{OsmoSDR (2012)} +\begin{itemize} + \item small, low-power / low-cost USB SDR hardware (225 USD) + \item higher bandwidth than FunCubeDonglePro (1.2 Ms/s / 14bit) + \item much lower cost than USRP, but more expensive than FCDP + \item Open Hardware (schematics), software (FPGA, firmware) + \item Undergoing another re-spin for 4.2 Ms/s @ 14bit +\end{itemize} +\begin{figure}[h] +\centering +\includegraphics[width=70mm]{osmosdr.jpg} +\end{figure} +\end{frame} + +\subsection{rtl-sdr} + +\begin{frame}{Realtek RTL2832U based DVB-T receivers} +\begin{itemize} + \item Realtek RTL2832U based DVB-T receivers are cheaply + available on the market (USD 20) + \item RTL2832U implements ADC, DVB-T demodulator and high-speed + USB device + \item Normal mode of operation includes full DVB-T receiver + inside RTL2832U hardware and only sends MPEG2-TS via USB + \item Reverse engineering the USB protocol and replaying certain + commands from custom libusb based code was able to trigger the raw + sample transmission to the host PC +\end{itemize} +\end{frame} + +\begin{frame}{RTL2832U based devices: EzTV 668} +\begin{figure}[h] + \centering + \includegraphics[width=110mm]{ezcap_top.jpg} +\end{figure} +\end{frame} + +\begin{frame}{RTL2832U based devices: Hama nano1} +\begin{figure}[h] + \centering + \includegraphics[width=110mm]{hama_nano1.jpg} +\end{figure} +\end{frame} + + +\section{Free Software SDR software} + +\begin{frame}{Gnuradio} +\begin{itemize} + \item Philosophy: Implement SDR not as hand-crafted special-case hand-optimized assembly code in some obscure DSP, but on a general purpose PC + \begin{itemize} + \item with modern x86 systems at multi-GHz clock speeds and with many cores this becomes feasible + \item of course way too expensive for a mass-produced product, but very suitable for research, teaching and rapid prototyping + \end{itemize} + \item Implement various signal processing elements in C++ + \begin{itemize} + \item assembly optimized libraries for low-level operations + \item provide python bindings for all blocks + \end{itemize} + \item Python script to define interaction, relation, signal~routing between blocks +\end{itemize} +\end{frame} + +\begin{frame}{gnuradio based waveform implementations} +\begin{itemize} + \item Of course plenty of gr-based implementations for the various analog + modulation schemes + \item Check out CGRAN (comprehensive gnuradio archive network): + Includes 802.11, Zigbee, RDS, DECT, AIS, UHF RFID, ADS-B + \item Many other projects out of academia and community, such as + OpenLTE (early stage of downlink Rx/Tx) +\end{itemize} +\end{frame} + +\begin{frame}{Osmocom / osmocom.org} +\begin{itemize} + \item Osmocom == Open Source Mobile Communications + \item Classic collaborative, community-driven FOSS project + \item Gathers creative people who want to explore this + industry-dominated closed mobile communications world + \item http://osmocom.org/ + \begin{itemize} + \item non-sdr sub-projects like L2/L3 protocol stacks + \item sdr sub-projects for mostly Rx side + \end{itemize} +\end{itemize} +\end{frame} + + +\begin{frame}{OpenBSC} +\begin{itemize} + \item first Osmocom project + \item Implements GSM A-bis interface towards BTS + \item Supports Siemens, ip.access, Ericsson and Nokia BTS + \item can implement only BSC function (osmo-bsc) or a fully + autonomous self-contained GSM network (osmo-nitb) that + requires no external MSC/VLR/AUC/HLR/EIR + \item deployed in > 200 installations world-wide, commercial and + research +\end{itemize} +\end{frame} + +\begin{frame}{OsmocomBB} +\begin{itemize} + \item Full baseband processor firmware implementation of a mobile phone (MS) + \item We re-use existing phone hardware and re-wrote the L1, L2, + L3 and higher level logic + \item Higher layers reuse code from OpenBSC wherever possible + \item Used in a number of universities and other research contexts (including Ericsson Research) +\end{itemize} +\begin{figure}[h] +\centering +\includegraphics[width=50mm]{c123_pcb.jpg} +\end{figure} +\end{frame} + +\begin{frame}{OsmocomTETRA} +\begin{itemize} + \item SDR implementation of a TETRA radio-modem (PHY/MAC) + \item Rx is fully implemented, Tx only partial + \item Can be used for air interface interception + \item Accompanied by wireshark dissectors for the TETRA protocol + stack +\end{itemize} +\end{frame} + +\begin{frame}{OsmocomGMR} +\begin{itemize} + \item ETSI GMR (Geo Mobile Radio) is "GSM for satellites" + \item GMR-1 used by Thuraya satellite network + \item OsmocomGMR implements SDR based radiomodem + PHY/MAC (Rx) + \item Partial wireshark dissectors for the protocol stack + \item Reverse engineered implementation of GMR-A5 crypto + \item Speech codec is proprietary, still needs reverse engineering +\end{itemize} +\end{frame} + +\begin{frame}{OsmocomOP25} +\begin{itemize} + \item APCO25 is Professional PMR system used in the US + \item Can be compared to TETRA in Europe + \item OsmocomOP25 is again SDR receiver + protocol analyzer +\end{itemize} +\end{frame} + +\begin{frame}{The OpenBTS Um - SIP bridge} +\begin{itemize} + \item OpenBTS is a SDR implementation of GSM Um radio interface + \item directly bridges to SIP/RTP, no A-bis/BSC/A/MSC + \item suitable for research on air interface, but very different + from traditional GSM networks +\end{itemize} +\end{frame} + +\begin{frame}{airprobe.org} +\begin{itemize} + \item SDR implementation of Um sniffer + \item suitable for receiving GSM Um downlink and uplink + \item predates all of the other projects + \item more or less abandoned at this point +\end{itemize} +\end{frame} + + +\begin{frame}{Thanks} +Thanks for your attention. I hope we have time for Q\&A. +\end{frame} + + +\end{document} -- cgit v1.2.3