Mt7610u wifi driver - insmod gives an error


Im trying to get my wifi dongle to work. It unfortunately has the same chipset than my previous wifi dongle, and does not have updated driver.

I have found a GitHub user who has fixed the old driver and kept it updated for a while I believe, and cloned his project.

Unfortunately insmod gives an error:

insmod: ERROR: could not insert module mt7610u.ko: Unknown symbol in module

I tried also with modprobe (I do not know if they are totally the same) which complained about not having the file in certain folder, where I then copied the driver file and tried again. It is successful, but unfortunately my system freezes and I need to reset from button. I also need to remove the dongle in order to use the system without another freezing.

Would it do the same with insmod?

Even if it would, I am curious: is there a simple solution for the error?


How to remove the driver completely so that it doesnt make my system to freeze again?

I tried sudo modprobe -r with that driver, and deleted the driver file from the kernel drivers folder etc. and restarted and put the dongle back in, but it froze again. I dont know why, I had to reinstall. I would love to continue my tests and go through the code etc. but I wouldnt like to reinstall every time I try and it freezes my system.

Then maybe if you've got enough RAM you can try and hack it in a VM?

Edit: btw are those the instructions you followed?

Yeah, actually vm could be a good idea. Maybe theres a Linux version of VMware workstation pro, because I have a student license and it seems to work better with Linux guests than VirtualBox.

I have read many instructions… but the latest is from GitHub, user called ulli-kroll has been doing the latest hacks to that driver so I followed his instructions this time.

Im just curious, why with modprobe it loads and with insmod gives that symbol error?

Btw, heres a quote from that ulli-kroll, part of what he answered me through email… I post it to ask if someone here would know how to do what ulli-kroll said that its needed to be done, and that would it be too difficult to do something like that to the driver… or troubleshoot the old one why it causes kernel panic and maybe to fix it… as it worked in kernel 4.4 at least:

"First of all wireless-ext/cfg80211 is an old API inside the kernel. The
big problem here every wifi-driver needs almost the same code. And if you
are good in math you can easily imagine this will expand the kernel image
without any value. The other problem here are errors, every driver has his
own set of errors.

mac80211 is a new layer between the wifi driver and the network stack in
the kernel. And new wifi driver in upstream must work with this. Upstream
in kernel context means you get your driver from, but only for
newer kernels. For older there is some backport project around.
So this is why upstream is the right way ™."

Im curious to hear at least, if this is a big work, or troubleshooting and fixing that kernel panic at least in 4.8.41 or what was this what I have… is it very difficult, or not… and if someone would have interest to help in it.