I wasn't able to google me a dmesg of any BSD for cf19, so hopefully this post will be of use for someone.
Guide to OpenBSD 5.9 on Toughbook 19 mk6 and mk3
Table of Contents
- Hardware support :: Summary
- Hardware support :: DMESG CF-191HC51FL (mark 6)
- Hardware support :: DMESG CF-19KHRAHND (mark 3)
- Laptop tweaks :: BIOS settings
- Laptop tweaks :: Processor scaling
- Laptop tweaks :: Display Brightness
- Laptop tweaks :: Wireless setup :: WLAN
- Laptop tweaks :: Wireless setup :: WWAN
- Laptop tweaks :: Wireless setup :: WLAN/WWAN Switching
- Laptop tweaks :: Screenlock and Suspend
- Laptop tweaks :: GPS as Timesource
- Laptop tweaks :: GPS as Navigator
- Laptop tweaks :: SSD optimizations
- Laptop tweaks :: Touchscreen calibration
- Gimmicks :: apmlog.sh
Hardware support :: Summary
Most stuff just works straight out of the box, including:
- Keyboard, Touchscreen, Touchpad, Function keys
- Graphics, Audio, Powermanagement
- WLAN, WWAN, Ethernet, GPS
- USB, PCMCIA/Cardbus
- veb181 Dock, aka "NEC product 0x0050" rev 2.00/1.00
The following hardware does not work out of the box:
- Front buttons - only Brightness controls work
- Ambient Light Sensor
The following hardware was not tested:
- Firewire - detected, but unconfigured
- SD/MMC - detected as sdhc0, sdmmc0 with Ricoh chipsets
- Bluetooth
- Modem
Hardware support :: DMESG CF-191HC51FL (mark 6)
[code]
OpenBSD 5.9 (GENERIC.MP) #1888: Fri Feb 26 01:20:19 MST 2016
deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 17019494400 (16231MB)
avail mem = 16499490816 (15735MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xeb550 (30 entries)
bios0: vendor American Megatrends Inc. version "V6.00L10" date 05/18/2012
bios0: Panasonic Corporation CF-191HC51FL
acpi0 at bios0: rev 2
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP APIC FPDT TCPA MCFG SLIC HPET SSDT SSDT SSDT SSDT SSDT DMAR SSDT
acpi0: wakeup devices XHC_(S3) EHC1(S3) EHC2(S3) HDEF(S3) GLAN(S4) PXSX(S4) PEGP(S4) PEG0(S4) PEG1(S4) PEG2(S4) PEG3(S4) PXSX(S4) PXSX(S4) PXSX(S4) PXSX(S4) PXSX(S4) [...]
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz, 1197.52 MHz
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,LONG,LAHF,PERF,ITSC,FSGSBASE,SMEP,ERMS,SENSOR,ARAT
cpu0: 256KB 64b/line 8-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
cpu0: apic clock running at 99MHz
cpu0: mwait min=64, max=64, C-substates=0.2.1.1.2, IBE
cpu1 at mainbus0: apid 2 (application processor)
cpu1: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz, 2594.11 MHz
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,LONG,LAHF,PERF,ITSC,FSGSBASE,SMEP,ERMS,SENSOR,ARAT
cpu1: 256KB 64b/line 8-way L2 cache
cpu1: smt 0, core 1, package 0
cpu2 at mainbus0: apid 1 (application processor)
cpu2: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz, 2594.11 MHz
cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,LONG,LAHF,PERF,ITSC,FSGSBASE,SMEP,ERMS,SENSOR,ARAT
cpu2: 256KB 64b/line 8-way L2 cache
cpu2: smt 1, core 0, package 0
cpu3 at mainbus0: apid 3 (application processor)
cpu3: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz, 2594.11 MHz
cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,LONG,LAHF,PERF,ITSC,FSGSBASE,SMEP,ERMS,SENSOR,ARAT
cpu3: 256KB 64b/line 8-way L2 cache
cpu3: smt 1, core 1, package 0
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins
acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63
acpihpet0 at acpi0: 14318179 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus -1 (RP06)
acpiprt2 at acpi0: bus -1 (PEG0)
acpiprt3 at acpi0: bus -1 (PEG1)
acpiprt4 at acpi0: bus -1 (PEG2)
acpiprt5 at acpi0: bus -1 (PEG3)
acpiprt6 at acpi0: bus -1 (RP02)
acpiprt7 at acpi0: bus -1 (RP05)
acpiprt8 at acpi0: bus -1 (RP07)
acpiprt9 at acpi0: bus -1 (RP08)
acpiprt10 at acpi0: bus 1 (RP01)
acpiprt11 at acpi0: bus 9 (RP03)
acpiprt12 at acpi0: bus 10 (RP04)
acpiec0 at acpi0
acpicpu0 at acpi0: C3(200@87 mwait.1@0x30), C2(500@59 mwait.1@0x10), C1(1000@1 mwait.1), PSS
acpicpu1 at acpi0: C3(200@87 mwait.1@0x30), C2(500@59 mwait.1@0x10), C1(1000@1 mwait.1), PSS
acpicpu2 at acpi0: C3(200@87 mwait.1@0x30), C2(500@59 mwait.1@0x10), C1(1000@1 mwait.1), PSS
acpicpu3 at acpi0: C3(200@87 mwait.1@0x30), C2(500@59 mwait.1@0x10), C1(1000@1 mwait.1), PSS
acpitz0 at acpi0: critical temperature is 110 degC
acpitz1 at acpi0: critical temperature is 130 degC
acpiac0 at acpi0: AC unit offline
acpibat0 at acpi0: BAT1 model "CF-VZSU48" serial 01256 type LION oem "Panasonic"
acpibtn0 at acpi0: LID_
acpibtn1 at acpi0: PWRB
acpivideo0 at acpi0: GFX0
acpivout0 at acpivideo0: DD02
cpu0: Enhanced SpeedStep 1197 MHz: speeds: 2601, 2600, 2500, 2400, 2300, 2200, 2100, 2000, 1900, 1800, 1700, 1600, 1500, 1400, 1300, 1200 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel Core 3G Host" rev 0x09
inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 4000" rev 0x09
drm0 at inteldrm0
inteldrm0: msi
inteldrm0: 1024x768
wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
wsdisplay0: screen 1-5 added (std, vt100 emulation)
vendor "Intel", unknown product 0x0153 (class DASP subclass miscellaneous, rev 0x09) at pci0 dev 4 function 0 not configured
xhci0 at pci0 dev 20 function 0 "Intel 7 Series xHCI" rev 0x04: msi
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 "Intel xHCI root hub" rev 3.00/1.00 addr 1
"Intel 7 Series MEI" rev 0x04 at pci0 dev 22 function 0 not configured
em0 at pci0 dev 25 function 0 "Intel 82579LM" rev 0x04: msi, address ..:..:..:..:..:..
ehci0 at pci0 dev 26 function 0 "Intel 7 Series USB" rev 0x04: apic 2 int 16
usb1 at ehci0: USB revision 2.0
uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1
azalia0 at pci0 dev 27 function 0 "Intel 7 Series HD Audio" rev 0x04: msi
azalia0: codecs: Realtek ALC269, Conexant/0x2c06, using Realtek ALC269
audio0 at azalia0
ppb0 at pci0 dev 28 function 0 "Intel 7 Series PCIE" rev 0xc4: msi
pci1 at ppb0 bus 1
ppb1 at pci0 dev 28 function 2 "Intel 7 Series PCIE" rev 0xc4: msi
pci2 at ppb1 bus 9
iwn0 at pci2 dev 0 function 0 "Intel Centrino Advanced-N 6235" rev 0x24: msi, MIMO 2T2R, AGN, address ..:..:..:..:..:..
ppb2 at pci0 dev 28 function 3 "Intel 82801BAM Hub-to-PCI" rev 0xc4: msi
pci3 at ppb2 bus 10
cbb0 at pci3 dev 0 function 0 vendor "Ricoh", unknown product 0xe476 rev 0x02: apic 2 int 19
sdhc0 at pci3 dev 0 function 1 "Ricoh 5U823 SD/MMC" rev 0x00: apic 2 int 16
sdmmc0 at sdhc0
"Ricoh 5U832 Firewire" rev 0x03 at pci3 dev 0 function 4 not configured
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 11 device 0 cacheline 0x0, lattimer 0x20
pcmcia0 at cardslot0
ehci1 at pci0 dev 29 function 0 "Intel 7 Series USB" rev 0x04: apic 2 int 23
usb2 at ehci1: USB revision 2.0
uhub2 at usb2 "Intel EHCI root hub" rev 2.00/1.00 addr 1
pcib0 at pci0 dev 31 function 0 "Intel QM77 LPC" rev 0x04
ahci0 at pci0 dev 31 function 2 "Intel 7 Series AHCI" rev 0x04: msi, AHCI 1.3
ahci0: port 0: 3.0Gb/s
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, Samsung SSD 850, EMT0> SCSI3 0/direct fixed naa.5002538d40bdce72
sd0: 476940MB, 512 bytes/sector, 976773168 sectors, thin
ichiic0 at pci0 dev 31 function 3 "Intel 7 Series SMBus" rev 0x04: apic 2 int 18
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 8GB DDR3 SDRAM PC3-12800 SO-DIMM
spdmem1 at iic0 addr 0x52: 8GB DDR3 SDRAM PC3-12800 SO-DIMM
vendor "Intel", unknown product 0x1e24 (class DASP subclass miscellaneous, rev 0x04) at pci0 dev 31 function 6 not configured
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
com2 at isa0 port 0x3e8/8 irq 5: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
uhub3 at uhub1 port 1 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2
umodem0 at uhub3 port 2 configuration 1 interface 1 "Ericsson F5521gw" rev 2.00/0.00 addr 3
umodem0: data interface 2, has CM over data, has break
umodem0: status change notification available
ucom0 at umodem0
umodem1 at uhub3 port 2 configuration 1 interface 3 "Ericsson F5521gw" rev 2.00/0.00 addr 3
umodem1: data interface 4, has CM over data, has break
umodem1: status change notification available
ucom1 at umodem1
umodem2 at uhub3 port 2 configuration 1 interface 9 "Ericsson F5521gw" rev 2.00/0.00 addr 3
umodem2: data interface 10, has CM over data, has break
umodem2: status change notification available
ucom2 at umodem2
ugen0 at uhub3 port 2 configuration 1 "Ericsson F5521gw" rev 2.00/0.00 addr 3
uhub4 at uhub2 port 1 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2
uhidev0 at uhub4 port 6 configuration 1 interface 0 "Fujitsu Component USB Touch Panel" rev 1.10/20.02 addr 3
uhidev0: iclass 3/1
ums0 at uhidev0: 3 buttons
wsmouse1 at ums0 mux 0
ugen1 at uhub4 port 7 "Intel product 0x07da" rev 2.00/78.69 addr 4
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
sd1 at scsibus3 targ 1 lun 0: <OPENBSD, SR CRYPTO, 005> SCSI2 0/direct fixed
sd1: 476937MB, 512 bytes/sector, 976767473 sectors
softraid0: volume sd1 is roaming, it used to be sd3, updating metadata
root on sd1a (64ada20271afeb7f.a) swap on sd1b dump on sd1b
[/code]
Hardware support :: DMESG CF-19KHRAHND (mark 3)
[code]
OpenBSD 5.9 (GENERIC.MP) #1888: Fri Feb 26 01:20:19 MST 2016
deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 4109516800 (3919MB)
avail mem = 3980771328 (3796MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xc9dfd018 (46 entries)
bios0: vendor American Megatrends Inc. version "V3.00L15" date 01/21/2009
bios0: Panasonic Corporation CF-19KHRAHND
acpi0 at bios0: rev 2
acpi0: sleep states S0 S1 S3 S4 S5
acpi0: tables DSDT FACP APIC MCFG HPET SLIC SSDT SSDT SSDT DMAR TCPA SSDT
acpi0: wakeup devices USB0(S3) USB1(S3) EHC1(S3) HDEF(S3) GLAN(S4) PXSX(S4) PXSX(S4) PXSX(S4) PXSX(S4) PXSX(S4) LID_(S4)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM)2 Duo CPU U9300 @ 1.20GHz, 798.12 MHz
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,NXE,LONG,LAHF,PERF,SENSOR
cpu0: 3MB 64b/line 8-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 199MHz
cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2.1.3, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Core(TM)2 Duo CPU U9300 @ 1.20GHz, 798.01 MHz
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,NXE,LONG,LAHF,PERF,SENSOR
cpu1: 3MB 64b/line 8-way L2 cache
cpu1: smt 0, core 1, package 0
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins
acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63
acpihpet0 at acpi0: 14318179 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 11 (P0PC)
acpiprt2 at acpi0: bus 1 (RP01)
acpiprt3 at acpi0: bus -1 (RP02)
acpiprt4 at acpi0: bus 2 (RP03)
acpiprt5 at acpi0: bus 10 (RP04)
acpiprt6 at acpi0: bus -1 (RP05)
acpiec0 at acpi0
acpicpu0 at acpi0: !C3(100@162 mwait.3@0x50), !C2(500@1 mwait.1@0x10), C1(1000@1 mwait.1), PSS
acpicpu1 at acpi0: !C3(100@162 mwait.3@0x50), !C2(500@1 mwait.1@0x10), C1(1000@1 mwait.1), PSS
acpitz0 at acpi0: critical temperature is 105 degC
acpitz1 at acpi0: critical temperature is 130 degC
acpiac0 at acpi0: AC unit offline
acpibat0 at acpi0: BAT1 model "CF-VZSU48" serial 00252 type LION oem "Panasonic"
acpibtn0 at acpi0: LID_
acpibtn1 at acpi0: PWRB
acpivideo0 at acpi0: GFX0
acpivout0 at acpivideo0: DD02
cpu0: Enhanced SpeedStep 798 MHz: speeds: 1201, 1200, 800 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel GM45 Host" rev 0x07
inteldrm0 at pci0 dev 2 function 0 "Intel GM45 Video" rev 0x07
drm0 at inteldrm0
intagp0 at inteldrm0
agp0 at intagp0: aperture at 0xd0000000, size 0x10000000
inteldrm0: msi
inteldrm0: 1024x768
wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
wsdisplay0: screen 1-5 added (std, vt100 emulation)
"Intel GM45 Video" rev 0x07 at pci0 dev 2 function 1 not configured
em0 at pci0 dev 25 function 0 "Intel ICH9 IGP M AMT" rev 0x03: msi, address ..:..:..:..:..:..
uhci0 at pci0 dev 26 function 0 "Intel 82801I USB" rev 0x03: apic 2 int 16
uhci1 at pci0 dev 26 function 1 "Intel 82801I USB" rev 0x03: apic 2 int 21
uhci2 at pci0 dev 26 function 2 "Intel 82801I USB" rev 0x03: apic 2 int 19
ehci0 at pci0 dev 26 function 7 "Intel 82801I USB" rev 0x03: apic 2 int 19
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
azalia0 at pci0 dev 27 function 0 "Intel 82801I HD Audio" rev 0x03: msi
azalia0: codecs: Analog Devices AD1883, Conexant/0x2c06, using Analog Devices AD1883
audio0 at azalia0
ppb0 at pci0 dev 28 function 0 "Intel 82801I PCIE" rev 0x03: msi
pci1 at ppb0 bus 1
ppb1 at pci0 dev 28 function 2 "Intel 82801I PCIE" rev 0x03: msi
pci2 at ppb1 bus 2
ppb2 at pci0 dev 28 function 3 "Intel 82801I PCIE" rev 0x03: msi
pci3 at ppb2 bus 10
iwn0 at pci3 dev 0 function 0 "Intel WiFi Link 5100" rev 0x00: msi, MIMO 1T2R, MoW, address ..:..:..:..:..:..
uhci3 at pci0 dev 29 function 0 "Intel 82801I USB" rev 0x03: apic 2 int 23
uhci4 at pci0 dev 29 function 1 "Intel 82801I USB" rev 0x03: apic 2 int 19
uhci5 at pci0 dev 29 function 2 "Intel 82801I USB" rev 0x03: apic 2 int 18
ehci1 at pci0 dev 29 function 7 "Intel 82801I USB" rev 0x03: apic 2 int 23
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb3 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0x93
pci4 at ppb3 bus 11
cbb0 at pci4 dev 0 function 0 "Ricoh 5C476 CardBus" rev 0xba: apic 2 int 20
"Ricoh 5C832 Firewire" rev 0x04 at pci4 dev 0 function 1 not configured
sdhc0 at pci4 dev 0 function 2 "Ricoh 5C822 SD/MMC" rev 0x21: apic 2 int 22
sdmmc0 at sdhc0
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 12 device 0 cacheline 0x0, lattimer 0x20
pcmcia0 at cardslot0
pcib0 at pci0 dev 31 function 0 "Intel 82801IEM LPC" rev 0x03
ahci0 at pci0 dev 31 function 2 "Intel 82801I AHCI" rev 0x03: msi, AHCI 1.2
ahci0: port 0: 1.5Gb/s
ahci0: PHY offline on port 1
ahci0: PHY offline on port 4
ahci0: PHY offline on port 5
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, INTEL SSDSC2CW48, 400i> SCSI3 0/direct fixed naa.5001517803d3e8aa
sd0: 457862MB, 512 bytes/sector, 937703088 sectors, thin
ichiic0 at pci0 dev 31 function 3 "Intel 82801I SMBus" rev 0x03: apic 2 int 19
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 2GB DDR2 SDRAM non-parity PC2-6400CL6 SO-DIMM
spdmem1 at iic0 addr 0x52: 2GB DDR2 SDRAM non-parity PC2-5300CL5 SO-DIMM
usb2 at uhci0: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci1: USB revision 1.0
uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci2: USB revision 1.0
uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb5 at uhci3: USB revision 1.0
uhub5 at usb5 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb6 at uhci4: USB revision 1.0
uhub6 at usb6 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb7 at uhci5: USB revision 1.0
uhub7 at usb7 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
ugen0 at uhub0 port 3 "Qualcomm Incorporated Qualcomm HS-USB" rev 2.00/0.01 addr 2
uhidev0 at uhub2 port 2 configuration 1 interface 0 "Fujitsu Component USB Touch Panel" rev 1.10/10.02 addr 2
uhidev0: iclass 3/1
ums0 at uhidev0: 3 buttons, tip, barrel, eraser
wsmouse1 at ums0 mux 0
ugen1 at uhub7 port 2 "ALPS UGNZA" rev 1.10/31.64 addr 2
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
sd1 at scsibus3 targ 1 lun 0: <OPENBSD, SR CRYPTO, 005> SCSI2 0/direct fixed
sd1: 452737MB, 512 bytes/sector, 927207012 sectors
softraid0: volume sd1 is roaming, it used to be sd2, updating metadata
root on sd1a (f6d4ba6cdf917d2e.a) swap on sd1b dump on sd1b
[/code]
Laptop tweaks :: BIOS settings
The safest way to ensure that a particular device won't drain any power, is to disable it in the BIOS.
I've also disabled ports to prevent physical attacks like Firewire Inception and BadUSB.
The following BIOS settings are currently disabled:
Advanced - Serial Port Settings - Serial Port A
Advanced - Serial Port Settings - Serial Port B
Advanced - Serial Port Settings - GPS - ENABLED Port 3F8/IRQ4
Advanced - Modem
Advanced - Wireless Configuration - Bluetooth
Advanced - ExpressCard Slots
Advanced - PC Card Slots
Advanced - SD Slots
Advanced - IEEE1394 Port
Advanced - USB Port
I might need to look deeper into ALS and VT/vmm support on OpenBSD - disabled for now.
Main - Ambient Light Sensor Configuration - Automatic Display Brightness
Advanced - CPU Configuration - Intel Virtualization Technology
Laptop tweaks :: Processor scaling
[code]echo 'apmd_flags="-A"' | doas tee -a /etc/rc.conf.local[/code]
Laptop tweaks :: Display Brightness
My system starts with 10% display brightness
[code]echo "/usr/X11R6/bin/xbacklight -set 10" | tee -a ~/.xsession[/code]
Laptop tweaks :: Wireless setup :: WLAN
Replace MY_SSID and MY_WPA2_KEY ...
[code]doas fw_update iwn
echo 'dhcp nwid "MY_SSID" wpakey MY_WPA2_KEY powersave' | doas tee -a /etc/hostname.iwn0[/code]
Laptop tweaks :: Wireless setup :: WWAN
You will need to edit /etc/ppp/wwan.chat to match your mobile carrier.
[code]
doas touch /etc/hostname.ppp0
echo "/dev/cuaU0
asyncmap 0
modem
crtscts
lock
noauth
defaultroute
lcp-echo-interval 30
lcp-echo-failure 4
ipcp-accept-local
ipcp-accept-remote
ipcp-restart 10
idle 120
active-filter 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0'" | doas tee -a /etc/ppp/options
doas mkdir /etc/ppp/peers
echo 'user kermit
connect "/usr/sbin/chat -V -s -f /etc/ppp/wwan.chat"
disconnect "/usr/sbin/chat -V -s -f /etc/ppp/poweroff.chat"
0.0.0.0:10.161.168.255' | doas tee -a /etc/ppp/peers/wwan
echo 'connect "/usr/sbin/chat -V -s -f /etc/ppp/poweroff.chat"' | doas tee -a /etc/ppp/peers/poweroff
echo 'kermit frog *' | doas tee -a /etc/ppp/chap-secrets
echo '"" AT+CFUN=0' | doas tee -a /etc/ppp/poweroff.chat
echo 'REPORT CONNECT
ABORT BUSY
ABORT VOICE
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "NO DIAL TONE"
ABORT "NO ANSWER"
ABORT "DELAYED"
ABORT "ERROR"
ABORT "+CGATT: 0"
# Ericsson F5521gw CFUns are 0=off, 1=umts+gprs, 4=flightmode, 5=gprs, 6=umts
# you might need to manually set cfun=5 if signal quality is to bad for cfun=1 or cfun=6
"" AT+CFUN=1
# query signal quality
"" AT+CSQ
# need to set pin?
# "" AT+CPIN?
# OK AT+CPIN=1234
"" AT
TIMEOUT 12
OK ATH
OK ATE1
OK AT+CGDCONT=1,"IP","surfo2","",0,0
OK ATD*99#
TIMEOUT 22
CONNECT ""' | doas tee -a /etc/ppp/wwan.chat[/code]
Laptop tweaks :: Wireless setup :: WLAN/WWAN Switching
Whenever I open my laptop, the system tries to connect via WLAN and falls back to WWAN if that doesn't work.
[code]echo '#!/bin/sh
# kill pppd and poweroff wwan card on suspend ... to prevent freeze while suspending when wwan is active
/usr/bin/pkill pppd && /usr/sbin/pppd call poweroff nodetach debug' | doas tee -a /etc/apm/suspend
echo '#!/bin/sh
# try wlan and fallback to wwan, disable the unused device
/bin/sh /etc/netstart
/sbin/ping -c3 8.8.8.8 && /usr/sbin/pppd call poweroff nodetach debug
/sbin/ping -c3 8.8.8.8 || (
/sbin/ifconfig iwn0 down
/usr/sbin/pppd demand call wwan
)' | doas tee -a /etc/apm/resume | doas tee -a /etc/apm/powerup
doas chmod 700 /etc/apm/*
doas crontab -e # @reboot /bin/sh /etc/apm/powerup[/code]
Laptop tweaks :: Screenlock and Suspend
My screen locks and goes blank after 3 minutes of inactivity.
The system suspends to ram after 6 minutes of inactivity, unless connected to AC power.
This is achieved by adding two lines to the top of ~/.xsession
[code]/usr/X11R6/bin/xidle -timeout 180 -program "/usr/X11R6/bin/xlock -mode blank -lockdelay 20 -dpmsstandby 30" & echo $! >"$HOME/.xlock.pid" &
/bin/sh -c 'while sleep 30; do pgrep xlock && sleep 90 && pgrep xlock && sleep 90 && pgrep xlock && test `apm -a` == 0 && apm -z; done' &[/code]
This makes sure my system also locks the screen when suspending for other reasons, e.g. LID close:
[code]echo '#!/bin/sh
/usr/bin/pgrep xlock || /bin/test -f /home/karl/.xlock.pid && /bin/kill -USR1 `/bin/cat /home/karl/.xlock.pid`' | doas tee -a /etc/apm/suspend[/code]
This turns off the speakers on resume.
[code]echo '#!/bin/sh
for CTRL in outputs.spkr_mute outputs.hp_mute outputs.master.mute; do /usr/bin/mixerctl $CTRL=on; done' | doas tee -a /etc/apm.resume | doas tee -a /etc/apm/powerup
doas chmod 700 /etc/apm/*[/code]
Laptop tweaks :: SSD optimizations
SSDs can only do a limited number of write operations.
Thus we do not want to log each time a file is accessed by configuring /etc/fstab to always use the "noatime" option.
Disabling swap space will also help prolonging your SSDs lifetime, if you've got plenty of ram.
I'm also using the "softdep" option to increase resilence of ffs metadata, just in case.
Laptop tweaks :: GPS as Timesource
My Leadtek LR95484S gps unit is very power-efficient at only 165mW continious drain. It will take 7 hours to eat up two percent of my 60Wh battery.
Thus I'm always running it as a timesource for OpenNTPd and as a bonus will never have to wait for a gps fix.
[code]doas sed -i 's/^tty00.*off/cua00 \"\/sbin\/ldattach -p nmea\" unknown on/' /etc/ttys
echo 'sensor *' | doas tee /etc/ntpd.conf[/code]
GPS data can be viewed using the native "systat sensors" command or by running gpsd.
[code]doas pkg_add gpsd
grep ldattach /var/log/daemon
doas gpsmon /dev/ttyp1 # or whichever appeared in previous output[/code]
Laptop tweaks :: GPS as Navigator
OpenBSD has a free navigation solution - FoxtrotGPS - in the ports tree.
I wanted something a bit more refined ... to paraphrase Carl Sagan:
If you wish to use turn-by-turn offline navigation on OpenBSD, you must first emulate the universe.
Thus I'm running MapFactor PC Navigator 15 Free,
on top of a emulated Windows environment,
on top of Systemd,
on top of Linux,
on top of a emulated x64 computer,
on top of a barely SMP-aware research operating system,
on top of a passively cooled mobile processor.
It is about as slow as my description suggests it to be ... but it works ;-)
Ok, here is how you do it:
Setup Lubuntu VM on OpenBSD
[code]doas usermod -G tty "$USER"
doas chmod g+rw /dev/ttyp1 /dev/cua00
doas crontab -e # @reboot /bin/sh -c "sleep 10; /bin/chmod g+rw /dev/ttyp1 /dev/cua00"
doas pkg_add qemu
mkdir -p ~/bin/.qemu
cd ~/bin/.qemu
ftp http://archive.ubuntu.com/ubuntu/dists/ ... t/mini.iso
qemu-img create -f raw ~/bin/.qemu/mapfactor.raw 16G
echo '#!/bin/sh
qemu-system-x86_64 -m 2048 -monitor stdio -no-acpi -serial /dev/ttyp1 ~/bin/.qemu/mapfactor.raw "$@"' > ~/bin/mapfactor
chmod +x ~/bin/mapfactor # setup mapfactor wrapper script
mapfactor -cdrom ~/bin/.qemu/mini.iso -boot d # install Lubuntu
mapfactor # start Lubuntu
[/code]
Setup MapFactor on Lubuntu VM
[code]sudo apt-get install lubuntu-core wine1.6 xterm
sudo usermod -aG dialout "$USER"
wget download.mapfactor.com/NavigatorFree_install.exe
wine NavigatorFree_install.exe # install PC Navigator and OSM Maps for your region
echo -e "[SeatDefaults]
autologin-user=$USER
autologin-user-timeout=0
user-session=Lubuntu
greeter-session=lightdm-gtk-greeter" | sudo tee /etc/lightdm/lightdm.conf
echo '/usr/bin/wine "C:/windows/command/start.exe" "C:/users/Public/Desktop/PC Navigator 15 FREE.lnk"' > ~/.xprofile
sudo poweroff[/code]
From now on, you can simply type mapfactor into some xterm ...
and ponder about this marvelous Rube Goldberg machine while it boots up ;-)
Laptop tweaks :: Touchscreen calibration
Calibrate your touchscreen by running xtsscale
[code]$ xtsscale
XRandR extension version 1.4 present
mouse.scale=890,15720,601,14969,0,1024,768[/code]
The output of xtsscale is designed to be copy&pasted to /etc/wsconsctl.conf - BUT our touchscreen is wsmouse1, which causes us to trip over this issue:
/etc/wsconsctl.conf cannot currently be used to set the calibration data of a device that is not the first device. ( /dev/wsmouse0 )
Thus, we need another way to persist touchscreen calibration ... e.g. by adding a xinput command to ~/.xsession:
[code]/usr/X11R6/bin/xinput set-prop 7 "WS Pointer Axis Calibration" 890 15720 601 14969 &[/code]
Gimmicks :: apmlog.sh
I've written a dirty little script, which reports powermanagement statistics and logs them to ~/apmlog.sh.log.
Sample output:
[code] Date; Bat%; BatHrs; MHz; DrainW; BatWh; Bright; WiFi; UMTS; TotHrs;
Fri May 27 18:37:51 CEST 2016; 94; 4:50; 1200; 11.71; 56.72; 20; active; off; 5:08;
Fri May 27 18:38:21 CEST 2016; 94; 4:53; 1200; 11.58; 56.63; 20; active; off; 5:11;
Fri May 27 18:38:51 CEST 2016; 93; 4:08; 1200; 13.67; 56.55; 20; active; off; 4:26;
Fri May 27 18:39:22 CEST 2016; 93; 4:52; 1200; 11.59; 56.47; 20; active; off; 5:13;
Fri May 27 18:39:52 CEST 2016; 93; 5:42; 1200; 9.88; 56.41; 15; active; off; 6:07;
Fri May 27 18:40:22 CEST 2016; 93; 6:03; 1200; 9.30; 56.34; 15; active; off; 6:30;
Fri May 27 18:40:52 CEST 2016; 93; 5:03; 1200; 11.14; 56.28; 10; active; off; 5:25;
Fri May 27 18:41:22 CEST 2016; 93; 7:15; 1200; 7.75; 56.22; 10; active; off; 7:47;
Fri May 27 18:41:52 CEST 2016; 93; 5:14; 1200; 10.72; 56.15; 10; active; off; 5:37;
Fri May 27 18:42:22 CEST 2016; 93; 5:50; 1200; 9.59; 56.09; 10; active; off; 6:16;
Fri May 27 18:42:52 CEST 2016; 92; 5:52; 1200; 9.54; 56.01; 10; active; off; 6:22;[/code]
This is the script:
[code]#!/bin/sh
while sleep 1; do
date
apm
sysctl hw.sensors.acpibat0.power0
sysctl hw.sensors.acpibat0.watthour3
xbacklight
ifconfig iwn0|grep status|xargs echo iwn0
pgrep -l pppd && echo pppdon || echo pppdoff
echo
sleep 29
done | perl -x "$0" "$@" | tee -a "$HOME/apmlog.sh.log"
exit
#!perl
$|=1;
my( $count, $date, $batp, $batm, $cpus, $drain, $left, $bright, $iwn, $wwan, $theo );
sub f($$) { return sprintf("%".$_[1]."s", $_[0]) }
while(<>){
if( m/^(\w\w\w\s\w\w\w\s[\d\s\:]+\sCE.?T\s\d{4})/o ) { $date =$1 }
elsif( m/^Battery\sstate\:\s\w+\,\s(\d+)\%\sremaining\,\s(\d+)\sminutes\slife\sestimate/o ) { $batp =$1; $batm=$2;
my $hrs = int($batm/60);
my $min = $batm-($hrs*60);
$min = "0$min" if $min < 10;
$theo = int($batm*100/$batp);
$batm="$hrs:$min";
$hrs = int($theo/60);
$min = $theo-($hrs*60);
$min = "0$min" if $min < 10;
$theo="$hrs:$min";
}
elsif( m/^Performance.+\((\d+)\sMHz\)/o ) { $cpus =$1 }
elsif( m/^hw.sensors.acpibat0.power0.([\d\.]+)\sW/o ) { $drain =$1 }
elsif( m/^hw.sensors.acpibat0.watthour3.([\d\.]+)\sWh/o ) { $left =$1 }
elsif( m/^A\/C\sadapter+/o ) { $bright=$1 }
elsif( m/^(\w+)\.0+/o ) { $bright=$1 }
elsif( m/^pppdo(n|ff)/o ) { $wwan ="o$1" }
elsif( m/^\s*iwn0\s*status\:\s*(\w+)\s*(?:network)?$/o ) { $iwn =$1 }
elsif( m/^\s*$/o ) {
if( $count == 0 ) {
print " Date; Bat%; BatHrs; MHz; DrainW; BatWh; Bright; WiFi; UMTS; TotHrs;\n"
}
$count++;
$count = $0 if $count == 10;
$iwn = "off" if $iwn eq "no";
$iwn = "on" if $iwn eq "active";
print "$date;".f($batp,5).";".f($batm,7).";".f($cpus,5).";".f($drain,7).";".f($left,6).";".f($bright,7).";".f($iwn,7).";".f($wwan,5).";".f($theo,7).";\n";
}
else{ print "did not match: $_"; }
}[/code]
You can get a pretty good prediction of total battery life by crunching the log like this:
[code]cat ~/apmlog.sh.log | perl -ne'%h;if(m/^.*\;\s+(\d+)\:(\d+)\;$/o){$h{"sum"}+=(($1*60)+$2); $h{"count"}+=1;print $h{"count"}." samples average to ".($h{"sum"}/$h{"count"})."\n"}' | tail
467 samples average to 394.492537313433[/code]
Thats 6:30hrs of continious use, estimated based on cf19mk6 during an afternoon of coding, light web browsing and two movies.
Let's assume 25-50% gain due to agressive 5min suspend policy and it should last for more than a full shift.