- Package:
- installation-reports
- Source:
- installation-reports
- Submitter:
- Andrey Rakhmatullin
- Date:
- 2023-04-24 22:06:03 UTC
- Severity:
- normal
Boot method: USB Image version: DI RC1 Apr 02: https://cdimage.debian.org/cdimage/bookworm_di_rc1/amd64/iso-cd/debian-bookworm-DI-rc1-amd64-netinst.iso Date: 2023-04-24 Machine: ASUS VivoBook Pro 14 OLED (M6400RC) Base System Installation Checklist: [O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it Initial boot: [O] Detect network card: [E] Configure network: [O] Detect media: [O] Load installer modules: [O] Clock/timezone setup: [O] User/password setup: [O] Detect hard drives: [O] Partition hard drives: [O] Install base system: [O] Install tasks: [O] Install boot loader: [O] Overall install: [O] Comments/Problems: During the network hardware detection it said "cannot find your network card" and provided the list of supported drivers, I chose "None" and it happily proceeded to the WiFi network selection step. There were a lot of firmware loading errors in the dmesg, about "mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin". /var/log/installer/syslog suggests it found the firmware later and loaded it, maybe there was some race condition or wrong check in the d-i module? Attaching syslog, ask me for any other files I could have in /var/log/installer.
Hi Andrey,
Andrey Rakhmatullin <wrar@debian.org> (2023-04-24):
Was it that one?
Template: netcfg/no_interfaces
Type: error
# :sl2:
_Description: No network interfaces detected
No network interfaces were found. The installation
system was unable to find a network device.
.
You may need to load a specific module for your network card, if you have
one. For this, go back to the network hardware detection step.
As far as I understand, everything looks correct in syslog (trimming
heavily), as in the module requests stuff, d-i notices, performs a
lookup, installs, checks again, is satisfied with the results and moves
on:
Apr 24 07:56:11 kernel: [ 98.839730] mt7921e 0000:02:00.0: Direct firmware load for mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin failed with error -2
…
Apr 24 07:56:12 kernel: [ 99.594055] mt7921e 0000:02:00.0: hardware init failed
Apr 24 07:56:12 check-missing-firmware: looking at dmesg for the first time
Apr 24 07:56:12 check-missing-firmware: saving timestamp for a later use: [ 99.594055]
Apr 24 07:56:12 check-missing-firmware: looking for firmware file mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin requested by mt7921e
…
Apr 24 07:56:12 check-missing-firmware: missing firmware files (mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin) for mt7921e
Apr 24 07:56:12 check-missing-firmware: mainloop iteration #1
Apr 24 07:56:12 check-missing-firmware: lookup with /cdrom/firmware/Contents-firmware
Apr 24 07:56:12 check-missing-firmware: installing firmware package /cdrom/firmware/firmware-misc-nonfree_20230210-4_all.deb (non-free-firmware)
Apr 24 07:56:14 check-missing-firmware: removing and loading kernel module mt7921e
Apr 24 07:56:14 kernel: [ 102.538531] mt7921e 0000:02:00.0: ASIC revision: 79220010
Apr 24 07:56:15 kernel: [ 102.620936] mt7921e 0000:02:00.0: firmware: direct-loading firmware mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin
Apr 24 07:56:15 kernel: [ 102.620945] mt7921e 0000:02:00.0: HW/SW Version: 0x8a108a10, Build Time: 20221227123154a
Apr 24 07:56:15 kernel: [ 102.620945]
Apr 24 07:56:15 kernel: [ 102.990004] mt7921e 0000:02:00.0: firmware: direct-loading firmware mediatek/WIFI_RAM_CODE_MT7922_1.bin
Apr 24 07:56:15 kernel: [ 102.990024] mt7921e 0000:02:00.0: WM Firmware Version: ____000000, Build Time: 20221227123243
Apr 24 07:56:15 kernel: [ 103.039238] mt7921e 0000:02:00.0: firmware: direct-loading firmware mediatek/WIFI_RAM_CODE_MT7922_1.bin
Apr 24 07:56:16 check-missing-firmware: looking at dmesg again, restarting from timestamp: [ 99.594055]
Apr 24 07:56:16 check-missing-firmware: timestamp found, truncating dmesg accordingly
Apr 24 07:56:16 check-missing-firmware: saving timestamp for a later use: [ 103.039238]
Apr 24 07:56:16 check-missing-firmware: no missing firmware in loaded kernel modules
Apr 24 07:56:16 kernel: [ 104.087747] mt7921e 0000:02:00.0 wlp2s0: renamed from wlan0
Apr 24 07:56:16 net/hw-detect.hotplug: Detected hotpluggable network interface wlp2s0
What I find strange is that netcfg (that supplies the template mentioned
above) starts way after that:
Apr 24 07:56:38 main-menu[808]: INFO: Menu item 'netcfg' selected
Apr 24 07:56:38 netcfg[7385]: INFO: Starting netcfg v.1.184
at which time, wlp2s0 is definitely up. And from a quick glance I didn't
spot where the error message would be have displayed/where you would
have been prompted about modules.
Let's keep in mind mt7921e has been playing tricks on us in the past:
https://salsa.debian.org/kernel-team/linux/-/merge_requests/673
Maybe there's something (else) weird going on?
It would definitely be helpful if you could:
- confirm which message was presented;
- roughly at which point.
I realize it's probably not trivial for you to navigate the syslog, but
based on when network detection happened, etc. you might remember the
sequence of events.
(I think we should have least have an extra log line when we present the
screen you saw; unless I failed to spot it, which is entirely possible.)
Cheers,
It's before the partitioning part so I just booted d-i again there.
And it actually says "No Ethernet card was detected". But I used English
this time while I was using Russian during the actual installation so I
changed the language to Russian and now the message ("Программа установки
не обнаружила сетевую карту") indeed looks like it's about a "network
card" in general (the block itself, which I think says "network
hardware" in English, says "Определение сетевой карты" so it's generic in
both languages). And as iwlwifi is present in the presented driver list, I
assumed it's about WiFi or network hardware in general. So it's a
localization problem.
Just to confirm, at this point /var/log/syslog contains loaded firmware
and activated wl2ps0.
Andrey Rakhmatullin <wrar@wrar.name> (2023-04-24):
OK, that definitely makes more sense to me, as that pattern leads to
different results, namely in hw-detect. And that particular component is
the one… supplying the firmware logic! \o/
(No worries at all for the localization-related fun, that's very
common.)
Very useful data point.
Thanks for the swift reply and for respinning d-i to test this!
Someone would need to navigate ethdetect.sh, which triggers this message
when no NIC is found…
I think the logic is basically checking candidates via /proc/net/dev
(with lovely grep/sed calls), then checking whether each candidate is
present under /etc/network/devnames, incrementing the NIC counter when
that's the case. That's the `ethernet_found()` function.
If that fails, then a list of modules is built from another lookup:
find /lib/modules/*/kernel/drivers/net -name phy -prune -o -type f -print | sed 's/\.ko$//; s/.*\///'
and presented for you to pick from.
As far as I understand, /etc/network/devnames gets entries added via
some hotplug script (net-hotplug.sh):
case $ACTION in
add|register)
log "Detected hotpluggable network interface $INTERFACE"
mkdir -p /etc/network
echo "$INTERFACE" >>/etc/network/devhotplug
;;
esac
and maybe timings are off, and that happens *after* the initial check…
I suppose adding some log/set -x would help pinpoint what's happening. I
could probably build a custom ISO for you to test with if you wanted to
help further, but I'd need some time to check where adding things would
be most useful.
Since you filed this as a successful installation, and since you weren't
actually blocked by this problem, I think I'll focus on preparing RC 2,
and get back to this issue later on.
Cheers,