Ubuntu and Embedded Linux(Raspberry Pi, Banana Pi etc.) drivers for MediaTek MT7601u Wireless Chipset. Support Access Point(AP) and Station Mode(STA). Tested on 32-64 Bit Ubuntu and Raspberry Pi 2 with all kernels since v4.0.0+. You can use this driver for internet sharing(hotspot), robotic, file transfer or ssh.
I can not compile this on Lubuntu 18.04. Anyone succeeded?
sudo make all
make -C src/ osutil
make[1]: Entering directory '/home/timo/MT7601u/src'
cp -f os/linux/Makefile.6.util /home/timo/MT7601u/src/os/linux/Makefile
make -C /lib/modules/4.15.0-34-generic/build SUBDIRS=/home/timo/MT7601u/src/os/linux modules
make[2]: Entering directory '/usr/src/linux-headers-4.15.0-34-generic'
CC [M] /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.o
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘__RTMP_OS_Init_Timer’:
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:123:3: error: implicit declaration of function ‘init_timer’; did you mean ‘init_timers’? [-Werror=implicit-function-declaration]
init_timer(pTimer);
^~~~~~
init_timers
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:124:9: error: ‘OS_NDIS_MINIPORT_TIMER {aka struct timer_list}’ has no member named ‘data’
pTimer->data = (unsigned long)data;
^~
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:125:20: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
pTimer->function = function;
^
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOsUsDelay’:
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:182:8: warning: unused variable ‘i’ [-Wunused-variable]
ULONG i;
^
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpDrvAllRFPrint’:
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:2179:32: error: passing argument 2 of ‘file_w->f_op->write’ from incompatible pointer type [-Werror=incompatible-pointer-types]
file_w->f_op->write(file_w, pBuf, BufLen, &file_w->f_pos);
^~~~
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:2179:32: note: expected ‘const char ’ but argument is of type ‘UINT32 {aka unsigned int }’
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:2164:22: warning: unused variable ‘macValue’ [-Wunused-variable]
UINT32 macAddr = 0, macValue = 0;
^~~~
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:2164:9: warning: unused variable ‘macAddr’ [-Wunused-variable]
UINT32 macAddr = 0, macValue = 0;
^~~
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOSIRQRelease’:
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:2300:21: warning: unused variable ‘net_dev’ [-Wunused-variable]
struct net_device net_dev = (struct net_device )pNetDev;
^~~
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOsFreeSpinLock’:
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:4319:8: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
pLock = (OS_NDIS_MINIPORT_TIMER ) (pLockOrg->pContent);
^
In file included from /home/timo/MT7601u/src/include/rtmp_os.h:48:0,
from /home/timo/MT7601u/src/include/rtmp_comm.h:69,
from /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:35:
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpThreadPidKill’:
/home/timo/MT7601u/src/include/os/rt_linux.h:532:37: error: implicit declaration of function ‘kill_pid’; did you mean ‘si_pid’? [-Werror=implicit-function-declaration]
I can not compile this on Lubuntu 18.04. Anyone succeeded?
sudo make all make -C src/ osutil make[1]: Entering directory '/home/timo/MT7601u/src' cp -f os/linux/Makefile.6.util /home/timo/MT7601u/src/os/linux/Makefile make -C /lib/modules/4.15.0-34-generic/build SUBDIRS=/home/timo/MT7601u/src/os/linux modules make[2]: Entering directory '/usr/src/linux-headers-4.15.0-34-generic' CC [M] /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.o /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘__RTMP_OS_Init_Timer’: /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:123:3: error: implicit declaration of function ‘init_timer’; did you mean ‘init_timers’? [-Werror=implicit-function-declaration] init_timer(pTimer); ^
~~~~~ init_timers /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:124:9: error: ‘OS_NDIS_MINIPORT_TIMER {aka struct timer_list}’ has no member named ‘data’ pTimer->data = (unsigned long)data; ^~ /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:125:20: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types] pTimer->function = function; ^ /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOsUsDelay’: /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:182:8: warning: unused variable ‘i’ [-Wunused-variable] ULONG i; ^ /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpDrvAllRFPrint’: /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:2179:32: error: passing argument 2 of ‘file_w->f_op->write’ from incompatible pointer type [-Werror=incompatible-pointer-types] file_w->f_op->write(file_w, pBuf, BufLen, &file_w->f_pos); ^~~~ /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:2179:32: note: expected ‘const char ’ but argument is of type ‘UINT32 {aka unsigned int }’ /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:2164:22: warning: unused variable ‘macValue’ [-Wunused-variable] UINT32 macAddr = 0, macValue = 0; ^~~~ /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:2164:9: warning: unused variable ‘macAddr’ [-Wunused-variable] UINT32 macAddr = 0, macValue = 0; ^~~ /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOSIRQRelease’: /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:2300:21: warning: unused variable ‘net_dev’ [-Wunused-variable] struct net_device net_dev = (struct net_device )pNetDev; ^~~ /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOsFreeSpinLock’: /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:4319:8: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types] pLock = (OS_NDIS_MINIPORT_TIMER ) (pLockOrg->pContent); ^ In file included from /home/timo/MT7601u/src/include/rtmp_os.h:48:0, from /home/timo/MT7601u/src/include/rtmp_comm.h:69, from /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:35: /home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpThreadPidKill’: /home/timo/MT7601u/src/include/os/rt_linux.h:532:37: error: implicit declaration of function ‘kill_pid’; did you mean ‘si_pid’? [-Werror=implicit-function-declaration]define KILL_THREAD_PID(_A, _B, _C) kill_pid((_A), (_B), (_C))
/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.c:5311:9: note: in expansion of macro ‘KILL_THREAD_PID’ return KILL_THREAD_PID(PID, SIGTERM, 1); ^
~~~~~~ cc1: some warnings being treated as errors scripts/Makefile.build:332: recipe for target '/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.o' failed make[3]: [/home/timo/MT7601u/src/os/linux/../../os/linux/rt_linux.o] Error 1 Makefile:1552: recipe for target 'module/home/timo/MT7601u/src/os/linux' failed make[2]: [module/home/timo/MT7601u/src/os/linux] Error 2 make[2]: Leaving directory '/usr/src/linux-headers-4.15.0-34-generic' Makefile:510: recipe for target 'osutil' failed make[1]: [osutil] Error 2 make[1]: Leaving directory '/home/timo/MT7601u/src' Makefile:2: recipe for target 'all' failed make: [all] Error 2