The independent security researcher Adam Gowdiak has published an extensive report on flaws he found in some eUICCs (the chips used to store eSIM profiles within the GSMA eSIM architecture). While the specific demonstrable exploit was in a product of one specific CardOS Vendor (Kigen, formerly part of ARM), the fundamental underlying issue is actually an architectural one. The Oracle Javacard…
I sincerely regret to see Linux kernel patches like this one removing Russian developers from the MAINTAINERS file . To me, it is a sign or maybe even a symbol of how far the Linux kernel developer community I remember from ~ 20 years ago has changed, and how much it has alienated itself from what I remember back in the day. In my opinion this commit is wrong at so many different levels: it is…
Some of the readers of this blog know that I have a very special relationship with Taiwan. As a teenager, it was the magical far-away country that built most of the PC components in all my PCs since my first 286-16 I got in 1989. Around 2006-2008 I had the very unexpected opportunity to work in Taiwan for some time (mainly for Openmoko, later some consulting for VIA). During that time I have…
During the preparation of my current brief visit to Taiwan, I've more or less by coincidence stumbled on several transcripts of oral history interviews with pioneers of the Taiwanese Chip and PC industry (click on the individual transcripts in the Related Records section at the bottom). They have been recorded, transcribed and translated in 2011 by the Computer History Museum under funding from…
I've presented a talk Introduction to XDP, eBPF and AF_XDP as part of the OsmoDevCon 2024 conference on Open Source Mobile Communications. This talk provides a generic introduction to a set of modern Linux kernel technologies: eBPF (extended Berkeley Packet Filter) is a kind of virtual machine that runs sandboxed programs inside the Linux kernel. XDP (eXpress Data Path) is a framework for eBPF…
I've presented a talk Using bpftrace to analyze osmocom performance as part of the OsmoDevCon 2024 conference on Open Source Mobile Communications. bpftrace is a utility that uses the Linux kernel tracing infrastructure (and eBPF) in order to provide tracing capabilities within the kernel, like uprobe, kprobe, tracepoints, etc. bpftrace can help us to analyze the performance of [unmodified]…
I've presented a talk Anatomy of the eSIM Profile as part of the OsmoDevCon 2024 conference on Open Source Mobile Communications. In the eSIM universe, eSIM profiles are the virtualised content of a classic USIM (possibly with ISIM, CSIM, applets, etc.). Let's have a look what an eSIM profile is: how is the data structured / organized? what data can be represented in it? how to handle features…
I've presented a talk Detailed workings of OTA for SIM/USIM/eUICC as part of the OsmoDevCon 2024 conference on Open Source Mobile Communications. Everyone knows that OTA (over the air) access to SIM cards exists for decades, and that somehow authenticated APDUs can be sent via SMS. But let's look at the OTA architecture in more detail: OTA transport (SCP80) over SMS, USSD, CellBroadcast, CAT-TP,…
I've presented a talk GlobalPlatform in USIM and eUICC as part of the OsmoDevCon 2024 conference on Open Source Mobile Communications. The GlobalPlatform Card Specification and its many amendments play a significant role in most real-world USIM/ISIM, and even more so in eUICC. The talk will try to provide an overview of what GlobalPlatform does in the telecommunications context. Topics include:…
I've co-presented a talk (together with Andreas Eversberg High-performance I/O using io_uring via osmo_io as part of the OsmoDevCon 2024 conference on Open Source Mobile Communications. Traditional socket I/O via read/write/recvfrom/sendto/recvmsg/sendmsg and friends creates a very high system call load. A highly-loaded osmo-bsc spends most of its time in syscall entry and syscall exit. io_uring…
I'm a strong proponent of self-hosting all your services, if not on your own hardware than at least on dedicated rented hardware. For IT nerds of my generation, this has been the norm sicne the early 1990s: If you wante to run your own webserver/mailserver/... back then, the only way was to self-host. So over the last 30 years, I've always been running a fleet of machines, some my own hardware…
I've presented about Datex-L, the German CSPDN (Circuit Switched Public Data Network) as part of the RetroNetCall talk series on retro-networking technology. You can find the video recording at https://media.ccc.de/v/retronetcall-20230201-laforge-datex-l-cspdn I've always been fascinated by "ancient" data communications - both the kind that I personally consciously witnessed from the late 1980s as…
I've presented about ISDN B-Channel protocols (X.75, V.120, V.110, T.70, ...) as part of the RetroNetCall talk series on retro-networking technology. You can find the video recording at https://media.ccc.de/v/retronetcall-20221207-laforge-isdn-b-channel-protocols Many people with some kind of telecom background are familiar with D-channel (signalling) protocols of ISDN, and you can find many…
I've presented an OCTOI project status update (Nov 2022) as part of the RetroNetCall talk series on retro-networking technology. You can find the video recording at https://media.ccc.de/v/retronetcall-20221109-laforge-octoi-status-update
I've presented an SIMtrace2 Tutorial - SIM protocol tracing: how and why as part of the OsmoDevCall talk series on Osmocom and related technology. You can find the video recording at https://media.ccc.de/v/osmodevcall-20221019-laforge-simtrace2-tutorial
I've mentioned some of my various retronetworking projects in some past blog posts. One of those projects is Osmocom Community TDM over IP (OCTOI) . During the past 5 or so months, we have been using a number of GPS-synchronized open source icE1usb interconnected by a new, efficient but strill transparent TDMoIP protocol in order to run a distributed TDM/PDH network. This network is currently only…
If you have ever worked with Digium (now part of Sangoma) digital telephony interface cards such as the TE110/410/420/820 (single to octal E1/T1/J1 PRI cards), you will probably have seen that they always have a timing connector , where the timing information can be passed from one card to another. In PDH/ISDN (or even SDH) networks, it is very important to have a synchronized clock across the…
Almost one year after my post regarding first steps towards a V5 implementation , some friends and I were finally able to visit Wobcom , a small German city carrier and pick up a lot of decommissioned POTS/ISDN/PDH/SDH equipment, primarily V5 access networks. This means that a number of retronetworking enthusiasts now have a chance to play with Siemens Fastlink, Nokia EKSOS and DeTeWe ALIAN access…
I'm happy to announce active participation at the Vintage Computing Festival Berlin 2022 in two ways: Running a retronetworking exhibit on Modem and ISDN dial-up Giving a talk on the Osmocom Community TDMoIP netwokr The exhibit will be similar to the exhibit at the retrocomputing village of the last CCC congress (36C3): A digital telephony network with ISDN BRI and POTS lines providing services to…
I've presented on Advanced SIM card topics: GlobalPlatform SCP02, OTA, ARA-M, ISIM as part of the OsmoDevCall talk series on Osmocom and related technology. You can find the video recording at https://media.ccc.de/v/osmodevcall-20220225-laforge-advanced-sim-topics
I've presented on Control/User Plane Separation (CUPS) and PFCP as part of the OsmoDevCall talk series on Osmocom and related technology. You can find the video recording at https://media.ccc.de/v/osmodevcall-20211125-laforge-cups-pfcp
I've presented on Retronetworking: V5 interfaces in ISDN/PSTN as part of the OsmoDevCall talk series on Osmocom and related technology. You can find the video recording at https://media.ccc.de/v/osmodevcall-20211228-laforge-retro-isdn-v5
I've presented on E1, TDM, PDH, SDH, Basics as part of the OsmoDevCall talk series on Osmocom and related technology. You can find the video recording at https://media.ccc.de/v/osmodevcall-20211112-laforge-tdm
I've presented on SIM card profile creation, personalization, production as part of the OsmoDevCall talk series on Osmocom and related technology. You can find the video recording at https://media.ccc.de/v/osmodevcall-20211022-laforge-sim
As some of you may know, I've been starting to collect "vintage" telecommunications equipment starting from analog modems to ISDN adapters, but also PBXs and even SDH equipment. The goal is to keep this equipment (and related software) alive for demonstration and practical exploration. Some [incomplete] information can be found at https://osmocom.org/projects/retro-bbs/wiki/ Working with PBXs to…
I've presented on osmo-remsim in practice as part of the OsmoDevCall talk series on Osmocom and related technology. You can find the video recording at https://media.ccc.de/v/osmodevcall-20210827-laforge-osmo-remsim
I've presented on GSM-R and how it differs from GSM as part of the OsmoDevCall talk series on Osmocom and related technology. You can find the video recording at https://media.ccc.de/v/osmodevcall-20210813-laforge-gsm-r
I've presented a talk High-Level intro to IMS, VoLTE & VoWiFi as part of the OsmoDevCall talk series on Osmocom and related technology. You can find the video recording at https://media.ccc.de/v/osmodevcall-20210723-laforge-ims-volte-vowifi
[excuse this German-language post, this is targeted at the current German public discourse] Ein paar Ergänzungen zu meinem blog-post gestern. Ich benutzt den generischen Begriff PWS statt SMSCB, weil SMSCB strikt genommen nur im 2G-System existiert, und nur ein Layer ist, der dort für Notfallalarmierung verwendet wird. Zu Notfallwarn-Apps Natürlich sind spezielle, nationale Deutsche…
[excuse this German-language post, this is targeted at the current German public discourse] In mehrerern Gegenden Deutschlands gab es verheerende Hochwasser, und die Öffentlichkeit diskutiert deshalb mal wieder die gute alte Frage nach dem adäquaten Mittel der Alarmierung der Bevölkerung. Es ist einfach nur ein gigantisches Trauerspiel, wie sehr die Deutsche Politik und Verwaltung in diesem Punkt…
I've presented a talk SS7 and SIGTRAN in 2G/3G networks as part of the OsmoDevCall talk series on Osmocom and related technology. You can find the video recording at https://media.ccc.de/v/osmodevcall-20210514-laforge-ss7-sigtran
I've presented a talk SS7 and SIGTRAN in 2G/3G networks as part of the OsmoDevCall talk series on Osmocom and related technology. You can find the video recording at https://media.ccc.de/v/osmodevcall-20210409-laforge-pysim-shell
I've presented a talk Osmocom 2020 review as part of the OsmoDevCall talk series on Osmocom and related technology. You can find the video recording at https://media.ccc.de/v/osmodevcall-20210312-laforge-overview-of-2020
At 36C3 in December 2019 I had the pleasure of presenting: One full talk about SIM card technology from A to Z and another talk where I presented together with eventphone team members about Security issues in the Mitel SIP-DECT system . The SIM card talk was surprisingly successful, both in terms of a full audience on-site, as well as in terms of the number of viewers of the recordings on…
After many years of being involved in various projects at the annual Chaos Communication Congress (starting from the audio/vidoe recording team at 15C3), I've finally also departed the GSM team, i.e. the people who operate (Osmocom based) cellular networks at CCC events. The CCC Camp in August 2019 was slightly different: Instead of helping an Osmocom based 2G/3G network, I decided to put up a…
Recently I had the pleasure of being part of the 3rd incarnation of a new podcast series by the Free Software Foundation Europe: The Software Freedom Podcast . In episode 3 , Matthias and Bonnie of the FSFE are interviewing me about various high-level topics related to [the lack of] Free Software in cellular telephony, as well as some of the projects that I was involved in (Openmoko, Osmocom).…
I'm currently working on the firmware for a new project, an 8-slot smart card reader. I will share more about the architecture and design ideas behind this project soon, but today I'll simply write about how hard it sometimes is to actually get software development done. Seemingly trivial things suddenly take ages. I guess everyone writing code knows this, but today I felt like I had to share this…
Back in December 2014 at 31C3, bunnie and xobs presented about their exciting Fernvale project , how they reverse engineered parts of the MT6260 ARM SoC, which also happens to contain a Mediatek GSM baseband. Thousands (at least hundreds) of people have seen that talk live. To date, 2506 people (or AIs?) have watched the recordings on youtube, 4859 more people on media.ccc.de. Given that Fernvale…
I recently was reading 3GPP TS 48.049 , the specification for the CBSP (Cell Broadcast Service Protocol), which is the protocol between the BSC (Base Station Controller) and the CBC (Cell Broadcast Centre). It is how the CBC according to spec is instructing the BSCs to broadcast the various cell broadcast messages to their respective geographic scope. While OsmoBTS and OsmoBSC do have support for…
It's been months without any update to this blog, and I feel sad about that. Nothing particular has happened to me, everything is proceeding as usual. At the Osmocom project we've been making great progress on a variety of fronts, including 3GPP LCLS (Local Call, Local Switch) Inter-BSC hand-over in osmo-bsc load Based hand-over in osmo-bsc reintroducing SCCPlite compatibility to the new BSC code…
Some time after Openmoko went out of business, they made available their USB Vendor IDs and IEEE OUI (Ethernet MAC address prefix) available to Open Source Hardware / FOSS projects. After maintaining that for some years myself, I was unable to find time to continue the work and I had handed it over some time ago to two volunteers. However, as things go, those volunteers also stopped to respond to…
Unfortunately, since about 11:30 am CEST on MAy 24, openmoko.org is down due to some power outage related issues at Hetzner , the hosting company at which openmoko.org has been hosting for more than a decade now. The problem seems to have caused quite a lot of fall-out tom many servers (Hetzner is hosting some 200k machines, not sure how many affected, though), and Hetzner is anything but verbose…
One of the difficulties with OsmoCon2017 last year was that almost nobody submitted talks / discussions within the deadline, early enough to allow for proper planning . This lad to the situation where the sysmocom team had to come up with a schedule/agenda on their own. Later on much after the CfP deadline,people then squeezed in talks, making the overall schedule too full. It is up to you to…
Recently I've encountered several occasions in which a FOSS project would have been interested in some reliable, independent mailing list hosting for their project communication. I was surprised how difficult it was to find anyone running such a service. From the user / FOSS project point of view, the criteria that I would have are: operated by some respected entity that is unlikely to turn…
One week ago, the annual Osmocom developer meeting ( OsmoDevCon 2018 ) concluded after four long and intense days with old and new friends (schedule can be seen here ). It was already the 7th incarnation of OsmoDevCon, and I have to say that it's really great to see the core Osmocom community come together every year, to share their work and experience with their fellow hackers. Ever since the…
Yesterday, during OsmoDevCon 2018 , Steve Markgraf released osmo-fl2k , a new Osmocom member project which enables the use of FL2000 USB-VGA adapters as ultra-low-cost SDR transmitters. How does it work? A major part of any VGA card has always been a rather fast DAC which generates the 8-bit analog values for (each) red, green and blue at the pixel clock. Given that fast DACs were very…
When developing applications that exchange data over sockets, every so often you'd like to analyze exactly what kind of data is exchanged over the socket. For TCP/UDP/SCTP/DCCP or other IP-based sockets, this is rather easy by means of libpcap and tools like tcpdump, tshark or wireshark. However, for unix domain socket, unfortunately no such general capture/tracing infrastructure exists in the…
Today, I took some time off to attend the court hearing in the appeal hearing related to a GPL infringement dispute between former netfilter colleague Partrick McHardy and Geniatech Europe I am not in any way legally involved in the lawsuit on either the plaintiff or the defendant side. However, as a fellow (former) Linux kernel developer myself, and a long-term Free Software community member who…
At the 34th annual Chaos Communication Congress , a team of Osmocom folks continued the many years old tradition of operating an experimental Osmocom based GSM network at the event. Though I've originally started that tradition, I'm not involved in installation and/or operation of that network, all the credits go to Lynxis, neels, tsaitgaist and the larger team of volunteers surrounding them. My…
As 2017 has just concluded, let's have a look at the major events and improvements in the Osmocom Cellular Infrastructure projects (i.e. those projects dealing with building protocol stacks and network elements for mobile network infrastructure. I've prepared a detailed year 2017 summary at the osmocom.org website, but let me write a bit about the most note-worthy topics here. NITB Split Once upon…