====== Thinkpad P14s Gen1 (Intel) ======
* Year introduced: 2020
----
===== Hardware =====
* CPU: Intel(R) Core(TM) i7-10610U CPU @ 1.80GHz (Comet Lake)
* Ethernet: 1Gbps Intel I219-LM
* Graphics: %%CometLake%%-U GT2 [UHD Graphics] + Nvidia Quadro P520 (Optimus)
* Memory: 8 to 32 GB
* Screen: 14.0" FHD (1920 x 1080) IPS, anti-glare, 250 nits
* Storage: 1 TB NVme
* Wireless: 2.4Ghz + 5Ghz [[/WiFi|WiFi]] 6 (Comet Lake PCH-LP CNVi [[/WiFi|WiFi]])
* Smart card reader: Generic EMV Smartcard Reader
* %%MicroSD%% card reader (SD, SDHC, SDXC, MMC)
* Thunderbolt 3
* Fingerprint reader
* Integrated webcam: Azurewave Integrated Camera
* Battery: LGC 5B10W13905 / 50500 mWh
----
===== Support overview =====
^ Component ^^ Status ^ Details ^
| Graphics | Graphical sessions | ✔ | |
| Backlight (brightness) control | ✔ | |
| Input devices | Keyboard backlight | ✔ | |
| Touchpad | ✔ | |
| Trackpoint | ✔ | |
| Media keys | Brightness keys | ✔ |
| ::: | Volume keys | ✘ |
| Network | Ethernet | ✔ | |
| ::: | Wi-Fi | ✔ | |
| Other | Battery | ✔ | |
| ::: | Bluetooth | ✔ | |
| ::: | Fan | :!: | |
| ::: | Fingerprint reader | ✘ | |
| ::: | SD card reader | ✔ | |
| ::: | SIM card slot | :!: | |
| ::: | Smart card reader | :!: | |
| ::: | Suspend & resume | ✘ | |
| ::: | Webcam | ✔ | |
| Ports | %%DisplayPort%% | ✔ | |
| ::: | HDMI | ✔ | |
| ::: | Thunderbolt | ✔ | |
| ::: | USB | ✔ | |
| Sound | Headphone jack | ✔ | |
| ::: | Microphone jack | :!: | |
| ::: | Speakers | ✔ | |
| Last update: 2023-06-08 12:04:59 UTC ||||
* **Legend**
* ✔ OK
* :?: Somewhat OK: requires additional tweaking or works worse than expected
* :!: Present but status unknown or untested
* ✘ Does not work
* //nothing// Not sure if present
===== Hardware identification =====
==== PCI ====
hostb0@pci0:0:0:0: class=0x060000 rev=0x0c hdr=0x00 vendor=0x8086 device=0x9b61 subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Comet Lake-U v1 4c Host Bridge/DRAM Controller'
class = bridge
subclass = HOST-PCI
vgapci0@pci0:0:2:0: class=0x030000 rev=0x02 hdr=0x00 vendor=0x8086 device=0x9b41 subvendor=0x17aa subdevice=0x22b2
vendor = 'Intel Corporation'
device = 'CometLake-U GT2 [UHD Graphics]'
class = display
subclass = VGA
none0@pci0:0:4:0: class=0x118000 rev=0x0c hdr=0x00 vendor=0x8086 device=0x1903 subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem'
class = dasp
none1@pci0:0:8:0: class=0x088000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x1911 subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model'
class = base peripheral
pchtherm0@pci0:0:18:0: class=0x118000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x02f9 subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Comet Lake Thermal Subsytem'
class = dasp
xhci0@pci0:0:20:0: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x8086 device=0x02ed subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Comet Lake PCH-LP USB 3.1 xHCI Host Controller'
class = serial bus
subclass = USB
none2@pci0:0:20:2: class=0x050000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x02ef subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Comet Lake PCH-LP Shared SRAM'
class = memory
subclass = RAM
iwlwifi0@pci0:0:20:3: class=0x028000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x02f0 subvendor=0x8086 subdevice=0x0070
vendor = 'Intel Corporation'
device = 'Comet Lake PCH-LP CNVi WiFi'
class = network
none3@pci0:0:22:0: class=0x078000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x02e0 subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Comet Lake Management Engine Interface'
class = simple comms
none4@pci0:0:22:3: class=0x070002 rev=0x00 hdr=0x00 vendor=0x8086 device=0x02e3 subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
class = simple comms
subclass = UART
pcib1@pci0:0:28:0: class=0x060400 rev=0xf0 hdr=0x01 vendor=0x8086 device=0x02b8 subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Comet Lake PCI Express Root Port'
class = bridge
subclass = PCI-PCI
pcib2@pci0:0:28:4: class=0x060400 rev=0xf0 hdr=0x01 vendor=0x8086 device=0x02bc subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Comet Lake PCI Express Root Port'
class = bridge
subclass = PCI-PCI
pcib3@pci0:0:29:0: class=0x060400 rev=0xf0 hdr=0x01 vendor=0x8086 device=0x02b0 subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Comet Lake PCI Express Root Port'
class = bridge
subclass = PCI-PCI
pcib4@pci0:0:29:4: class=0x060400 rev=0xf0 hdr=0x01 vendor=0x8086 device=0x02b4 subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Comet Lake PCI Express Root Port'
class = bridge
subclass = PCI-PCI
isab0@pci0:0:31:0: class=0x060100 rev=0x00 hdr=0x00 vendor=0x8086 device=0x0284 subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Comet Lake PCH-LP LPC Premium Controller/eSPI Controller'
class = bridge
subclass = PCI-ISA
hdac0@pci0:0:31:3: class=0x040380 rev=0x00 hdr=0x00 vendor=0x8086 device=0x02c8 subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Comet Lake PCH-LP cAVS'
class = multimedia
subclass = HDA
ichsmb0@pci0:0:31:4: class=0x0c0500 rev=0x00 hdr=0x00 vendor=0x8086 device=0x02a3 subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Comet Lake PCH-LP SMBus Host Controller'
class = serial bus
subclass = SMBus
none5@pci0:0:31:5: class=0x0c8000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x02a4 subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Comet Lake SPI (flash) Controller'
class = serial bus
em0@pci0:0:31:6: class=0x020000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x0d4e subvendor=0x17aa subdevice=0x22b1
vendor = 'Intel Corporation'
device = 'Ethernet Connection (10) I219-LM'
class = network
subclass = ethernet
rtsx0@pci0:2:0:0: class=0xff0000 rev=0x01 hdr=0x00 vendor=0x10ec device=0x522a subvendor=0x17aa subdevice=0x22b1
vendor = 'Realtek Semiconductor Co., Ltd.'
device = 'RTS522A PCI Express Card Reader'
vgapci1@pci0:45:0:0: class=0x030200 rev=0xa1 hdr=0x00 vendor=0x10de device=0x1d34 subvendor=0x17aa subdevice=0x22b2
vendor = 'NVIDIA Corporation'
device = 'GP108GLM [Quadro P520]'
class = display
subclass = 3D
nvme0@pci0:46:0:0: class=0x010802 rev=0x00 hdr=0x00 vendor=0x15b7 device=0x5002 subvendor=0x15b7 subdevice=0x5002
vendor = 'Sandisk Corp'
device = 'WD Black 2018/SN750 / PC SN720 NVMe SSD'
class = mass storage
subclass = NVM
==== USB ====
ugen0.1: at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.2: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (50mA)
ugen0.3: at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
ugen0.4: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
ugen0.5: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
===== Kernel modules =====
Sorted list of loaded modules:
kldstat | grep ko | awk '{print $5}' | sort
acpi_ibm.ko
acpi_video.ko
acpi_wmi.ko
cc_htcp.ko
coretemp.ko
cpuctl.ko
cryptodev.ko
cuse.ko
dmabuf.ko
drm.ko
fdescfs.ko
fusefs.ko
geom_linux_lvm.ko
hidbus.ko
hidraw.ko
hkbd.ko
i915kms.ko
ichsmb.ko
if_iwlwifi.ko
iic.ko
linprocfs.ko
linsysfs.ko
linux_common.ko
linux.ko
linux64.ko
linuxkpi_gplv2.ko
mac_ntpd.ko
netgraph.ko
netlink.ko
ng_bluetooth.ko
ng_btsocket.ko
ng_hci.ko
ng_l2cap.ko
ng_socket.ko
ng_ubt.ko
pchtherm.ko
pty.ko
smbus.ko
sysctlinfo.ko
tmpfs.ko
tpm.ko
uhid.ko
ums.ko
usbhid.ko
wmt.ko
zfs.ko
===== Tweaks and Tips =====
==== Network ====
Network is working //out of the box// using the following drivers:
^ Type ^ Driver ^
| **Ethernet** | em Intel(R) PRO/1000 Gigabit Ethernet adapter driver |
| **[[/WiFi|WiFi]]** | iwlwifi Intel IEEE 802.11a/b/g/n/ac/ax wireless network driver |
=== Ethernet ===
* Load the driver
The //em// driver will load automatically at boot time and nothing is really needed.
However, if you want to force load the driver you may need the following line in your ''%%/boot/loader.conf%%''
if_em_load="YES"
* Place your static network configuration settings in the ''%%/etc/rc.conf%%'' file as follow (adapt to your needs):
ifconfig_em0="inet 192.168.1.1 netmask 255.255.255.0"
defaultrouter="192.168.1.254"
ifconfig_em0="up"
* For a //DHCP// configuration place the following lines in the ''%%/etc/rc.conf%%'':
ifconfig_em0="DHCP"
ifconfig_em0="up"
=== WiFi ===
The //iwlwifi// driver will load automatically at boot time and nothing is really needed.
However, if you want to force load the driver you may need the following line in your ''%%/etc/rc.conf%%''
kld_list="${kld_list} if_iwlwifi"
It is discouraged to load the driver from ''%%/boot/loader.conf%%''
* Register all your //SSID// in ''%%/etc/wpa_supplicant.conf%%'':
network={
ssid="My_Home_Network" # Here is your SSID
scan_ssid=0
psk="AZERTYUIOP" # Here is you WiFi password
priority=1
}
# The following is needed for open WiFi networks
network={
priority=0
key_mgmt=NONE
}
* Enable the //wpa_supplicant// service by adding the following in the ''%%/etc/rc.conf%%'' file
# Enable wpa supplicant the service
wpa_supplicant_enable="YES"
# Name the wireless interface `wlan0`
wlans_iwlwifi0="wlan0"
* Configure the ''%%wlan0%%'' interface in your ''%%/etc/rc.conf%%'' file
ifconfig_wlan0="WPA SYNCDHCP"
defaultrouter="192.168.1.1"
* Start the ''%%wpa_supplicant%%'' service
service wpa_supplicant start
==== Webcam ====
=== Device identification ===
The webcam is connected through //USB// and can be listed with the following command:
usbconfig | grep Cam
ugen0.5: at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
The device is the 5th device on the first //USB// bus, so its identifier is ''%%ugen0.5%%''.
=== Service configuration and user settings ===
* Install the ''%%webcamd%%'' program
pkg install webcamd
* Add your user to the ''%%webcamd%%'' group
pw groupmod webcamd -m
Once the command issued, you will need to logout and login again to be part of the ''%%webcamd%%'' group.
* Enable the ''%%webcamd%%'' service by adding the following line to the ''%%/etc/rc.conf%%'' file.
webcamd_enable="YES"
* Start the ''%%webcamd%%'' service
service webcamd start
At this point, applications launched by your user should have access to your webcam (it should be listed as available device).
==== Touchpad and trackpoint ====
//Touchpad// and //trackpoint// are seen as pointing device like the mouse. There is nothing particular to make them work as expected.
Personnaly I find touchads annoying as my thumbs tends to rub against it and unexpectedly change window focus !
//Touchpad// can be disabled in the //BIOS// settings but it may not be sufficient to fully disable it.
Add the following lines to the ''%%/boot/loader.conf%%'' to fully disable //touchpad// and enable the //trackpoint//.
hw.psm.trackpoint_support="1"
hw.psm.synaptics_support="0
==== MicroSD card reader ====
Although not very practical to use, the //%%MicroSD%%// card reader located on the left edge of the laptop works right out of the box, nothing to configure here.
==== Bluetooth audio ====
//Bluetooth// works fine with the ''%%iwmbt-firmware%%''. Configuring //Bluetooth// to make it pair with your favorite audio speaker or headset is a bit tricky.
* Install the firmware for your bluetooth
pkg install iwmbt-firmware
* Load the ''%%cuse%%'' (needed by ''%%virtual_oss%%'') and ''%%ng_ubt%%'' kernel modules at boot time by adding the following line in the ''%%/boot/loader.conf%%''
cuse_load="YES"
ng_ubt_load="YES"
Alternatively, you may load these modules manually with the following commands:
kldload cuse
kldload ng_ubt
* Add the following lines in ''%%/etc/rc.conf%%''
hcsecd_enable="YES"
devd_enable="YES"
devd_flags="-q"
bluetooth_enable="YES"
* Start the ''%%devd%%'' service
service devd start
* Start the bluetooth stack
service bluetooth start ubt0
Starting the ''%%bluetooth%%'' service maywill fail at the first try. Retry if needed.
* Start the ''%%hcsed%%'' service
service hcsed start
* List all bluetooth devices around you with the following command
hccontrol -n ubt0hci inquiry
Locate your device and pick its ''%%BD_ADDR%%'' which is very like a //MAC// address.
* Declare your device in ''%%/etc/bluetooth/hosts%%''
Declare your bluetooth audio speaker/headphone in the ''%%/etc/bluetooth/hosts%%'' by adding its ''%%BD_ADDR%%'' and its name. You may choose the name as it suits you.
4c:87:de:ad:be:ef Bose-Mini-Soundlink-II
* Declare your device in ''%%/etc/bluetooth/hcsecd.conf%%''
Declare your bluetooth audio speaker/headphone in the ''%%/etc/bluetooth/hcsecd.conf%%'' file.
The ''%%bdaddr%%'' value is the ''%%BD_ADDR%%'' value of your bluetooth speacker/headphone.
The ''%%name%%'' value must be the same as the name declared in ''%%/etc/bluetooth/hosts%%''.
If no PIN code is needed to connect to your bluetooth speaker/headphone declare ''%%pin "0000"%%''.
device {
bdaddr 4c:87:de:ad:be:ef;
name "Bose-Mini-Soundlink-II";
key nokey;
pin "0000";
}
* Make it persistent
Add those lines to the ''%%/etc/rc.local%%'' script (create it if needed) to connect to your Bluetooth audio speaker/headphone and set execution permissions on it.
echo "Remove virtual_oss device"
pkill virtual_oss
echo "Disable write auth..."
/usr/sbin/hccontrol -n ubt0hci write_authentication_enable 0
echo "Change local name..."
/usr/sbin/hccontrol -n ubt0hci change_local_name $(hostname -s)
echo "Connect to Bose-Mini-Soundlink-II..."
/usr/sbin/hccontrol -n ubt0hci create_connection Bose-Mini-Soundlink-II
echo "Write auth var..."
/usr/sbin/hccontrol -n ubt0hci write_authentication_enable 1
echo "Create virtual_oss device..."
/usr/local/sbin/virtual_oss -B -T /dev/sndstat -S -C 2 -c 2 -r 48000 -b 16 -s 8192 -O /dev/dsp0 -R /dev/dsp0 -P /dev/bluetooth/Bose-Mini-Soundlink-II -d dsp -d dsp4.0 -t vdsp.ctl
* Make ''%%/etc/rc.local%%'' executable
chmod 755 /etc/rc.local
You may reboot and your laptop should reconnect //automagically// to your Blueetooth speaker/headphone.
==== Fn keys ====
The special //Fn keys// are keys accessed with the combination of the ''%%Fn%%'' key and one of the functionction keys ''%%F1%%'' to ''%%F12%%''. Those keys allow user predefined action to be accomplished by pressing a single key (i.e: increase / decrease volume or screen backlight).
Support for the //Fn keys// is partial and may work or not depending on your hardware/firmware version. //YMMV//.
* Load the //ACPI// kernel module
To load the correct //ACPI// kernel module, add ''%%acpi_ibm%%'' to the kernel module list found in the ''%%/etc/rc.conf%%''
kld_list="${kld_list} acpi_ibm"
* If not already enabled, enable the ''%%devd%%'' service by adding the following line to the ''%%/etc/rc.conf%%'' file:
devd_enable="YES"
devd_flags="-q"
* Create the ''%%/usr/local/etc/devd/acpi_ibm.conf%%'' file and each //Fn key// with the desired action by adding the following lines to it:
# IBM ACPI buttons
notify 100 {
match "system" "ACPI";
match "subsystem" "IBM";
match "notify" "0x10";
action "backlight incr";
};
notify 100 {
match "system" "ACPI";
match "subsystem" "IBM";
match "notify" "0x11";
action "backlight decr";
};
notify 100 {
match "system" "ACPI";
match "subsystem" "IBM";
match "notify" "0x1b";
action "logger $notify [Mic mute]";
};
notify 100 {
match "system" "ACPI";
match "subsystem" "IBM";
match "notify" "0x07";
action "logger $notify [External display]";
};
notify 100 {
match "system" "ACPI";
match "subsystem" "IBM";
match "notify" "0x05";
action "logger $notify [rfkill]";
};
notify 100 {
match "system" "ACPI";
match "subsystem" "IBM";
match "notify" "0x17";
action "logger $notify [Notification]";
};
notify 100 {
match "system" "ACPI";
match "subsystem" "IBM";
match "notify" "0x18";
action "logger $notify [Call]";
};
notify 100 {
match "system" "ACPI";
match "subsystem" "IBM";
match "notify" "0x19";
action "logger $notify [Hang]";
};
notify 100 {
match "system" "ACPI";
match "subsystem" "IBM";
action "logger $notify [Unidentfied]";
};
This file attach a //logger action// on most of the //Fn keys// (a log entry will appear in ''%%/var/log/messages%%'' when any of the //Fn keys// is pressed).
It also bind the backlight control keys (''%%F5%%'' and ''%%F6%%'') to the ''%%backlight%%'' program to control the laptop main display backlight. Feel free to adapt this file to suit your needs.
At this point, I have not found the ''%%$notify%%'' value for the //audio control// keys (''%%F1%%'' to ''%%F3%%''). However ''%%Mic mute%%'' (''%%F4%%'') is identified by ''%%0X1b%%''.
* Install the ''%%backlight%%'' program
pkg install backlight
* Restart the ''%%devd%%'' service
service devd restart
Now the ''%%F5%%'' and ''%%F6%%'' keys, when pressed with the ''%%Fn%%'' modifier will increase/decrease the laptop screen backlight.
* Set the default backlight level by adding the following lines in the ''%%/etc/rc.local%%'' file
echo "Setting backlight to 50%"
/usr/bin/backlight 50%
* Set execution permissions on the ''%%/etc/rc.local%%'' file
chmod 755 /etc/rc.local
==== Thunderbolt 3 ====
My laptop is connected to a [[https://support.lenovo.com/us/en/solutions/pd500503-thinkpad-universal-thunderbolt-4-dock-overview-and-service-parts|Lenovo Universal Thunderbolt 4 dock]].
Even if the laptop itself is equiped with only a //Thunderbolt 3// port, it works like a charm out of the box.
When connected the docking station will add some extra //USB// devices:
[...]
ugen0.3: at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.4: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
ugen0.5: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (0mA)
ugen0.6: at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.7: at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.8: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (30mA)
[...]
ugen0.13: at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.14: at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.15: at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.16: at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (72mA)
Unfortunately when booting docked to the docking station, the //USB// device order will change.
I have two 22" //HDMI// monitors connected to the docking station. One of them is connected to one of the two //Displayport// of the docking station through a //HDMI// to //DP// adapter.
This setup works fine and the maximum resolution of the whole thing is 3 x 1920x1080 as follows:
xrandr --listmonitors
Monitors: 3
0: +*eDP-1 1920/309x1080/174+0+0 eDP-1
1: +DP-2-1-5 1920/521x1080/293+1920+0 DP-2-1-5
2: +DP-2-2 1920/521x1080/293+3840+0 DP-2-2
* The //Realtek Realtek LAN// device is a //Realtek 8153 USB network adapter// and is identified as ''%%ue0%%'' by ifconfig.
* The //Lenovo %%ThinkPad%% Thunderbolt 4 Dock USB Audio// is identified as ''%%pcm2%%'' by the sound driver (''%%cat /dev/sndstat%%'')
* For unknown reason, the monitor ''%%1%%'' is seen by ''%%xrandr%%'' as a //DP// monitor even though it is connected to the //HDMI// port of the docking station.
* For another unknown reason, when the two external monitors are put asleep by //DPMS//, they may refuse to wake. I tried some settings but was unable to find a solution to this problem.
=== Workaround for unwakable DPMS monitors ===
The only workaround I found is:
* Switch to another //TTY// with ''%%Ctrl+Alt+F2%%''
* Wait for the monitors to wake and display the console
* Switch back to //Xorg// with ''%%Ctrl+Alt+F9%%''.
This workaround may not always work or may need to be applied several times with the good timing between //TTY/Xorg// switch. //Your mileage may vary//.
----
===== Files =====
==== /etc/rc.conf ====
performance_cpu_freq="HIGH"
clear_tmp_enable="YES"
hostname=""
keymap="fr.acc.kbd"
kld_list="acpi_ibm acpi_video i915kms iic geom_linux_lvm fusefs"
# WiFi
wpa_supplicant_enable="YES"
wlans_iwlwifi0="wlan0"
ifconfig_wlan0="WPA SYNCDHCP"
defaultrouter="192.168.1.1"
# Services
zfs_enable="YES"
local_unbound_enable="YES"
sshd_enable="YES"
moused_enable="YES"
ntpd_enable="YES"
powerd_enable="YES"
dumpdev="AUTO"
dbus_enable="YES"
hald_enable="YES"
linux_enable="YES"
pcscd_enable="YES"
devd_enable="YES"
devd_flags="-q"
hcsecd_enable="YES"
bluetooth_enable="YES"
webcamd_enable="YES"
syslogd_enable="YES"
syslogd_flags="-s -v -v"
sndiod_enable="YES"
sndiod_flags="-f rsnd/4"
smartd_enable="YES"
devfs_system_ruleset="localrules"
==== /boot/loader.conf ====
kern.geom.label.disk_ident.enable="0"
kern.geom.label.gptid.enable="0"
cryptodev_load="YES"
sysctlinfo_load="YES"
zfs_load="YES"
tpm_load="NO"
cuse_load="YES"
ng_ubt_load="YES"
hidraw_load="YES"
hkbd_load="YES"
hw.usb.quirk.0="0x1050 0x0010 0 0xffff UQ_KBD_IGNORE"
hw.usb.quirk.1="0x1050 0x0110 0 0xffff UQ_KBD_IGNORE"
hw.usb.quirk.2="0x1050 0x0111 0 0xffff UQ_KBD_IGNORE"
hw.usb.quirk.3="0x1050 0x0114 0 0xffff UQ_KBD_IGNORE"
hw.usb.quirk.4="0x1050 0x0116 0 0xffff UQ_KBD_IGNORE"
hw.usb.quirk.5="0x1050 0x0401 0 0xffff UQ_KBD_IGNORE"
hw.usb.quirk.6="0x1050 0x0403 0 0xffff UQ_KBD_IGNORE"
hw.usb.quirk.7="0x1050 0x0405 0 0xffff UQ_KBD_IGNORE"
hw.usb.quirk.8="0x1050 0x0407 0 0xffff UQ_KBD_IGNORE"
hw.usb.quirk.9="0x1050 0x0410 0 0xffff UQ_KBD_IGNORE"
# Power saving
hw.pci.do_power_nodriver="3"
hint.acpi_throttle.0.disabled="1"
hint.ahcich.0.pm_level="5"
hint.ahcich.1.pm_level="5"
hint.ahcich.2.pm_level="5"
hint.ahcich.3.pm_level="5"
hint.ahcich.4.pm_level="5"
hint.ahcich.5.pm_level="5"
# for intel cards only
drm.i915.enable_rc6="7"
drm.i915.semaphores="1"
drm.i915.intel_iommu_enabled="1"
# Video
hw.acpi.reset_video="1"
# Audio
hw.snd.latency="7"
hw.snd.default_auto="0"
hint.pcm.0.eq="1"
hint.pcm.1.eq="1"
hint.pcm.2.eq="1"
# Linux compat
fdescfs_load="YES"
linprocfs_load="YES"
linsysfs_load="YES"
tmpfs_load="YES"
# Optimization
autoboot_delay="2"
kern.maxproc="100000"
kern.ipc.shmseg="1024"
kern.ipc.shmmni="1024"
hw.psm.trackpoint_support="1"
hw.psm.synaptics_support="0"
cc_htcp_load="YES"
cpuctl_load="YES"
coretemp_load="YES"
==== /etc/sysctl.conf ====
#security.bsd.see_other_uids=0
kern.randompid=1
vfs.zfs.min_auto_ashift=12
hw.acpi.lid_switch_state=S3
hw.acpi.s4bios=0
kern.sched.preempt_thresh=224
# Set CPU to max power
dev.hwpstate_intel.0.epp=0
dev.hwpstate_intel.1.epp=0
dev.hwpstate_intel.2.epp=0
dev.hwpstate_intel.3.epp=0
dev.hwpstate_intel.4.epp=0
dev.hwpstate_intel.5.epp=0
dev.hwpstate_intel.6.epp=0
dev.hwpstate_intel.7.epp=0
#net.inet6.ip6.auto_linklocal=0
==== /usr/local/etc/devd/acpi_ibm.conf ====
# IBM ACPI buttons
notify 100 {
match "system" "ACPI";
match "subsystem" "IBM";
match "notify" "0x10";
action "backlight incr";
};
notify 100 {
match "system" "ACPI";
match "subsystem" "IBM";
match "notify" "0x11";
action "backlight decr";
};
notify 100 {
match "system" "ACPI";
match "subsystem" "IBM";
match "notify" "0x1b";
action "logger $notify [Mic mute]";
};
notify 100 {
match "system" "ACPI";
match "subsystem" "IBM";
match "notify" "0x07";
action "logger $notify [External display]";
};
notify 100 {
match "system" "ACPI";
match "subsystem" "IBM";
match "notify" "0x05";
action "logger $notify [rfkill]";
};
----
{{tag>Laptop}}