Вопрос или проблема
Я недавно обновился с Ubuntu Server 22.04 до 24.04. Помню, меня спросили, хочу ли я сохранить свою конфигурацию cloud-init или сбросить её.
Я выбрал неправильно…
После того как я решил сбросить конфигурацию, Wi-Fi перестал работать, и я уже несколько дней пытаюсь его вернуть в рабочее состояние. Вот что я пробовал до сих пор:
- Сгенерировал захешированные пароли для точек доступа с помощью
wpa_passphrase <SSID> <пароль>
; - Обновил
/etc/netplan/50-cloud-init.yaml
(смотрите ниже его конфигурацию); - Запустил
sudo netplan generate
,sudo netplan apply
и перезагрузил устройство, только чтобы обнаружить, что оно не подключается через Wi-Fi; - Пробовал подключаться через Ethernet, это работает, так что проблема только с Wi-Fi;
- Чтобы исключить возможность опечатки с моей стороны, я дважды и трижды проверил, что не ввожу неверный SSID или пароль в
wpa_passphrase
, и поскольку пароль содержит специальные символы, я заключаю их в одинарные кавычки (например,wpa_passphrase my_ssid 'p@$$w0rd'
).
- Чтобы исключить возможность опечатки с моей стороны, я дважды и трижды проверил, что не ввожу неверный SSID или пароль в
- Я также пробовал решение, предложенное здесь, отключив сетевую конфигурацию и переместив YAML cloud-init в
/etc/netplan/01-netcfg.yaml
, но это тоже не помогло.
Ниже приведена конфигурация в /etc/netplan/50-cloud-init.yaml
:
network:
version: 2
rendered: networkd
ethernets:
eth0:
optional: true
dhcp4: true
dhcp6: false
wifis:
wlan0:
optional: true
dhcp4: true
dhcp6: true
access-points:
"ssid_1":
auth:
key-management: "psk"
password: "somepassword"
"ssid_2":
auth:
key-management: "psk"
password: "someotherpassword"
Вывод для sudo netplan --debug generate
:
DEBUG:command generate: running ['/usr/libexec/netplan/generate']
** (generate:3574): DEBUG: 11:02:34.750: starting new process pass
** (generate:3574): DEBUG: 11:02:34.750: wlan0: adding wifi AP 'ssid_1'
** (generate:3574): DEBUG: 11:02:34.750: wlan0: adding wifi AP 'ssid_2'
** (generate:3574): DEBUG: 11:02:34.750: We have some netdefs, pass them through a final round of validation
** (generate:3574): DEBUG: 11:02:34.750: wlan0: setting default backend to 1
** (generate:3574): DEBUG: 11:02:34.750: Configuration is valid
** (generate:3574): DEBUG: 11:02:34.750: eth0: setting default backend to 1
** (generate:3574): DEBUG: 11:02:34.750: Configuration is valid
** (generate:3574): DEBUG: 11:02:34.753: Generating output files..
** (generate:3574): DEBUG: 11:02:34.754: Open vSwitch: definition eth0 is not for us (backend 1)
** (generate:3574): DEBUG: 11:02:34.754: NetworkManager: definition eth0 is not for us (backend 1)
** (generate:3574): DEBUG: 11:02:34.754: Creating wpa_supplicant config
** (generate:3574): DEBUG: 11:02:34.754: wlan0: Creating wpa_supplicant configuration file run/netplan/wpa-wlan0.conf
** (generate:3574): DEBUG: 11:02:34.754: Creating wpa_supplicant unit /run/systemd/system/netplan-wpa-wlan0.service
** (generate:3574): DEBUG: 11:02:34.772: Creating wpa_supplicant service enablement link /run/systemd/system/systemd-network.sevice.wants/netplan-wpa-wlan0.service
** (generate:3574): DEBUG: 11:02:34.773: Open vSwitch: definition wlan0 is not for us (backend 1)
** (generate:3574): DEBUG: 11:02:34.773: NetworkManager: definition wlan0 is not for us (backend 1)
Вывод для sudo netplan --debug apply
:
** (generate:4090): DEBUG: 11:11:21.284: starting new processing pass
** (generate:4090): DEBUG: 11:11:21.285: wlan0: adding wifi AP 'ssid_1'
** (generate:4090): DEBUG: 11:11:21.285: wlan0: adding wifi AP 'ssid_2'
** (generate:4090): DEBUG: 11:11:21.285: We have some netdefs, pass them through a final round of validation
** (generate:4090): DEBUG: 11:11:21.285: wlan0: setting default backend to 1
** (generate:4090): DEBUG: 11:11:21.285: Configuration is valid
** (generate:4090): DEBUG: 11:11:21.285: eth0: setting default backend to 1
** (generate:4090): DEBUG: 11:11:21.285: Configuration is valid
** (generate:4090): DEBUG: 11:11:21.287: Generating output files..
** (generate:4090): DEBUG: 11:11:21.287: Open vSwitch: definition eth0 is not for us (backend 1)
** (generate:4090): DEBUG: 11:11:21.287: NetworkManager: definition eth0 is not for us (backend 1)
** (generate:4090): DEBUG: 11:11:21.287: Creating wpa_supplicant config
** (generate:4090): DEBUG: 11:11:21.287: wlan0: Creating wpa_supplicant configuration file run/netplan/wpa-wlan0.conf
** (generate:4090): DEBUG: 11:11:21.288: Creating wpa_supplicant unit /run/systemd/system/netplan-wpa-wlan0.service
** (generate:4090): DEBUG: 11:11:21.303: Creating wpa_supplicant service enablement link /run/systemd/system/systemd-networkd.service.wants/netplan-wpa-wlan0.service
** (generate:4090): DEBUG: 11:11:21.304: Open vSwitch: definition wlan0 is not for us (backend 1)
** (generate:4090): DEBUG: 11:11:21.304: NetworkManager: definition wlan0 is not for us (backend 1)
DEBUG:netplan generated networkd configuration changed, rloading networkd
DEBUG:Cannot call Open vSwitch: Cannot apply OVS cleanup: ovsdb-server.service is 'not-found'.
DEBUG:no netplan generated NM configuration exists
** (process:4089): DEBUG: 11:11:22.850: starting new processing pass
** (process:4089): DEBUG: 11:11:22.850: wlan0: adding wifi AP 'ssid_1'
** (process:4089): DEBUG: 11:11:22.850: wlan0: adding wifi AP 'ssid_2'
** (process:4089): DEBUG: 11:11:22.850: We have some netdefs, pass them through a final round of validation
** (process:4089): DEBUG: 11:11:22.850: wlan0: setting default backend to 1
** (process:4089): DEBUG: 11:11:22.850: Configuration is valid
** (process:4089): DEBUG: 11:11:22.850: eth0: setting default backend to 1
** (process:4089): DEBUG: 11:11:22.850: Configuration is valid
DEBUG:Слияние конфигурации:
b''
DEBUG:Изменения ссылки: {}
DEBUG:netplan запускает правила .link для lo
DEBUG:netplan запускает правила .link для eth0
DEBUG:netplan запускает правила .link для wlan0
DEBUG:netplan запускает правила .link для br-80d4bffdaa75
DEBUG:netplan запускает правила .link для br-bc3170df0d76
DEBUG:netplan запускает правила .link для docker0
DEBUG:netplan запускает правила .link для br-0ef74bacdfe7
DEBUG:netplan запускает правила .link для br-2325d6d5e94d
DEBUG:netplan запускает правила .link для br-4ae99280b2fc
DEBUG:netplan запускает правила .link для br-603e3680c9f6
DEBUG:netplan запускает правила .link для br-732ea9bdd972
DEBUG:netplan запускает правила .link для br-2854576e21a1
DEBUG:netplan запускает правила .link для br-306b180c54fe
DEBUG:netplan запускает правила .link для br-a072a3e05d65
DEBUG:netplan запускает правила .link для veth51c8df9
DEBUG:netplan запускает правила .link для vethf75fdc5
DEBUG:netplan запускает правила .link для vetha4f08ef
DEBUG:netplan запускает правила .link для veth19e6d5d
DEBUG:netplan запускает правила .link для vethce29dc8
DEBUG:netplan запускает правила .link для vethd949d9b
** (process:4089): DEBUG: 11:11:24.424: starting new processing pass
** (process:4089): DEBUG: 11:11:24.424: wlan0: adding wifi AP 'ssid_1'
** (process:4089): DEBUG: 11:11:24.424: wlan0: adding wifi AP 'ssid_2'
** (process:4089): DEBUG: 11:11:24.424: We have some netdefs, pass them through a final round of validation
** (process:4089): DEBUG: 11:11:24.424: wlan0: setting default backend to 1
** (process:4089): DEBUG: 11:11:24.424: Configuration is valid
** (process:4089): DEBUG: 11:11:24.424: eth0: setting default backend to 1
** (process:4089): DEBUG: 11:11:24.424: Configuration is valid
Есть ли подсказки, что может быть причиной того, что Wi-Fi не работает? Большое спасибо заранее!
Правки
Вывод sudo lshw -C network
:
*-interface:0
описание: Беспроводной интерфейс
продукт: 43430
производитель: Broadcom
физический id: 1
информация о шине: mmc@1:0001:1
логическое имя: mmc1:0001:1
логическое имя: wlan0
серийный номер: e4:5f:01:d4:ca:c9
возможности: ethernet physical wireless
конфигурация: broadcast=yes driver=brcmfmac driverversion=7.45.234 firmware=01-996384e2 multicast=yes wireless=IEEE802.11
*-network
описание: Ethernet интерфейс
физический id: b
логическое имя: eth0
серийный номер: e4:5f:01:d4:ca:c8
скорость: 1Gbit/s
емкость: 1Gbit/s
возможности: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
конфигурация: autonegotiation=on broadcast=yes driver=bcmgenet driverversion=6.8.0-1012-raspi duplex=full ip=192.168.50.53 link=yes multicast=yes port=twisted pair speed=1Gbit/s
Ответ или решение
Проблема с подключением Wi-Fi после обновления Ubuntu с 22.04 до 24.04 может возникнуть по нескольким причинам. Поскольку вы уже перепробовали несколько вариантов, давайте рассмотрим возможные решения и шаги для диагностики, которые помогли бы восстановить ваше Wi-Fi подключение.
1. Проверка конфигурации Netplan
Ваш файл конфигурации /etc/netplan/50-cloud-init.yaml
выглядит в целом корректно, однако убедитесь, что вы используете правильный формат для SSID и паролей, особенно если они содержат специальные символы.
Пример правильного формата:
wifis:
wlan0:
dhcp4: true
dhcp6: true
access-points:
"ssid_1":
auth:
key-management: "wpa-psk"
psk: "somepassword" # Используйте psk вместо password
"ssid_2":
auth:
key-management: "wpa-psk"
psk: "someotherpassword" # Используйте psk вместо password
Обратите внимание на использование ключа psk
, который должен содержать ваш пароль.
2. Генерация и применение конфигурации
После внесения изменений, выполните следующие команды:
sudo netplan generate
sudo netplan apply
И перезагрузите устройство, чтобы убедиться, что изменения применены.
3. Проверка состояния Wi-Fi интерфейса
Убедитесь, что Wi-Fi интерфейс активен и работает. Введите команду:
sudo iw dev wlan0 link
Это даст вам информацию о текущем состоянии соединения. Если интерфейс не подключен, используйте:
sudo iwlist wlan0 scan
Это покажет доступные сетевые точки доступа.
4. Проверка системных журналов
Обратите внимание на системные журналы, чтобы выяснить, в чем может быть проблема. Используйте команды:
journalctl -u systemd-networkd
journalctl -u wpa_supplicant
Ищите ошибки или предупреждения, которые могут указывать на проблемы с подключением.
5. Удаление конфликта с другими службами
Если у вас установлены другие сетевые менеджеры, такие как NetworkManager, убедитесь, что они не конфликтуют с сетевой конфигурацией netplan. Если вы используете только netplan и systemd-networkd, вы можете временно отключить NetworkManager:
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
6. Откат конфигурации cloud-init
В случае, если проблема не решится, вы можете рассмотреть возможность восстановления конфигурации cloud-init. Попробуйте восстановить преднастройки или вручную добавить необходимые секции для Wi-Fi.
7. Обновление системы и драйверов
Если ничего из вышеперечисленного не помогло, проверьте, есть ли доступные обновления для системы и драйверов:
sudo apt update
sudo apt upgrade
Также имеет смысл проверить наличие обновлений для драйверов, специфичных для вашего оборудования.
Заключение
Если после выполнения всех указанных шагов проблема остается нерешенной, вы можете рассмотреть возможность обращения за помощью на форумы Ubuntu или сети Wi-Fi поддержку, указав все шаги, которые вы уже предприняли, чтобы получить более целевые рекомендации.
Надеюсь, одно из этих решений поможет вам восстановить подключение Wi-Fi!