aboutsummaryrefslogblamecommitdiff
path: root/scripts/hostclass/laptop/20-laptop
blob: 5a26b4c42a178c52abcf27d93508e15d53e7f500 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11





                                                                                  




                                                 


                          

                                       
 
                                 





                                               
                                













                                   


                                     



                                                
 


                          



                                                               






                                                               
#!/bin/sh

# Set USB power savings
usbconfig | awk -F: '{ print $1 }' | xargs -rtn1 -I% usbconfig -d % power_save ||:
install_file /etc/rc.local

# Enable kernel module for Android USB tethering.
load_kernel_module if_urndis
set_loader_conf if_urndis_load=YES
sysrc -v ifconfig_ue0='DHCP'

# Install laptop packages.
pkg install -y networkmgr

# Increase ZFS timeout to save battery.
set_loader_conf vfs.zfs.txg.timeout=10

# Set intel power saving options.
if [ "$graphics_type" = intel ]; then
  set_loader_conf \
    compat.linuxkpi.i915_disable_power_well=1 \
    compat.linuxkpi.i915_enable_dc=2
fi

# Load appropriate WiFi drivers.
case ${wireless_type:-} in
  iwm*)
    set_loader_conf \
      if_iwm_load=YES \
      "${wireless_type}fw_load=YES"

    load_kernel_module \
      if_iwm \
      "${wireless_type}fw"

    sysrc -v wlans_iwm0='wlan0'
    ;;
esac

# Enable power saving for sound card.
set_sysctl hw.snd.latency=7

# Configure wireless card.
sysrc -v \
  create_args_wlan0='country US regdomain FCC' \
  ifconfig_wlan0="WPA DHCP powersave"

# Hardware-specific fixes.
case ${laptop_type:-} in
  thinkpad)
    # Load the IBM thinkpad kernel module for hardware buttons.
    load_kernel_module acpi_ibm
    set_loader_conf acpi_ibm_load=YES

    # Set brightness using function keys.
    set_sysctl dev.acpi_ibm.0.handlerevents='0x10 0x11'
    install_file -m 0555 /usr/local/libexec/thinkpad-brightness
    install_file -m 0644 /etc/devd/thinkpad-brightness.conf
    service devd restart
    ;;
esac