lspci -nn | grep I225 yields [8086:15f2] (rev 03)
ip a was initially confusing to me. But ultimately, it cracked the case. I ran it with both kernels.
With kernel set to linux 6.6.48-1.qubes.f37.x86_64: ping works.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: ens6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 48:21:0b:26:32:39 brd ff:ff:ff:ff:ff:ff
altname enp0s6
inet 192.168.61.6/24 brd 192.168.61.255 scope global enp0s6
valid_lft forever preferred_lft forever
inet6 fe80::4a21:bff:fe26:3239/64 scope link
valid_lft forever preferred_lft forever
If my controller is somehow absent from the in-qube kernel, but present here, I should see it. I don’t see anything here that is obviously my controller.
But with kernel set to 6.1.0-25-amd64 (the debian kernel as installed in my template), I get:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: ens5: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 48:21:0b:26:32:39 brd ff:ff:ff:ff:ff:ff
altname enp0s5
Much shorter. The difference is nothing after altname enp0s6 in the first case is present here.
ALSO different, though is that in THIS dump it’s enp0s5 NOT enp0s6.
So if I go into my template and change /etc/network/interfaces to reference enp0s5, shut down the template and restart sys-net-ether…IT WORKS!
I strongly suspect something similar is at play with sys-net-wifi, but of course I’d have to go offline to test it.
The difficulty I now face is deciding what to do about this. The kernel I use affects the proper contents of this file! So, do I just go into the relevant salt .sls file and hard code it to enp0s5? Or do I try to make it smart and adjust depending on which template? Can I do that at run time (e.g., by altering the file from my .bashrc after running hostnamectl), or must I make my decision when running the salt state? The former would let me change kernels without reconfiguring, the latter would require re-creating the template (or starting it up and editing a file, which is inelegant) when I change the kernel.
But that’s a problem I know how to work. Hardware level glitches typically mystify me, and your questions helped me find the immediate cause of the problem.
Thank You!