On Saturday, 3 June 2023 01:17:08 BST Philip Webb wrote:

> The password looks like 'M343477M' (all different characters).
> It works with SR + Mint.

Yes, this will work with wpa_supplicant.


> Today's investigations :
> 
> (1) I copied the BT- firmware ( 2 files) from SR
> into  /lib/firmware/mediatek  on the new machine : no change.
> 
> 'dmesg | grsp firmware' gives
> 
>   Spectre V2 : Enabling Restricted Speculation for firmware calls.
>   Loading firmware : regulatory.db
>   Loading firmware : regulatory.db.p7s
>   mediatek /WIFI_MT7961_patch_mcu_1_2_hdr.bin
>   mediatek /WIFI_RAM_CODE_MT7961_1.bin [repeated once]
> 
> At the end of  dmesg  it says :
> 
>   mt7921e : renamed from wlan0

This is expected, as the NIC name as identified by the kernel is replaced by 
udev following a reliably predictable convention.  From what you have reported 
so far, your wlan0 is renamed to wlp5s0.


> (2) w_s dox : one suggested conf file has simply :
> 
>   network {
>     ssid="simple"
>     psk="<password>"
>     priority=5
>   }
> 
> This makes no difference.

By leaving out any directives for algorithms and encryption options, the 
wpa_supplicant will try them one at time until one hopefully succeeds.


> (3) You didn't comment on the failure of w-s to start in default runlevel.
> The final lines before login are :
> 
>   INIT : Entering runlevel : 3
>   Waiting for uevents to be processed ...
>   [RED] Could not find a wireless interface
>   [RED] ERROR : wpa_supplicant failed to start
>   starting DHCP client Daemon
>   Mounting network filesystems
>   Starting local

I may have missed this in previous messages.  wpa_supplicant cannot start your 
wireless interface because it is not yet initialised.  However, if the kernel 
has picked it up further up and udev renamed it, it ought to be available - 
see below.
 

> The first red msg is from the w-s script in  /etc/init.d .
> I wonder whether w-s sb trying to start before the DHCP deamon ?
> It has no difficulty starting via 'rc-service' after login.

wpa_supplicant will have to bring up the interface and authenticate with an 
AP, before IP layer negotiations can start on DHCP for an IP address.


> Unfortunately, I can't explore how SF + Mint handle this,
> as they both use Systemd, not Openrc, which I am using.

It might be a matter of slowing down the start of the wpa_supplicant service 
until the NIC initialisation by the kernel and its renaming by udev has 
completed.  NICs connected to USB as opposed to PCI bus often tend to be a bit 
sluggish.  You can uncomment this line in '/etc/conf.d/wpa_supplicant' openrc 
configuration:

# uncomment this if wpa_supplicant starts up before your network interface
# is ready and it causes issues
rc_want="dev-settle"


> I'll look thro' the /usr/share dox as carefully as I can.
> Your comment on my final query wb very welcome
> or any other thoughts you might have.

Your wpa_supplicant configuration may be OK, if the only problem is 
wpa_supplicant rc service fails to start.  If however, the logs show the 
interface comes up and then authentication with the AP fails, then tweaking 
the wpa_supplicant configuration will be necessary.

Generally, I troubleshoot such problems by methodically configuring, enabling 
and monitoring an interface as I manually tweak things:

1. Configure the kernel for NIC drivers.  I run 'dmesg -W' and then 'modprobe 
-v' the relevant module until I can see in the output the driver is loaded, 
any module dependencies are also loaded and the interface is initialised.  'ip 
link show' should list the NIC.  For permanent interfaces I tend to build the 
driver in the kernel, for temporary interfaces I tend to build the driver as 
modules.  These days firmware files are generally available for linux, but 
sometimes in the past they had to be downloaded and extracted from the 
manufacturers binary blobs.

2. Configure the netifrc script, if I use netifrc to manage more complicated 
network configurations for an interface.  Alternatively, I only add dhcpcd to 
the default runlevel instead and leave it to do its thing.  For wireless NICs 
I may just use the wpa_supplicant service instead, which deals with AP 
authentication too.  As I start/stop any of these services manually, I check 
the log output to see if there are any problems and tweak the configuration to 
resolve them.  For wpa_supplicant I may increase verbosity and also check the 
output of wpa_cli/wpa_gui, if pairing negotiations with an AP are not 
successful and authentication fails.  I've used NetworkManager and ConnMan 
too, but only with binary distros.

3. Once everything works manually, I add the required service to the default 
run level and reboot.  If things do not work as expected, I enable rc logging 
and check its output.

Usually, after a couple of iterations I end up with a working network 
connection.

See how the above suggestions go and post back with your results.

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to