Появилась недавно потребность во FreeBSD не на виртуалке. В итоге на ноут была установлена 11.2-RC.
Во время установки ноут особо не контроллировался, проблемы не замечались. Но во время продолжительного пребывания за ноутом стало ясно, что ноутбук сильно нагревается. Темперетура поверхности и клавиатуры становилась такая, что работать за ноутбуком становилось дискомфортно.
С помощью acpiconf -i0 было выявлено, что ноут потреблет больше 30 Вт. Не знаю на сколько можно этим цифам доверять, в дальнейшем после различных минипуляций acpiconf -i0 перестал выдавать информацию о мощности. Не знаю на каком этапе это произошло.
первым делом отключил дисктретную видекарту скриптом, который упоминатеся в статье https://wiki.freebsd.org/TuningPowerConsumption . Вот здесь начались следующие странности. Потребление падает в acpiconf -i0, но через какое-то время (минута-две) вентилятор увеличивает свои обороты.
следущее действее -- была попытка воспользоваться powerd (н.иже приведен rc.conf). Но он никаго эффекта не дал. Пришлось от него отказаться. Если в ручную через sysctl dev.cpu.0.freq выставить минимальную частоту, то это даёт свои резултаты.
powerd работает тоже через sysctl(). Подеозреваю, что устанвливает все верно, а вот считывает ерунду вот алгоритм и не может ничего регулировать.
далее обратил внимание, что есть тиринг в иксах, например, при перетаскивании окошек. Проблема решил с помощью /usr/ports/graphics/drm-next-kmod (почему-то не нашел в пакетах, пришлось ставить из портов). Эт решение имеет побочный эффект -- снижает нагрузку на процессор, надеюсь, уменьшит тепловыделение. измерить-то нечем.
Итого есть ряд вопросов:
- куда копать, чтобы заставить корректно рабоать вентилятор?
- куда копать, чтобы корректно заработал powerd?
- хотелось бы починить acpiconf -i0, но не обязательно. Реакция на смену состояния батареи есть, но уровень потребления всегда равен нулю.
Код: Выделить всё
# uname -a
FreeBSD 11.2-RC3 FreeBSD 11.2-RC3 #0 r335197: Fri Jun 15 19:21:38 UTC 2018 root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
Код: Выделить всё
# cat /etc/rc.conf
syslogd_flags="-ss"
sendmail_enable="NONE"
wlans_iwn0="wlan0"
ifconfig_wlan0="WPA DHCP"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="NO"
ataidle_enable="YES"
ataidle_devices="ada0"
ataidle_ada0="-P 0"
hald_enable="YES"
dbus_enable="YES"
sddm_enable="YES"
apm_enable="YES"
powerd_enable="YES"
powerd_flags="-a hiadaptive -b adaptive"
performance_cx_lowest="LOW"
economy_cx_lowest="LOW"
moused_enable="NO"
# don't hang the boot process while waiting on DHCP
background_dhclient="YES"
kld_list="/boot/modules/i915kms.ko"
Код: Выделить всё
# pciconf -lv
hostb0@pci0:0:0:0: class=0x060000 card=0x12771043 chip=0x01048086 rev=0x09 hdr=0x00
vendor = 'Intel Corporation'
device = '2nd Generation Core Processor Family DRAM Controller'
class = bridge
subclass = HOST-PCI
pcib1@pci0:0:1:0: class=0x060400 card=0x12771043 chip=0x01018086 rev=0x09 hdr=0x01
vendor = 'Intel Corporation'
device = 'Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port'
class = bridge
subclass = PCI-PCI
vgapci1@pci0:0:2:0: class=0x030000 card=0x15f21043 chip=0x01168086 rev=0x09 hdr=0x00
vendor = 'Intel Corporation'
device = '2nd Generation Core Processor Family Integrated Graphics Controller'
class = display
subclass = VGA
none0@pci0:0:22:0: class=0x078000 card=0x12771043 chip=0x1c3a8086 rev=0x04 hdr=0x00
vendor = 'Intel Corporation'
device = '6 Series/C200 Series Chipset Family MEI Controller'
class = simple comms
ehci0@pci0:0:26:0: class=0x0c0320 card=0x12771043 chip=0x1c2d8086 rev=0x05 hdr=0x00
vendor = 'Intel Corporation'
device = '6 Series/C200 Series Chipset Family USB Enhanced Host Controller'
class = serial bus
subclass = USB
hdac0@pci0:0:27:0: class=0x040300 card=0x1ac31043 chip=0x1c208086 rev=0x05 hdr=0x00
vendor = 'Intel Corporation'
device = '6 Series/C200 Series Chipset Family High Definition Audio Controller'
class = multimedia
subclass = HDA
pcib2@pci0:0:28:0: class=0x060400 card=0x12771043 chip=0x1c108086 rev=0xb5 hdr=0x01
vendor = 'Intel Corporation'
device = '6 Series/C200 Series Chipset Family PCI Express Root Port 1'
class = bridge
subclass = PCI-PCI
pcib3@pci0:0:28:1: class=0x060400 card=0x12771043 chip=0x1c128086 rev=0xb5 hdr=0x01
vendor = 'Intel Corporation'
device = '6 Series/C200 Series Chipset Family PCI Express Root Port 2'
class = bridge
subclass = PCI-PCI
pcib4@pci0:0:28:5: class=0x060400 card=0x12771043 chip=0x1c1a8086 rev=0xb5 hdr=0x01
vendor = 'Intel Corporation'
device = '6 Series/C200 Series Chipset Family PCI Express Root Port 6'
class = bridge
subclass = PCI-PCI
ehci1@pci0:0:29:0: class=0x0c0320 card=0x12771043 chip=0x1c268086 rev=0x05 hdr=0x00
vendor = 'Intel Corporation'
device = '6 Series/C200 Series Chipset Family USB Enhanced Host Controller'
class = serial bus
subclass = USB
isab0@pci0:0:31:0: class=0x060100 card=0x12771043 chip=0x1c498086 rev=0x05 hdr=0x00
vendor = 'Intel Corporation'
device = 'HM65 Express Chipset Family LPC Controller'
class = bridge
subclass = PCI-ISA
ahci0@pci0:0:31:2: class=0x010601 card=0x12771043 chip=0x1c038086 rev=0x05 hdr=0x00
vendor = 'Intel Corporation'
device = '6 Series/C200 Series Chipset Family 6 port Mobile SATA AHCI Controller'
class = mass storage
subclass = SATA
none1@pci0:0:31:3: class=0x0c0500 card=0x12771043 chip=0x1c228086 rev=0x05 hdr=0x00
vendor = 'Intel Corporation'
device = '6 Series/C200 Series Chipset Family SMBus Controller'
class = serial bus
subclass = SMBus
vgapci0@pci0:1:0:0: class=0x030000 card=0x15f21043 chip=0x0df410de rev=0xa1 hdr=0x00
vendor = 'NVIDIA Corporation'
device = 'GF108M [GeForce GT 540M]'
class = display
subclass = VGA
iwn0@pci0:3:0:0: class=0x028000 card=0x10058086 chip=0x08ae8086 rev=0x00 hdr=0x00
vendor = 'Intel Corporation'
device = 'Centrino Wireless-N 100'
class = network
re0@pci0:4:0:0: class=0x020000 card=0x12771043 chip=0x816810ec rev=0x06 hdr=0x00
vendor = 'Realtek Semiconductor Co., Ltd.'
device = 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller'
class = network
subclass = ethernet