#1032852 debian-installer: Intel Corporation PRO/Wireless 2200BG doen't work for d-i, does work on installed Bookworm

Package:
debian-installer
Source:
debian-installer
Description:
Debian Installer documentation
Submitter:
Charles Curley
Date:
2023-05-22 19:21:02 UTC
Severity:
normal
Tags:
#1032852#5
Date:
2023-03-12 21:13:34 UTC
From:
To:
Dear Maintainer,

I attempted to install using a CD-RW of debian-bookworm-DI-alpha2-i386-netinst.iso. I preseeded as much as I could, and the preseed went along fine, except that I could not get a wifi connection.

The wifi works once bookworm is installed, but not under d-i.

Fortunately, I was able to use the Ethernet interface to continue the installation.

Also, apparently, if I don't provide a wifi password in the preseed file, d-i complains that it is too short (or similar) but does not ask me for it. So I had to provide it via 'd-i netcfg/wireless_wpa string'.

The only other wireless option I have enabled is 'd-i netcfg/wireless_show_essids select manual'. But I get no other wireless options in d-i.

syslog attached.

#1032852#10
Date:
2023-03-12 21:39:17 UTC
From:
To:
Hi Charles

Thanks for the bug! Inline are a few questions / things I've seen from
the log:
ipw2200 hardware (yay!):

Mar 12 20:51:48 check-missing-firmware: looking at dmesg for the first time
Mar 12 20:51:48 check-missing-firmware: saving timestamp for a later use: [  107.506398]
Mar 12 20:51:48 check-missing-firmware: looking for firmware file ipw2200-bss.fw requested by ipw2200
Mar 12 20:51:48 check-missing-firmware: looking for firmware file ipw2200-bss.fw requested by ipw2200
Mar 12 20:51:48 check-missing-firmware: missing firmware files (ipw2200-bss.fw ipw2200-bss.fw) for ipw2200
Mar 12 20:51:48 check-missing-firmware: mainloop iteration #1
Mar 12 20:51:48 check-missing-firmware: lookup with /cdrom/firmware/Contents-firmware
Mar 12 20:51:49 check-missing-firmware: installing firmware package /cdrom/firmware/firmware-ipw2x00_20230117-2_all.deb (non-free-firmware)
Mar 12 20:51:49 check-missing-firmware: removing and loading kernel module ipw2200
Mar 12 20:51:49 kernel: [  111.058503] libipw: 802.11 data/management/control stack, git-1.1.13
Mar 12 20:51:49 kernel: [  111.058514] libipw: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>
Mar 12 20:51:49 kernel: [  111.087396] ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.2kmprq
Mar 12 20:51:49 kernel: [  111.087407] ipw2200: Copyright(c) 2003-2006 Intel Corporation
Mar 12 20:51:49 kernel: [  111.087686] ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
Mar 12 20:51:49 kernel: [  111.088105] ipw2200 0000:02:02.0: firmware: direct-loading firmware ipw2200-bss.fw
Mar 12 20:51:50 kernel: [  111.329661] ipw2200: Detected geography ZZM (11 802.11bg channels, 0 802.11a channels)
Mar 12 20:51:50 kernel: [  111.334989] ipw2200 0000:02:02.0 wlp2s2: renamed from eth0
Mar 12 20:51:50 net/hw-detect.hotplug: Detected hotpluggable network interface wlp2s2
Mar 12 20:51:51 check-missing-firmware: looking at dmesg again, restarting from timestamp: [  107.506398]
Mar 12 20:51:51 check-missing-firmware: timestamp found, truncating dmesg accordingly
Mar 12 20:51:51 check-missing-firmware: saving timestamp for a later use: [  111.334989]
Mar 12 20:51:51 check-missing-firmware: no missing firmware in loaded kernel modules
Mar 12 20:51:51 check-missing-firmware: taking network interface -n up/down
Mar 12 20:51:51 check-missing-firmware: taking network interface enp2s8 up/down
Mar 12 20:51:51 check-missing-firmware: taking network interface wlp2s2 up/down
Mar 12 20:51:52 check-missing-firmware: looking at dmesg again, restarting from timestamp: [  111.334989]
Mar 12 20:51:52 check-missing-firmware: timestamp found, truncating dmesg accordingly
Mar 12 20:51:52 check-missing-firmware: saving timestamp for a later use:
Mar 12 20:51:52 check-missing-firmware: no missing firmware in loaded kernel modules
use it:

Mar 12 20:52:22 netcfg[4487]: INFO: ethtool-lite: wlp2s2: carrier up
Mar 12 20:52:22 netcfg[4487]: INFO: Found link on wlp2s2
Mar 12 20:52:22 netcfg[4487]: INFO: found link on interface wlp2s2, making it the default.
Mar 12 20:52:22 netcfg[4487]: INFO: Could not find valid BOOTIF= entry in /proc/cmdline
Mar 12 20:52:22 netcfg[4487]: INFO: Taking down interface enp2s8
Mar 12 20:52:22 netcfg[4487]: INFO: Taking down interface wlp2s2
Mar 12 20:52:28 netcfg[4487]: INFO: Activating interface wlp2s2
Mar 12 20:52:29 netcfg[4487]: INFO: Scan of wireless interface wlp2s2 succeeded.
Mar 12 20:52:29 netcfg[4487]: INFO: Network chosen: . Proceeding to connect.
Mar 12 20:52:35 netcfg[4487]: INFO: Activating interface wlp2s2
Mar 12 20:52:35 netcfg[4487]: INFO: Scan of wireless interface wlp2s2 succeeded.

Then I can see lots of errors around running wpasupplicant:

Mar 12 20:54:18 netcfg[5996]: WARNING **: Couldn't read Wpasupplicant pid file, not trying to kill.
...
Mar 12 20:54:24 netcfg[5996]: INFO: Activating interface wlp2s2
Mar 12 20:54:25 netcfg[5996]: INFO: Scan of wireless interface wlp2s2 succeeded.
Mar 12 20:54:25 netcfg[5996]: INFO: Network chosen: . Proceeding to connect.
Mar 12 20:54:25 netcfg[5996]: INFO: Couldn't connect to wpasupplicant
Mar 12 20:54:25 netcfg[5996]: INFO: Activating interface wlp2s2
Mar 12 20:54:25 netcfg[5996]: INFO: Scan of wireless interface wlp2s2 succeeded.
Mar 12 20:54:25 netcfg[5996]: INFO: Network chosen: . Proceeding to connect.
Mar 12 20:54:25 netcfg[5996]: INFO: Couldn't connect to wpasupplicant
Mar 12 20:54:25 netcfg[5996]: INFO: Activating interface wlp2s2
Mar 12 20:54:25 netcfg[5996]: INFO: Scan of wireless interface wlp2s2 succeeded.
...
Mar 12 20:54:27 netcfg[5996]: INFO: Activating interface wlp2s2
Mar 12 20:54:28 netcfg[5996]: INFO: Scan of wireless interface wlp2s2 succeeded.
Mar 12 20:54:28 netcfg[5996]: INFO: Network chosen: . Proceeding to connect.
Mar 12 20:54:28 main-menu[265]: (process:5995): Successfully initialized wpa_supplicant
Mar 12 20:54:28 main-menu[265]: (process:5995): nl80211: Driver does not support authentication/association or connect commands
Mar 12 20:54:28 main-menu[265]: (process:5995): nl80211: deinit ifname=wlp2s2 disabled_11b_rates=0
Mar 12 20:54:28 main-menu[265]: (process:5995): wlp2s2: Failed to initialize driver interface
Mar 12 20:54:28 main-menu[265]: (process:5995): nl80211: Driver does not support authentication/association or connect commands
Mar 12 20:54:28 main-menu[265]: (process:5995): nl80211: deinit ifname=wlp2s2 disabled_11b_rates=0
Mar 12 20:54:28 main-menu[265]: (process:5995): wlp2s2: Failed to initialize driver interface
Mar 12 20:54:28 main-menu[265]: (process:5995): wlp2s2: CTRL-EVENT-DSCP-POLICY clear_all
Mar 12 20:54:28 main-menu[265]: (process:5995): Successfully initialized
...

and these errors go on for a long time :-(

You say that you're preseeding things. Could you also please share
your preseed file in case that is relevant?

Could you run the installation without preseeding and confirm if the
wireless works that way please?

#1032852#15
Date:
2023-03-12 22:23:56 UTC
From:
To:
firmware-ipw2x00 should be reject for requiring license approval. Kibi
fixed the typo in commit 22f23968338e82e2ac5d943cf8035e5096f230d4.

The weird part is that IIUC the package should not have been installed
in the target system because it was removed from the installer's cache,
so the wifi should not work in the target system either.

#1032852#20
Date:
2023-03-13 03:35:34 UTC
From:
To:
On Sun, 12 Mar 2023 23:23:56 +0100 Pascal Hambourg <pascal@plouf.fr.eu.org> wrote:


It wound up in the installed system. I don't recall seeing the license
prompt during any of my various Bookworm installations, complete or
partial. Indeed, the only prompts I got related to network setup were to
announce failures.

#1032852#25
Date:
2023-03-13 04:24:44 UTC
From:
To:
On Sun, 12 Mar 2023 21:39:17 +0000 Steve McIntyre <steve@einval.com> wrote:

OK.

Correct.

Yes. I eventually hit control-C or otherwise stopped d-i, which is
probably when the log stopped.
preserve exactly what I used for wireless in the run that produced
this log file.

I will try it again, this time preserving the preseed file.

I also just looked at the templates.dat file from a previous
installation, and compared that with my preseed file. I have no entry
for "netcfg/wireless_adhoc_managed", so that could be my problem.

For the last run today (not the run that produced the attached syslog),
I have the following:

root@dragon:/media/disk# grep netcfg preseed.cfg | grep -v '^#'
d-i netcfg/link_wait_timeout string 4
d-i netcfg/hostname string dragon
d-i netcfg/wireless_show_essids select manual
d-i netcfg/wireless_essid string Curleynet2
d-i netcfg/wireless_essid_again string Curleynet2
d-i netcfg/wireless_security_type select WPA/WPA2 PSK
d-i netcfg/wireless_wpa string <redacted>
root@dragon:/media/disk#

One other thought: shouldn't there be an option to hash the AP
password (netcfg/wireless_wpa), same as there is to hash the root and
user passwords?

I have run it with the preseed, but with no "d-i netcfg/wireless"
options enabled. No joy.

I will try that, probably tomorrow.

#1032852#30
Date:
2023-03-13 10:31:39 UTC
From:
To:
When I did my tests, I stopped after the network detection step and did
not complete the installation. When doing so, during the package
installation step it appears that
1) Loose files in /lib/firmware are copied into the target system
2) Firmware packages matching device modalias are installed.

This explains why the wireless firmware was present after the installation.

Really ? I had the license agreement screen during the package selection
and installation step.

#1032852#35
Date:
2023-03-13 16:34:12 UTC
From:
To:
Test run today. I filled in as much as I could in necfg/wireless. d-i
failed to get on the network. Observing the access point's (AP) UI, the
AP never gave it a wireless connection.

Attached are the preseed file and syslog.

#1032852#40
Date:
2023-03-13 16:58:52 UTC
From:
To:
Yup. In neither of the two experiments I ran this morning did any
license prompt show up. One was preseeded, the other not.

#1032852#45
Date:
2023-03-13 20:56:50 UTC
From:
To:
I'm trying using the same image to set up the wireless network on
another machine, a Lenovo T520.

Going with no preseed file, after I select the network to log
into and give it the password, I get a screen briefly "Attempting to
exchange keys with the access point". It then prompts me whether I want
to configure the network manually or via DHCP.

I have not seen the last two screens on the other machine, an IBM R51.
Obviously I get a connection, because d-i then asks if I want to use
the host name and domain provided by DHCP.

I then tried it on the T520 with preseeding. I got "Network
autoconfiguration failed", and did not see either of the two screens I
described above. Preseed and syslog for that attempt are attached.

#1032852#50
Date:
2023-03-13 21:25:13 UTC
From:
To:
On the T520, I tried again. This time I had the preseed file (attached)
with all netcfg entries commented out. I got as far as the network
setup stuff. When I told it to try the wireless, it replied that the
passphrase was too short. Well, of course it was too short: d-i never
prompted for a passphrase.

#1032852#55
Date:
2023-03-28 22:23:07 UTC
From:
To:
I tried installing with the most recent weekly build. I noticed the
following line toward the end of syslog:

Mar 28 21:35:59 main-menu[425]: (process:4506): cut: /var/lib/dpkg/info/firmware-ipw2x00.md5sum: No such file or directory

This might be because the file name wanted is:

/var/lib/dpkg/info/firmware-ipw2x00.md5sums

Note the s on the end.

See the attached preseed file and syslog.

#1032852#60
Date:
2023-03-29 06:41:43 UTC
From:
To:
Hello,
* Fix files removal for non-accepted firmware packages (See: #1032377).

#1032852#65
Date:
2023-05-22 18:52:24 UTC
From:
To:
agreement and can accept it. My preseed file has the following:


# https://preseed.debian.net/debian-preseed/bookworm/amd64-non-free-firmware-full.txt
d-i firmware-ipw2x00/license/accepted boolean true

so I would not expect to see the license agreement. If I read the
syslog correctly, the preseeded license agreement accepted was handled
correctly:

May 22 18:16:52 debconf: --> SET firmware-ipw2x00/license/accepted true
May 22 18:16:52 debconf: <-- 10 firmware-ipw2x00/license/accepted doesn't exist
May 22 18:16:52 debconf: --> REGISTER debian-installer/dummy firmware-ipw2x00/license/accepted
May 22 18:16:52 debconf: <-- 0
May 22 18:16:52 debconf: --> SET firmware-ipw2x00/license/accepted true
May 22 18:16:52 debconf: <-- 0 value set
May 22 18:16:52 debconf: --> SUBST firmware-ipw2x00/license/accepted ID firmware-ipw2x00/license/accepted
May 22 18:16:52 debconf: Adding [ID] -> [firmware-ipw2x00/license/accepted]
May 22 18:16:52 debconf: <-- 0
May 22 18:16:52 debconf: --> FSET firmware-ipw2x00/license/accepted seen true


I did three installations at least as far as the WiFi business and have
the logs from them should anyone wish to see them.

Alas, there are other problems, but this seems to be fixed.

Thank you.