FreeBSD – Raspberry pi3 with WiFi


Raspberry Pi3 WiFi over USB nano dongle wireless IEEE802.11b/g/n 150 Mbit/s

Edimax EW-7811Un V2 Adaptateur Wi-Fi 4 nano (version 2)

Low price, but low performance with FreeBSD

FreeBSD pi3-freebsd 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC arm64

# add to file /etc/rc.conf
wlans_rtwn0="wlan0"
ifconfig_wlan0="WPA DHCP SYNC"
create_args_wlan0="country France"

# add to file /etc/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
country=FR
eapol_version=2
fast_reauth=1
network={
ssid="MySSID"
priority=0
key_mgmt=WPA-PSK
proto=WPA2
psk="MyPreSharedKey"
}
# add to file /boot/loader.conf
# pour clef WiFi - Realtek Edimax N150 Adapter RTL8188EU
if_rtwn_usb_load="YES"
if_rtwn_load="YES"
rtwn-rtl8188eufw_load="YES"
wlan_wep_load="YES"
wlan_tkip_load="YES"
wlan_ccmp_load="YES"
wlan_amrr_load="YES"
legal.realtek.license_ack=1

* REBOOT *

# ifconfig wlan0
root@pi3-freebsd:~ # ifconfig wlan0
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 08:be:ac:15:95:c7
inet 192.168.0.47 netmask 0xffffff00 broadcast 192.168.0.255
groups: wlan
ssid MySSID channel 8 (2447 MHz 11g ht/20) bssid b0:be:76:77:d6:3b
regdomain ETSI country F2 authmode WPA2/802.11i privacy ON
deftxkey UNDEF AES-CCM 2:128-bit txpower 30 bmiss 7 scanvalid 60
protmode CTS ht20 ampdulimit 64k ampdudensity 8 shortgi -stbc -ldpc
-uapsd wme roaming MANUAL
parent interface: rtwn0
media: IEEE 802.11 Wireless Ethernet MCS mode 11ng
status: associated
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
# ifconfig wlan0 list scan
SSID/MESH ID BSSID CHAN RATE S:N INT CAPS
MySSID ff:ff:ff:18:75:50 1 54M -84:-95 100 EPS RSN BSSLOAD HTCAP WME
MySSID ff:ff:ff:b2:42:14 11 54M -95:-95 100 EP RSN WPA WME
MySSID ff:ff:ff:dc:6b:ab 3 54M -95:-95 100 EP HTCAP RSN BSSLOAD WME WPS
MySSID ff:ff:ff:77:d6:3b 12 54M -76:-95 100 EPS RSN BSSLOAD HTCAP WME

# Low Performance 🙁

# Local IP is 192.168.0.4, GW 192.168.0.61, WiFi AP TP-Link ArcherC7

root@pi3-freebsd:~ # iperf3 -c 192.168.0.61 -w 1024K -p 9000 -R --get-server-output
Connecting to host 192.168.0.61, port 9000
Reverse mode, remote host 192.168.0.61 is sending
[ 5] local 192.168.0.47 port 58584 connected to 192.168.0.61 port 9000
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 2.89 MBytes 24.2 Mbits/sec
[ 5] 1.00-2.00 sec 2.77 MBytes 23.2 Mbits/sec
[ 5] 2.00-3.00 sec 2.83 MBytes 23.7 Mbits/sec
[ 5] 3.00-4.00 sec 2.77 MBytes 23.2 Mbits/sec
[ 5] 4.00-5.00 sec 2.76 MBytes 23.2 Mbits/sec
[ 5] 5.00-6.00 sec 2.76 MBytes 23.2 Mbits/sec
[ 5] 6.00-7.00 sec 2.83 MBytes 23.7 Mbits/sec
[ 5] 7.00-8.00 sec 2.94 MBytes 24.7 Mbits/sec
[ 5] 8.00-9.00 sec 2.78 MBytes 23.3 Mbits/sec
[ 5] 9.00-10.00 sec 2.84 MBytes 23.8 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.14 sec 29.2 MBytes 24.1 Mbits/sec 0 sender
[ 5] 0.00-10.00 sec 28.2 MBytes 23.6 Mbits/sec receiver

Server output:
-----------------------------------------------------------
Server listening on 9000 (test #4)
-----------------------------------------------------------
Accepted connection from 192.168.0.47, port 46405
[ 5] local 192.168.0.61 port 9000 connected to 192.168.0.47 port 58584
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 3.64 MBytes 30.6 Mbits/sec 0 267 KBytes
[ 5] 1.00-2.00 sec 2.75 MBytes 23.0 Mbits/sec 0 282 KBytes
[ 5] 2.00-3.00 sec 2.81 MBytes 23.6 Mbits/sec 0 296 KBytes
[ 5] 3.00-4.00 sec 2.76 MBytes 23.2 Mbits/sec 0 310 KBytes
[ 5] 4.00-5.00 sec 2.75 MBytes 23.0 Mbits/sec 0 322 KBytes
[ 5] 5.00-6.00 sec 2.75 MBytes 23.1 Mbits/sec 0 334 KBytes
[ 5] 6.00-7.00 sec 2.82 MBytes 23.6 Mbits/sec 0 346 KBytes
[ 5] 7.00-8.00 sec 2.92 MBytes 24.5 Mbits/sec 0 359 KBytes
[ 5] 8.00-9.00 sec 2.77 MBytes 23.2 Mbits/sec 0 370 KBytes
[ 5] 9.00-10.00 sec 2.83 MBytes 23.8 Mbits/sec 0 381 KBytes
[ 5] 10.00-10.14 sec 365 KBytes 21.7 Mbits/sec 0 381 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.14 sec 29.2 MBytes 24.1 Mbits/sec 0 sender