Hi,

it’s about time for an update on the Intel WiFi and 11ac client project.

As you can read in the 2020Q2 status report [2] (once its out) as well,
the decision was to port over the dual-licensed native Linux driver
under BSD license and using linuxkpi rather than extending iwm(4) as
a first step.

By now most of the lower bits work fine enough so that we attach, can
load and run the firmware.  There is NO WIFI in this snapshot yet.

If you currently have a supported iwm(4) or unsupported Intel Wireless
card of the 7k/8k/9k/22k series (not the iwn(4) models) and want to help
testing you can use the branch at

https://github.com/bzfbd/freebsd-base/tree/iwlwifi

which is a FreeBSD CURRENT from July 4th, or download the last two commit
from there and apply them locally to your tree, compile, install, and
boot the new kernel, and then

kldload if_iwl

The driver will not be loaded automatically for you as we already do for
other drivers to avoid problems or conflicts.  Firmware will be loaded
automatically for you when you load the driver. You’ll hopefully see a
message (with a typo or two) like:

# kldload if_iwl
HOORAY IWLWIFI LOADED. Check dmesg for:
  iwlwifi0: loaded firmware version ...ucode op_mode iwlmvm
  iwlwifi0: Detected..
  iwlwifi0: base HW address..
lines. If you cannot find them please report back.
#

If you don’t get this printed something went wrong. If everything goes well, you’ll find your hardware address at the end of dmesg printed out,
which means the card was detected, a firmware loaded, and we can talk to
the hardware. That also means if your card was not yet supported, it’ll
be once the WiFi parts are done.

I have two sample dmesg outputs at the end of the email for you.  There
are a few “Failed”/“TODO” messages in there which you can ignore at this time. It’ll also try to load some firmware which doesn’t exist and that
is fine as well.


If you test and this does not work, that’s what I am really interested in at the moment. In that case can you please make sure to have bootverbose enabled [1] and send me the output of dmesg and `pciconf -lvBbceV` for the
Intel wireless card entry.


We are currently still leaking PCI resources on module unload, so you if
you unload and try to load another driver or reload if_iwl.ko it’ll fail. I suggest to do a reboot to clear up the test and then use FreeBSD as you
normally would.


Just to repeat again, there is no WiFi working yet in this snapshot, so
please don’t expect it yet. I’ll update-you when there is more to test
for that.


Thanks you any feedback!

Bjoern


[1] https://www.freebsd.org/doc/handbook/boot-introduction.html#boot-kernel
[2] https://www.freebsd.org/news/status/


dmesg sample outputs:


If you check dmesg you’ll see something along the lines of:

sysctl_warn_reuse: can't re-use a leaf (compat.linuxkpi.debug)!
Intel(R) Wireless WiFi driver for FreeBSD
iwlwifi0: <iwlwifi> mem 0x9e200000-0x9e203fff at device 0.0 on pci2
iwlwifi0: Failed to set affinity mask for IRQ 1
iwlwifi0: Failed to set affinity mask for IRQ 2
iwlwifi0: Failed to set affinity mask for IRQ 3
iwlwifi0: Failed to set affinity mask for IRQ 4
iwlwifi0: Failed to set affinity mask for IRQ 5
iwlwifi0: Failed to set affinity mask for IRQ 6
iwlwifi0: Failed to set affinity mask for IRQ 7
iwlwifi0: Failed to set affinity mask for IRQ 8
iwlwifi0: Failed to set affinity mask for IRQ 9
iwlwifi0: Failed to set affinity mask for IRQ 10
iwlwifi0: Failed to set affinity mask for IRQ 11
iwlwifi0: Failed to set affinity mask for IRQ 12
iwlwifi-cc-a0-56.ucode: could not load firmware image, error 2
iwlwifi0: File size way too small!
iwlwifi0: api flags index 2 larger than supported by driver
iwlwifi0: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.22
iwlwifi0: Found debug destination: EXTERNAL_DRAM
iwlwifi0: Found debug configuration: 0
iwlwifi0: loaded firmware version 55.d9698065.0 cc-a0-55.ucode op_mode iwlmvm
iwl-debug-yoyo.bin: could not load firmware image, error 2
iwl_mvm_rate_control_register XXX TODO
iwlwifi0: Detected Intel(R) Wi-Fi 6 AX200 160MHz, REV=0x340
iwlwifi0: base HW address: xx:xx:xx:xx:xx:xx
ng_ubt: HCI command 0xfc05 timed out


or (another card) on a machine with bootverbose=1 on the console you’d see:

# kldload if_iwl
sysctl_warn_reuse: can't re-use a leaf (compat.linuxkpi.debug)!
pci0: driver added
found-> vendor=0x8086, dev=0x2930, revid=0x02
        domain=0, bus=0, slot=31, func=3
        class=0c-05-00, hdrtype=0x00, mfdev=0
        cmdreg=0x0003, statreg=0x0280, cachelnsz=0 (dwords)
        lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
        intpin=c, irq=18
pci0:0:31:3: reprobing on driver added
pci1: driver added
found-> vendor=0x8086, dev=0x2723, revid=0x1a
        domain=0, bus=1, slot=0, func=0
        class=02-80-00, hdrtype=0x00, mfdev=0
        cmdreg=0x0006, statreg=0x0010, cachelnsz=8 (dwords)
        lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
        intpin=a, irq=16
        powerspec 3  supports D0 D3  current D0
        MSI supports 1 message, 64 bit
        MSI-X supports 16 messages in map 0x10
pci0:1:0:0: reprobing on driver added
iwlwifi0: <iwlwifi> mem 0xfe8fc000-0xfe8fffff irq 16 at device 0.0 on pci1
iwlwifi0: attempting to allocate 6 MSI-X vectors (16 supported)
msi: routing MSI-X IRQ 46 to local APIC 0 vector 55
msi: routing MSI-X IRQ 47 to local APIC 2 vector 52
msi: routing MSI-X IRQ 48 to local APIC 0 vector 56
msi: routing MSI-X IRQ 49 to local APIC 2 vector 53
msi: routing MSI-X IRQ 50 to local APIC 0 vector 57
msi: routing MSI-X IRQ 51 to local APIC 2 vector 54
iwlwifi0: using IRQs 46-51 for MSI-X
iwlwifi0: Failed to set affinity mask for IRQ 1
iwlwifi0: Failed to set affinity mask for IRQ 2
iwlwifi0: Failed to set affinity mask for IRQ 3
iwlwifi0: Failed to set affinity mask for IRQ 4
iwlwifi-cc-a0-56.ucode: could not load firmware image, error 2
iwlwifi0: File size way too small!
firmware: 'iwlwifi-cc-a0-55.ucode' version 55: 1219356 bytes loaded at 0xffffffff823a3000
iwlwifi0: api flags index 2 larger than supported by driver
iwlwifi0: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.22
iwlwifi0: Found debug destination: EXTERNAL_DRAM
iwlwifi0: Found debug configuration: 0
iwlwifi0: loaded firmware version 55.d9698065.0 cc-a0-55.ucode op_mode iwlmvm
iwl-debug-yoyo.bin: could not load firmware image, error 2
pci2: driver added
pci3: driver added
pci4: driver added
iwl_mvm_rate_control_register XXX TODO
Hiwlwifi0: Detected Intel(R) Wi-Fi 6 AX200 160MHz, REV=0x340
OORAY IWLWIFI LOADED. Check dmesg for:
  iwlwifi0: loaded firmware version ...ucode op_mode iwlmvm
  iwlwifi0: Detcted..
  iwlwifi0: base HW address..
lines. If you cannot find them please report back.
iwlwifi0: base HW address: xx:xx:xx:xx:xx:xx



_______________________________________________
freebsd-wireless@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-wireless
To unsubscribe, send any mail to "freebsd-wireless-unsubscr...@freebsd.org"

Reply via email to