Fixing FreeBSD Issues (Wifi, Webcam, Suspend, etc)



Last Updated:

bsd thinkpad

Wifi

My Wi-Fi card is an IntelĀ® Wi-Fi 6E AX210. Obivously I do not expect to wi-fi 6 on this thing, wi-fi is notoirously an issue with FreeBSD. Officially FreeBSD can support networks up to 802.11n (Wi-Fi 4 from 2008) while 802.11ac (Wi-Fi 5) is still in development. So not planning for very fast wi-fi spends.

First you need to manually configure the network card to an interface if you did not do that in the install, which I did not.

First identify your device with the command sysctl net.wlan.devices. My device is called iwlwifi0

Then create an interface for that device: ifconfig wlan0 create wlandev iwlwifi0. If you run ifconfig you should see wlan0 now.

Run ifconfig wlan0 up scan to see all the available networks.

To connect to a WPA/WPA2 network now we need to use wpa_suppliant. Edit /etc/wpa_supplicant.conf and an entry like this for your network:

network={
    ssid="myssid"
    psk="mypsk"
}

Then run the follow commands to edit your /etc/rc.conf and enable connection to this network on startup.token

wlans_iwlwifi0="wlan0"
ifconfig_wlan0="WPA SYNCDHCP"

The first command will be different depending on your network device, if for example you have an Atheros card instead of Intel it’ll be something like wlans_ath0="wlan0"

And then you’ll get an error that DHCP failed if you’re an idiot like me and and mispelled your PSK. But after you should be able to connect and yay! Super slow internet speeds.

For improved wi-fi speeds I might try wifibox. What this project does is a run a small Linux VM and use PCI pass-through to use Linux’s good wifi drivers to get good wifi speeds. Sounds wild but it works.

Reference

Attempting to Fix X Screen Tearing

Added to my xorg config at /usr/local/etc/X11/xorg.conf/98-tearfree.conf

Section "Device"
  Identifier  "Intel Graphics"
  Driver      "intel"
  Option "TearFree" "True"
EndSection

After this X failed to start because the driver ‘intel’ wasn’t found. I install xf86-video-intel to fix this, and then whe I boot into the desktop, if anything it looked like the screen tearing got worse. And the window was slow to move around.

Honestly, I’m going to give up right here on trying to fix screen tearing before. I’ve already gone through this a couple times on Linux and it has never been worth the effort to fix and I usually still have problems in the end. Switching to Wayland always fixes the issue and I have never had screen tearing problems on Wayland.

Trying Wayland

It doesn’t work on KDE. I don’t want to deal with screen tearing and already have enough computers running KDE anyway so trying Sway.

pkg install wayland seatd

seatd is also needed to provde non-root access.

You need to also add XDG_RUNTIME_DIR to your environment. I did this by adding export XDG_RUNETIME_DIR=/var/run/user/id -u`` to my ./profile

Sway

pkg install sway swayidle swaylock-effects foot bemnu

Useful Sway Applications

Removing KDE

sysrc sddm_enable=“NO” pkg delete sddm kde5 rmuser sddm pkg autoremove

Utilities

For now I’ve install wmenu to use as my menu and foot for my terminal emulator.

Brightness control

Install intel-backlight and use the intel_backlight command to control brightness

Conclusion

This is about where I stopped when I got bored of fixing issues with FreeBSD and just went back to Linux Mint. FreeBSD is still a really cool operating system though, I’m just not in the mood to really learn it right now. But I definitely will in the future.