I’m slowly whittling away at the remaining problems getting Manjaro to run on my Razer Blade 14, and I’m stuck at battery life - I get about 3.2 hours in Manjaro and 9 hours in Windows.
I have followed all of the guides on Powertop, TLP, autocpu, etc, but cannot identify (or disable) USB device: Razer Blade (Razer), which seems to be at the root of my battery woes.
The battery reports a discharge rate of 15.8 W
The energy consumed was 297 J
System baseline power is estimated at 19.9 W
Power est. Usage Device name
**13.8 W 100.0% USB device: Razer Blade (Razer)**
2.78 W 20.0% Display backlight
2.10 W 15.0% CPU misc
544 mW 1.9 pkts/s Network interface: wlp2s0 (iwlwifi)
410 mW 100.0% Radio device: iwlwifi
219 mW 15.0% CPU core
0 mW 100.0% USB device: xHCI Host Controller
0 mW 0.0% Audio codec hwC1D0: Realtek
0 mW 0.0% USB device: usb-device-8087-0032
0 mW 0.0% Audio codec hwC0D0: Nvidia
0 mW 0.0% USB device: xHCI Host Controller
0 mW 0.0% USB device: xHCI Host Controller
0 mW 0.0% Radio device: btusb
I’ve followed guides for disabling a USB device, but it still shows up in Powertop. How can I disable this device and get back to normal battery life?
There is norhing plugged into the laptop. I cant tell what it is from the name either, only that powertop claims that it is constantly waking up and draing 13-14W of power and giving me 3hr of battery life on Manjaro vs 9+ on windows.
Well, I don’t post terminal commands just for fun. Powertop says it is a USB device, then search which one it is. It can also be an internal USB device… touchpad, keyboard, webcam etc.
Referring to that wiki article it must be the webcam.
The webcam is constantly consuming power regardless of whether it is in use or not as seen in powertop. The recommended methods for disabling the webcam work to disable the webcam but power drain remains constant. Those methods include added blacklist uvcvideo to /etc/modprobe.d/blocklist.conf and echo usb-id > /sys/bus/usb/drivers/unbind. We observed that the only way to get the power drain to reduce is to first fully load uvcvideo module after system has completely started and then after that unload and unbind.
Specifically the last bit:
We observed that the only way to get the power drain to reduce is to first fully load uvcvideo module after system has completely started and then after that unload and unbind.
I suppose the best is not to blacklist, but rather load and unload then unbind.
So … Heres a thing:
/etc/systemd/system/webcam-power.service
[Unit]
Description=Start and stop webcam module then unbind to tame power drain.
After=basic.target
[Service]
Type=oneshot
ExecStart=/usr/bin/bash 'modprobe uvcvideo && modprobe -r uvcvideo && echo usb-id > /sys/bus/usb/drivers/unbind'
WantedBy=basic.target
Then enable it:
systemctl enable webcam-power.service
But that usb-id needs to be replaced by the real usb id … which we cannot know because there has not been any output like lsusb shared.
Once you find that … then go ahead and try just running the command in terminal to test: