Adam's blog: Creating safe WiFi abroad, Vol. 3

01 Jul 2023, 436 words

I have an old small laptop lying under my bed, let’s put some OpenWrt on it! (TL;DR: failure)

Picture of the running setup Picture of the final setup sent to me

My family went on a vacation to Croatia while I was finishing exams. The only sensible thing to do was to gear them up with a router that will protect them against all bad actors.

Setup & installation

The setup:



The overall process of installation was very positive and the only issue I had with the missing drivers was – for Ethernet – solved by downloading the package manually (for my generic x86 I had to download the driver from here – beware that the URL ends with /targets/x86/generic/packages/, otherwise you are on a wrong platform and the installation will fail). As to what driver to install, I have booted up Fedora Live, which showed me the correct driver name by executing lspci -vvv.

The wireless was a little more complicated, as I had to install much more packages. At least now I could use the web UI to install them, because my Ethernet connection was already working.

Wireless trouble

My first thought was to transform this laptop into a slave AP. Unfortunately, the on-board Intel card does not support AP mode. Oh well, I want to connect an external USB WiFi adapter anyway.

My second idea was to create an AP on the external adapter and use the internal card to connect to the host network/WAN. Ultimately, this was the same approach that I used last year. This has worked, but produced unpredictable bandwidth through-output (1-30 Mbit/s) with a threatening syslog message:

rtlwifi: -----hwsec_cam_bitmap: 0x0 entry_idx=X

This, unfortunately, is a known issue with some USB adapters without any sensible solution.

Real-world usage (fail)

Even with all the issues above, I have decided to set up a kill-switch OpenVPN connection and ship it with my family to Croatia. And it failed, miserably. During my testing setup, I have never used more than two connected devices at the same time. But, when everyone connected their devices, the CPU did not make it.