postmarketOS

Wifi

This is heavily work in progress - if you're working on this, make sure to join the IRC/matrix channel and to extend this wiki page with everything you find out.

General information

To get wireless LAN working, most WiFi chips need a proprietary firmware blob. While it would be more secure to replace that with open source software in the long term, it isn't feasible right now, so we try to get it working with that closed source firmware. A great place to start looking for information about many available WiFi chips is this kernel.org page. It often provides driver sources and the required firmware blobs as well.

Android

We haven't quite figured it out yet, but for starters you need to [[find the WiFi firmware|How-to-find-device-specific-information#firmware-files]], make sure it gets installed and adjust the path in your kernel config (see #122). Some firmwares need additional config files with calibration data, these can usually be found in the LineageOS or Google repositories.

Wifi is working for the [[i9070|Samsung-i9070-(Samsung-Galaxy-S-Advance)]], all steps are listed on the device's wiki page! (see PR #138) (Feel free to put them here in a more generic way)

Debugging

First find the wifi device name with ip link. This is wlan0 on most phones. Try to start the wlan interface with ip link set wlan0 up. This will most likely end with an error. Now to get the detailed error from the driver/firmware start dmesg and search for the relevant log lines. Here you will find errors about possible missing firmware and the filename that it wants.

Path to firmware

Usually your Android kernel expects the firmware files to be in a folder like /system/vendor/firmware and you need to patch the kernel and change the path to /lib/firmware/postmarketos (see this patch. Sometimes there is no need to patch, but simply change a kernel option that defines this path.