apple-macbookpro-14-1: update info, simplify and fix config

This commit is contained in:
Paepcke, Michael 2024-06-28 20:05:46 +02:00
parent 3980e7816c
commit d3ef6d0c7c
No known key found for this signature in database
3 changed files with 7 additions and 69 deletions

View file

@ -1,10 +1,10 @@
# MacBook Pro 14,1, NixOS 24.01 (2024) # MacBook Pro 14,1, NixOS 24.05 (2024)
## Audio ## Audio
[ ] Still broken, use usb/hdmi instead, nixos pkg needed: https://github.com/davidjo/snd_hda_macbookpro [ ] broken, PR pending: https://github.com/NixOS/nixpkgs/pull/322968
## Bluetooth ## Bluetooth
[ ] Still broken, even (hacky) workaround does not work any more with latest driver updates [ ] broken, PR pending: https://github.com/NixOS/nixpkgs/pull/322964
## Touchpad ## Touchpad
[x] Working, including 'disable while typing' usable quirk [x] Working, including 'disable while typing' usable quirk
@ -19,7 +19,7 @@
[ ] Thunderbolt, WIFI, NVME may still need reboot (sometimes). [ ] Thunderbolt, WIFI, NVME may still need reboot (sometimes).
## Wifi ## Wifi
[x] Working (2,4Ghz & 5Ghz supported), WEP3 currently broken b/c old brcm fw [x] Working (2,4Ghz & 5Ghz supported), WEP3 broken -> brcm fw blob (2015)
## Resources ## Resources
- https://github.com/Dunedan/mbp-2016-linux?tab=readme-ov-file - https://github.com/Dunedan/mbp-2016-linux?tab=readme-ov-file

View file

@ -1,38 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
##
# For some reason /dev/ttyS0 is created, and then removed by udev. We need this
# for bluetooth, and the only way to get it again is to reload 8502_dw. Do so.
##
##
# /sys/devices/pci0000:00/0000:00:1e.0/driver -> intel-lpss
# /sys/bus/pci/devices/0000:00:1e.0
# /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:8a/BCM2E7C:00
##
# udevadm info --query=all --path=/sys/bus/serial/devices/serial0-0
# P: /devices/pci0000:00/0000:00:1e.0/dw-apb-uart.2/serial0/serial0-0
# M: serial0-0
# R: 0
# U: serial
# E: DEVPATH=/devices/pci0000:00/0000:00:1e.0/dw-apb-uart.2/serial0/serial0-0
# E: SUBSYSTEM=serial
# E: MODALIAS=acpi:BCM2E7C:APPLE-UART-BLTH:
# E: USEC_INITIALIZED=12406199
# E: PATH=/nix/store/56jhf2k9q31gwvhjxmm2akkkhi4a8nz1-udev-path/bin:/nix/store/56jhf2k9q31gwvhjxmm2akkkhi4a8nz1-udev-path/sbin
# E: ID_VENDOR_FROM_DATABASE=Broadcom
if [[ ! -e "/sys/devices/pci0000:00/0000:00:1e.0/dw-apb-uart.2/tty/ttyS0" ]]; then
if [[ -e /sys/module/8250_dw ]]; then
rmmod 8250_dw
fi
modprobe 8250_dw
fi
exec btattach --protocol=h4 --bredr=/dev/ttyS0 --speed=3000000

View file

@ -5,10 +5,10 @@
... ...
}: { }: {
imports = [ imports = [
../.
../../../common/cpu/intel/kaby-lake ../../../common/cpu/intel/kaby-lake
../../../common/gpu/intel ../../../common/gpu/intel
../../../common/hidpi.nix ../../../common/hidpi.nix
../../../common/pc/laptop
../../../common/pc/laptop/ssd ../../../common/pc/laptop/ssd
../../../common/pc/laptop/acpi_call.nix ../../../common/pc/laptop/acpi_call.nix
]; ];
@ -49,34 +49,10 @@
cpu.intel.updateMicrocode = lib.mkDefault true; cpu.intel.updateMicrocode = lib.mkDefault true;
}; };
# Bluetooth, only needed if kernel lacks support - custom kernel build # [Enable only if needed!]
# boot.kernelPatches = [
# {
# name = "bcrm-config";
# patch = null;
# extraConfig = ''
# BT_HCIUART_BCM y '';
# }
# ];
## [Workaround seems not to work anymore! Any Ideas?]
# For some reason /dev/ttyS0 is created, and then removed by udev. We need this
# for bluetooth, and the only way to get it again is to reload 8502_dw. Luckily,
# nothing else uses it.
##
# systemd.services.btattach-bcm2e7c = lib.mkIf config.hardware.bluetooth.enable {
# before = [ "bluetooth.target" ];
# after = [ "sys-devices-platform-serial8250-tty-ttyS1.device" ];
# path = [ pkgs.bash pkgs.kmod pkgs.bluez ];
# serviceConfig.Type = "simple";
# serviceConfig.ExecStart = "${./btfix.sh}";
# wantedBy = [ "multi-user.target" ];
# };
## [Enable only if needed!]
# Disable d3cold on older NVME controller, only if needed # Disable d3cold on older NVME controller, only if needed
# https://github.com/Dunedan/mbp-2016-linux # https://github.com/Dunedan/mbp-2016-linux
## #
#systemd.services.disable-nvme-d3cold = { #systemd.services.disable-nvme-d3cold = {
# description = "Disables d3cold on the NVME controller"; # description = "Disables d3cold on the NVME controller";
# before = [ "suspend.target" ]; # before = [ "suspend.target" ];