Previous Post | Top | Next Post |
TOC
Let me keep up note on configuring and administrating my ThinkPad T14 Gen 1 (AMD) under Debian GNU/Linux. This is hardware specific tips.
My system has 2 NVMe SSDs:
- AMD Ryzen™ 5 PRO 4650U – 6 cores, 12 threads
- 32GB (PC4-25600 DDR4 SDRAM) – after adding aftermarket Transcend 16GB SDRAM (JM3200HSE-16G [SODIMM DDR4 PC4-25600 16GB])
- WDC PC SN520 SDAPMUW-128G-1001 (20370001) – Original Western Digital 128GB SSD
- TS2TMTE220S (42B8T4EA) – Aftermarket Transcend 2TB SSD
Official Information Sources
- T14 Gen 1 (type 20UD, 20UE) Laptop (ThinkPad) Product Home
- Removal and Replacement Videos - ThinkPad T14 Gen 1
- Forum
Adding 2TB SSD (2280 both side)
The original Western Digital 128GB PCIe SSD (2242, IC on top side only) is removed and moved with thermal pad to the unused PCIe slot intended for WAN card.
The aftermarket Transcend 2TB PCIe SSD (2280, IC on top and bottom sides) is installed to the original SSD slot.
LINK:
- https://monthlymemo.hatenablog.com/entry/2020/07/07/202548
- https://donadona.hatenablog.jp/entry/2020/07/11/145458
- https://www.myfixguide.com/lenovo-thinkpad-t14-disassembly/#:~:text=If%20you%20want%20to%20replace,screws%20for%20the%204G%20module
This is rather heavy high risk mod. It is still working fine in Oct. 2022 with btrfs.
Btrfs and submodule
The installation to btrfs is possible with bulleye d-i. It uses @rootfs
subvolume in the menu selected (or newly created) btrfs for the /
file system
destination.
Be careful not to set btrfs subvolume set-default ...
for that patrition if
you intend to install system to an existing btrfs partition imounted on
/btrfs/main
where there is no subvolume named @rootfs
in there. Also, you
should see as below:
$ sudo btrfs subvolume get-default /btrfs/main/
ID 5 (FS_TREE)
Even if you have data in subvolumes such as @osamu
in that patition, the
installation will proceeds without overwriting them.
Distribution selection
In order to have decent graphics support easily, current testing distribution (bullseye) is used if you chose not to reformat the partition.
$ uname -a
Linux goofy 5.9.0-5-amd64 #1 SMP Debian 5.9.15-1 (2020-12-17) x86_64 GNU/Linux
Non-free firmwares
I think we need some non-free drivers.
firmware-amd-graphics
— GPUfirmware-iwlwifi
— WIFI ?firmware-misc-nonfree
— ?firmware-realtek
— NIC ?amd64-microcode
— CPU
Network configuration
Since there are 2 Ethernet devices (one on right side and one accessible from
docking station), I updated /etc/network/interfaces
as follows to make them
hot-pluggable.
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
#### GNOME takes care these via NM
###### The network interface on normal port
###allow-hotplug enp2s0
#### This is an autoconfigured IPv4 interface
###iface enp2s0 inet dhcp
#### This is an autoconfigured IPv6 interface
###iface enp2s0 inet6 auto
###
###### The network interface on extra port
###allow-hotplug enp2s0f0
#### This is an autoconfigured IPv4 interface
###iface enp2s0f0 inet dhcp
#### This is an autoconfigured IPv6 interface
###iface enp2s0f0 inet6 auto
PC speaker configuration
Beep sound of PC speaker is annoying. Let’s disable it by creating
/etc/modprobe.d/nobeep.conf
as:
blacklist pcspkr
This disables beep sound for the power down event and Linux virtual console. Sound out put of browser is alive and usable even with this setup. For beep sound in the GNOME terminal, it needs to be disabled from its preference menu.
Audio configuration
GUI setting tools provide nice and easy control of the sound system under the normal situation. But it doesn’t provide access to detailed system system settings nor control on them.
The console program alsamixer
gives full control on internal sound devices on
modern PC.
Adjusting sound level with alsamixer
Use alsamixer
from terminal console to set proper volume:
F6
->1 HD-Audio Generic
->Master
,Headphone
,Speaker
, … with left/right-arrows -> Up-arrows to set to00
(100)
Mute and unmute sound with alsamixer
Use alsamixer
from terminal console to mute and unmute:
F6
->1 HD-Audio Generic
-> SelectMaster
,Headphone
,Speaker
, … with left/right-arrows -> Press-m
to toggleM
Sound system regression (Dec-2020)
We experienced a sound system regression of missing analog audio output incident in late-2020 for T14. The root cause seemed to be the mismatch of the kernel version and the udev script.
This problem seems already fixed in Feb-2021. The below are my my workarounds for this issue.
FYI: I also suffered strange muting behavior which required me to use
alsamixer
to fix it. (See above)
REFERENCE: https://yoshimemo.com/post-889/
Workaround (rev. 1: manual)
I run the following from console after installing pulseaudio-utils
once for
every booting manually:
$ pactl load-module module-detect
Workaround (rev. 2: automatic)
Although modifying a distribution provided file as workaround is not my favorite move, I did it anyway to make this workarund automatic.
Modify /etc/pulse/default.pa
as follows:
$ cd /etc/pulse/
$ diff -u default.pa.orig default.pa
--- default.pa.orig 2020-02-06 11:06:41.000000000 +0900
+++ default.pa 2021-01-08 11:15:09.001167903 +0900
@@ -42,13 +42,14 @@
#load-module module-null-sink
#load-module module-pipe-sink
+###### All lines lead by 6 #s are workaround to address missing analog output
### Automatically load driver modules depending on the hardware available
-.ifexists module-udev-detect.so
-load-module module-udev-detect
-.else
+######.ifexists module-udev-detect.so
+######load-module module-udev-detect
+######.else
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
-.endif
+######.endif
### Automatically connect sink and source if JACK server is present
.ifexists module-jackdbus-detect.so
System recovery
I create some RO-snapshots of @rootfs
for quick system recovery.
Previous Post | Top | Next Post |