Intel Cannon Point-LP CNV1 wifi?

Returning to BSD after 25 years (altho' MacOS is not that far away from BSD) I've had to settle on Debian to get some work done. I've got FreeBSD_12.1_RELEASE running in VirtualBox and I can run nearly all the user applications I need. But when attempting to install on bare metal it seems I may have made a bad choice of hardware: Huawei Matebook-13S. The graphics ought to be covered by the i915 included in graphics/drm-kmod, but to get there I need a network connection. Yes I've got a TL-WN723N-v2 usb dongle but I don't want to start thread drift about that. I'm not really a programmer, only a part-time masseuse of Makefiles... I've started to read Thread a-guide-for-intel-wireless-adapter-ac-9260-and-9560-driver-installation-on-freebsd-12-1.74475 I'd like to offer myself for beta testing or any other useful thing I could do, am I presumptuous in thinking 9260 is replaced by 9df0 on my system? Or should I just sit and wait as suggested by rtw88: RTL8821CE 802.11ac PCIe Wireless Network Adapter support ? fwiw my wifi reports itself as
Code:
$ pciconf -lcvV
...
none4@pci0:0:20:3:   class=ox028000   card=0x20348086   chip=0x9df08086   rev=0x30   hdr=0x00
vendor         = 'Intel Corporation'
device         = 'Cannon Point-LP CNV1 [ Wireless-AC ]
class          = network
cap 01[c8]  = powerspec  3  supports D0 D3   current D0
cap 05[d0] = MSI supports   1 message, 64 bit
cap 10[40] = PCI-Express 2 root end point max data 128(128)  FLR RO NS
cap 11[80] = MSI-X supports 16 messages, enabled
               Table in map 0x10[0x2000],  PBA in map 0x10[0x3000]
ecap 0000[100] = unknown 0
ecap 0018[14c] = LTR 1
ecap 000b[164] = Vendor 1 ID 16
...

lspci -vv on Debian gives the same, maybe more, in a different language...
 
none4@pci0:0:20:3: class=ox028000 card=0x20348086 chip=0x9df08086 rev=0x30 hdr=0x00

The Intel Cannon Point-LP CNV1 wifi is a Intel 9000 series, 9560 in this case, device. From Linux kernel source iwlwifi driver:
Rich (BB code):
/* 9000 Series */
.....
{IWL_PCI_DEVICE(0x9DF0, PCI_ANY_ID, iwl9560_trans_cfg)},

That wifi device is not supported under 12.1-RELEASE, but on development versions 12.2-BETA1 and 13.0-CURRENT) by the iwm(4) driver [1] [2]. You should prefer 12.2-BETA1 over -CURRENT, the latter is not supported on Forums and it can breake from revision to revision:

 
Thank you Sirs. The 13_CURRENT looks exciting but will take me a few days to get organized in my low bandwidth environment here. I had found another thread (didn't bookmark, can't refind :( where it was claimed 12.2_BETA1 worked for him. So I got the _boot-only.iso to try. Yes, the installer found my wifi as
iwm0 Intel(R) Dual Band Wireless-AC 9560. It configured dhcp sensibly, contacted the server and downloaded the minimum kernel and base, but seemed rather slow. Sorry I can't tell whether that was misconfiguration or upstream throttling. I'm confused about 9560 versus 9df0. I saw some complaints on bugzilla about the confusion between marketing names and device names.

Further info: this 12.2_BETA_boot-only.iso can find my wifi only after a cold startup. Warm restart, either from Debian or from this .iso on a usb stick, has no network adapter found...

Another problem: after the boot-only installer finished and rebooted, I had no network. As in ifconfig reported only lo0. If I used the iso as Live-CD it did not find my wifi. I assume the installer script is loading every driver in the box until it finds one that works, and the Live-CD waits for the user to load one manually. So why can't the installer write the necessary instructions to the installed system disk?

Then what does this hw-probe mean on a Lenovo ThinkPad T590 20N4CT ?
 
Further info: this 12.2_BETA_boot-only.iso can find my wifi only after a cold startup. Warm restart, either from Debian or from this .iso on a usb stick, has no network adapter found...

Another problem: after the boot-only installer finished and rebooted, I had no network. As in ifconfig reported only lo0. If I used the iso as Live-CD it did not find my wifi.

There seems to be some bugs with the iwm(4) driver on 12.2-BETAx:
For the speed problem see Comment 9.

[EDIT]

Then what does this hw-probe mean on a Lenovo ThinkPad T590 20N4CT ?
What exactly do you want to know?
 
What exactly do you want to know?
1. hw-probe on a Lenovo ThinkPad T590 20N4CT seems to indicate that with the exact same wifi 8086:9df0:8086:0034 running FreeBSD 12.1-STABLE his wifi works. Why?
2. What is the relation (if any) between 9560 and 9df0?

There seems to be some bugs with the iwm(4) driver on 12.2-BETAx:
Yes, exactly my problem, and I've got more similar. I will add to that bug report. My problem appears to be related to whatever is plugged into the USB Type3 port.
 
1. hw-probe on a Lenovo ThinkPad T590 20N4CT seems to indicate that with the exact same wifi 8086:9df0:8086:0034 running FreeBSD 12.1-STABLE his wifi works. Why?
The status says "works" but with a warning sign under. If you hover the mouse over the cell a text window is shown "This device model is known to have problems".

2. What is the relation (if any) between 9560 and 9df0?
9560 is the vendors product name, 9df0 the chips identification.
 
Thank you T-Daemon. Sorry I have another silly question: I've RTFM and Googled, but can't find how to get dmesg or something else to show me the boot log with timestamps in microseconds. less /var/log/messages gives a prettified human readable form with Date-Time-Hostname-OS prefixed to every line, but accurate only to one second.
 
Sorry I have another silly question: I've RTFM and Googled, but can't find how to get dmesg or something else to show me the boot log with timestamps in microseconds. less /var/log/messages gives a prettified human readable form with Date-Time-Hostname-OS prefixed to every line, but accurate only to one second.
That's not a silly question, that's a very good one.

syslogd(8)
Code:
-O    format
         Select the    output format of generated log messages.  The values
         bsd and rfc3164 are used to generate RFC 3164 log messages.  The
         values syslog and rfc5424 are used    to generate RFC    5424 log mes-
         sages, having RFC 3339 timestamps with microsecond    precision.
         The default is to generate    RFC 3164 log messages.
Set in /etc/rc.conf:
Code:
syslogd_flags="-s -O syslog"
or 
syslogd_flags="-s -O rfc5424"

This overrides the syslogd flags in /etc/defaults/rc.conf, /var/log/messages will now show the time stamps down to the microsecond.
 
Set in /etc/rc.conf:
Code:
syslogd_flags="-s -O syslog"
Indeed it does, for 12.1-RELEASE as a Vbox guest. But for 12.2-BETA on the SSD it does nothing. Ah well, such are the perils of beta software... I was trying to pin down a race | contention issue that seems to be happening, if a probe on the USB bus happens while the iwm firmware is loading, then the load fails. uhub0 is a PCI-e device, but there ought to be locks to prevent bad things happening...
 
But for 12.2-BETA on the SSD it does nothing.
Please check for typos. On a VirtualBox VM installation the syslog flag has the expected result, notice uname and grep down below:

12.2-syslogd.jpeg


I don't think the behavior is different on a bare-metal installation.
 
Must be one of those warm reboot things. After shutting down and leaving it off overnight I get the microsecond display. Now, back to the original problem: From warm reboot, or cold start with anything in the left hand TypeC USB port which is the one that accepts power-in charging, and/or video out, there is a probe on the USB bus while the iwm firmware is loading and the loading fails:
Code:
...
3.170208 - - - random: entropy device external interface
3.170210 - - - wlan: <802.11 Link Layer>
3.170212 - - - snd_unit_init() u=0x00ff8000 [512] d=0x00007c00 [32] c=0x000003ff [1024]:
3.170214 - - - feeder_register: snd_unit=-1 snd_maxautovchans=16 latency=2 feeder_rate_min=1 feeder_rate_max=2016000 feeder_rate_round=25
3.170218 - - - firmware: 'iwm9260fw' version 0: 2678092 bytes loaded at 0xffffffff824f3000
3.170220 - - - kbd: new array size 4
3.170222 - - - kbd1 at kbdmux0:
...
3.172203 - - - pci0:0:20:3: reprobing on driver added
3.172206 - - - iwm0: <Intel(R) Dual Band Wireless AC 9560> mem 0x94218000-0x9421bfff at device 20.3 on pci0
3.172209 - - - iwm0: attempting to allocate 1 MSI vectors (1 supported)
3.172211 - - - msi: routing MSI IRQ 272 to local APIC 2 vector 50
3.172213 - - - iwm0: using IRQ 272 for MSI
3.172215 - - - firmware: 'iwm9000fw' version 0: 2678284 bytes loaded at 0xffffffff8486c000
3.172218 - - - uhub0: 18 ports with 18 removable, self powered
3.172220 - - - ugen0.2: <Azurewave HD Camera> at usbus0
3.172222 - - - ugen0.3: <vendor 0x8087 product 0x0aaa> at usbus0
3.172224 - - - ng_ubt: HCI command 0xfc05 timed out
3.172226 - - - ubt0 on uhub0:
3.172229 - - - ubt0: <vendor 0x8087 product 0x0aaa, class 224/1, rev 2.00/0.02, addr 2> on usbus0
3.172231 - - - iwm0: fw chunk addr 0x404000 len 712 failed to load
3.172233 - - - iwm0: iwm_pcie_load_section: Could not load the [0] uCode section
3.172235 - - - iwm0: iwm_start_fw: failed 60
3.172237 - - - iwm0: Failed to start INIT ucode: 60
3.172240 - - - found->:vendor=0x8086, dev=0x9de8, revid=0x30
3.172242 - - -     domain=0, bus=0, slot=21, func=0
....
3.172491 - - - ppc1: cannot reserve I/O port range
3.172497 - - - lo0: link state changed to UP
3.172503 - - - WARNING: attempt to domain_add(bluetooth) after domainfinalize()
3.172506 - - - WARNING: attempt to domain_add(netgraph) after domainfinalize()
3.241009 - - - Linux x86-64 ELF exec handler installed:
3.310499 - - - ntpd 4.2.8p15-a (1): Starting
...
If the machine is started from power off, with nothing in either usb port it loads iwm and connects to the access point
Code:
...
53.361735 - - - random: entropy device external interface
53.361737 - - - wlan: <802.11 Link Layer>
53.361739 - - - snd_unit_init() u=0x00ff8000 [512] d=0x00007c00 [32] c=0x000003ff [1024]
53.361741 - - - feeder_register: snd_unit=-1 snd_maxautovchans=16 latency=2 feeder_rate_min=1 feeder_rate_max=2016000 feeder_rate_round=25
53.361745 - - - firmware: 'iwm9260fw' version 0: 2678092 bytes loaded at 0xffffffff8251c000
53.361747 - - - kbd: new array size 4
...
53.363676 - - - pci0:0:20:3: reprobing on driver added
53.363678 - - - iwm0: <Intel(R) Dual Band Wireless AC 9560> mem 0x94218000-0x9421bfff at device 20.3 on pci0
53.363680 - - - iwm0: attempting to allocate 1 MSI vectors (1 supported)
53.363682 - - - msi: routing MSI IRQ 272 to local APIC 2 vector 50
53.363684 - - - iwm0: using IRQ 272 for MSI
53.363686 - - - firmware: 'iwm9000fw' version 0: 2678284 bytes loaded at 0xffffffff8486c000
53.363688 - - - iwm0: hw rev 0x310, fw ver 34.3125811985.0, address xx:xx:xx:xx:xx:xx
53.363690 - - - iwm0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
53.363692 - - - iwm0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
53.363694 - - - iwm0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
53.363696 - - - found->:vendor=0x8086, dev=0x9de8, revid=0x30
...
53.363925 - - - wlan0: bpf attached
53.363927 - - - last message repeated 1 times
53.363928 - - - wlan0: Ethernet address: xx:xx:xx:xx:xx:xx
53.363932 - - - lo0: link state changed to UP
53.363936 - - - uhub0: 18 ports with 18 removable, self powered
53.363938 - - - ugen0.2: <Azurewave HD Camera> at usbus0
53.363940 - - - ugen0.3: <vendor 0x8087 product 0x0aaa> at usbus0
53.363942 - - - wlan0: link state changed to UP
06.101037 - - - Linux x86-64 ELF exec handler installed
06.176321 - - - ntpd 4.2.8p15-a (1): Starting
...
The wifi and the usb controller share close PCI addresses
Code:
pciconf -lBvV
xhci0@pci0:0:20:0:    class=0x0c0330 card=0x3e0919e5 chip=0x9ded8086 rev=0x30 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Cannon Point-LP USB 3.1 xHCI Controller'
    class      = serial bus
    subclass   = USB
none3@pci0:0:20:2:    class=0x050000 card=0x3e0919e5 chip=0x9def8086 rev=0x30 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Cannon Point-LP Shared SRAM'
    class      = memory
    subclass   = RAM
iwm0@pci0:0:20:3:    class=0x028000 card=0x20348086 chip=0x9df08086 rev=0x30 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Cannon Point-LP CNVi [Wireless-AC]'
    class      = network
But I don't (yet) accept that the problem is my hardware, as other people with other machines are having the same trouble.
 
The place to report such findings are the bug reports and the freebsd-wireless mailing list. Forums here are less frequented by FreeBSD developers, they are on mailing lists and Bugzilla. It's more likely your findings get noticed there than here. If you have to show lengthy standard output in Bugzilla add it / them as attachment.
 
Back
Top