logo.png

Debian on Thinkpad

2015-07-03

I just bought a Lenovo ThinkPad E450 and installed Debian Sid on it. Here are the system details.

2015-07-01.20.E450.jpg 2015-07-01.22.Keyboard.jpg

System Information

The machine came with Windows but I installed Debian without wasting any time.

$ uname -a Linux e450 4.0.0-2-amd64 #1 SMP Debian 4.0.5-1 (2015-06-16) x86_64 GNU/Linux

$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux unstable (sid) Release: unstable Codename: sid

The E450 supports up to 16GB of RAM. Mine came with 4GB, and I added 8GB more. Because of the case design on this machine, adding memory and changing the hard drive are easy.

$ free total used free shared buff/cache available Mem: 12224716 614820 10481188 139512 1128708 11223604 Swap: 12500988 0 12500988

$ free --human total used free shared buff/cache available Mem: 11G 662M 9.9G 75M 1.1G 10G Swap: 11G 0B 11G

$ sudo dmidecode --type 17 # dmidecode 2.12 # SMBIOS entry point at 0xbcdfe000 SMBIOS 2.7 present. Handle 0x0009, DMI type 17, 34 bytes Memory Device Array Handle: 0x0008 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 4096 MB Form Factor: SODIMM Set: None Locator: ChannelA-DIMM0 Bank Locator: BANK 0 Type: DDR3 Type Detail: Synchronous Speed: 1600 MHz Manufacturer: Hynix/Hyundai Serial Number: 39101668 Asset Tag: None Part Number: HMT451S6BFR8A-PB Rank: Unknown Configured Clock Speed: 1600 MHz Handle 0x000A, DMI type 17, 34 bytes Memory Device Array Handle: 0x0008 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 8192 MB Form Factor: SODIMM Set: None Locator: ChannelB-DIMM0 Bank Locator: BANK 2 Type: DDR3 Type Detail: Synchronous Speed: 1600 MHz Manufacturer: Transcend Serial Number: 00101321 Asset Tag: None Part Number: TS1GSK64W6H Rank: Unknown Configured Clock Speed: 1600 MHz

$ cat /proc/meminfo MemTotal: 12224716 kB MemFree: 10587224 kB MemAvailable: 11520696 kB Buffers: 124208 kB Cached: 900928 kB SwapCached: 0 kB Active: 769140 kB Inactive: 520132 kB Active(anon): 264980 kB Inactive(anon): 66840 kB Active(file): 504160 kB Inactive(file): 453292 kB Unevictable: 32 kB Mlocked: 32 kB SwapTotal: 12500988 kB SwapFree: 12500988 kB Dirty: 52 kB Writeback: 0 kB AnonPages: 264164 kB Mapped: 111212 kB Shmem: 67688 kB Slab: 257660 kB SReclaimable: 229424 kB SUnreclaim: 28236 kB KernelStack: 4192 kB PageTables: 16792 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 18613344 kB Committed_AS: 1203404 kB VmallocTotal: 34359738367 kB VmallocUsed: 377712 kB VmallocChunk: 34359248764 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 89720 kB DirectMap2M: 2971648 kB DirectMap1G: 9437184 kB

The machine shipped with a 500GB 5400 RPM hard drive. I swapped that out in favor of a Samsung SSD 840 EVO, a 250GB SSD. Solid state hard drives are wonderful. My machine boots up in about three seconds.

$ df --human-readable Filesystem Size Used Avail Use% Mounted on udev 10M 0 10M 0% /dev tmpfs 2.4G 9.2M 2.4G 1% /run /dev/dm-1 217G 100G 107G 49% / tmpfs 5.9G 72K 5.9G 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 5.9G 0 5.9G 0% /sys/fs/cgroup /dev/sda2 237M 77M 148M 35% /boot /dev/sda1 511M 132K 511M 1% /boot/efi tmpfs 1.2G 4.0K 1.2G 1% /run/user/118 tmpfs 1.2G 24K 1.2G 1% /run/user/1000

$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 232.9G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi ├─sda2 8:2 0 244M 0 part /boot └─sda3 8:3 0 232.2G 0 part └─sda3_crypt 254:0 0 232.1G 0 crypt ├─e540--vg-root 254:1 0 220.2G 0 lvm / └─e540--vg-swap_1 254:2 0 11.9G 0 lvm [SWAP]

The version of the E450 I have runs at 2.20GHz. It's a four-core 64 bit processor.

$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 2 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 61 Model name: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz Stepping: 4 CPU MHz: 2169.750 CPU max MHz: 2700.0000 CPU min MHz: 500.0000 BogoMIPS: 4389.41 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K NUMA node0 CPU(s): 0-3

cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 61 model name : Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz stepping : 4 microcode : 0x16 cpu MHz : 1902.914 cache size : 3072 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 20 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap xsaveopt bugs : bogomips : 4389.41 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 61 model name : Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz stepping : 4 microcode : 0x16 cpu MHz : 1911.679 cache size : 3072 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 20 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap xsaveopt bugs : bogomips : 4389.41 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management: processor : 2 vendor_id : GenuineIntel cpu family : 6 model : 61 model name : Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz stepping : 4 microcode : 0x16 cpu MHz : 1800.304 cache size : 3072 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 2 initial apicid : 2 fpu : yes fpu_exception : yes cpuid level : 20 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap xsaveopt bugs : bogomips : 4389.41 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management: processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 61 model name : Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz stepping : 4 microcode : 0x16 cpu MHz : 1800.304 cache size : 3072 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 3 initial apicid : 3 fpu : yes fpu_exception : yes cpuid level : 20 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap xsaveopt bugs : bogomips : 4389.41 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management:

Most of the hardware works with a default Debian installation.

$ lsusb Bus 003 Device 002: ID 8087:8001 Intel Corp. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 1bcf:2c70 Sunplus Innovation Technology Inc. Bus 001 Device 003: ID 0489:e079 Foxconn / Hon Hai Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ lsmod Module Size Used by ctr 16384 3 ccm 20480 3 arc4 16384 2 bnep 20480 2 nfsd 286720 2 auth_rpcgss 57344 1 nfsd oid_registry 16384 1 auth_rpcgss nfs_acl 16384 1 nfsd nfs 204800 0 lockd 90112 2 nfs,nfsd grace 16384 2 nfsd,lockd fscache 53248 1 nfs sunrpc 270336 6 nfs,nfsd,auth_rpcgss,lockd,nfs_acl snd_hda_codec_hdmi 53248 1 joydev 20480 0 carl9170 86016 0 ath 28672 1 carl9170 mac80211 557056 1 carl9170 cfg80211 454656 3 ath,mac80211,carl9170 nls_utf8 16384 1 nls_cp437 20480 1 vfat 20480 1 fat 65536 1 vfat iTCO_wdt 16384 0 iTCO_vendor_support 16384 1 iTCO_wdt x86_pkg_temp_thermal 16384 0 intel_powerclamp 20480 0 intel_rapl 20480 0 iosf_mbi 16384 1 intel_rapl coretemp 16384 0 kvm 425984 0 efi_pstore 16384 1 uvcvideo 86016 0 i915 1015808 3 evdev 24576 22 psmouse 110592 0 snd_hda_codec_conexant 24576 1 videobuf2_vmalloc 16384 1 uvcvideo serio_raw 16384 0 snd_hda_codec_generic 65536 1 snd_hda_codec_conexant pcspkr 16384 0 btusb 40960 0 efivars 20480 1 efi_pstore videobuf2_memops 16384 1 videobuf2_vmalloc videobuf2_core 40960 1 uvcvideo v4l2_common 16384 1 videobuf2_core bluetooth 425984 21 bnep,btusb rtsx_pci_ms 20480 0 videodev 131072 3 uvcvideo,v4l2_common,videobuf2_core media 20480 2 uvcvideo,videodev sg 32768 0 memstick 16384 1 rtsx_pci_ms snd_hda_intel 28672 9 lpc_ich 24576 0 i2c_i801 20480 0 drm_kms_helper 102400 1 i915 snd_hda_controller 28672 1 snd_hda_intel snd_hda_codec 110592 5 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_intel,snd_hda_controller snd_hwdep 16384 1 snd_hda_codec thinkpad_acpi 69632 1 snd_pcm 90112 4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller drm 274432 4 i915,drm_kms_helper snd_timer 28672 1 snd_pcm nvram 16384 1 thinkpad_acpi snd 69632 27 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,thinkpad_acpi mei_me 20480 0 tpm_tis 20480 0 wmi 20480 0 mei 77824 1 mei_me i2c_algo_bit 16384 1 i915 tpm 32768 1 tpm_tis rfkill 20480 5 cfg80211,thinkpad_acpi,bluetooth ac 16384 0 battery 16384 0 video 20480 1 i915 soundcore 16384 2 snd,snd_hda_codec shpchp 32768 0 button 16384 1 i915 processor 28672 0 parport_pc 28672 0 ppdev 20480 0 lp 20480 0 parport 36864 3 lp,ppdev,parport_pc efivarfs 16384 1 autofs4 36864 2 ext4 499712 2 crc16 16384 2 ext4,bluetooth mbcache 20480 1 ext4 jbd2 86016 1 ext4 algif_skcipher 20480 0 af_alg 16384 1 algif_skcipher dm_crypt 28672 1 dm_mod 94208 9 dm_crypt sd_mod 45056 4 rtsx_pci_sdmmc 24576 0 mmc_core 110592 1 rtsx_pci_sdmmc crct10dif_pclmul 16384 0 crc32_pclmul 16384 0 crc32c_intel 24576 0 ghash_clmulni_intel 16384 0 aesni_intel 167936 8 aes_x86_64 20480 1 aesni_intel lrw 16384 1 aesni_intel gf128mul 16384 1 lrw glue_helper 16384 1 aesni_intel ablk_helper 16384 1 aesni_intel cryptd 20480 4 ghash_clmulni_intel,aesni_intel,ablk_helper ahci 36864 3 libahci 28672 1 ahci libata 180224 2 ahci,libahci scsi_mod 200704 3 sg,libata,sd_mod e1000e 217088 0 xhci_pci 16384 0 ehci_pci 16384 0 ptp 20480 1 e1000e pps_core 20480 1 ptp ehci_hcd 77824 1 ehci_pci xhci_hcd 155648 1 xhci_pci rtsx_pci 40960 2 rtsx_pci_ms,rtsx_pci_sdmmc mfd_core 16384 2 lpc_ich,rtsx_pci usbcore 200704 7 btusb,uvcvideo,carl9170,ehci_hcd,ehci_pci,xhci_hcd,xhci_pci usb_common 16384 1 usbcore thermal 20480 0 thermal_sys 32768 5 video,intel_powerclamp,thermal,processor,x86_pkg_temp_thermal

$ lspci -nn 00:00.0 Host bridge [0600]: Intel Corporation Broadwell-U Host Bridge -OPI [8086:1604] (rev 09) 00:02.0 VGA compatible controller [0300]: Intel Corporation Broadwell-U Integrated Graphics [8086:1616] (rev 09) 00:03.0 Audio device [0403]: Intel Corporation Broadwell-U Audio Controller [8086:160c] (rev 09) 00:14.0 USB controller [0c03]: Intel Corporation Wildcat Point-LP USB xHCI Controller [8086:9cb1] (rev 03) 00:16.0 Communication controller [0780]: Intel Corporation Wildcat Point-LP MEI Controller #1 [8086:9cba] (rev 03) 00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection (3) I218-V [8086:15a3] (rev 03) 00:1b.0 Audio device [0403]: Intel Corporation Wildcat Point-LP High Definition Audio Controller [8086:9ca0] (rev 03) 00:1c.0 PCI bridge [0604]: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 [8086:9c90] (rev e3) 00:1c.2 PCI bridge [0604]: Intel Corporation Wildcat Point-LP PCI Express Root Port #3 [8086:9c94] (rev e3) 00:1c.5 PCI bridge [0604]: Intel Corporation Wildcat Point-LP PCI Express Root Port #6 [8086:9c9a] (rev e3) 00:1d.0 USB controller [0c03]: Intel Corporation Wildcat Point-LP USB EHCI Controller [8086:9ca6] (rev 03) 00:1f.0 ISA bridge [0601]: Intel Corporation Wildcat Point-LP LPC Controller [8086:9cc3] (rev 03) 00:1f.2 SATA controller [0106]: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] [8086:9c83] (rev 03) 00:1f.3 SMBus [0c05]: Intel Corporation Wildcat Point-LP SMBus Controller [8086:9ca2] (rev 03) 00:1f.6 Signal processing controller [1180]: Intel Corporation Wildcat Point-LP Thermal Management Controller [8086:9ca4] (rev 03) 04:00.0 Network controller [0280]: Broadcom Corporation Device [14e4:43ae] (rev 02) 05:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader [10ec:5227] (rev 01)

WiFi.svg

Unfortunately, the WiFi & Bluetooth card, the Broadcom 43162, is not supported. Some of the cards that ship with the E450 are supported, but apparently not all of them. People have reported elsewhere that they haven't found working drivers.

$ lspci -nnk | grep -iA1 Network 04:00.0 Network controller [0280]: Broadcom Corporation Device [14e4:43ae] (rev 02) Subsystem: Lenovo Device [17aa:0622]

There is nothing to be done about that right now, alas. In my drawer I had an NEC Aterm WL300NU-AG USB WiFi card sitting unused. It's bulky and slightly impractical, but it works perfectly well.