diff --git a/README.md b/README.md index 12fc939..e1b036a 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,7 @@ See code for all available configurations. | [BeagleBoard PocketBeagle](beagleboard/pocketbeagle) | `` | | [Dell G3 3779](dell/g3/3779) | `` | | [Dell Inspiron 5509](dell/inspiron/5509) | `` | +| [Dell Inspiron 5515](dell/inspiron/5515) | `` | | [Dell Latitude 3480](dell/latitude/3480) | `` | | [Dell Latitude 7490](dell/latitude/7490) | `` | | [Dell Poweredge R7515](dell/poweredge/r7515) | `` | diff --git a/dell/inspiron/5515/README.md b/dell/inspiron/5515/README.md new file mode 100644 index 0000000..4a4c24e --- /dev/null +++ b/dell/inspiron/5515/README.md @@ -0,0 +1,55 @@ +## Dell Inspiron 5509 + +### Tested Hardware +``` shellsession +$ lspci -nn +00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Root Complex [1022:1630] +00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Renoir IOMMU [1022:1631] +00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632] +00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632] +00:02.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge [1022:1634] +00:02.4 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge [1022:1634] +00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632] +00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus [1022:1635] +00:08.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus [1022:1635] +00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 51) +00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51) +00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 0 [1022:1448] +00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 1 [1022:1449] +00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 2 [1022:144a] +00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 3 [1022:144b] +00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 4 [1022:144c] +00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 5 [1022:144d] +00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 6 [1022:144e] +00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 7 [1022:144f] +01:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX200 [8086:2723] (rev 1a) +02:00.0 Non-Volatile memory controller [0108]: KIOXIA Corporation Device [1e0f:0001] +03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Lucienne [1002:164c] (rev c1) +03:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:1637] +03:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor [1022:15df] +03:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Renoir USB 3.1 [1022:1639] +03:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Renoir USB 3.1 [1022:1639] +03:00.5 Multimedia controller [0480]: Advanced Micro Devices, Inc. [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor [1022:15e2] (rev 01) +03:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller [1022:15e3] +04:00.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 81) +04:00.1 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 81) +``` + +### Before Installation + +These settings are needed both for booting the final install, and +installer itself. Therefore, they must be done first: + ++ Disable *Secure* Boot (but keep **UEFI** Boot) ++ Disable *RAID* and use **AHCI** + +### Firmware Upgrades + +Note that this device is supported by [fwupd](https://fwupd.org). +To perform firmware upgrades just activate the service: + +``` +services.fwupd.enable = true; +``` + +Then use `fwupdmgr` to perform updates diff --git a/dell/inspiron/5515/default.nix b/dell/inspiron/5515/default.nix new file mode 100644 index 0000000..5f9f7c2 --- /dev/null +++ b/dell/inspiron/5515/default.nix @@ -0,0 +1,28 @@ +{ lib, pkgs, ... }: +{ + imports = [ + ../../../common/pc/laptop + ../../../common/pc/ssd + ]; + + hardware.enableRedistributableFirmware = lib.mkDefault true; + + # touchpad identifies itself as DELL0A78:00 27C6:0D42 Touchpad in xinput list + # it sometimes fails to register (ps2 mouse emulation works, but not scrolling) + # hack around it by unloading and reloading module i2c_hid + systemd.services.fix-touchpad = { + path = [ pkgs.kmod ]; + serviceConfig.ExecStart = "${./fix_touchpad.sh}"; + description = "reload touchpad driver"; + # must run at boot (and not too early), and after suspend + wantedBy = [ "display-manager.service" "sleep.target" ]; + after = [ "sleep.target" ]; + }; + + + # fix suspend + # https://bbs.archlinux.org/viewtopic.php?id=266108 says linux >= 5.12 required + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.12") pkgs.linuxPackages_latest; + + +} diff --git a/dell/inspiron/5515/fix_touchpad.sh b/dell/inspiron/5515/fix_touchpad.sh new file mode 100755 index 0000000..b776dce --- /dev/null +++ b/dell/inspiron/5515/fix_touchpad.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +set -eux + +unload () { + if modprobe -r "$1" 2>&1; + then echo ok + else echo fail + fi +} + +wait_unload() { + while sleep 1; do + case "$(unload "$1")" in + *is\ in\ use*) :;; + *ok*) return 0;; + *) echo giving up; return 1; + esac + done +} + +wait_unload i2c_hid_acpi +wait_unload i2c_hid +modprobe i2c_hid +modprobe i2c_hid_acpi diff --git a/flake.nix b/flake.nix index 999ab69..a8a6e7d 100644 --- a/flake.nix +++ b/flake.nix @@ -16,6 +16,7 @@ beagleboard-pocketbeagle = import ./beagleboard/pocketbeagle; dell-g3-3779 = import ./dell/g3/3779; dell-inspiron-5509 = import ./dell/inspiron/5509; + dell-inspiron-5515 = import ./dell/inspiron/5515; dell-latitude-3480 = import ./dell/latitude/3480; dell-latitude-7490 = import ./dell/latitude/7490; dell-precision-5530 = import ./dell/precision/5530;