<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>LaForge's home page (Posts about lte)</title><link>https://laforge.gnumonks.org/</link><description></description><atom:link href="https://laforge.gnumonks.org/blog/tags/lte.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Thu, 24 Oct 2024 20:08:49 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Invited keynote + TTCN-3 talk at netdevconf 2.2 in Seoul</title><link>https://laforge.gnumonks.org/blog/20171010-netdevconf/</link><dc:creator>Harald Welte</dc:creator><description>&lt;p&gt;It was a big surprise that I've recently been invited to give a
&lt;a class="reference external" href="https://www.netdevconf.org/2.2/session.html?welte-netfilterhistory-keynote"&gt;keynote on netfilter history at netdevconf 2.2&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;First of all, I wouldn't have expected netfilter to be &lt;em&gt;that&lt;/em&gt; relevant
next to all the other [core] networking topics at netdevconf.  Secondly,
I've not been doing any work on netfilter for about a decade now, so my
memory is a bit &lt;em&gt;rusty&lt;/em&gt; by now ;)&lt;/p&gt;
&lt;p&gt;Speaking of &lt;em&gt;Rusty&lt;/em&gt;: Timing wise there is apparently a nice coincidence that
I'll be able to meet up with him in Berlin later this month, i.e. hopefully
we can spend some time reminiscing about old times and see what kind of useful
input he has for the keynote.&lt;/p&gt;
&lt;p&gt;I'm also asking my former colleagues and successors in the netfilter
project to share with me any note-worthy events or anecdotes,
particularly also covering the time after my retirement from the core
team.  So if you have something that you believe shouldn't miss in a
keynote on netfilter project history: Please reach out to me by e-mail
ASAP and let me know about it.&lt;/p&gt;
&lt;p&gt;To try to fend off the &lt;em&gt;elder[ly] statesmen&lt;/em&gt; image that goes along with
being invited to give keynotes about the history of projects you were
working on a long time ago, I also submitted an actual technical talk:
&lt;a class="reference external" href="https://www.netdevconf.org/2.2/session.html?welte-ttcn3-talk"&gt;TTCN-3 and Eclipse Titan for testing protocol stacks&lt;/a&gt;, in
which I'll cover my recent journey into TTCN-3 and TITAN land, and how I
think those tools can help us in the Linux [kernel] networking
community to productively produce tests for the various protocols.&lt;/p&gt;
&lt;p&gt;As usual for netdevconf, there are plenty of other exciting talks in
&lt;a class="reference external" href="https://www.netdevconf.org/2.2/schedule.html"&gt;the schedule&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I'm very much looking forward to both visiting Seoul again, as well as
meeting lots of the excellent people involved in the Linux networking
subsystems.  See ya!&lt;/p&gt;</description><category>gsm</category><category>linux</category><category>lte</category><category>netfilter</category><category>osmocom</category><guid>https://laforge.gnumonks.org/blog/20171010-netdevconf/</guid><pubDate>Mon, 09 Oct 2017 16:00:00 GMT</pubDate></item><item><title>Purism Librem 5 campaign</title><link>https://laforge.gnumonks.org/blog/20170903-purism-librem5/</link><dc:creator>Harald Welte</dc:creator><description>&lt;p&gt;There's a new project currently undergoing crowd funding that might be
of interest to the former Openmoko community:  The &lt;a class="reference external" href="https://puri.sm/shop/librem-5/"&gt;Purism Librem 5
campaign&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Similar to &lt;a class="reference external" href="http://openmoko.org/"&gt;Openmoko&lt;/a&gt; a decade ago, they are
aiming to build a FOSS based smartphone built on GNU/Linux without any
proprietary drivers/blobs on the application processor, from
bootloader to userspace.&lt;/p&gt;
&lt;p&gt;Furthermore (just like Openmoko) the baseband processor is fully
isolated, with no shared memory and with the Linux-running application
processor being in full control.&lt;/p&gt;
&lt;p&gt;They go beyond what we wanted to do at Openmoko in offering hardware
kill switches for camera/phone/baseband/bluetooth.  During Openmoko days
we assumed it is sufficient to simply control all those bits from the
trusted Linux domain, but of course once that might be compromised, a
physical kill switch provides a completely different level of security.&lt;/p&gt;
&lt;p&gt;I wish them all the best, and hope they can leave a better track record
than Openmoko.  Sure, we sold some thousands of phones, but the company
quickly died, and the state of software was far from end-user-ready.  I
think the primary obstacles/complexities are verification of the
hardware design as well as the software stack all the way up to the UI.&lt;/p&gt;
&lt;p&gt;The budget of ~ 1.5 million seems extremely tight from my point of view,
but then I have no information about how much Puri.sm is able to invest
from other sources outside of the campaign.&lt;/p&gt;
&lt;p&gt;If you're a FOSS developer with a strong interest in a Free/Open
privacy-first smartphone, please note that they have several job openings, from
&lt;a class="reference external" href="https://puri.sm/job/kernel-driver-developer/"&gt;Kernel Developer&lt;/a&gt; to
&lt;a class="reference external" href="https://puri.sm/job/pureos-phone-developer-os/"&gt;OS Developer&lt;/a&gt;
to &lt;a class="reference external" href="https://puri.sm/job/pureos-phone-developer-ui/"&gt;UI Developer&lt;/a&gt;.
I'd love to see some talents at work in that area.&lt;/p&gt;
&lt;p&gt;It's a bit of a pity that almost all of the actual technical details are
unspecified at this point (except RAM/flash/main-cpu).  No details on
the cellular modem/chipset used, no details on the camera, neither on
the bluetooth chipset, wifi chipset, etc.  This might be an indication
of the early stage of their plannings.  I would have expected that one
has ironed out those questions before looking for funding - but then,
it's their campaign and they can run it as they see it fit!&lt;/p&gt;
&lt;p&gt;I for my part have just put in a pledge for one phone.  Let's see what
will come of it.  In case you feel motivated by this post to join in:
Please keep in mind that any crowdfunding campaign bears significant
financial risks.  So please make sure you made up your mind and don't
blame my blog post for luring you into spending money :)&lt;/p&gt;</description><category>electronics</category><category>gsm</category><category>lte</category><category>osmocom</category><guid>https://laforge.gnumonks.org/blog/20170903-purism-librem5/</guid><pubDate>Sat, 02 Sep 2017 16:00:00 GMT</pubDate></item><item><title>The sad state of voice support in cellular modems</title><link>https://laforge.gnumonks.org/blog/20170902-cellular_modems-voice/</link><dc:creator>Harald Welte</dc:creator><description>&lt;p&gt;Cellular modems have existed for decades and come in many shapes and kinds.  They contain the cellular
baseband processor, RF frontend, protocol stack software and anything else required to communicate with a
cellular network.  Basically &lt;em&gt;a phone without display or input&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;During the last decade or so, the vast majority of cellular modems come as LGA modules, i.e. a small PCB with
all components on the top side (and a shielding can), which has contact pads on the bottom so you can solder
it onto your mainboard.  You can obtain them from vendors such as Sierra Wireless, u-blox, Quectel, ZTE,
Huawei, Telit, Gemalto, and many others.&lt;/p&gt;
&lt;p&gt;In most cases, the vendors now also solder those modules to small adapter boards to offer the same product
in mPCIe form-factor.  Other modems are directly manufactured in mPCIe or NGFF aka m.2 form-factor.&lt;/p&gt;
&lt;p&gt;As long as those modems were still 2G / 2.5G / 2.75G, the main interconnection with the host (often some
embedded system) was a serial UART.  The Audio input/output for voice calls was made available as analog
signals, ready to connect a microphone and spekaer, as that's what the cellular chipsets were designed for in
the smartphones.  In the Openmoko phones we also interfaced the audio of the cellular modem in analog, exactly
for that reason.&lt;/p&gt;
&lt;p&gt;From 3G onwards, the primary interface towards the host is now USB, with the modem running as a USB device.
If your laptop contains a cellular modem, you will see it show up in the &lt;code class="docutils literal"&gt;lsusb&lt;/code&gt; output.&lt;/p&gt;
&lt;p&gt;From that point onwards, it would have made a lot of sense to simply expose the audio also via USB.  Simply
offer a multi-function USB device that has both whatever virutal serial ports for AT commands and network
device for IP, and add a USB Audio device to it.  It would simply show up as a "USB sound card" to the host,
with all standard drivers working as expected.  Sadly, nobody seems to have implemented this, at least not in
a supported production version of their product&lt;/p&gt;
&lt;p&gt;Instead, what some modem vendors have implemented as an ugly hack is the transport of 8kHz 16bit PCM samples
over one of the UARTs.  See for example the Quectel UC-20 or the Simcom SIM7100 which implement such a method.&lt;/p&gt;
&lt;p&gt;All the others ignore any acess to the audio stream from software to a large part.  One wonders why that is.
From a software and systems architecture perspective it would be super easy.  Instead, what most vendors do,
is to expose a digital PCM interface.  This is suboptimal in many ways:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;there is no mPCIe standard on which pins PCM should be exposed&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;no standard product (like laptop, router, ...) with mPCIe slot will have anything connected to those PCM
pins&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Furthermore, each manufacturer / modem seems to support a different subset of dialect of the PCM interface in
terms of&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;voltage (almost all of them are 1.8V, while mPCIe signals normally are 3.3V logic level)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;master/slave (almost all of them insist on being a clock master)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;sample format (alaw/ulaw/linear)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;clock/bit rate (mostly 2.048 MHz, but can be as low as 128kHz)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;frame sync (mostly short frame sync that ends before the first bit of the sample)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;endianness (mostly MSB first)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;clock phase (mostly change signals at rising edge; sample at falling edge)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It's a real nightmare, when it could be so simple.  If they implemented USB-Audio, you could plug a cellular
modem into any board with a mPCIe slot and it would simply work.  As they don't, you need a specially designed
mainboard that implements exactly the specific dialect/version of PCM of the given modem.&lt;/p&gt;
&lt;p&gt;By the way, the most "amazing" vendor seems to be u-blox.  Their Modems support PCM audio, but only the
solder-type version.  They simply didn't route those signals to the mPCIe slot, making audio impossible to use
when using a connectorized modem.  How inconvenient.&lt;/p&gt;
&lt;section id="summary"&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;If you want to access the audio signals of a cellular modem from software, then you either&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;have standard hardware and pick one very specific modem model and hope this is available sufficiently long during your application, or&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;build your own hardware implementing a PCM slave interface and then pick + choose your cellular modem&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On the Osmocom &lt;a class="reference external" href="https://osmocom.org/projects/mpcie-breakout/wiki"&gt;mpcie-breakout board&lt;/a&gt; and the &lt;a class="reference external" href="https://www.sysmocom.de/products/sysmoqmod/index.html"&gt;sysmocom
QMOD board&lt;/a&gt; we have exposed the PCM related pins on
2.54mm headers to allow for some separate board to pick up that PCM and offer it to the host system.  However,
such separate board hasn't been developed so far.&lt;/p&gt;
&lt;/section&gt;</description><category>electronics</category><category>gsm</category><category>lte</category><category>osmocom</category><category>sysmocom</category><guid>https://laforge.gnumonks.org/blog/20170902-cellular_modems-voice/</guid><pubDate>Fri, 01 Sep 2017 16:00:00 GMT</pubDate></item><item><title>Returning from TelcoSecDay 2017 / General Musings</title><link>https://laforge.gnumonks.org/blog/20170321-telcosecday-2017/</link><dc:creator>Harald Welte</dc:creator><description>&lt;p&gt;I'm just on my way back from the &lt;cite&gt;Telecom Security Day 2017
&amp;lt;https://www.troopers.de/troopers17/telco-sec-day/&amp;gt;&lt;/cite&gt;, which is an
invitation-only event about telecom security issues hosted by ERNW
back-to-back with their &lt;cite&gt;Troopers 2017 &amp;lt;https://www.troopers.de/troopers17/&amp;gt;&lt;/cite&gt;
conference.&lt;/p&gt;
&lt;p&gt;I've been presenting at TelcoSecDay in previous years and hence was
again invited to join (as attendee).  The event has really gained quite
some traction.  Where early on you could find lots of IT security /
hacker crowds, the number of participants from the operator (and to
smaller extent also equipment maker) industry has been growing.&lt;/p&gt;
&lt;p&gt;The quality of talks was great, and I enjoyed meeting various familiar
faces.  It's just a pity that it's only a single day - plus I had to
head back to Berlin still today so I had to skip the dinner + social
event.&lt;/p&gt;
&lt;p&gt;When attending events like this, and seeing the interesting hacks that
people are working on, it pains me a bit that I haven't really been
doing much security work in recent years.  netfilter/iptables was at
least somewhat security related.  My work on OpenPCD / librfid was
clearly RFID security oriented, as was the work on airprobe,
OsmocomTETRA, or even the &lt;a class="reference external" href="https://media.ccc.de/v/27c3-4036-en-reverse_engineering_a_real_word_rfid_payment_system"&gt;EasyCard payment system hack&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I have the same feeling when attending Linux kernel development related
events.  I have very fond memories of working in both fields, and it was
a lot of fun.  Also, to be honest, I believe that the work in Linux
kernel land and the general IT security research was/is appreciated much
more than the endless months and years I'm now spending my time with
improving and extending the Osmocom cellular infrastructure stack.&lt;/p&gt;
&lt;p&gt;Beyond the appreciation, it's also the fact that both the IT security
and the Linux kernel communities are much larger.  There are more
people to learn from and learn with, to engage in discussions and
ping-pong ideas.  In Osmocom, the community is too small (and I have the
feeling, it's actually shrinking), and in many areas it rather seems
like I am the "ultimate resource" to ask, whether about 3GPP specs or
about Osmocom code structure.  What I'm missing is the feeling of being
part of a bigger community.  So in essence, my current role in the "Open
Source Cellular" corner can be a very lonely one.&lt;/p&gt;
&lt;p&gt;But hey, I don't want to sound more depressed than I am, this was
supposed to be a post about TelcoSecDay.  It just happens that attending
IT Security and/or Linux Kernel events makes me somewhat gloomy for the
above-mentioned reasons.&lt;/p&gt;
&lt;p&gt;Meanwhile, if you have some interesting projcets/ideas at the border
between cellular protocols/systems and security, I'd of course love to
hear if there's some way to get my hands dirty in that area again :)&lt;/p&gt;</description><category>cellular</category><category>gsm</category><category>lte</category><category>security</category><category>telecom</category><guid>https://laforge.gnumonks.org/blog/20170321-telcosecday-2017/</guid><pubDate>Tue, 21 Mar 2017 10:00:00 GMT</pubDate></item></channel></rss>