I have installed Xubuntu 18.04 LTS
on a old PC with 2 GB RAM Corsair 800 Mhz
, Intel Pentium 4 3.6
. I have Windows 7 Pro installed before but to increase performance I decided to install Xubuntu.
I bought a Wirelss Adapter stick, clearly it works perfectly in Win but not in Xubuntu. If I insert the stick and type lsusb:
Ralink Technology, Corp. MT7601U Wireless Adapter
if I type iwconfig:
enpls5 no wireless extension
lo no wireless extension
I also have a minicd with Linux driver, but if I try to install the MakeFile
I obtain several error.
I follow just one tutorial because someone else has the same problem with Ubuntu 18.04
and solve it by doing:
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
Clearly doesn't solve my issue.. rather if I digit:
dmesg | grep mt76
I obtain a lot of error..
I'm googling around and I found several different solution but I don't think that trying randomly will give results.
I don't want to remove the O.S. for this.. I'm not an expert but I know the basic of shell language and I need this machine for Internet and little else..
Can you help me to solve this? Maybe helping me understand what's missing?
Thank you all
Thank you all for your support..
No this solution:
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
doesn't work for me.. I even try to enable HWE (or maybe I have simple download it) following this:
sudo apt-get install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04
If i digit hwe-support-status --verbose
I obtain:
Your Hardware Enablement Stack (HWE) is supported until aprile 2023.
I have reboot my System and plug in the adapter but nothings happend.. The curious thing is that I'm now connecting with an USRobotics Adapter bought maybe more than 15 years ago..
If I digit dmesg | grep mt76
I obtain:
[ 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____
Now I would like to try Mohamed Safeuq J solution. I'm downloading the Linux 5.3 Kernel
Source Code from Kernel.org and I modified the phy.c
source code as he suggested.
Now I don't know how to go on:
- I have to repack the
phy.c
inside the pathdrivers/net/wireless/mediatek/mt7601u
? - As I understand he want to rebuild some kernel module but in this command:
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
what modules stand for?? There isn't a folder named modules inside the source code package.
Can you explain me how do this few passages??
Thanks a lot
Best Answer
I've found the solution (and it is not the one suggested by the message that appeared to me ten times to which I replied no, other ten times.. maybe I have overrated the community..).
I think this solution will work with
Debian/Ubuntu/Xubuntu/Lubuntu
(and similar) withKernel version
up to4.4.x.y
Reading the
README.md
find inside the minidisc provided with the Adapter box I find out an unofficial driver hereAccording to the driver these USB devices are supported:
You can verify if driver it's suitable for your device by plugging in the adapter and launching
lsusb
Now, to download and install the driver, follow these steps:
Install will end with some error
incompatible-pointer-types
andincompatible argument
passed to a function.Than the Adapter still not works, to workaround I have follow these steps:
1) Check your
Kernel Version
by launchinguname --kernel-release
2) Download corresponding kernel source from Kernel Archive -> you will see a unordered list of
Kernel Version
-> click on corresponding version (Example: if you have5.0.0-23-generic
clickv5.x/
) -> from the next page search for the filelinux-5.0.tar.xz
-> download it3) From archive unpack just folder
drivers/net/wireless/mediatek/mt7601u
4) Find and Edit file
phy.c
. Find functionmt7601u_init_cal
(row 1116) and comment out callmt7601u_mcu_calibrate(dev, MCU_CAL_RXIQ, 0);
(line from 1156 to 1161) as follows:5) Find function
mt7601u_phy_recalibrate_after_assoc
(row 587) and comment out callmt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp);
(row 589) as follows:6) Open a
terminal
and go tomt7601u
folder path7) Build module by tiping:
8) If the Adapter is plugged in remove it and (from the same path) type:
9) Insert device
10) Now Adapter should works but If you restart the pc you have to reload module again. Than to make change persistent till next kernel upgrade: backup original module and replace with compiled. To find out where is original module run
modinfo mt7601u
(view string filename: /lib/modules/_KERNEL_VERSION_/kernel/drivers/net/wireless/mediatek/mt7601u/mt7601u.ko).10.1) If after reboot the Adapter is not recognized you have to follow these steps:
blacklist-mt7601u.conf
remove it.Then type
nano /etc/modules
and write a single line with module namemt7601u
(without.ko
)reboot the system. Enjoy.
Hope helps... to solve the problem and to learn how to write a usefull problem solution..