Over the last week I’ve been working on a Linux driver for the RTL8723CS wifi chip (the one used in the Pinephone). This involves a lot of reading and writing code, as well as kernel builds. After a bit of fiddling and bugfixing to get them to work, envkernel.sh and clangd make this easier andContinue reading “Clangd and envkernel.sh”
Category Archives: Linux
IPv6 Multicast Routing for Syncthing discovery
By default, Syncthing instances send IPv4 broadcast and IPv6 multicast discovery packages into the local network to find each other. I have my router set up so wired and wireless interfaces are connected by routing, not bridged, so broadcasts can’t reach the other segment. With IPv6 multicast packets it should be possible to set upContinue reading “IPv6 Multicast Routing for Syncthing discovery”
Set Tab Width for Indentation in Emacs
I’ve been working with Strongswan for a while now and created a few patches to enhance conftest, the testing framework included in Strongswan. Like most software projects, Strongswan requires that patches adhere to their coding style. I wanted to configure my Emacs to take care of that, but only for the Strongswan source directory becauseContinue reading “Set Tab Width for Indentation in Emacs”
Not Just A Nokia Problem!
Death Twitches: Nokia Caught Wiretapping Encrypted Traffic From Its Handsets You’ve probably heard about the Nokia wiretapping thing already, but if not the link above will fill you in. This is another example why it is bad that phone manufacturers usually remain in control of phones after sale, and it’s not just a Nokia problem.Continue reading “Not Just A Nokia Problem!”
Multiple Network Devices in KVM
Recently I needed to build a test system at work which required a client to communicate with a server through a NAT router. I decided to assemble the system from three KVM-based virtual machines with tap networking. The router would get two network interfaces, and two bridge interfaces on the host connect server and clientContinue reading “Multiple Network Devices in KVM”
Simple NMOS Simulation with gEDA
Tutorial for simulation with gEDA and Gnucap: How to create the set of characteristic curves of an NMOS transistor
Good documentation can be funny
java.lang.System.nanoTime() is used to measure time spans as precisely as possible (if you actually get nanosecond precision depends on the platform). I just found a funny warning in the documentation: Differences in successive calls that span greater than approximately 292 years (263 nanoseconds) will not accurately compute elapsed time due to numerical overflow. I didn’tContinue reading “Good documentation can be funny”
Data rate limiting with Apache
Today I started to create a test environment for a not-yet-written video stream client. The problem: How do I create a HTTP live video stream to test? I tried ffserver, but it wouldn’t work. Icecast might be interesting, but the stream has to play on Android, which does not support Theora video. In the end,Continue reading “Data rate limiting with Apache”
Getting network interface information in Java
How to get all available interfaces on the local host in Java, with a few additional hints for Android.
Testing my Android SDK
After building my Android SDK, it is now time to learn how to write applications. I have quite a bit of experience with Java, but there’s a bunch of Android-specific stuff to take care of. Unlike the Android SDK build I complained about, the documentation about application development is easy to find and comprehensive. IContinue reading “Testing my Android SDK”