https://vermaden.wordpress.com/2022/09/14/freebsd-cope-with-wifi-fuckup/ vermaden Another ${RANDOM} sysadmin sharing his experiences of work at IT industry. Menu Skip to content * Home * Posts * Archive * Projects * Donate * Contact [avatar-] FreeBSD Cope with WiFi Fuckup 4 Replies I really wanted the name of this article does not sound dramatically but I was not able to invent any other title ... none the less the wireless/WiFi topic can be problematic on the FreeBSD land. Its a known feat of FreeBSD that is does its job best at the server room and that laptop/desktop based configurations tend to need some 'love' to be usable. The worst thing of that part is lack of WiFi kernel drivers at all or slower then possible speed like 802.11g on 802.11n capable chips - often as old as 11 years old Intel Ultimate-N 6300 450Mbps card that runs only at 802.11g speed on FreeBSD. The aim of this article is to show you the alternatives and possibilities when it comes to wireless and/or WiFi problems that you may encounter on FreeBSD UNIX system. Replace Unsupported Hardware Assuming your laptop came with WiFi card that is not supported at all by FreeBSD drivers - one of the options can be to replace the mSATA or M.2 card with the supported one. It may be difficult because of BIOS blacklisting/whitelisting so there is possibility that it may be needed to flash your laptop/system with a hacked BIOS that does not have this blacklisting/whitelisting and allows ALL possible chips to be installed into it. This may be sometimes not possible of course and it really PITA that some/many manufacturers create such blacklisting/whitelisting bullshit without any reasonable reason then money heist. Tiny USB WiFi Dongle If your WiFi card is not supported at all and its not possible to replace it with mSATA and/or M.2 WiFi chip then you may use some tiny USB WiFi dongle with - for example - Realtek RTL8188CUS chip - which is supported on FreeBSD. While the chip itself is 802.11n 150Mbps capable the FreeBSD drivers only support 802.11g mode on it - but its still better then none connectivity at all. Such tiny USB dongle can be shown below. realtek The more in depth article about that Realtek RTL8188CUS chip is available here - Realtek RTL8188CUS - USB 802.11n WiFi Review - in one of my earlier articles. Smartphone USB Tethering One of the alternative possibilities is to use your smartphone with USB cable to provide the Internet connection. The main benefit of this approach is that you probably always have your smartphone with you anyway. The only additional needed/missing part is the USB cable (which is not that a problem anyway once you order it). This comes handy in more then one way. The first and obvious way is to just use that smartphone with USB cable attached to your FreeBSD to provide Internet connection no matter if that smartphone provides that connection using LTE/4G connection or WiFi connection to some WiFi hotspot. Another reason why this setup comes handy is when you have your WiFi chipset supported ... and still are not able to connect to some WiFi hotspot. Recently I was at my buddy's home where he had open WiFi network available. My phone connected to it without a problem but FreeBSD with 11 years old Intel 6300 card ... was not able to connect to it no matter what. To be precise the wpa_supplicant(8) showed the CTRL-EVENT-CONNECTED status but the dhclient was not able to get the IP for some reason. This is where my smartphone came handy as it was able to connect to that open unencrypted network and FreeBSD used it by the USB tethering method. Below I will show you how to use the USB tethering on FreeBSD. The first thing is to attach your smartphone by USB cable to your FreeBSD system. After you have done that you will need to configure your smartphone to enable USB tethering. Below you will find such configuration for Android smartphone. usb-tethering After you have chosen these settings you wull see the ue0 device in your ifconfig(8) interfaces listing. % ifconfig em0: flags=8c22 metric 0 mtu 1500 options=481249b ether f0:de:f1:68:bc:ab media: Ethernet autoselect status: no carrier nd6 options=29 lo0: flags=8049 metric 0 mtu 16384 options=680003 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 inet 127.0.0.1/8 groups: lo nd6 options=21 vboxnet0: flags=8802 metric 0 mtu 1500 ether 0a:00:27:00:00:00 media: Ethernet autoselect status: active nd6 options=29 ue0: flags=8802 metric 0 mtu 1500 ether 02:2a:71:6a:08:01 nd6 options=29 The next (and last) step is to use dhclient(8) daemon to acquire the IP address using DHCP. Here is the command I used. # dhclient ue0 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 4 DHCPOFFER from 192.168.73.209 DHCPREQUEST on ue0 to 255.255.255.255 port 67 DHCPACK from 192.168.73.209 bound to 192.168.73.16 -- renewal in 1799 seconds. You can now test your connection with ping(8) command for example. % ping -c 1 e.pl PING e.pl (195.46.43.240): 56 data bytes 64 bytes from 195.46.43.240: icmp_seq=0 ttl=53 time=65.638 ms --- e.pl ping statistics --- 1 packets transmitted, 1 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 65.638/65.638/65.638/0.000 ms You can now see that you got the needed IP address on your ue0 interface. % ifconfig ue0 ue0: flags=8843 metric 0 mtu 1500 ether 02:2a:71:6a:08:01 inet 192.168.73.16/24 broadcast 192.168.73.255 nd6 options=29 This means that your Internet connection over USB tethering is functional. One of the additional benefits of this approach is that USB connection also provides the power to your smartphone - which means that you only need one cable for both Internet connection and power for the smartphone device. Mobile Router with RJ45 Cable There is also additional option available and it provides similar possibilities to USB tethering - its using some mobile wireless router what would connect to LTE/4G network or some WiFi access point and will also have RJ45 socket so you will be able to connect to it with the RJ45 port on your laptop/desktop FreeBSD system. You can find many such devices in real cheap price such as Overmax 3G or RAVPower RP-WD03-BK to name some. They come in $15 to $30 price range which should be marked as affordable for most people. Additional bonus from these devices is that they also serve as powerbank function. Also being powered its not needed to also power them up all the time - as the often allow for whole day function on the battery itself. The Overmax 3G device is shown below. overmax-3g The RAVPower RP-WD03-BK is shown below. ravpower Bhyve wifibox VM There is also one additional way to get your WiFi connection - use bhyve(8) virtualization. With wifibox you will deploy Linux VM - and use Linux wireless drivers for the card that may be unsupported on FreeBSD system. It works because of bhyve(8) PCI passthrough feature. You just pass the WiFi card directly to Linux VM. The biggest advantage of wifibox is that everything is shipped in single FreeBSD package that can be easily installed and removed. You will just have to add wifibox package with pkg(8) - the FreeBSD package manager. It also comes with rc(8) service script that automatically starts that Linux VM upon FreeBSD boot - and stops gracefully on shutdown. Summary What works best? To be honest its still more convenient to use builtin WiFi chip even at slower 802.11g speeds then using any other methods described in this article. Next one is using the mobile router with RJ45 cable. The next one (and somewhat slower one) is the USB tethering method - but while slower I was able to successfully post that article using it - so its not a major drawback. At the least one is using the wifibox way. Its generally up to You - what makes less PITA for you. I of course hope that WiFi will get some more love in the FreeBSD land and that such 'strange' methods would not be needed to 'just' connect to the Internet. Regards. Share this: * Twitter * Facebook * Like this: Like Loading... Related This entry was posted in Uncategorized and tagged desktop, freebsd, laptop, usb, wifi, wireless on September 14, 2022 by vermaden. Post navigation - Valuable News - 2022/09/12 Valuable News - 2022/09/19 - 4 thoughts on "FreeBSD Cope with WiFi Fuckup" 1. [7baa5]theazimechproject September 15, 2022 at 7:43 am The Haiku OS community managed to use OpenBSD's WiFi drivers for their benefit recently, it'd be great if the FreeBSD Project or at least Desktop spins of it looked into that solution and at least tried. LikeLiked by 1 person Reply | 2. Pingback: Links 18/09/2022: Adobe Collapses 17% in a Day | Techrights 3. Pingback: Valuable News - 2022/09/19 | vermaden 4. Pingback: FreeBSD spravliaetsia s oshibkoi WiFi - BORAO.RU - Khoroshie novosti Leave a Reply Cancel reply Enter your comment here... [ ] Fill in your details below or click an icon to log in: * * * * Gravatar Email (required) (Address never made public) [ ] Name (required) [ ] Website [ ] WordPress.com Logo You are commenting using your WordPress.com account. ( Log Out / Change ) Twitter picture You are commenting using your Twitter account. ( Log Out / Change ) Facebook photo You are commenting using your Facebook account. ( Log Out / Change ) Cancel Connecting to %s [ ] Notify me of new comments via email. [ ] Notify me of new posts via email. [Post Comment] [ ] [ ] [ ] [ ] [ ] [ ] [ ] D[ ] Create a website or blog at WordPress.com [Close and accept] Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use. To find out more, including how to control cookies, see here: Cookie Policy * Follow Following + [avatar] vermaden Join 165 other followers [ ] Sign me up + Already have a WordPress.com account? Log in now. * + [avatar] vermaden + Customize + Follow Following + Sign up + Log in + Copy shortlink + Report this content + View post in Reader + Manage subscriptions + Collapse this bar Loading Comments... Write a Comment... [ ] Email (Required) [ ] Name (Required) [ ] Website [ ] [Post Comment] %d bloggers like this: [b]