Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tools:raspbian [2023/10/04 18:47]
darron [Problems]
tools:raspbian [2024/05/16 11:52] (current)
darron [Upgrade]
Line 269: Line 269:
  
  
 +===WiFi problems===
 +
 +==Hotplug==
 +
 +At least on one setup the WiFi fails to start during boot. It seems that the interface
 +has no name as yet or is renamed to something else then renamed back to wlan0 but after
 +wpa_supplicant runs which results in network failure.
 +
 +Error looks like this in syslog:
 +<code>
 +wpa_supplicant[434]: Successfully initialized wpa_supplicant
 +wpa_supplicant[434]: Could not read interface wlan0 flags: No such device
 +wpa_supplicant[434]: nl80211: Driver does not support authentication/association or connect commands
 +wpa_supplicant[434]: nl80211: deinit ifname=wlan0 disabled_11b_rates=0
 +wpa_supplicant[434]: Could not read interface wlan0 flags: No such device
 +wpa_supplicant[434]: rfkill: Cannot get wiphy information
 +wpa_supplicant[434]: Could not read interface wlan0 flags: No such device
 +wpa_supplicant[434]: WEXT: Could not set interface 'wlan0' UP
 +wpa_supplicant[434]: wlan0: Failed to initialize driver interface
 +</code>
 +
 +To solve this configure /etc/network/interfaces using "allow-hotplug wlan0", but
 +if this also fails, replace rc.local with the following:
 +
 +<code>
 +#!/bin/sh
 +#
 +# rc.local
 +#
 +# This script is executed at the end of each multiuser runlevel.
 +# Make sure that the script will "exit 0" on success or any other
 +# value on error.
 +#
 +# In order to enable or disable this script just change the execution
 +# bits.
 +#
 +
 +check() {
 +        /sbin/ifconfig wlan0 1>/dev/null 2>/dev/null
 +}
 +check
 +while test $? -eq 1; do
 +        sleep 1
 +        check
 +done
 +ifup wlan0
 +
 +# Print the IP address
 +_IP=$(hostname -I) || true
 +if [ "$_IP" ]; then
 +  printf "My IP address is %s\n" "$_IP"
 +fi
 +
 +exit 0
 +</code>
 +
 +==Keep alive==
 +
 +Pi4 WiFi can both disconnect with wpa_supplicant still running or crash.
 +
 +In the former case we can reconnect but in the latter a reboot is required.
 +
 +<code>
 +#! /bin/bash
 +
 +check() {
 +        LOSS=`ping -c 3 -i 1 192.168.0.1 | awk 'match($0, /[0-9]+%/) { print substr($0, RSTART, RLENGTH) }'`
 +}
 +while test 1; do
 +        sleep 30
 +        check
 +        if test "$LOSS" = "100%"; then
 +                ifdown wlan0 1>/dev/mull 2>/dev/null
 +                ifup   wlan0 1>/dev/null 2>/dev/null
 +                sleep 5
 +                check
 +                if test "$LOSS" = "100%"; then
 +                        reboot
 +                fi
 +        fi
 +done
 +</code>
 +
 +Change the IP address to that of your access point or modem.
 === Upgrade === === Upgrade ===
  
Line 290: Line 374:
  
 EG. EG.
 +
 +to bullseye from buster
  
 <code> <code>
 sed -i 's/buster/bullseye/g' /etc/apt/sources.list sed -i 's/buster/bullseye/g' /etc/apt/sources.list
 </code> </code>
 +
 +or edit for from bullseye to bookworm
 +<code>
 +deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
 +deb http://deb.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware
 +deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
 +</code>
 +
 +If keys need importing (if import fails try again, and again)
 +
 +<code>
 +apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0E98404D386FA1D9
 +apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 6ED0E7B82643E131
 +apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F8D2585B8783D481
 +apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 54404762BBB6E853
 +apt-key adv --recv-keys --keyserver keyserver.ubuntu.com BDE6D2B9216EC7A8
 +</code>
 +
  
 Update Update
Line 304: Line 408:
  
 Change RPi sources list Change RPi sources list
 +
  
 <code> <code>
Line 309: Line 414:
 </code> </code>
  
 +or
 +
 +<code>
 +sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/raspi.list
 +</code>
 Update Update