xtknight / mt7610u-linksys-ae6000-wifi-fixes

Trying to fix the MT7610U chipset driver by MediaTek so it's usable on modern Linux kernels and with nl80211/NetworkManager (and not completely breaking on old ones, maybe...)
187 stars 71 forks source link

make error #52

Open samuelVJrobinson opened 3 years ago

samuelVJrobinson commented 3 years ago

I'm unable to build the driver. I've tried the standard build:

$ sudo apt-get install build-essential linux-headers-$(uname -r)
$ make clean
$ make
$ sudo make install

However, I run into an error on line 3 make:

$ sudo make
make -C tools
make[1]: Entering directory '/home/rsamuel/mt7610u-linksys-ae6000-wifi-fixes/tools'
gcc -g bin2h.c -o bin2h
make[1]: Leaving directory '/home/rsamuel/mt7610u-linksys-ae6000-wifi-fixes/tools'
/home/rsamuel/mt7610u-linksys-ae6000-wifi-fixes/tools/bin2h
chipset = mt7610u
cp -f os/linux/Makefile.6 /home/rsamuel/mt7610u-linksys-ae6000-wifi-fixes/os/linux/Makefile
make -C /lib/modules/5.4.0-56-generic/build SUBDIRS=/home/rsamuel/mt7610u-linksys-ae6000-wifi-fixes/os/linux modules
make[1]: Entering directory '/usr/src/linux-headers-5.4.0-56-generic'
make[2]: *** No rule to make target 'arch/x86/tools/relocs_32.c', needed by 'arch/x86/tools/relocs_32.o'.  Stop.
make[1]: *** [arch/x86/Makefile:232: archscripts] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-56-generic'
make: *** [Makefile:395: LINUX] Error 2

I've also tried building the driver using dkms:

$ sudo cp -R . /usr/src/mt7610u_sta-1.0
$ sudo dkms add mt7610u_sta/1.0
$ sudo dkms build mt7610u_sta/1.0
$ sudo dkms install mt7610u_sta/1.0

This runs into an error on line 3 build:

$ sudo dkms build mt7610u_sta/1.0

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j16 KERNELRELEASE=5.4.0-56-generic -j16 && make install...(bad exit status: 2)
ERROR (dkms apport): binary package for mt7610u_sta: 1.0 not found
Error! Bad return status for module build on kernel: 5.4.0-56-generic (x86_64)
Consult /var/lib/dkms/mt7610u_sta/1.0/build/make.log for more information.

Upon looking at the make.log file, it reads:

$ cat /var/lib/dkms/mt7610u_sta/1.0/build/make.log

DKMS make.log for mt7610u_sta-1.0 for kernel 5.4.0-56-generic (x86_64)
Mon 07 Dec 2020 03:53:20 PM MST
make -C tools
make[1]: Entering directory '/var/lib/dkms/mt7610u_sta/1.0/build/tools'
gcc -g bin2h.c -o bin2h
cp -f os/linux/Makefile.6 /var/lib/dkms/mt7610u_sta/1.0/build/os/linux/Makefile
make -C /lib/modules/5.4.0-56-generic/build SUBDIRS=/var/lib/dkms/mt7610u_sta/1.0/build/os/linux modules
make[1]: Entering directory '/usr/src/linux-headers-5.4.0-56-generic'
make[1]: Leaving directory '/var/lib/dkms/mt7610u_sta/1.0/build/tools'
/var/lib/dkms/mt7610u_sta/1.0/build/tools/bin2h
chipset = mt7610u
warning: Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel
make[2]: *** No rule to make target 'arch/x86/tools/relocs_32.c', needed by 'arch/x86/tools/relocs_32.o'.  Stop.
make[1]: *** [arch/x86/Makefile:232: archscripts] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-56-generic'
make: *** [Makefile:395: LINUX] Error 2

Am I missing something here?

wurstbrot0xff commented 3 years ago

I have a simmilar issue when I try to build the driver on Rasspberry Pi 3B with Buster installed.

I tried to build as following:

$ sudo apt-get install build-essential raspberrypi-kernel-headers
$ make clean
$ make
$ sudo make install

The result is:

make -C tools
make[1]: Verzeichnis „/home/pi/git/mt7610u-linksys-ae6000-wifi-fixes/tools“ wird betreten
gcc -g bin2h.c -o bin2h
make[1]: Verzeichnis „/home/pi/git/mt7610u-linksys-ae6000-wifi-fixes/tools“ wird verlassen
/home/pi/git/mt7610u-linksys-ae6000-wifi-fixes/tools/bin2h
chipset = mt7610u
cp -f os/linux/Makefile.6 /home/pi/git/mt7610u-linksys-ae6000-wifi-fixes/os/linux/Makefile
make -C /lib/modules/5.10.17-v7+/build SUBDIRS=/home/pi/git/mt7610u-linksys-ae6000-wifi-fixes/os/linux modules
make[1]: Verzeichnis „/usr/src/linux-headers-5.10.17-v7+“ wird betreten
mkdir: das Verzeichnis „.tmp_2709“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2711“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2713“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2715“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2717“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2719“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2721“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2723“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2725“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2727“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2729“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2731“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2733“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2738“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2740“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2742“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2744“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2746“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2748“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2750“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2752“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2754“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2756“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2759“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2762“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2764“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2766“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2768“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2770“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2772“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2774“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2776“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2778“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2780“ kann nicht angelegt werden: Keine Berechtigung
mkdir: das Verzeichnis „.tmp_2782“ kann nicht angelegt werden: Keine Berechtigung
make[2]: *** Keine Regel vorhanden, um das Ziel „arch/arm/tools/syscall.tbl“,
  benötigt von „arch/arm/include/generated/uapi/asm/unistd-common.h“, zu erstellen.  Schluss.
make[1]: *** [arch/arm/Makefile:307: archheaders] Fehler 2
make[1]: Verzeichnis „/usr/src/linux-headers-5.10.17-v7+“ wird verlassen
make: *** [Makefile:395: LINUX] Fehler 2

When I make $ sudo make the result is:

make -C tools
make[1]: Verzeichnis „/home/pi/git/mt7610u-linksys-ae6000-wifi-fixes/tools“ wird betreten
gcc -g bin2h.c -o bin2h
make[1]: Verzeichnis „/home/pi/git/mt7610u-linksys-ae6000-wifi-fixes/tools“ wird verlassen
/home/pi/git/mt7610u-linksys-ae6000-wifi-fixes/tools/bin2h
chipset = mt7610u
cp -f os/linux/Makefile.6 /home/pi/git/mt7610u-linksys-ae6000-wifi-fixes/os/linux/Makefile
make -C /lib/modules/5.10.17-v7+/build SUBDIRS=/home/pi/git/mt7610u-linksys-ae6000-wifi-fixes/os/linux modules
make[1]: Verzeichnis „/usr/src/linux-headers-5.10.17-v7+“ wird betreten
make[2]: *** Keine Regel vorhanden, um das Ziel „arch/arm/tools/syscall.tbl“,
  benötigt von „arch/arm/include/generated/uapi/asm/unistd-common.h“, zu erstellen.  Schluss.
make[1]: *** [arch/arm/Makefile:307: archheaders] Fehler 2
make[1]: Verzeichnis „/usr/src/linux-headers-5.10.17-v7+“ wird verlassen
make: *** [Makefile:395: LINUX] Fehler 2
wkddudwo commented 1 year ago

If my guess is correct, unfortunately, this driver is only supported up to kernel 4. Of course it doesn't compile on kernel 5.