mirror of
https://github.com/NixOS/nixos-hardware
synced 2024-12-23 10:09:44 +01:00
Rename cfg option from "enable" --> "replace"
- Allows for @qzed's kernel patch: 22ef83836c
This commit is contained in:
parent
128b64dada
commit
98d19435d0
4 changed files with 17 additions and 12 deletions
|
@ -15,7 +15,7 @@ The kernel-specific derivations are under the `kernel/` sub-directory.
|
|||
In order to simplify maintenance of the Nix code, only the most-recent kernel patch-set is expected
|
||||
to be maintained in this repo.
|
||||
|
||||
_*NOTE:*_Some built-in Kernel config items need to be set, that aren't set by default:
|
||||
_*NOTE:*_ Some built-in Kernel config items need to be set, that aren't set by default:
|
||||
- https://github.com/linux-surface/surface-aggregator-module/wiki/Testing-and-Installing
|
||||
|
||||
## Firmware, Drivers and Support Tools
|
||||
|
@ -65,15 +65,19 @@ The most effective fix to-date is to remove the `board-2.bin` file or replace it
|
|||
`board.bin` file.
|
||||
|
||||
The derivative in `firmware/surface-go/ath10k/` can configure this, if you set the option
|
||||
`config.hardware.microsoft-surface.firmware.surface-go-ath10k.enable` to `true`.
|
||||
`config.hardware.microsoft-surface.firmware.surface-go-ath10k.replace` to `true`.
|
||||
|
||||
Note that this is slightly destructive, as it deletes all the `board.bin` and `board-2.bin` files
|
||||
for the `ath10k` QCA6174 device, and replaces them with KillerNetworking's version.
|
||||
_*NOTE:*_ This is destructive, as it deletes all the `board.bin` and `board-2.bin` files for the
|
||||
`ath10k` QCA6174 device, and replaces them with KillerNetworking's version.
|
||||
This is the only way (currently) to force the driver to use the new firmware.
|
||||
|
||||
For more details, see: https://github.com/linux-surface/linux-surface/wiki/Surface-Go#wifi-firmware
|
||||
|
||||
There was an attempt to get this firmware incorporated into the aggregate `board-2.bin`,
|
||||
_*NOTE:*_ There's some work to patch the kernel to make it easier to override which firmware file
|
||||
to use for QCA6174, which would obviate this more-destructuve approach:
|
||||
- https://github.com/linux-surface/kernel/commit/22ef83836c4aa89e9eb98de9b47ed24b6c2a1d45
|
||||
|
||||
_*NOTE:*_ There was an attempt to get this firmware incorporated into the aggregate `board-2.bin`,
|
||||
but (as of this writing) the request appears to have been ignored:
|
||||
- https://github.com/linux-surface/linux-surface/issues/41
|
||||
|
||||
|
|
|
@ -14,15 +14,16 @@
|
|||
- [X] Install the binaries
|
||||
** DONE Remove `ipts` firmware derivative
|
||||
- This is only needed on the 4.19 kernel
|
||||
** DOING Investigate problem with ath10k wifi firmware on Surface Go
|
||||
** DONE Investigate problem with ath10k wifi firmware on Surface Go
|
||||
:LOGBOOK:
|
||||
- State "DOING" from "TODO" [2021-02-09 Tue 17:19]
|
||||
- State "DONE" from "DOING" [2021-03-06 Sat 15:27]
|
||||
:END:
|
||||
*** DONE README entry explaining problem(s) with nonfree firmware on Surface Go
|
||||
:LOGBOOK:
|
||||
- State "DONE" from "TODO" [2021-02-09 Tue 17:17]
|
||||
:END:
|
||||
*** DOING Create derivative for `ath10k` firmware on Surface Go
|
||||
*** DONE Create derivative for `ath10k` firmware on Surface Go
|
||||
:LOGBOOK:
|
||||
- State "DOING" from "TODO" [2021-02-09 Tue 17:18]
|
||||
:END:
|
||||
|
@ -31,8 +32,8 @@
|
|||
- [X] Download `board.bin` from Killer Networks?
|
||||
- [X] Install ath10k firmware fix for Surface Go
|
||||
- `board-2.bin` needs to be removed / replaced with `board.bin`
|
||||
- [ ] Add a config option for enabling the Surface Go Firmware
|
||||
- [ ] Replace the vendorised `board.bin` with a `fetchurl`
|
||||
- [X] Add a config option for enabling the Surface Go Firmware
|
||||
- [-] Replace the vendorised `board.bin` with a `fetchurl`
|
||||
- Getting HTTP 406 when using `fetchurl` or `nix-prefetch-url` that has to be diagnosed
|
||||
* Support Tools
|
||||
** TODO Incorporate @hpfr's function(s) from this commit:
|
||||
|
|
|
@ -5,14 +5,14 @@ in
|
|||
{
|
||||
options = {
|
||||
hardware.microsoft-surface.firmware.surface-go-ath10k = {
|
||||
enable = lib.mkEnableOption ''Use the "board.bin" firmware for ath10k-based WiFi on Surface Go.'';
|
||||
replace = lib.mkEnableOption ''Use the "board.bin" firmware for ath10k-based WiFi on Surface Go.'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
config = lib.mkIf cfg.replace {
|
||||
hardware.enableAllFirmware = true;
|
||||
hardware.firmware = [
|
||||
(pkgs.callPackage ./ath10k.nix {})
|
||||
(pkgs.callPackage ./ath10k-replace.nix {})
|
||||
];
|
||||
|
||||
boot.extraModprobeConfig = lib.mkDefault ''
|
||||
|
|
Loading…
Reference in a new issue