mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 06:53:01 +00:00
nixosTests.systemd-initrd-luks-fido2: fix test on aarch64-linux
This is the error message on fail: > qemu-system-aarch64: -device canokey,file=/tmp/canokey-file: Warning: > speed mismatch trying to attach usb device "CanoKey QEMU" (full > speed) to bus "usb0.0", port "3" (high speed) My Understanding of the Issue is: The test failed because qemu-system-aarch64 apparently has different USB controllers enabled by default, resulting in a "speed mismatch" between the USB controller and CanoKey that only occurred on aarch64. I could reproduce the issue on x86_64 by enabling the EHCI controller and then fix the issue by specifying which USB bus to use for the CanoKey. This didn't fully fix the issue on my first attempt, because the UCHI controller enabled by -usb doesn't have the same bus name on aarch64 and x86_64. While bus=usb-bus.0 worked on x86_64, on aarch64 i get this message: > qemu-system-aarch64: -device canokey,bus=usb-bus.0,file= > /tmp/canokey-file: Bus 'usb-bus.0' not found The final solution now manually enables the OHCI controller (which may be similar to UHCI, but i really have no idea other than it works) and assigns it the id aka bus name "usb-bus", so it works the same under both architectures.
This commit is contained in:
parent
c7b821ba2e
commit
2521bebbf2
@ -9,7 +9,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
|
||||
# Booting off the encrypted disk requires having a Nix store available for the init script
|
||||
mountHostNixStore = true;
|
||||
useEFIBoot = true;
|
||||
qemu.options = [ "-device canokey,file=/tmp/canokey-file" ];
|
||||
qemu.options = [ "-device pci-ohci,id=usb-bus" "-device canokey,bus=usb-bus.0,file=/tmp/canokey-file" ];
|
||||
};
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user