Site Tools


Sidebar

hardwarerelated:thinkpad:thinkpad_l480

What is here?

Some notes regarding the Lenovo Thinkpad L480. As of end 2018, it seems to be a good choice for an affordable laptop, with the hardware nicely supported under Linux. The Thinkpad T480 is much more expensive and a Business2Business (B2B) model, with more ports and better material than the L480. The L480 is said to have lower quality parts than the T480, but it is also for the B2B market. The E480 has less interfaces than the E480, and is 300€ cheaper.

hardware notes

  • The power supply started to send out high frequency noise. It's a 65W model, for now I use the Nintendo switch power supply (only 39W), it does not have that problem.

hardware upgrade

  • RAM: up to 32GB supported, shipped with 1 S0DIMM 8GB DDR4-2400 1.2V. I got a second dimm: “Crucial 8GB DDR4-2666 S0DIMM 1.2V CL19”
  • SSD: M.2 PCIe NVMe, I replaced with: Crucial SSD M.2 1000GB P1 Series Type 2280 PCIe3.0x4 NVMe CT1000P1SSD8JP

linux notes

  • trackpad/trackpointer:Installers like Fedora29 Anaconda come up with trackpad/trackpointer unusable. Workarounds:
    • kernel options: “psmouse.elantech_smbus=0”
    • or executing 'echo -n elantech > /sys/bus/serio/devices/serio1/protocol' on the running system
    • I installed Fedora29 with kernel options “inst.text inst.vnc inst.vnc=password”, which did lead to VNC getting offered via a DHCP obtained IP.
  • installation: The system came halfinstalled with Win10, attempted to complete setup on first boot. The Fedora29 netinstaller can be run from a USB-stick. I did not get DHCP to run - no errors displayed, just no network boot done. I did not sniff whether any packets make it onto the wire or not.
  • hyperthreading: The single CPU has 4 cores, and by default 2 hardware threads per core. I do not use these, so disabled them. Kernel option 'noht' does not work, but disabling in BIOS works.
  • powertop: One should run 'powertop –auto-tune' once after boot, or run 'powertop' interactive, and save the single commands which are used for the optimization actions, for running them in a script later. I use file '/etc/rc.d/rc.local', which needs to be executable. Running 'systemctl enable rc-local' configures to run the script after reboots.
  • drivers:
    • Fedora29 (kernel 4.19) supports everything out of the box, just the trackpointer/trackpad need the kernel option. Fedora31 no longer needs the kernel option.
  • backlight:
    • 'cat /sys/class/backlight/intel_backlight/max_brightness'
    • 'echo 1000 >/sys/class/backlight/intel_backlight/brightness'
    • dnf -y install light; light -U 5 / light -A 5
  • firmware update:
    • Fedora: “dnf -y install fwupd”
      • fwupdmgr get-updates; fwupdmgt update
    • Alternative, via cd emulation
      • “dnf -y install geteltorito”
      • get new firmware iso from here
      • generate image with “geteltorito biosfile.iso > biosfile.img”. Yes, despite the file extension being “iso”, this is required to get an image which will boot when written to a usbstick
      • use “dd if=biosfile.img of=/dev/sd<your-usbstick-device”
      • boot the system from the usbstick. Disable usb-boot if required, enable classic boot.
  • sensors: lm_sensors reports 5 temperatures from sensors ('package', and 4 cpu cores), as well as the fan. The nvme SSD reports 2 sensor values.
    • The thinkwiki has hints on some sensors, but not for the L480: https://www.thinkwiki.org/wiki/Thermal_Sensors
    • I was surprised to see gkrellm report more sensor values than lm_sensor sees, running 'gkrellm -d 0x80' shows where the sensors are read from.
    • 'cat /sys/devices/virtual/thermal/thermal_zone*/type' shows the sensor names, and 'cat /sys/devices/virtual/thermal/thermal_zone*/temp' the sensor value:
[chris@電脳 thermal]$ for i in /sys/devices/virtual/thermal/thermal_zone*; \
    do cat $i/type $i/temp; done
acpitz
37000
INT3400 Thermal
20000
SEN1
28000
pch_skylake
34000
B0D4
37000
x86_pkg_temp
37000
iwlwifi
32000
[chris@電脳 thermal]$ 
hardwarerelated/thinkpad/thinkpad_l480.txt · Last modified: 2024/03/03 07:05 by chris