FreeBSD on the Framework Laptop

Author: Jonathan Vasquez <jon@xyinn.org>
Last Updated: 2024-09-15-1530
Currently On: Linux
Machine: Framework Laptop (Gen 1, Batch 6). Ordered on November 20, 2021.
BIOS: 3.20

Desktop (sway)

Thoughts

I highly recommend this machine for FreeBSD use. At this point everything works pretty well for every day use. There are still IO related performance issues due to the limited XHCI/Thunderbolt and 802.11 g/n network stack support, but this will continue to improve over time. With the machine being modular and repairable, having FreeBSD on this machine is icing on the cake.

Original Configuration

Upgrades and Replacements

The following upgrades and replacements have occurred since my initial purchase:

.. and I got a dbrand skin :D.

Other

Compiling -STABLE

On another note, it takes me about 1h7m to compile FreeBSD 14.1-STABLE with -j6. Intel P-States also hasn't been causing any issues and seems to be working correctly. I don't have powerd running but I can see the frequency dynamically changing with sysctl -a | grep freq:. The battery life seems to be lasting a long time as well so that also helps me confirm the p-state driver's benefit.

Compiling ports via Poudriere

The following settings have given me a nice sweet spot for compiling everything through poudriere, without causing swapping, out of memory issues, etc. This is with 32 GB of real memory. Swap is running on TMPFS so everything should be running in memory as well. The below settings is using ccache, and I've been experimenting with 3 builders running in parallel, and each builder can use 4 cores/jobs each. Since this is an 8 core processor, I wanted to minimize contention between CPU and RAM resources, but allow some slight contention, thus worse case scenario there is a total of 12 cores being used, which in my head I imagine that as 4/4 and the other 4 are basically overlapping within those 8 as resources are permitted by the scheduler. This should allow some of the cores to "breath a little", which still having good performance. Any big compilation packages that normally caused me swapping or out of memory issues (such as chromium) have been excluded from TMPFS and their workdir/data will be placed on disk. Even with these exclusions, I've been really happy with these settings so far. I'll update them as I keep optimizing the builders on this hardware. Tweak the below settings according to your requirements:

/usr/local/etc/poudriere.conf

ZPOOL=tank                                                                          
ZROOTFS=/poudriere                                                                  
BASEFS=/usr/local/poudriere                                                         
POUDRIERE_DATA=${BASEFS}/data                                                       
DISTFILES_CACHE=/usr/local/poudriere/distfiles                                      
CCACHE_DIR=/usr/local/poudriere/ccache                                              
FREEBSD_HOST=https://download.FreeBSD.org                                           
RESOLV_CONF=/etc/resolv.conf                                                        
USE_PORTLINT=no                                                                     
WRKDIR_ARCHIVE_FORMAT=txz                                                           

PARALLEL_JOBS=3                                                                     
ALLOW_MAKE_JOBS=yes                                                                 
MAX_EXECUTION_TIME=432000                                                           

USE_TMPFS=yes                                                                       
TMPFS_BLACKLIST="electron* node* rust* chromium* gcc* llvm*"                        
TMPFS_BLACKLIST_TMPDIR=${BASEFS}/data/cache/tmp 

/usr/local/etc/poudriere.d/make.conf

MAKE_JOBS_NUMBER=3

System Status Overview

Definitions

Test Report Results

via Anker PowerExpand+ 7-in-1 USB-C PD Ethernet Hub

Issues / Workarounds / Misc

Touchpad (Tapping / Scrolling / Right Click)

Losing gesture support after resuming from sleep

TLDR: Disable PS/2 Emulation in the BIOS.

There was an issue I was experiencing where the machine's touchpad would lose various gesture support (like scrolling, right clicks, middle clicks, etc). On Linux, this would happen after I resumed from sleep, and would require me to reload the hid-multitouch driver (via a script of course ;D). On FreeBSD, this also seems to happen but in my case I was simply rebooting sway a few times and my touchpad lost support. Doing a kldunload hmt caused the module to be unloaded by the kernel, and I noticed the kernel automatically reloaded it back, in this case, saving me a load call. After that the touchpad started working again. I re-investigated the issue and found this community thread and a post by framework.

Activating more gesture support (tapping, etc) in libinput

The second issue is that you still need to get the gestures (two finger tap (right click), tap to click, etc). I was able to do this by placing the following test into /usr/local/etc/X11/xorg.conf.d/40-libinput.conf:

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchDriver "libinput"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Option "Tapping" "on"
        #Option "AccelSpeed" "0.2"
EndSection
sway w/ Wayland

This is the sway equivalent of the above. Place this in your sway.conf:

input type:touchpad {
       dwt enabled
       tap enabled
       middle_emulation enable
       tap_button_map lrm
       scroll_method two_finger
}

Intel 400 Mhz Slowness Bug

I may have experienced this in the past, but I definitely experienced it after I did my recent upgrades (including the upgrade to the 61 Wh battery. Apparently it's an old Intel bug and for whatever reason I think me upgrading the battery triggered this bug to kick in. Essentially my computer got extremely slow immediately at boot. Everything took forever, POST, decrypting the drives with geli at the bootloader stage, kernel loading, and general desktop usage. After doing some research, it seems many others have experienced this bug. The solution recommended by frame.work community member Niko_Cantero worked for me. All I had to do was go into the BIOS, and trigger the [Battery Disconnect] option. Then I saved and exited, disconnected all my peripherals and just left the power cable. I then turned on the machine, the machine turned on and turned back off. After that the speeds were fixed. So far it hasn't gotten slow again. Below you can see my frequencies with the bug, and after (note, I was already on BIOS 3.20 when this happened):

sysctl -a | grep dev.cpu.[0-9] | grep freq: | sort -n

Before
--------
dev.cpu.0.freq: 398
dev.cpu.1.freq: 398
dev.cpu.2.freq: 398
dev.cpu.3.freq: 398
dev.cpu.4.freq: 398
dev.cpu.5.freq: 398
dev.cpu.6.freq: 398
dev.cpu.7.freq: 398

After
-------
dev.cpu.0.freq: 2492
dev.cpu.1.freq: 2839
dev.cpu.2.freq: 2549
dev.cpu.3.freq: 2839
dev.cpu.4.freq: 2609
dev.cpu.5.freq: 2833
dev.cpu.6.freq: 3238
dev.cpu.7.freq: 2692

Output

dmesg

---<<BOOT>>---
Copyright (c) 1992-2023 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
    The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 14.1-STABLE stable/14-n268593-d6271b6507b2 GENERIC amd64
FreeBSD clang version 18.1.6 (https://github.com/llvm/llvm-project.git llvmorg-18.1.6-0-g1118c2e05e67)
VT(efifb): resolution 2256x1504
CPU: 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz (2995.20-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x806c1  Family=0x6  Model=0x8c  Stepping=1
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x7ffafbff<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
  AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
  AMD Features2=0x121<LAHF,ABM,Prefetch>
  Structured Extended Features=0xf3bfa7eb<FSGSBASE,TSCADJ,BMI1,AVX2,FDPEXC,SMEP,BMI2,ERMS,INVPCID,NFPUSG,PQE,AVX512F,AVX512DQ,RDSEED,ADX,SMAP,AVX512IFMA,CLFLUSHOPT,CLWB,PROCTRACE,AVX512CD,SHA,AVX512BW,AVX512VL>
  Structured Extended Features2=0x18c07fde<AVX512VBMI,UMIP,PKU,OSPKE,AVX512VBMI2,GFNI,VAES,VPCLMULQDQ,AVX512VNNI,AVX512BITALG,TME,AVX512VPOPCNTDQ,RDPID,MOVDIRI,MOVDIR64B>
  Structured Extended Features3=0xfc100710<FSRM,AVX512VP2INTERSECT,MCUOPT,MD_CLEAR,IBT,IBPB,STIBP,L1DFL,ARCH_CAP,CORE_CAP,SSBD>
  XSAVE Features=0xf<XSAVEOPT,XSAVEC,XINUSE,XSAVES>
  IA32_ARCH_CAPS=0xa005c6b<RDCL_NO,IBRS_ALL,SKIP_L1DFL_VME,MDS_NO>
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID,VID,PostIntr
  TSC: P-state invariant, performance statistics
real memory  = 34359738368 (32768 MB)
avail memory = 33080619008 (31548 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <INSYDE TGL-ULT>
FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs
FreeBSD/SMP: 1 package(s) x 4 core(s) x 2 hardware threads
random: registering fast source Intel Secure Key RNG
random: fast provider: "Intel Secure Key RNG"
random: unblocking device.
ioapic0 <Version 2.0> irqs 0-119
Launching APs: 1 7 4 5 6 3 2
random: entropy device external interface
kbd1 at kbdmux0
efirtc0: <EFI Realtime Clock>
efirtc0: registered as a time-of-day clock, resolution 1.000000s
smbios0: <System Management BIOS> at iomem 0x439e5000-0x439e501e
smbios0: Version: 3.3, BCD Revision: 3.3
aesni0: <AES-CBC,AES-CCM,AES-GCM,AES-ICM,AES-XTS,SHA1,SHA256>
acpi0: <INSYDE TGL-ULT>
acpi_ec1: <Embedded Controller: GPE 0x6e, ECDT> port 0x62,0x66 on acpi0
cpu0: <ACPI CPU> on acpi0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 19200000 Hz quality 950
Event timer "HPET" frequency 19200000 Hz quality 550
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1808-0x180b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0x3000-0x303f mem 0x605c000000-0x605cffffff,0x4000000000-0x400fffffff at device 2.0 on pci0
vgapci0: Boot video device
pcib1: <ACPI PCI-PCI bridge> at device 6.0 on pci0
pci1: <ACPI PCI bus> on pcib1
nvme0: <Generic NVMe Device> mem 0x7a300000-0x7a303fff at device 0.0 on pci1
pcib2: <ACPI PCI-PCI bridge> at device 7.0 on pci0
pcib3: <ACPI PCI-PCI bridge> at device 7.1 on pci0
pcib4: <ACPI PCI-PCI bridge> at device 7.2 on pci0
pcib5: <ACPI PCI-PCI bridge> at device 7.3 on pci0
xhci0: <Intel Tiger Lake-LP Thunderbolt 4 USB controller> mem 0x605d1b0000-0x605d1bffff at device 13.0 on pci0
xhci0: 32 bytes context size, 64-bit DMA
usbus0 on xhci0
usbus0: 5.0Gbps Super Speed USB v3.0
pci0: <serial bus, USB> at device 13.2 (no driver attached)
pci0: <serial bus, USB> at device 13.3 (no driver attached)
pci0: <simple comms, UART> at device 18.0 (no driver attached)
xhci1: <Intel Tiger Lake-LP USB 3.2 controller> mem 0x7a400000-0x7a40ffff at device 20.0 on pci0
xhci1: 32 bytes context size, 64-bit DMA
usbus1: waiting for BIOS to give up control
xhci_interrupt: host controller halted
usbus1 on xhci1
usbus1: 5.0Gbps Super Speed USB v3.0
pci0: <memory, RAM> at device 20.2 (no driver attached)
pci0: <serial bus> at device 21.0 (no driver attached)
pci0: <serial bus> at device 21.1 (no driver attached)
pci0: <serial bus> at device 21.3 (no driver attached)
pci0: <simple comms> at device 22.0 (no driver attached)
pci0: <simple comms, UART> at device 22.3 (no driver attached)
pcib6: <ACPI PCI-PCI bridge> at device 29.0 on pci0
pci2: <ACPI PCI bus> on pcib6
pci2: <network> at device 0.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
hdac0: <Intel Tiger Lake HDA Controller> mem 0x605d1c8000-0x605d1cbfff,0x605d000000-0x605d0fffff at device 31.3 on pci0
pci0: <serial bus> at device 31.5 (no driver attached)
acpi_button0: <Power Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
acpi_acad0: <AC Adapter> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
WARNING: Device "psm" is Giant locked and may be deleted before FreeBSD 15.0.
psm0: model IntelliMouse Explorer, device ID 4
battery0: <ACPI Control Method Battery> on acpi0
acpi_syscontainer0: <System Container> on acpi0
acpi_syscontainer1: <System Container> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
atrtc0: <AT realtime clock> at port 0x70 irq 8 on isa0
atrtc0: registered as a time-of-day clock, resolution 1.000000s
Event timer "RTC" frequency 32768 Hz quality 0
atrtc0: non-PNP ISA device will be removed from GENERIC in FreeBSD 15.
attimer0: <AT timer> at port 0x40 on isa0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
attimer0: non-PNP ISA device will be removed from GENERIC in FreeBSD 15.
hwpstate_intel0: <Intel Speed Shift> on cpu0
hwpstate_intel1: <Intel Speed Shift> on cpu1
hwpstate_intel2: <Intel Speed Shift> on cpu2
hwpstate_intel3: <Intel Speed Shift> on cpu3
hwpstate_intel4: <Intel Speed Shift> on cpu4
hwpstate_intel5: <Intel Speed Shift> on cpu5
hwpstate_intel6: <Intel Speed Shift> on cpu6
hwpstate_intel7: <Intel Speed Shift> on cpu7
Timecounter "TSC-low" frequency 1497602729 Hz quality 1000
Timecounters tick every 1.000 msec
ZFS filesystem version: 5
ZFS storage pool version: features support (5000)
ugen0.1: <Intel XHCI root HUB> at usbus0
ugen1.1: <Intel XHCI root HUB> at usbus1
uhub0 on usbus0
uhub0: <Intel XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
uhub1 on usbus1
uhub1: <Intel XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus1
hdacc0: <Tempo 92HD95B HDA CODEC> at cad 0 on hdac0
hdaa0: <Tempo 92HD95B Audio Function Group> at nid 1 on hdacc0
pcm0: <Tempo 92HD95B (Analog)> at nid 13 and 11 on hdaa0
pcm1: <Tempo 92HD95B (Analog)> at nid 10 and 14 on hdaa0
hdacc1: <Intel Tiger Lake HDA CODEC> at cad 2 on hdac0
hdaa1: <Intel Tiger Lake Audio Function Group> at nid 1 on hdacc1
pcm2: <Intel Tiger Lake (HDMI/DP 8ch)> at nid 4 on hdaa1
nda0 at nvme0 bus 0 scbus0 target 0 lun 1
nda0: <WDS100T1X0E-00AFY0 614600WD 21323H800350>
nda0: Serial Number 21323H800350
nda0: nvme version 1.4
nda0: 953869MB (1953525168 512 byte sectors)
GEOM_ELI: Device nda0p3.eli created.
GEOM_ELI: Encryption: AES-XTS 256
GEOM_ELI:     Crypto: accelerated software
Trying to mount root from zfs:tank/ROOT/n []...
uhub0: 5 ports with 5 removable, self powered
ugen0.2: <Anker Anker USB-C Hub Device> at usbus0
uhub2 on uhub0
uhub2: <Anker Anker USB-C Hub Device, class 9/0, rev 3.10/4.33, addr 1> on usbus0
uhub1: 16 ports with 16 removable, self powered
Root mount waiting for: usbus0 usbus1
ugen1.2: <Anker Anker USB-C Hub Device> at usbus1
uhub3 on uhub1
uhub3: <Anker Anker USB-C Hub Device, class 9/0, rev 2.10/4.33, addr 1> on usbus1
uhub3: MTT enabled
Root mount waiting for: usbus0 usbus1
uhub2: 4 ports with 4 removable, self powered
ugen0.3: <Realtek USB 10/100/1000 LAN> at usbus0
Root mount waiting for: usbus0 usbus1
uhub3: 5 ports with 4 removable, self powered
ugen1.3: <vendor 0x046d C922 Pro Stream Webcam> at usbus1
Root mount waiting for: usbus0 usbus1
usb_msc_auto_quirk: UQ_MSC_NO_TEST_UNIT_READY set for USB mass storage device Generic USB3.0 Card Reader (0x05e3:0x0749)
usb_msc_auto_quirk: UQ_MSC_NO_PREVENT_ALLOW set for USB mass storage device Generic USB3.0 Card Reader (0x05e3:0x0749)
usb_msc_auto_quirk: UQ_MSC_NO_SYNC_CACHE set for USB mass storage device Generic USB3.0 Card Reader (0x05e3:0x0749)
ugen1.4: <Anker Anker> at usbus1
ugen0.4: <Generic USB3.0 Card Reader> at usbus0
umass0 on uhub2
umass0: <Generic USB3.0 Card Reader, class 0/0, rev 3.20/15.39, addr 3> on usbus0
umass0:  SCSI over Bulk-Only; quirks = 0xc001
umass0:1:0: Attached to scbus1
(probe0:umass-sim0:0:0:0): REPORT LUNS. CDB: a0 00 00 00 00 00 00 00 00 10 00 00 
(probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
(probe0:umass-sim0:0:0:0): SCSI status: Check Condition
(probe0:umass-sim0:0:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not present)
(probe0:umass-sim0:0:0:0): Error 6, Unretryable error
da0 at umass-sim0 bus 0 scbus1 target 0 lun 0
da0: <Generic MassStorageClass 1539> Removable Direct Access SPC-4 SCSI device
da0: Serial Number 000000001539
da0: 400.000MB/s transfers
da0: Attempt to query device size failed: NOT READY, Medium not present
da0: quirks=0x2<NO_6_BYTE>
ugen1.5: <Goodix Technology Co., Ltd. Goodix USB2.0 MISC> at usbus1
da1 at umass-sim0 bus 0 scbus1 target 0 lun 1
da1: <Generic MassStorageClass 1539> Removable Direct Access SPC-4 SCSI device
da1: Serial Number 000000001539
da1: 400.000MB/s transfers
da1: Attempt to query device size failed: NOT READY, Medium not present
da1: quirks=0x2<NO_6_BYTE>
ugen1.6: <vendor 0x8087 product 0x0032> at usbus1
[drm] Got Intel graphics stolen memory base 0x4c800000, size 0x3c00000
drmn0: <drmn> on vgapci0
vgapci0: child drmn0 requested pci_enable_io
vgapci0: child drmn0 requested pci_enable_io
lkpi_iic0: <LinuxKPI I2C> on drmn0
iicbus0: <Philips I2C bus> on lkpi_iic0
iic0: <I2C generic I/O> on iicbus0
lkpi_iic1: <LinuxKPI I2C> on drmn0
iicbus1: <Philips I2C bus> on lkpi_iic1
iic1: <I2C generic I/O> on iicbus1
lkpi_iic2: <LinuxKPI I2C> on drmn0
iicbus2: <Philips I2C bus> on lkpi_iic2
iic2: <I2C generic I/O> on iicbus2
lkpi_iic3: <LinuxKPI I2C> on drmn0
iicbus3: <Philips I2C bus> on lkpi_iic3
iic3: <I2C generic I/O> on iicbus3
lkpi_iic4: <LinuxKPI I2C> on drmn0
iicbus4: <Philips I2C bus> on lkpi_iic4
iic4: <I2C generic I/O> on iicbus4
lkpi_iic5: <LinuxKPI I2C> on drmn0
iicbus5: <Philips I2C bus> on lkpi_iic5
iic5: <I2C generic I/O> on iicbus5
lkpi_iic6: <LinuxKPI I2C> on drmn0
iicbus6: <Philips I2C bus> on lkpi_iic6
iic6: <I2C generic I/O> on iicbus6
lkpi_iic7: <LinuxKPI I2C> on drmn0
iicbus7: <Philips I2C bus> on lkpi_iic7
iic7: <I2C generic I/O> on iicbus7
lkpi_iic8: <LinuxKPI I2C> on drmn0
iicbus8: <Philips I2C bus> on lkpi_iic8
iic8: <I2C generic I/O> on iicbus8
drmn0: successfully loaded firmware image 'i915/tgl_dmc_ver2_12.bin'
drmn0: [drm] Finished loading DMC firmware i915/tgl_dmc_ver2_12.bin (v2.12)
sysctl_warn_reuse: can't re-use a leaf (hw.dri.debug)!
lkpi_iic9: <LinuxKPI I2C> on drm1
iicbus9: <Philips I2C bus> on lkpi_iic9
iic9: <I2C generic I/O> on iicbus9
lkpi_iic10: <LinuxKPI I2C> on drm2
iicbus10: <Philips I2C bus> on lkpi_iic10
iic10: <I2C generic I/O> on iicbus10
lkpi_iic11: <LinuxKPI I2C> on drm3
iicbus11: <Philips I2C bus> on lkpi_iic11
iic11: <I2C generic I/O> on iicbus11
lkpi_iic12: <LinuxKPI I2C> on drm4
iicbus12: <Philips I2C bus> on lkpi_iic12
iic12: <I2C generic I/O> on iicbus12
lkpi_iic13: <LinuxKPI I2C> on drm5
iicbus13: <Philips I2C bus> on lkpi_iic13
iic13: <I2C generic I/O> on iicbus13
[drm] Initialized i915 1.6.0 20201103 for drmn0 on minor 0
VT: Replacing driver "efifb" with new "drmfb".
start FB_INFO:
height=1504 width=2256 depth=32
pbase=0x4000000000 vbase=0xfffffe014fa00000
name=drmn0 id=i915drmfb flags=0x0 stride=9024
end FB_INFO
Intel(R) Wireless WiFi based driver for FreeBSD
ig4iic0: <Intel Tiger Lake-LP I2C Controller-4> at device 21.0 on pci0
ig4iic0: Using MSI
iicbus14: <Philips I2C bus (ACPI-hinted)> on ig4iic0
iic14: <I2C generic I/O> on iicbus14
ig4iic1: <Intel Tiger Lake-LP I2C Controller-5> at device 21.1 on pci0
ig4iic1: Using MSI
iicbus15: <Philips I2C bus (ACPI-hinted)> on ig4iic1
iicbus15: <unknown card> at addr 0x50
iic15: <I2C generic I/O> on iicbus15
ig4iic2: <Intel Tiger Lake-LP I2C Controller-7> at device 21.3 on pci0
ig4iic2: Using MSI
iicbus16: <Philips I2C bus (ACPI-hinted)> on ig4iic2
iicbus16: <unknown card> at addr 0x2c
iicbus16: <unknown card> at addr 0x37
iic16: <I2C generic I/O> on iicbus16
ichsmb0: <Intel Tiger Lake SMBus controller> port 0xefa0-0xefbf mem 0x605d1d0000-0x605d1d00ff at device 31.4 on pci0
smbus0: <System Management Bus> on ichsmb0
iwlwifi0: <iwlwifi> mem 0x7a200000-0x7a203fff at device 0.0 on pci2
iwlwifi0: Detected crf-id 0x400410, cnv-id 0x400410 wfpm id 0x80000000
iwlwifi0: PCI dev 2725/0024, rev=0x420, rfid=0x10d000
iwlwifi0: successfully loaded firmware image 'iwlwifi-ty-a0-gf-a0-83.ucode'
iwlwifi0: api flags index 2 larger than supported by driver
iwlwifi0: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.0.2.41
iwlwifi0: loaded firmware version 83.e8f84e98.0 ty-a0-gf-a0-83.ucode op_mode iwlmvm
iwlwifi0: Detected Intel(R) Wi-Fi 6 AX210 160MHz, REV=0x420
iwlwifi0: WRT: Invalid buffer destination: 0
iwlwifi0: WFPM_UMAC_PD_NOTIFICATION: 0x20
iwlwifi0: WFPM_LMAC2_PD_NOTIFICATION: 0x1f
iwlwifi0: WFPM_AUTH_KEY_0: 0x90
iwlwifi0: CNVI_SCU_SEQ_DATA_DW9: 0x0
iwlwifi0: successfully loaded firmware image 'iwlwifi-ty-a0-gf-a0.pnvm'
iwlwifi0: loaded PNVM version 181407b3
iwlwifi0: Detected RF GF, rfid=0x10d000
iwlwifi0: base HW address: c8:15:4e:aa:6d:92
acpi_wmi0: <ACPI-WMI mapping> on acpi0
acpi_wmi0: cannot find EC device
acpi_wmi0: Embedded MOF found
ACPI: \134_SB.WFDE.WQCC: 1 arguments were passed to a non-method ACPI object (Buffer) (20221020/nsarguments-361)
acpi_wmi1: <ACPI-WMI mapping> on acpi0
acpi_wmi1: cannot find EC device
acpi_wmi1: Embedded MOF found
ACPI: \134_SB.WFTE.WQCC: 1 arguments were passed to a non-method ACPI object (Buffer) (20221020/nsarguments-361)
hdac0: Command 0x2043b000 timeout on address 2
iwlwifi0: WRT: Invalid buffer destination: 0
iwlwifi0: WFPM_UMAC_PD_NOTIFICATION: 0x20
iwlwifi0: WFPM_LMAC2_PD_NOTIFICATION: 0x1f
iwlwifi0: WFPM_AUTH_KEY_0: 0x90
iwlwifi0: CNVI_SCU_SEQ_DATA_DW9: 0x0
wlan0: Ethernet address: c8:15:4e:aa:6d:92
lo0: link state changed to UP
pflog0: promiscuous mode enabled
ure0 on uhub2
ure0: <Realtek USB 10/100/1000 LAN, class 0/0, rev 3.00/30.00, addr 2> on usbus0
uaudio0 on uhub3
uaudio0: <vendor 0x046d C922 Pro Stream Webcam, class 239/2, rev 2.00/0.16, addr 2> on usbus1
uaudio0: No playback.
uaudio0: Record[0]: 32000 Hz, 2 ch, 16-bit S-LE PCM format, 2x4ms buffer. (selected)
uaudio0: Record[0]: 24000 Hz, 2 ch, 16-bit S-LE PCM format, 2x4ms buffer.
uaudio0: Record[0]: 16000 Hz, 2 ch, 16-bit S-LE PCM format, 2x4ms buffer.
uaudio0: No MIDI sequencer.
pcm3 on uaudio0
uaudio0: No HID volume keys found.
miibus0: <MII bus> on ure0
rgephy0: <RTL8251/8153 1000BASE-T media interface> PHY 0 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
ue0: <USB Ethernet> on ure0
ue0: Ethernet address: a0:ce:c8:d3:ca:0a
ue0: link state changed to DOWN
wlan0: link state changed to UP
iichid0: <FRMW0001:05 32AC:0006 I2C HID device> at addr 0x50 on iicbus15
iichid0: Using sampling mode
hidbus0: <HID bus> on iichid0
iichid1: <PIXA3854:06 093A:0274 I2C HID device> at addr 0x2c on iicbus16
iichid1: Using sampling mode
hidbus1: <HID bus> on iichid1
hcons0: <FRMW0001:05 32AC:0006 Consumer Control> on hidbus0
hms0: <PIXA3854:06 093A:0274 Mouse> on hidbus1
hms0: 2 buttons and [XY] coordinates ID=2
hmt0: <PIXA3854:06 093A:0274 TouchPad> on hidbus1
hconf0: <PIXA3854:06 093A:0274 Configuration> on hidbus1
hmt0: Multitouch touchpad with 2 external buttons, click-pad
hmt0: 5 contacts with [C] properties. Report range [0:0] - [1337:876]
wg0: link state changed to UP
Security policy loaded: MAC/ntpd (mac_ntpd)
GEOM_ELI: Device nda0p2.eli created.
GEOM_ELI: Encryption: AES-XTS 128
GEOM_ELI:     Crypto: accelerated software

pciconf -lv

hostb0@pci0:0:0:0:  class=0x060000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x9a14 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = '11th Gen Core Processor Host Bridge/DRAM Registers'
    class      = bridge
    subclass   = HOST-PCI
vgapci0@pci0:0:2:0: class=0x030000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x9a49 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'TigerLake-LP GT2 [Iris Xe Graphics]'
    class      = display
    subclass   = VGA
none0@pci0:0:4:0:   class=0x118000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x9a03 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'TigerLake-LP Dynamic Tuning Processor Participant'
    class      = dasp
pcib1@pci0:0:6:0:   class=0x060400 rev=0x01 hdr=0x01 vendor=0x8086 device=0x9a09 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = '11th Gen Core Processor PCIe Controller'
    class      = bridge
    subclass   = PCI-PCI
pcib2@pci0:0:7:0:   class=0x060400 rev=0x01 hdr=0x01 vendor=0x8086 device=0x9a23 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Thunderbolt 4 PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:0:7:1:   class=0x060400 rev=0x01 hdr=0x01 vendor=0x8086 device=0x9a25 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Thunderbolt 4 PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib4@pci0:0:7:2:   class=0x060400 rev=0x01 hdr=0x01 vendor=0x8086 device=0x9a27 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Thunderbolt 4 PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib5@pci0:0:7:3:   class=0x060400 rev=0x01 hdr=0x01 vendor=0x8086 device=0x9a29 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Thunderbolt 4 PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
none1@pci0:0:8:0:   class=0x088000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x9a11 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'GNA Scoring Accelerator module'
    class      = base peripheral
none2@pci0:0:10:0:  class=0x118000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x9a0d subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tigerlake Telemetry Aggregator Driver'
    class      = dasp
xhci0@pci0:0:13:0:  class=0x0c0330 rev=0x01 hdr=0x00 vendor=0x8086 device=0x9a13 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Thunderbolt 4 USB Controller'
    class      = serial bus
    subclass   = USB
none3@pci0:0:13:2:  class=0x0c0340 rev=0x01 hdr=0x00 vendor=0x8086 device=0x9a1b subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Thunderbolt 4 NHI'
    class      = serial bus
    subclass   = USB
none4@pci0:0:13:3:  class=0x0c0340 rev=0x01 hdr=0x00 vendor=0x8086 device=0x9a1d subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Thunderbolt 4 NHI'
    class      = serial bus
    subclass   = USB
none5@pci0:0:18:0:  class=0x070000 rev=0x20 hdr=0x00 vendor=0x8086 device=0xa0fc subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Integrated Sensor Hub'
    class      = simple comms
    subclass   = UART
xhci1@pci0:0:20:0:  class=0x0c0330 rev=0x20 hdr=0x00 vendor=0x8086 device=0xa0ed subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP USB 3.2 Gen 2x1 xHCI Host Controller'
    class      = serial bus
    subclass   = USB
none6@pci0:0:20:2:  class=0x050000 rev=0x20 hdr=0x00 vendor=0x8086 device=0xa0ef subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Shared SRAM'
    class      = memory
    subclass   = RAM
ig4iic0@pci0:0:21:0:    class=0x0c8000 rev=0x20 hdr=0x00 vendor=0x8086 device=0xa0e8 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Serial IO I2C Controller'
    class      = serial bus
ig4iic1@pci0:0:21:1:    class=0x0c8000 rev=0x20 hdr=0x00 vendor=0x8086 device=0xa0e9 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Serial IO I2C Controller'
    class      = serial bus
ig4iic2@pci0:0:21:3:    class=0x0c8000 rev=0x20 hdr=0x00 vendor=0x8086 device=0xa0eb subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Serial IO I2C Controller'
    class      = serial bus
none7@pci0:0:22:0:  class=0x078000 rev=0x20 hdr=0x00 vendor=0x8086 device=0xa0e0 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Management Engine Interface'
    class      = simple comms
none8@pci0:0:22:3:  class=0x070002 rev=0x20 hdr=0x00 vendor=0x8086 device=0xa0e3 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Active Management Technology - SOL'
    class      = simple comms
    subclass   = UART
pcib6@pci0:0:29:0:  class=0x060400 rev=0x20 hdr=0x01 vendor=0x8086 device=0xa0b1 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
isab0@pci0:0:31:0:  class=0x060100 rev=0x20 hdr=0x00 vendor=0x8086 device=0xa082 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP LPC Controller'
    class      = bridge
    subclass   = PCI-ISA
hdac0@pci0:0:31:3:  class=0x040380 rev=0x20 hdr=0x00 vendor=0x8086 device=0xa0c8 subvendor=0x10ec subdevice=0x3000
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP Smart Sound Technology Audio Controller'
    class      = multimedia
    subclass   = HDA
ichsmb0@pci0:0:31:4:    class=0x0c0500 rev=0x20 hdr=0x00 vendor=0x8086 device=0xa0a3 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP SMBus Controller'
    class      = serial bus
    subclass   = SMBus
none9@pci0:0:31:5:  class=0x0c8000 rev=0x20 hdr=0x00 vendor=0x8086 device=0xa0a4 subvendor=0xf111 subdevice=0x0001
    vendor     = 'Intel Corporation'
    device     = 'Tiger Lake-LP SPI Controller'
    class      = serial bus
nvme0@pci0:1:0:0:   class=0x010802 rev=0x01 hdr=0x00 vendor=0x15b7 device=0x5011 subvendor=0x15b7 subdevice=0x5011
    vendor     = 'Sandisk Corp'
    device     = 'WD PC SN810 / Black SN850 NVMe SSD'
    class      = mass storage
    subclass   = NVM
iwlwifi0@pci0:170:0:0:  class=0x028000 rev=0x1a hdr=0x00 vendor=0x8086 device=0x2725 subvendor=0x8086 subdevice=0x0024
    vendor     = 'Intel Corporation'
    device     = 'Wi-Fi 6E(802.11ax) AX210/AX1675* 2x2 [Typhoon Peak]'
    class      = network