我已经Xubuntu 18.04 LTS
在一台旧 PC 上安装了2 GB RAM Corsair 800 Mhz
, Intel Pentium 4 3.6
. 我之前安装了 Windows 7 Pro,但为了提高性能,我决定安装 Xubuntu。
我买了一个无线适配器棒,显然它在 Win 中完美运行,但在 Xubuntu 中却不行。如果我插入棒并输入 lsusb:
Ralink Technology, Corp. MT7601U Wireless Adapter
如果我输入 iwconfig:
enpls5 no wireless extension
lo no wireless extension
我也有一个带有 Linux 驱动程序的 minicd,但是如果我尝试安装它,我会遇到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
我得到了很多错误..
我四处搜索,发现了几种不同的解决方案,但我认为随机尝试不会产生结果。
我不想为此删除操作系统..我不是专家,但我知道 shell 语言的基础知识,我需要这台机器用于 Internet 和其他东西..
你能帮我解决这个问题吗?也许帮助我了解缺少什么?
谢谢你们
谢谢大家的支持。。
没有这个解决方案:
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.
我已经重新启动系统并插入适配器,但什么也没发生。奇怪的是,我现在正在连接一个可能超过 15 年前购买的 USRobotics 适配器。
如果我数字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 Kernel
从 Kernel.org 下载源代码,并phy.c
按照他的建议修改了源代码。
现在我不知道如何继续:
- 我必须重新包装
phy.c
里面的路径drivers/net/wireless/mediatek/mt7601u
? - 据我了解,他想重建一些内核模块,但在这个命令中:
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
什么模块代表?源代码包中没有名为modules的文件夹。
你能解释一下这几段是怎么做的吗?
非常感谢
我找到了解决方案(这不是消息中建议的解决方案,它出现在我面前十次,我回答不,其他十次......也许我高估了社区......)。
我认为这个解决方案将适用于
Debian/Ubuntu/Xubuntu/Lubuntu
(和类似的)Kernel version
高达4.4.x.y
阅读
README.md
随适配器盒提供的 minidisc 内的查找,我在这里找到了一个非官方的驱动程序根据驱动程序支持这些 USB 设备:
您可以通过插入适配器并启动来验证驱动程序是否适合您的设备
lsusb
现在,要下载并安装驱动程序,请按照下列步骤操作:
安装将以一些错误结束
incompatible-pointer-types
并incompatible argument
传递给函数。比适配器仍然无法正常工作,要解决方法,我已按照以下步骤操作:
1)
Kernel Version
通过启动检查您的uname --kernel-release
2)从Kernel Archive下载相应的内核源-> 你会看到一个无序列表
Kernel Version
-> 点击相应的版本(例如:如果你有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 的行)如下:5)查找函数
mt7601u_phy_recalibrate_after_assoc
(第 587 行)并注释掉调用mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp);
(第 589 行),如下所示:6)打开一个
terminal
并转到mt7601u
文件夹路径7)通过提示 构建模块:
8)如果适配器已插入,请将其移除并(从同一路径)键入:
9)插入装置
10)现在适配器应该可以工作了,但是如果你重新启动电脑,你必须重新加载模块。比使更改持续到下一次内核升级:备份原始模块并替换为已编译。要找出原始模块运行的位置
modinfo mt7601u
(查看字符串文件名:/lib/modules/_KERNEL_VERSION_/kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko)。10.1)如果重新启动后适配器无法识别,您必须按照以下步骤操作:
blacklist-mt7601u.conf
删除它的文件。然后输入
nano /etc/modules
并写一个带有模块名称的单行mt7601u
(不带.ko
)重新启动系统。享受。
希望有助于...解决问题并学习如何编写有用的问题解决方案..