#1103993 installation-reports: network configuration does not ask for ESSID in Thinkpad P1 Gen7

#1103993#5
Date:
2025-04-23 17:40:32 UTC
From:
To:
Boot method: USB
Image version: https://cdimage.debian.org/cdimage/trixie_di_alpha1/amd64/iso-cd/debian-trixie-DI-alpha1-amd64-netinst.iso
Date: <Date and time of the install>

Machine: Thinkpad P1 Gen7
Partitions: irrelevant


Base System Installation Checklist:
[O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it

Initial boot:           [O]
Detect network card:    [O]
Configure network:      [E]
Detect media:           [ ]
Load installer modules: [ ]
Clock/timezone setup:   [ ]
User/password setup:    [ ]
Detect hard drives:     [ ]
Partition hard drives:  [ ]
Install base system:    [ ]
Install tasks:          [ ]
Install boot loader:    [ ]
Overall install:        [ ]

Comments/Problems:

The installer seems to have treated the WiFi interface as a wired one,
i.e. did not ask for the SSID, and nor for the password.
Then immediately tried using DHCP to configure the interface, which did
not work because it was not associated with an AP.

#1103993#10
Date:
2025-04-23 18:46:05 UTC
From:
To:
I noticed after filing that report #1095302 is even better, apart from its
submitter not being sure if WiFi should work in the installer. I'm sure it
should, because it worked flawlessly on an older ThinkPad P1 for me.

Marcin

#1103993#15
Date:
2025-04-24 10:32:23 UTC
From:
To:
configuration component, netcfg, does not support wifi 7.
Do you wish to merge the two bugs ?
It implies to lower the priority of this one from "important" to "normal".

#1103993#20
Date:
2025-04-24 11:51:52 UTC
From:
To:
[Please send replies to the bug mail address, not only mine]
merge and reassign the two bugs to netcfg. If anyone objects, the
priority can be lowered.

To d-i people: adding nl80211 and wifi 7 support to netcfg looks like a
big task and I guess it is way too late to do it before Trixie release.
However wouldn't it be desirable to mark wifi 7 controllers as
unsupported in netcfg and in the installation guide in order to limit
user frustration ?

#1103993#31
Date:
2025-04-24 13:11:39 UTC
From:
To:
I should also note that the touchpad did not work for me in the graphical
installer. The trackpoint does, but no amount of function or Fn+function
key pressing was able to make the touchpad come to life.
Not sure if it's best to file a separate bug about this fact.

#1103993#36
Date:
2025-04-24 13:35:26 UTC
From:
To:
Does the touchpad work in the installed system ?
If yes, it could be a missing kernel module in the installer.

Yes please, if a bug was not already filed for the same issue. It has
nothing to do with netcfg.

#1103993#41
Date:
2025-04-24 13:39:32 UTC
From:
To:
Hi Marcin,

Marcin Owsiany <marcin@owsiany.pl> (2025-04-24):

That'd be nice, please make sure to include `lsmod` from the installed
system in there, alongside the /var/log/installer/syslog (compressed).

Thanks already.


Cheers,

#1103993#46
Date:
2025-04-24 13:48:15 UTC
From:
To:
Hi,

Pascal Hambourg <pascal@plouf.fr.eu.org> (2025-04-24):

The difference between normal and important is a matter of opinion, and
that doesn't really factor in what we're going to do about these bug
reports anyway. Important looks good to me.

(Also, when a submitter considers their bug to be covered by another bug
report, an option would be to close their bug, mentioning that's a
duplicate of another one, or that the other one is more complete,
precise, etc.)

ISTR someone asking for help to implement/test that, but I couldn't deal
with that at the time (or now), but I had some vague hopes to look into
it (either assisting or hacking myself) “in the near future”. I'm not
sure how prevalent Wi-Fi 7 is at the moment, but it seems to me this is
definitely something we should tackle, and that might be worth
considering as a backport to Trixie (via point releases) (1) if and when
support has landed and has been tested, and (2) if backporting doesn't
seem crazy (code/packaging change wise, and risk wise).

If we can easily spot unsupported cards and not offer them at all
(ignore entirely, with explicit log lines in syslog?) and also document
that in the installation guide, that'd be nice to have. Best if that can
land in 13.0; OK if that lands in 13.n, n>0. (Until support comes along
and is considered for a possible backport as detailed above.)


Cheers,

#1103993#51
Date:
2025-04-25 07:52:05 UTC
From:
To:
Filed https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1104057

Marcin

#1103993#56
Date:
2025-04-25 16:33:10 UTC
From:
To:
I get the impression most laptops shipping now are wifi 7.  Most machines
I have seen in the last year had had it at least.

I can certainly test it.  I asked a few months ago about how a desired
implementation should be done, but got no response from anyone to the
question.  Given the new interface is netlink based, and there already is
libnl in the installer, I don't think it would be a big change package
wise, but it would need netcfg to add support for making netlink calls
to control wifi 7 devices (and optionally wifi 6 devices I suppose).

Certainly the current installer behaviour is confusing since the driver
loads, then it treats it like a wired port which doesn't work because wifi
7 drivers require using the new interface which netcfg doesn't support.
So you see the network device present but it doesn't ask about wifi
settings it just tries to do dhcp and fails.

#1103993#61
Date:
2025-04-25 16:35:21 UTC
From:
To:
It was my first new laptop in 12 years, I wasn't sure. :)

Having since looked at the code it clearly should work, but not with
wifi 7 devices that require the netlink configuration interface.

#1103993#66
Date:
2025-04-25 16:36:24 UTC
From:
To:
Yes it does.
#1103993#71
Date:
2025-04-25 20:04:23 UTC
From:
To:
Lennart Sorensen <lsorense@csclub.uwaterloo.ca> (2025-04-25):

That's a useful data point, thanks.

I'm not sure I can commit to giving it a try, but it might be worth
pinging the DPL to get some test machines sent out.

I suppose you were the or one of the person(s) I was thinking about.
Again, sorry about that. (You'll get a little more info out of band.)

Yeah, the initial brainstorming I've seen a while back seemed rather
encouraging.

Yeah, I gathered that from earlier mails, but I suppose it's nice to
have a little reminder of the actual confusion, that can be picked up by
documentation writers for example.


Cheers,

#1103993#76
Date:
2025-04-28 22:11:08 UTC
From:
To:
Unsupported wireless interface detection could use nl80211 (not trivial,
link with libnl) or try to use some heuristics based on information
available in sysfs, maybe something like:

if /sys/class/net/$[interface}/wireless exists
or /sys/class/net/$[interface}/uevent contains "DEVTYPE=wlan"
or /sys/class/net/$[interface}/type = "801" (802.11)

Lennart or Marcin, can you check if any of these conditions match your
Wi-Fi 7 interface ?

On the user interface side, what would be best ?
- Silently ignore unsupported interfaces ? (but the user may wonder why
the interface is not showing)
- Or warn the user that the wireless interface is not supported yet ?
(with a new debconf template, implies translation effort).

#1103993#81
Date:
2025-04-28 22:21:37 UTC
From:
To:
Pascal Hambourg <pascal@plouf.fr.eu.org> (2025-04-29):

I think I answered that in my previous answer?

Log + documentation, yes.

At this stage? That really doesn't look like either reasonable or feasible.


Cheers,

#1103993#86
Date:
2025-04-29 04:29:12 UTC
From:
To:
wt., 29 kwi 2025 o 00:11 Pascal Hambourg <pascal@plouf.fr.eu.org>
napisał(a):

I'm assuming this is pseudocode?

These commands yield the same output on both P1 Gen7 (WiFi 7 I assume) and
P1 Gen3 (I assume not WiFi 7, because wifi worked in netcfg back when I
installed Debian on it):

+ interface=wlp9s0f0
+ ls -ld /sys/class/net/wlp9s0f0/wireless
drwxr-xr-x 2 root root 0 04-29 06:24 /sys/class/net/wlp9s0f0/wireless
+ grep --color DEVTYPE=wlan /sys/class/net/wlp9s0f0/uevent
DEVTYPE=wlan
+ cat /sys/class/net/wlp9s0f0/type
1

Marcin

#1103993#91
Date:
2025-04-29 06:44:36 UTC
From:
To:
Hi,

Am 29. April 2025 00:21:37 MESZ schrieb Cyril Brulebois <kibi@debian.org>:

I could think of adding a new template, but not mark it as translatable.
So it's always in English, and does not break translation status.

After Trixie is released, it could then be changed in translatable and translators get it (for Forky and probably trixie point release).


Holger

#1103993#96
Date:
2025-04-29 09:40:54 UTC
From:
To:
wt., 29 kwi 2025, 06:29 użytkownik Marcin Owsiany <marcin@owsiany.pl>
napisał:

Eyeballing these device directories from both laptops side by side did not
reveal anything that could be used to distinguish wifi7 from earlier
versions, but maybe I missed something.

I tried packing these directory up to attach to the bug, but the symlink
loops make it hard, and I'd rather not upload the entirety of /sys to the
internet, who knows what might be there...

Marcin

#1103993#101
Date:
2025-04-29 16:40:40 UTC
From:
To:
Holger Wansing <hwansing@mailbox.org> (2025-04-29):

Oh, right, sorry, I didn't think of that.

To be honest, at this stage, I'm a little worried about getting the
logic right. If someone managed to have a piece of code that works in
the installed system, I could look into doing whatever is needed to get
it to work inside d-i (dealing with Makefiles, build systems, linking
against libnl or whatever).

If someone had reference(s) of external adapters I could easily shop for
and get delivered to France, that would make the feedback loop shorter
(I'd be able to hack and build and test, instead of hacking and
building, then asking others to test). Additionally/alternatively, given
that's supposed to be widespread, maybe some cheap laptop reference(s)?

(I don't want to have huge piles of hardware at home but it seems worth
it to tackle that Wi-Fi 7 topic, and I can cope with 1-2 extra laptops
if that's OK/cheap enough for either me, my company, or the project.)


Cheers,

#1103993#106
Date:
2025-04-29 17:29:05 UTC
From:
To:
Thank you, this is what I expected.

These tests would happen only if the interface does not support legacy
wireless extensions (wext). The logic would be (pseudo-code):

if $interface supports legacy wireless extensions (wext)
   type = supported_wireless
else if /sys/class/net/$interface/wireless exists
      or /sys/class/net/$interface/uevent contains "DEVTYPE=wlan"
      or /sys/class/net/$interface/type = "801" (802.11)
   type = unsupported_wireless
else
   type = wired

#1103993#111
Date:
2025-04-29 19:56:58 UTC
From:
To:
<https://salsa.debian.org/pham/netcfg/-/tree/pham/wifi7-1>

It checks sysfs for wireless heuristics.
For this I made netcfg binary call a shell script because it is more
flexible for debugging in the installer.

IF you want to test it, an ISO image is available for a limited time:
<https://salsa.debian.org/pham/netcfg/-/jobs/7509146/artifacts/file/debian/output/debian-202501XX+salsaci+20250429+46-amd64-gtkmini.iso>

This image does not include non-free firmware, so you may need to
provide firmware packages for your hardware such as firmware-iwlwifi on
a separate media or in a FAT partition on the installer media. It has a
6MB FAT partition but it is too small for firmware-iwlfiwi. If you want
to enlarge it or create another partition, you can use fdisk with
options "-w never -W never" to preserve existing metadata.

#1103993#116
Date:
2025-04-30 20:27:16 UTC
From:
To:
wt., 29 kwi 2025, 21:57 użytkownik Pascal Hambourg <pascal@plouf.fr.eu.org>
napisał:

Here is what I did:

   1. dd-ed the image onto a USB stick
   2. ran fdisk -w never -W never on it, created a fourth partition of
   500MB, set its type to FAT12
   3. ran mkfs -t vfat on the partition
   4. mounted the official alpha installer image
   5. copied all files from the firmware directory on the official image
   into the new partition
   6. unmounted
   7. Booted the P1 Gen3 laptop, confirmed that I want to load firmware,
   and it showed the available SSIDs, as expected
   8. Booted the P1 Gen7 laptop, confirmed that I want to load firmware,
   and it showed the "No network interfaces detected" screen, as expected
   9. Took a screenshot and also a screenshot of the log virtual console
   with the /lib/netcfg/is_wireless messages, see attached images.

Marcin

#1103993#121
Date:
2025-05-01 13:17:54 UTC
From:
To:
Not sure if I made the new two templates non translatable properly,
please check.

Temporary ISO image:
<https://salsa.debian.org/pham/netcfg/-/jobs/7517082/artifacts/file/debian/output/debian-202501XX+salsaci+20250501+53-amd64-gtkmini.iso>

#1103993#126
Date:
2025-05-01 15:50:01 UTC
From:
To:
I may be missing something so correct me if I am wrong but IMO you do
not need Wi-Fi 7 hardware to test: you can disable the current check
which uses wext in is_wireless_iface() and use any wireless adapter
whose driver uses nl80211. AFAICS since Linux 6.8 all in-kernel wireless
drivers depend on cfg80211/mac80211.

#1103993#131
Date:
2025-05-01 18:04:52 UTC
From:
To:
Am 1. Mai 2025 15:17:54 MESZ schrieb Pascal Hambourg <pascal@plouf.fr.eu.org>:

Looks good.


Holger

#1103993#136
Date:
2025-05-01 19:16:34 UTC
From:
To:
Hi Marcin,

Am 1. Mai 2025 15:17:54 MESZ schrieb Pascal Hambourg <pascal@plouf.fr.eu.org>:

Would you mind testing this image as well?
That would be great.


Thanks
Holger

#1103993#141
Date:
2025-05-01 19:42:21 UTC
From:
To:
Hi,

Pascal Hambourg <pascal@plouf.fr.eu.org> (2025-05-01):

If that statement is correct (I have no knowledge so cannot judge),
that's nice. But I really meant to be able to test things that currently
don't work, and make sure they start working after whatever is needed is
implemented.

What to do with other hardware that support different mode of operation
(keep wext for a while, or switch everyone to nl if that just works
without regressions) would be a different topic.

(But I fully understand the overlap, and thanks for pointing this out.)


Cheers,

#1103993#146
Date:
2025-05-02 07:19:02 UTC
From:
To:
czw., 1 maj 2025 o 21:16 Holger Wansing <hwansing@mailbox.org> napisał(a):

I gave it a go, it seems to work as intended, see attached screenshots.

A couple of notes that I would have found useful on this screen or related
docs:
- the installed system (network manager etc) might in fact support WiFi7
just fine
- an USB-attached ethernet interface might be a good enough workaround for
installation time

Marcin

#1103993#151
Date:
2025-05-02 09:52:02 UTC
From:
To:
both supported and unsupported interfaces are found:

<https://salsa.debian.org/pham/netcfg/-/jobs/7521336/artifacts/file/debian/output/debian-202501XX+salsaci+20250502+57-amd64-gtkmini.iso>

Note: You do not need Wi-Fi 7 hardware to test the user interface. You
can simulate an unsupported wireless interface with an ethernet
interface by booting the installer in expert mode, starting a shell and
editing the script /lib/netcfg/is_wireless with nano before starting the
network configuration step. This is how I test it in a VM with two
ethernet interfaces.

To make all ethernet interface appear as unsupported, insert this after
the first line:

"exit 0"

To make only a specific ethernet interface enpXsYfZ appear as
unsupported, insert this after the first line:

if [ "$1" = enpXsYfZ ]; then exit 0; fi

(you can run "ip link" to show detected network interfaces)

#1103993#156
Date:
2025-05-04 18:10:13 UTC
From:
To:
Hi,

Pascal Hambourg <pascal@plouf.fr.eu.org> wrote (Fri, 2 May 2025 11:52:02 +0200):

You are talking about a "new (...) version" here, but I cannot find any
such commit. Maybe you forgot to push something?


Holger

#1103993#161
Date:
2025-05-04 18:26:04 UTC
From:
To:
Because I amended the last two commits and force-pushed.
#1103993#166
Date:
2025-05-04 18:53:59 UTC
From:
To:
Hi,

Pascal Hambourg <pascal@plouf.fr.eu.org> wrote (Sun, 4 May 2025 20:26:04 +0200):

Hmm, I thought about a possibility to do it that way, but my guess was
that there should be an indication, that such action happened (like an
additional timestamp or similar).
This is apparently not the case though.
Thanks for teaching me


Holger

#1103993#171
Date:
2025-05-04 19:17:11 UTC
From:
To:
Hi,

Pascal Hambourg <pascal@plouf.fr.eu.org> wrote (Fri, 2 May 2025 11:52:02 +0200):
do not focus on the "USB-attached ethernet interface" in the template.
Maybe the user already has a wired ethernet interface built into the
laptop, but the user did not take that into account, since using WiFi is
just the preferred option, because it's easier (no need to plug in a cable).


So, something like this:

 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.
-Else, a USB Ethernet adapter might be a workaround during installation.
+Else, a wired Ethernet connector (built into your machine or externally
+attached via USB) might be a workaround during installation.


Holger

#1103993#176
Date:
2025-05-04 19:53:06 UTC
From:
To:
The user will see that template only if no supported interface was
detected. There is no user's choice, unless they chose to disable the
built-in ethernet controller in BIOS settings.

#1103993#181
Date:
2025-05-04 19:59:25 UTC
From:
To:
Hi,

Pascal Hambourg <pascal@plouf.fr.eu.org> wrote (Sun, 4 May 2025 21:53:06 +0200):

Ah, ok. Sorry for the noise then.

So I think we are ready for a MR?
Any objections, to get this into trixie, as a workaround for WiFi 7 ?



Holger

#1103993#186
Date:
2025-05-08 06:08:46 UTC
From:
To:
<https://salsa.debian.org/installer-team/netcfg/-/merge_requests/16>
But this was originally intended as a quick and dirty PoC, not sure it
is ready for production.

#1103993#191
Date:
2025-05-08 07:16:55 UTC
From:
To:
Hi,

Am 8. Mai 2025 08:08:46 MESZ schrieb Pascal Hambourg <pascal@plouf.fr.eu.org>:

I know this started as a PoC initially, that's why I asked for objections.
IMO it's better than having nothing, and let users run into the issue of not-working wifi, file bugreports and so on.
It would only be temporary code, I hope we will get WiFi-7 support for Forky.


Holger