- Вопрос или проблема
- # lsb_release -a
- # uname -a
- # lshw -C network
- # dmesg | grep mt7921
- # lspci -nnk
- # rfkill list
- # apt info linux-firmware -a | grep Version
- # lsmod | grep mt7921
- # modinfo mt7921e | grep -i version
- # dkms status
- mt7921e ошибка при инициализации -110
- Решение
- Ответ или решение
- Описание проблемы
- Возможные причины
- Рекомендации по решению проблемы
- 1. Полное завершение работы Windows
- 2. Перезагрузка модуля драйвера
- 3. Обновление ядра и прошивки
- 4. Персонализированные патчи
- Заключение
Вопрос или проблема
У меня Ubuntu 21.10, и мне удалось заставить работать беспроводной адаптер MediaTek MT7921. Однако совсем недавно, после перезагрузки моего компьютера, я больше не могу использовать адаптер, он просто пропал. Я не уверен, возможно, это было вызвано некоторыми обновлениями. Я подтвердил, что адаптер работает корректно в Windows 11 (двойная загрузка), следовательно, проблема в системе Linux.
# lsb_release -a
Нет доступных модулей LSB.
Идентификатор дистрибьютора: Ubuntu
Описание: Ubuntu 21.10
Версия: 21.10
Кодовое имя: impish
# uname -a
Linux kitcat 5.15.10-051510-generic #202112171031 SMP Пт Дек 17 10:53:39 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
# lshw -C network
*-network
описание: Ethernet интерфейс
продукт: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
продавец: Realtek Semiconductor Co., Ltd.
физический идентификатор: 0
информация о шине: pci@0000:04:00.0
логическое имя: enp4s0
версия: 15
серийный номер: 04:42:1a:86:25:37
пропускная способность: 1Gbit/s
ширина: 64 бита
тактовая частота: 33MHz
возможности: pm msi pciexpress msix bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
конфигурация: autonegotiation=on broadcast=yes driver=r8169 driverversion=5.15.10-051510-generic firmware=rtl8168h-2_0.0.2 02/26/15 latency=0 link=no multicast=yes port=twisted pair
ресурсы: irq:24 ioport:f000(size=256) memory:fcf04000-fcf04fff memory:fcf00000-fcf03fff
*-network UNCLAIMED
описание: Сетевой контроллер
продукт: MEDIATEK Corp.
продавец: MEDIATEK Corp.
физический идентификатор: 0
информация о шине: pci@0000:05:00.0
версия: 00
ширина: 64 бита
тактовая частота: 33MHz
возможности: pciexpress msi pm cap_list
конфигурация: latency=0
ресурсы: iomemory:fc0-fbf iomemory:fc0-fbf iomemory:fc0-fbf memory:fc30300000-fc303fffff memory:fc30400000-fc30403fff memory:fc30404000-fc30404fff
*-network:0
описание: Ethernet интерфейс
физический идентификатор: 1
логическое имя: vethb9c79ff
серийный номер: 8a:d3:9e:7f:c7:71
размер: 10Gbit/s
возможности: ethernet physical
конфигурация: autonegotiation=off broadcast=yes driver=veth driverversion=1.0 duplex=full link=yes multicast=yes port=twisted pair speed=10Gbit/s
*-network:1
описание: Ethernet интерфейс
физический идентификатор: 2
логическое имя: veth4a60e92
серийный номер: 36:27:65:ec:c2:30
размер: 10Gbit/s
возможности: ethernet physical
конфигурация: autonegotiation=off broadcast=yes driver=veth driverversion=1.0 duplex=full link=yes multicast=yes port=twisted pair speed=10Gbit/s
*-network:2
описание: Ethernet интерфейс
физический идентификатор: 3
информация о шине: usb@2:2
логическое имя: usb0
серийный номер: b6:1e:40:df:cb:07
возможности: ethernet physical
конфигурация: autonegotiation=off broadcast=yes driver=rndis_host driverversion=5.15.10-051510-generic duplex=half firmware=RNDIS device ip=192.168.26.197 link=yes multicast=yes port=twisted pair
# dmesg | grep mt7921
[ 15.142556] mt7921e 0000:05:00.0: включение устройства (0000 -> 0002)
[ 15.143067] mt7921e 0000:05:00.0: отключение ASPM L1
[ 15.143127] mt7921e 0000:05:00.0: Ревизия ASIC: 79610010
[ 16.226929] mt7921e: ошибка -110 при инициализации 0000:05:00.0
# lspci -nnk
00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne Root Complex [1022:1630]
Подсистема: ASUSTeK Computer Inc. Renoir Root Complex [1043:16c2]
00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne IOMMU [1022:1631]
Подсистема: ASUSTeK Computer Inc. Renoir IOMMU [1043:16c2]
00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
00:01.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge [1022:1633]
Ядровой драйвер в использовании: pcieport
00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
00:02.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge [1022:1634]
Ядровой драйвер в использовании: pcieport
00:02.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge [1022:1634]
Ядровой драйвер в использовании: pcieport
00:02.4 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge [1022:1634]
Ядровой драйвер в использовании: pcieport
00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus [1022:1635]
Ядровой драйвер в использовании: pcieport
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 51)
Подсистема: ASUSTeK Computer Inc. FCH SMBus Controller [1043:16c2]
Ядровой драйвер в использовании: piix4_smbus
Ядровые модули: i2c_piix4, sp5100_tco
00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51)
Подсистема: ASUSTeK Computer Inc. FCH LPC Bridge [1043:16c2]
00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Устройство [1022:166a]
00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Устройство [1022:166b]
00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Устройство [1022:166c]
00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Устройство [1022:166d]
Ядровой драйвер в использовании: k10temp
Ядровые модули: k10temp
00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Устройство [1022:166e]
00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Устройство [1022:166f]
00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Устройство [1022:1670]
00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Устройство [1022:1671]
01:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Upstream Port of PCI Express Switch [1002:1478] (rev c3)
Ядровой драйвер в использовании: pcieport
02:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Downstream Port of PCI Express Switch [1002:1479]
Ядровой драйвер в использовании: pcieport
03:00.0 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT / 6800M] [1002:73df] (rev c3)
Подсистема: ASUSTeK Computer Inc. Navi 22 [Radeon RX 6700/6700 XT / 6800M] [1043:133c]
Ядровой драйвер в использовании: amdgpu
Ядровые модули: amdgpu
03:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 HDMI Audio [Radeon RX 6800/6800 XT / 6900 XT] [1002:ab28]
Подсистема: ASUSTeK Computer Inc. Устройство [1043:133c]
Ядровой драйвер в использовании: snd_hda_intel
Ядровые модули: snd_hda_intel
04:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Подсистема: ASUSTeK Computer Inc. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [1043:208f]
Ядровой драйвер в использовании: r8169
Ядровые модули: r8169
05:00.0 Network controller [0280]: MEDIATEK Corp. Устройство [14c3:7961]
Подсистема: AzureWave Device [1a3b:4680]
Ядровые модули: mt7921e
06:00.0 Non-Volatile memory controller [0108]: Intel Corporation Устройство [8086:f1aa] (rev 03)
Подсистема: Intel Corporation Устройство [8086:390f]
Ядровой драйвер в использовании: nvme
Ядровые модули: nvme
07:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [1002:1638] (rev c4)
Подсистема: ASUSTeK Computer Inc. Cezanne [1043:133c]
Ядровой драйвер в использовании: amdgpu
Ядровые модули: amdgpu
07:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller [1002:1637]
Подсистема: ASUSTeK Computer Inc. Устройство [1043:133c]
Ядровой драйвер в использовании: snd_hda_intel
Ядровые модули: snd_hda_intel
07:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor [1022:15df]
Подсистема: ASUSTeK Computer Inc. Family 17h (Models 10h-1fh) Platform Security Processor [1043:16c2]
Ядровой драйвер в использовании: ccp
Ядровые модули: ccp
07:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1 [1022:1639]
Подсистема: ASUSTeK Computer Inc. Renoir USB 3.1 [1043:201f]
Ядровой драйвер в использовании: xhci_hcd
Ядровые модули: xhci_pci
07:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1 [1022:1639]
Подсистема: ASUSTeK Computer Inc. Renoir USB 3.1 [1043:201f]
Ядровой драйвер в использовании: xhci_hcd
Ядровые модули: xhci_pci
07:00.5 Multimedia controller [0480]: Advanced Micro Devices, Inc. [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor [1022:15e2] (rev 01)
Подсистема: ASUSTeK Computer Inc. Raven/Raven2/FireFlight/Renoir Audio Processor [1043:103f]
Ядровые модули: snd_pci_acp3x, snd_rn_pci_acp3x, snd_pci_acp5x
07:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller [1022:15e3]
DeviceName: HD Audio Controller
Подсистема: ASUSTeK Computer Inc. Family 17h (Models 10h-1fh) HD Audio Controller [1043:103f]
Ядровой драйвер в использовании: snd_hda_intel
Ядровые модули: snd_hda_intel
# rfkill list
0: hci0: Bluetooth
Мягко заблокирован: нет
Жестко заблокирован: нет
# apt info linux-firmware -a | grep Version
Версия: 1.201.3
Версия: 1.201
# lsmod | grep mt7921
mt7921e 90112 0
mt76_connac_lib 49152 1 mt7921e
mt76 86016 2 mt7921e,mt76_connac_lib
mac80211 1228800 3 mt76,mt7921e,mt76_connac_lib
cfg80211 962560 4 mt76,mt7921e,mac80211,mt76_connac_lib
# modinfo mt7921e | grep -i version
srcversion: 3E83D2B2F561C5689CE69C0
vermagic: 5.15.10-051510-generic SMP mod_unload modversions
# dkms status
virtualbox, 6.1.26, 5.12.19-051219-generic, x86_64: установлен
virtualbox, 6.1.26, 5.13.0-21-generic, x86_64: установлен
virtualbox, 6.1.26, 5.13.0-22-generic, x86_64: установлен
virtualbox, 6.1.26, 5.14.21-051421-generic, x86_64: установлен
virtualbox, 6.1.26, 5.15.10-051510-generic, x86_64: установлен
В чем может быть причина этого? Я с радостью предоставлю больше деталей по первому запросу.
патч от mediatek для проблемы с перезагрузкой
Это работает для моего asus zephyrus, надеюсь, скоро станет частью основной ветки.
mt7921e ошибка при инициализации -110
Сообщение об ошибке, которое можно наблюдать в dmesg
, является ключевым здесь:
mt7921e: ошибка -110 при инициализации 0000:05:00.0
.
Очень похожая проблема была ранее сообщена для iwlwifi
.
Похоже, что двойная загрузка с Windows вызывает появление этой проблемы. Windows, вероятно, переводит сетевой адаптер в такое состояние, которое нельзя восстановить драйвером ядра Linux, и это вызывает ошибку тайм-аута.
Многие сообщили, что это можно исправить, отключив быстрый запуск в Windows, но в моем случае это не помогло.
Решение
Единственный способ, который я нашел, чтобы заставить адаптер работать, это полностью выключить Windows вместо того, чтобы использовать перезагрузку. Когда инициируется холодный запуск, адаптер может быть инициализирован корректно ядром Linux.
Если вы знаете более постоянное решение этой проблемы, пожалуйста, поделитесь своими идеями.
Временное решение:
Перезагрузите модуль mt7921e с помощью следующих команд:
sudo modprobe -r mt7921e
sudo modprobe mt7921e
.
Ответ или решение
Проблема с беспроводным адаптером MediaTek MT7921 на Ubuntu 21.10, которая проявляется в виде ошибки "probe failed with error -110", может быть связана с особенностями взаимодействия операционных систем Ubuntu и Windows в условиях двойной загрузки.
Описание проблемы
Как видно из выводов команд, после перезагрузки адаптер MediaTek MT7921 не распознается в Linux, тогда как под Windows 11 он работает корректно. Ошибка -110
в dmesg
указывает на тайм-аут оффлайн-команд и, вероятно, связана с тем, что Windows не завершает работу адаптера должным образом, оставляя его в нестабильном состоянии при перезагрузке в Linux.
Возможные причины
-
Fast Boot в Windows: Данная функция может оставить устройство в состоянии, недоступном для Linux. Даже отключив функцию быстрого запуска, иногда эта проблема сохраняется.
-
Некорректное управление питанием: Некоторые адаптеры могут не восстанавливаться после изменения состояния питания между операционными системами.
-
Версия ядра и прошивки: На версии ядра 5.15.10 в Ubuntu возможно присутствие багов, которые влияют на работу драйвера mt7921e.
Рекомендации по решению проблемы
1. Полное завершение работы Windows
Лучшим временным решением будет полностью выключать Windows, а не перезагружать. Это позволит адаптеру правильно инициализироваться при следующем старте системы.
2. Перезагрузка модуля драйвера
При использовании Linux существует возможность временно решить проблему перезагрузкой модуля драйвера адаптера. Выполните следующие команды в терминале:
sudo modprobe -r mt7921e
sudo modprobe mt7921e
Эти команды снимут и заново загрузят модуль драйвера, что может помочь в восстановлении работы адаптера.
3. Обновление ядра и прошивки
Проверьте, установлены ли все последние обновления для вашего ядра и прошивки с помощью следующей команды:
sudo apt update
sudo apt upgrade
Также рекомендуется обратиться к официальной документации Ubuntu относительно поддержки вашего адаптера и наличия обновлений драйвера.
4. Персонализированные патчи
Как указано в одном из обсуждений на уровне сообщества, возможно, существует патч для драйвера MediaTek, который исправляет проблемы с перезагрузкой. Вы можете установить патч, который работает в вашем случае, пока ожидается его включение в основную ветку ядра. Внимательно следите за обновлениями в сообществе Linux, так как решение может быть представлено в будущем.
Заключение
Сложности с адаптером MediaTek MT7921 под Ubuntu 21.10 являются распространенной проблемой, но описанные методы могут помочь в их устранении. Важно помнить, что взаимодействие между операционными системами может быть неочевидным, и иногда лучшее решение – это минимизация многозначной перезагрузки системы.
Поделитесь своим опытом с сообществом Linux, ведь вашим решением могут воспользоваться другие пользователи, сталкивающиеся с аналогичными проблемами.