Я установил Xubuntu 18.04 LTS
на старый компьютер с 2 ГБ оперативной памяти Corsair 800 Mhz
, Intel Pentium 4 3.6
.У меня раньше была установлена Windows 7 Pro, но для повышения производительности я решил установить Xubuntu.
Я купил адаптер Wirelss, он явно отлично работает в Win, но не в Xubuntu. Если я вставлю флешку и наберу lsusb:
Ralink Technology, Corp. MT7601U Wireless Adapter
, если я наберу iwconfig:
enpls5 no wireless extension
lo no wireless extension
, у меня также есть minicd с драйвером Linux, но если я попытаюсь установить MakeFile
, я получу несколько ошибок.
Я следую только одному руководству, потому что у кого-то такая же проблема с Ubuntu 18.04
, и я решаю ее, выполнив:
sudo wget http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/mt7601u.bin -O /lib/firmware/mt7601u.bin
cd /usr/lib/firmware/
sudo modprobe mt7601u
Ясно не решает мою проблему ... скорее, если я наберу цифру:
dmesg | grep mt76
Я получаю много ошибок ..
Я поискал в гугле и нашел несколько разных решений, но не думаю, что случайные попытки дадут результаты.
Я не хочу удалять O.S. для этого .. Я не эксперт, но я знаю основы языка оболочки, и мне нужна эта машина для Интернета и еще кое-что ..
Вы можете помочь мне решить эту проблему? Может помочь мне понять, чего не хватает?
Всем спасибо
Всем спасибо за вашу поддержку ..
Нет, это решение:
sudo apt install git build-essential dkms
git clone https://github.com/jeremyb31/mt7601u.git
sudo dkms add ./mt7601u
sudo dkms install mt7601u/1.0
у меня не работает .. Я даже пытаюсь включить HWE (или может быть, мне просто загрузить его) после этого:
sudo apt-get install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04
Если я набираю hwe-support-status --verbose
, я получаю:
Your Hardware Enablement Stack (HWE) is supported until aprile 2023.
Я перезагрузил свою систему и подключил адаптер, но ничего не случилось. Любопытно то, что сейчас я подключаюсь к адаптеру USRobotics, купленному более 15 лет назад ..
Если я наберу dmesg | grep mt76
Я получаю:
[ 78.016085] mt7601u: loading out-of-tree module taints kernel.
[ 78.016221] mt7601u: module verification failed: signature and/or required key missing - tainting kernel
[ 78.303014] mt7601u 1-6:1.0: ASIC revision: 76010001 MAC revision: 76010500
[ 78.317864] mt7601u 1-6:1.0: Firmware Version: 0.1.00 Build: 7640 Build time: 201302052146____
[ 78.714893] mt7601u 1-6:1.0: EEPROM ver:0d fae:00
[ 78.893969] mt7601u 1-6:1.0: Error: RX urb failed:-71
[ 78.894000] mt7601u 1-6:1.0: Error: submit URB dir:128 ep:1 failed:-19
[ 78.921329] usbcore: registered new interface driver mt7601u
[ 79.667140] mt7601u 1-6:1.0: ASIC revision: 76010001 MAC revision: 76010500
[ 79.669464] mt7601u 1-6:1.0: Firmware Version: 0.1.00 Build: 7640 Build time: 201302052146____
Теперь я хотел бы попробовать решение Mohamed Safeuq J . Я загружаю исходный код ядра Linux 5.3
из ядра.org, и я изменил исходный код phy.c
, как он предложил.
Теперь я не знаю, как продолжить:
phy.c
внутри пути drivers / net / wireless / mediatek / mt7601u
? make -C / lib / modules / $ (uname -r) / build M = $ (pwd) modules
what модули обозначают ?? Внутри пакета с исходным кодом нет папки с именем modules . Вы можете объяснить мне, как сочетаются эти несколько отрывков ??
Большое спасибо
Я нашел решение (и это не то, что было предложено в сообщении, которое появилось у меня десять раз, на которое я ответил нет, другое десять раз.. может быть, я переоценил сообщество..).
Я думаю, что это решение будет работать с Debian/Ubuntu/Xubuntu/Lubuntu
(и подобными) с версией ядра
до 4.4.xy
Чтение README.md
найдите на мини-диске, прилагаемом к коробке с адаптером. Я нашел неофициальный драйвер здесь
Согласно драйверу поддерживаются следующие USB-устройства:
2955:1003
2955:1001
2955:0001
2A5F:1000
148F:760B
148F:7601
148F:6370
148F:7650
Вы можете проверить, подходит ли драйвер для вашего устройства, подключив адаптер и запустив lsusb
Теперь, чтобы загрузить и установить драйвер, выполните следующие действия:
sudo add-apt-repository ppa:thopiekar/mt7601
sudo apt-get update
sudo apt-get install mt7601-sta-dkms
Установка завершится ошибкой несовместимые типы указателей
и несовместимый аргумент
, переданный функции.
Если адаптер по-прежнему не работает, для обходного пути выполните следующие действия:
1) Проверьте версию ядра
, запустив uname --kernel-release
2) Загрузите соответствующий исходный код ядра из Архива ядра -> вы увидите неупорядоченный список Версия ядра
-> щелкните соответствующую версию (Пример: если у вас 5.0.0-23-generic
нажмите v5.x/
) -> на следующей странице найдите файл linux-5.0.tar.xz
-> загрузите его
3) Из архива распаковать только папку drivers/net/wireless/mediatek/mt7601u
4) Найти и отредактировать файл phy.c
.Найдите функцию mt7601u_init_cal
(строка 1116) и закомментируйте вызов mt7601u_mcu_calibrate(dev, MCU_CAL_RXIQ, 0);
(строка с 1156 по 1161) следующим образом:
// ret = mt7601u_mcu_calibrate(dev, MCU_CAL_RXIQ, 0);
// if (ret)
// return ret;
// ret = mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->dpd_temp);
// if (ret)
// return ret;
5) Найдите функцию mt7601u_phy_recaulibate_after_assoc
(строка 587) и закомментируйте вызов mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp);
(строка 589) следующим образом:
void mt7601u_phy_recalibrate_after_assoc(struct mt7601u_dev *dev)
{
// mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp);
mt7601u_rxdc_cal(dev);
}
6) Откройте терминал
и перейдите в mt7601u
путь к папке
7) Создайте модуль, введя:
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
8) Если адаптер подключен в удалите его и (по тому же пути) введите:
sudo su
rmmod mt7601u (can output "module not loaded". if yes, ignore it and continue)
insmod ./mt7601u.ko
9) Вставьте устройство
10) Теперь адаптер должен работать, но если вы перезагрузите компьютер, вам придется снова перезагрузить модуль. Чем сделать изменения постоянными до следующего обновления ядра: сделайте резервную копию исходного модуля и замените его скомпилированным. Чтобы узнать, где находится исходный модуль, запустите modinfo mt7601u
(просмотр строки имени файла: /lib/modules/_KERNEL_VERSION_/kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko) .
10.1) Если после перезагрузки адаптер не распознается, выполните следующие действия:
cd /etc/modprobe.d
ls
blacklist-mt7601u.conf
, удалите его. Затем введите nano /etc/modules
и напишите одну строку с именем модуля mt7601u
(без .ko
)
перезагрузите систему. Наслаждаться.
Надежда помогает... решить проблему и научиться писать полезное решение проблемы..