Feed Fritzing Blog [copy] https://feedmix.novaclic.com/atom2rss.php?source=https%3A%2F%2Fblog.fritzing.org%2Ffeed.xml has loading error: A feed could not be found at `https://feedmix.novaclic.com/atom2rss.php?source=https%3A%2F%2Fblog.fritzing.org%2Ffeed.xml`; the status code is `200` and content-type is `text/html`
Feed SparkFun Electronics [copy] http://www.sparkfun.com/feeds/news has loading error: cURL error 22: The requested URL returned error: 405
OsmoDevCon 2024: "Using bpftrace to analyze osmocom performance"
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] Osmocom programs and quickly provide information like, for example:
Histogram of time spent in a specific system call
Histogram of any argument or return value of any system call
You can find the video recording at https://media.ccc.de/v/osmodevcon2024-203-using-bpftrace-to-analyze-osmocom-performance
OsmoDevCon 2024: "Introduction to XDP, eBPF and AF_XDP"
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 that enables high-performance programmable packet processing in the Linux kernel
AF_XDP is an address family that is optimized for high-performance packet processing. It allows in-kernel XDP eBPF programs to efficiently pass packets to userspace via memory-mapped ring buffers.
The talk provides a high-level overview....
OsmoDevCon 2024: "GlobalPlatform in USIM and eUICC"
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:
security domains
key loading
card and application life cycle
loading and installation of applications
Secure Channel Protocols SCP02, SCP03
You can find the video recording at https://media.ccc.de/v/osmodevcon2024-173-globalplatform-in-usim-and-euicc
OsmoDevCon 2024: "Detailed workings of OTA for SIM/USIM/eUICC"
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, BIP
The new SCP81 transport (HTTPS via TLS-PSK)
how to address individal applications on the card via their TAR
common applications like RFM and RAM
custom applications on the card
OTA in the world of eUICCs
talking to the ECASD
talking to the ISD-R
talking to the ISD-P/MNO-SD or applications...
OsmoDevCon 2024: "Anatomy of the eSIM Profile"
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 provided by eUICC, how can the eSIM profile mandate some of them?
how does personalization of eSIM profiles work?
There is also hands-on navigation through profiles, based on the pySim.esim.saip module.
You can find the video recording at https://media.ccc.de/v/osmodevcon2024-174-anatomy-of-the-esim-profile
Оснащение домашней мастерской. Ввод в строй лабораторных электроприборов
Речь идёт о деревенской мастерской и освоении в ней азов электровакуумного дела. Небольшими силами и средствами. Попутно и кроме этого здесь занимаюсь и слесарными мелочами, пайкой, вознёй с химикатами и прочим в этом духе. Увы, оснащаться приходится по случаю и не самыми лучшими вариантами приборов, чиня их, регулируя и по возможности совершенствуя. Ниже описаны такого рода работы с магнитной мешалкой, ультразвуковой мойкой и дешёвым кондиционерно-холодильниковым вакуумным (форвакуумным) насосом. Читать дальше →
Neural Networks (MNIST inference) on the “3-cent” Microcontroller
Bouyed by the surprisingly good performance of neural networks with quantization aware training on the CH32V003, I wondered how far this can be pushed. How much can we compress a neural network while still achieving good test accuracy on the MNIST dataset? When it comes to absolutely low-end microcontrollers, there is hardly a more compelling target than the Padauk 8-bit microcontrollers. These are microcontrollers optimized for the simplest and lowest cost applications there are. The smallest device of the portfolio, the PMS150C, sports 1024 13-bit word one-time-programmable memory and 64 bytes of ram, more than an order of magnitude smaller...
OsmoDevCon 2024: "High-performance I/O using io_uring via osmo_io"
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 is a modern Linux kernel mechanism to avoid this syscall overhead. We have introduced the osmo_io`API to libosmocore as a generic back-end for non-blocking/asynchronous I/O and a back-end for our classic `osmo_fd / poll approach as well as a new backend for io_uring.
The talk will cover
a very basic io_uring...
Оживляем раритетный домофон с магнитным ключом
Приветствую всех!
Год назад я уже рассказывал про то, как работают домофоны с магнитным ключом. Но вот сейчас ко мне в руки попала ещё более старая панель от той же фирмы. И, как оказалось, про неё у меня тоже есть, что рассказать.
Итак, в сегодняшней статье вернём к жизни «Факториал» образца девяностых годов. Попутно разберёмся, чем он отличается от более новых собратьев и какую подставу иногда могут устроить на первый взгляд неубиваемые компоненты.
Традиционно будет много интересного.
Читать дальше →
Decapsulating the CH32V203 Reveals a Separate Flash Die
The CH32V203 is a 32bit RISC-V microcontroller. In the produt portfolio of WCH it is the next step up from the CH32V003, sporting a much higher clock rate of 144 MHz and a more powerful RISC-V core with RV32IMAC instruction set architecture. The CH32V203 is also extremely affordable, starting at around 0.40 USD (>100 bracket), depending on configuration.
An interesting remark on twitter piqued my interest: Supposedly the listed flash memory size only refers to a fraction that can be accessed with zero waitstate, while the total flash size is even 224kb. The datasheet indeed has a footnote claiming the same....