pgj / freebsd-wifibox

wifibox: Use Linux to drive your wireless card on FreeBSD
BSD 2-Clause "Simplified" License
159 stars 12 forks source link

New Motherboard Platform / NIC To Add #15

Closed thesunexpress closed 2 years ago

thesunexpress commented 2 years ago

Please add: ASUS ROG STRIX B550-I GAMING. This is an AM4 AMD Ryzen platform. The motherboard delivers with an Intel Wi-Fi 6 AX-200 M.2 NIC installed. Requires the addition of: hw.vmm.amdvi.enable=1 along with the usual pptdevs="{num}/{num}/{num}" to /boot/loader.conf

Been testing for about 4 weeks now, and have had 0 issues. Performance difference between using FreeBSD's if_iwlwifi.ko driver (limited to a/b/g modes) and wifibox is about 7x or 8x network speed, along with all the WiFi 6 AX features of course & 0 dropped frames. Currently mostly tested on FreeBSD 14-CURRENT due to the CPU being a 5600G APU and using the iGPU, which requires most recent drm-kmod -- in particular drm-devel-kmod-5.7-xxxx

pgj commented 2 years ago

That is great to hear about another working configuration! I created cdb565dd67f22efca39a11553e90ce0f552ab4b2 for this, please review it.

Interesting that you had to set hw.vmm.amdvi.enable explicitly. Is not this something that is managed by vmm(4) automatically? I never had to touch hw.vmm.iommu.enable for the activation of Intel VT-d. I am not using the loader.conf(5) entry either, I believe this is also something that vmm(4) does not require.

pgj commented 2 years ago

Hrm, https://wiki.freebsd.org/bhyve/pci_passthru says that AMD-Vi passthrough support is disabled by default. In that case, it might be worthwhile to mention on the man page.

thesunexpress commented 2 years ago

Indeed. This had me miffed as well. I suppose it because the Ryzen (AMD-Vi v1 or v2 ?) platform isn't as broadly adopted among BSD servers... or perhaps it is a memory-piracy mitigation strategy. In any case, inspecting dmesg -a very quickly led to the need to add it to loader.conf Ideally, I'd test it with 13-RELEASE and/or 13-STABLE as well, but I'd lose drm-devel-kmod support; which is outside my purposes. I suspect it probably works all the same however. I suppose it might best to mention in the man, to make it a clear distinction to any users from the start, to enable hw.vmm.amdvi.enable=1 & avoid having to go on a wild goose chase -- instead of there being a small "oh BTW this" note at the bottom of the manpage. I'm old-school, tend to look at all the caveats first, doubt there's many who do the same.

pgj commented 2 years ago

Okay, I have updated the manual page. I guess the issue can now be closed.