summaryrefslogtreecommitdiff
path: root/2012/foss-sdr12europe/foss-sdr12europe.tex
diff options
context:
space:
mode:
Diffstat (limited to '2012/foss-sdr12europe/foss-sdr12europe.tex')
-rw-r--r--2012/foss-sdr12europe/foss-sdr12europe.tex464
1 files changed, 464 insertions, 0 deletions
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 <tantau@users.sourceforge.net>.
+%
+% 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<presentation>
+{
+ \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 <hwelte@sysmocom.de>}
+
+\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}<beamer>{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}
personal git repositories of Harald Welte. Your mileage may vary