Вопрос или проблема
Поскольку для Wi-Fi карты MediaTek MT7902 нет Linux-драйвера, я временно использую USB адаптер (TP-Link AC600 wireless Archer T2U Nano), который хорошо работает с модулем rtl8821au
. Я бы хотел вернуть этот USB разъем, используя Wi-Fi карту MediaTek.
Чтобы заставить Wi-Fi карту MediaTek MT7902 работать, я использовал драйвер с этой страницы на GitHub, но эта карта все еще не работает.
~$ uname -a
Linux asus 6.1.0-28-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64 GNU/Linux
~$ lspci -nnkd ::280
0000:02:00.0 Network controller [0280]: MEDIATEK Corp. Device [14c3:7902]
DeviceName: WLAN
Subsystem: AzureWave Device [1a3b:5520]
~# dkms status
ndiswrapper/1.60: added
rtl8821au/5.12.5.2, 6.1.0-27-amd64, x86_64: installed
rtl8821au/5.12.5.2, 6.1.0-28-amd64, x86_64: installed
~# modinfo ndiswrapper
modinfo: ERROR: Module ndiswrapper not found.
~# ndiswrapper -l
mtkwl6ex : driver installed
device (14C3:7902) present
~$ nmcli connection
NAME UUID TYPE DEVICE
Livebox-xxxxxxxx 90bdcfd0-3bdf-4e83-bc3e-f31e5b4c18fd wifi wlxe4fac451e278
lo f909b88d-0257-4174-ad16-37295c420ebd loopback lo
Livebox-xxxxxx 1c2b204c-63e4-4b79-aa65-cbf69e038b29 wifi --
Wired connection 1 49f2d538-509d-4f64-9ee1-b568dd950ec6 ethernet --
~# en rfkill
ID TYPE DEVICE SOFT HARD
1 wlan asus-wlan unblocked unblocked
2 bluetooth asus-bluetooth unblocked unblocked
3 bluetooth hci0 unblocked unblocked
4 wlan phy1 unblocked unblocked
Что еще я могу проверить, чтобы выяснить, почему у меня нет Wi-Fi соединения для карты MT7902? Почему ndiswrapper
не найден?
~# ndiswrapper -v
modinfo: ERROR: Module ndiswrapper not found.
module version is too old!
utils version: '1.9', utils version needed by module: '0'
module details:
modinfo: ERROR: Module ndiswrapper not found.
~# dkms status
ndiswrapper/1.60: added
Статус вашего пакета DKMS для ndiswrapper
— added
, а не installed
. Это означает, что пакет, содержащий исходный код для модуля ядра ndiswrapper.ko
, был загружен в систему, но сам модуль ядра еще не был собран. В результате команда утилиты ndiswrapper
получает версию 0
, когда пытается узнать, какая версия утилиты применима к модулю… потому что модуль еще не существует.
Вы можете попытаться исправить это, запустив dkms install ndiswrapper/1.60
от имени root. Затем снова выполните dkms status
. Если все прошло успешно, строка dkms status
для ndiswrapper
теперь должна выглядеть так:
ndiswrapper/1.60, 6.1.0-28-amd64, x86_64: installed
На этом этапе у вас, наконец, должен появиться рабочий модуль ndiswrapper
, соответствующий вашему текущему ядру. Вы можете подтвердить это, запустив modinfo ndiswrapper
: теперь должен выводиться многолинейный печатный вывод информации о модуле, а не сообщение об ошибке. И ndiswrapper -v
тоже должен быть успешным.
Если dkms install ndiswrapper/1.60
завершается неудачей, он предложит вам взглянуть в файл журнала, вероятно, /var/lib/dkms/ndiswrapper/1.60/6.1.0-28-amd64/x86_64/log/make.log
. Именно туда dkms
записывает любые ошибки, возникшие в результате процесса сборки модуля.
Ответ или решение
Прежде всего, спасибо за предоставленные детали. Это позволяет более точно оценить ситуацию и предложить конкретные шаги для решения вашей проблемы с драйвером Wi-Fi для карты MediaTek MT7902 под операционной системой Linux.
Изучите совместимость с NDISWrapper
Как вы заметили, модуль ndiswrapper
не установлен. Это может быть одной из причин, почему ваша карта Wi-Fi не функционирует. NDISWrapper используется для установки драйверов Windows на Linux. Ваши сообщения об ошибках и статус DKMS указывают на то, что модуль ndiswrapper
еще не собран и не установлен.
- Установка
ndiswrapper
:- Убедитесь, что у вас установлены все необходимые инструменты сборки, такие как
gcc
,make
, и заголовочные файлы ядра. - Выполните команду
dkms install ndiswrapper/1.60
от имени суперпользователя (root
). Это должно инициировать сборку и установку модуля для вашего текущего ядра. - Повторно проверьте статус с помощью
dkms status
, чтобы убедиться, чтоndiswrapper
установлен. - Если не удается собрать модуль, проверьте файл журнала ошибок, указанный в вашем предыдущем сообщении:
/var/lib/dkms/ndiswrapper/1.60/6.1.0-28-amd64/x86_64/log/make.log
.
- Убедитесь, что у вас установлены все необходимые инструменты сборки, такие как
Проверьте драйвер MediaTek
- GitHub драйвер:
- Перейдите на страницу GitHub драйвера. Убедитесь, что вы тщательно следуете инструкциям по установке. Некоторые проекты требуют выполнения скриптов или команд для компиляции и установки драйвера.
- Обратите внимание на любые обновления или обсуждения проблем на странице Issues репозитория, которые могут дать подсказки по устранению вашей проблемы.
Проблемы с ядром
- Совместимость ядра:
- Убедитесь, что версия вашего Linux-ядра совместима с используемыми модулями и драйверами. Иногда драйверы могут не поддерживать новейшие или специфические версии ядра. Рассмотрите возможность отката до проверенной версии, если предполагаемая несовместимость имеет место.
Переключение на другую тактику
- Альтернативные подходы:
- Если попытки решения не увенчались успехом, изучите возможность использования других драйверов или модулей, которые поддерживают MediaTek MT7902. Поддержка может быть добавлена в будущем.
Использование этих шагов должно помочь вам диагностировать и решить проблемы с MediaTek MT7902. Обычно такие задачи требуют внимательного отношения к мелочам и гибкого подхода для каждого конкретного случая. Успехов в настройке вашего оборудования!