Mua hàng bằng cách gọi Hotline 0345-148-136.

Better WiFi on FreeBSD with Wifibox

bởi

trong

I used to run FreeBSD on my PC with an Ethernet connection, it was perfect without WiFi.

I was install FreeBSD on my laptop recently because I need to bring it with me on the way to my hometown.

The WiFi card on my laptop (Intel® Dual Band Wireless-AC 3160) is supported by FreeBSD (iwm, iwlwifi).

Unfortunately the driver (iwm, iwlwifi) did works but it was terrible slow and unreliable.

Then I found Wifibox from this report. I found some tutorials on internet too:

I was follow the first one. The setup was quite straight, it works perfect now.

I put wifibox_restart.sh in i3 config because I’m using FreeBSD+i3wm instead of GhostBSD. Maybe I’ll move it to cron.

$ doas pciconf -lv | grep -B3 -i wireless
    subclass   = SMBus
ppt0@pci0:6:0:0:	class=0x028000 rev=0x83 hdr=0x00 vendor=0x8086 device=0x08b3 subvendor=0x8086 subdevice=0x8470
    vendor     = 'Intel Corporation'
    device     = 'Wireless 3160'
$ cat /usr/local/etc/wifibox/bhyve.conf
# These are the default values for launching the bhyve(8) guest,
# please revisit them.

# Number of virtual CPUs allocated for the guest, which determines the
# count of concurrent execution threads.
cpus=1

# Maximum amount of memory allocated for the guest.  This is rather a
# conservative default, and it is worth considering to lower this
# value when possible.
memory=128M

# Change this to `yes` to activate the nmdm(4)-based console.  Usually
# this is not needed hence it is disabled by default.
console=yes

# The value of `passthru` has to match with the slot/bus/function of
# the wireless PCI device, which can be obtained from the output of
# the pciconf(8) tool.  THIS MUST BE SET otherwise the device will not
# be visible for the guest.  Expected format: "s/b/f", e.g."3/0/0" for
# the `pci0:3:0:0` device.
passthru=6/0/0
$ cat /etc/rc.conf
linux_enable="YES"
***
# wlan0 using wifibox
wifibox_enable="YES"
devmatch_enable="YES"
devmatch_blocklist="if_iwm if_iwlwifi"
ifconfig_wifibox0="SYNCDHCP"
background_dhclient_wifibox0="YES"
defaultroute_delay="0"
$ cat /usr/local/etc/wifibox/core.conf
# These are the default values that control the overall behavior of
# wifibox.

# Level of logging.  Verbosity increases in the following order.
#
# - none:  No messages are either displayed or logged.
# - error: Only error messages are displayed and logged.
# - warn:  Error and warning messages are displayed and logged.  That
#          is the default.
# - info:  Besides error and warning messages, informative messages
#          about the execution are logged.
# - debug: In addition to errors, warnings, and informative messages,
#          some extra information about the program's state is logged.
#          Useful for troubleshooting, but mostly makes sense when
#          read together with the source code.
loglevel=warn 
$ cat /usr/local/etc/wifibox/wpa_supplicant/wpa_supplicant.conf
# This is a placeholder file.  On how to create one, consult
# /usr/share/examples/etc/wpa_supplicant.conf or import an existing one
# from the /etc directory.

# Mind that the `ctrl_interface` parameter, when in use, has to be
# kept in sync with UDS pass-through definitions in uds_passthru.conf.
# The default values are aligned with these settings below.
#
#ctrl_interface=/var/run/wpa_supplicant
#ctrl_interface_group=0
#
# It is also recommended to enable write access for the clients that
# are connecting to wpa_supplicant from the host through the forwarded
# control socket.
#
#update_config=1

network={
 ssid="********"
 psk="********"
}
$ cat service/wifibox_restart.sh
#!/bin/sh
doas service routing restart
doas service netif restart wifibox0

Bình luận

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *