MT7601U Wireless Adapter

Greetings
I am trying to install a Ralink wifi adapter on Parrot OS 4.4 64-bit
Kernel linux 4.18.0-parrot10-amd64 x86_64

lsusb lists the device as
Bus 001 Device 023: ID 148f:7601 Ralink Technology, Corp. MT7601U Wireless Adapter
I tried to install the driver given with the adapter but i can’t compile it

I tried even other drivers on GitHub , but in vain …


What version of Parrot are you running? (include version, edition, and architecture)

What method did you use to install Parrot? (Debian Standard / Debian GTK / parrot-experimental)

Configured to multiboot with other systems? (yes / no)

If there are any similar issues or solutions, link to them below:

If there are any error messages or relevant logs, post them below:

So the adaptor isnt working or you cant install a driver for it?

I would paste the output of your make also.

Good morning , this the make output

make -C src/ osutil
make[1]: Entering directory '/home/pierre/Desktop/MT7601u/src'
cp -f os/linux/Makefile.6.util /home/pierre/Desktop/MT7601u/src/os/linux/Makefile
make -C /lib/modules/4.18.0-parrot10-amd64/build SUBDIRS=/home/pierre/Desktop/MT7601u/src/os/linux modules
make[2]: Entering directory '/usr/src/linux-headers-4.18.0-parrot10-amd64'
  CC [M]  /home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.o
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘__RTMP_OS_Init_Timer’:
/home/pierre/Desktop/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/pierre/Desktop/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/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:125:20: error: assignment to ‘void (*)(struct timer_list *)’ from incompatible pointer type ‘TIMER_FUNCTION’ {aka ‘void (*)(long unsigned int)’} [-Werror=incompatible-pointer-types]
   pTimer->function = function;
                    ^
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOsUsDelay’:
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:182:8: warning: unused variable ‘i’ [-Wunused-variable]
  ULONG i;
        ^
In file included from /home/pierre/Desktop/MT7601u/src/include/rtmp_os.h:48,
                 from /home/pierre/Desktop/MT7601u/src/include/rtmp_comm.h:69,
                 from /home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:35:
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘duplicate_pkt’:
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:500:21: warning: passing argument 1 of ‘memmove’ makes pointer from integer without a cast [-Wint-conversion]
   NdisMoveMemory(skb->tail, pHeader802_3, HdrLen);
                  ~~~^~~~~~
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:500:3: note: in expansion of macro ‘NdisMoveMemory’
   NdisMoveMemory(skb->tail, pHeader802_3, HdrLen);
   ^~~~~~~~~~~~~~
In file included from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/bitmap.h:9,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/cpumask.h:12,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/cpumask.h:5,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/msr.h:11,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/processor.h:21,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/cpufeature.h:5,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/thread_info.h:53,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/thread_info.h:38,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/preempt.h:7,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/preempt.h:81,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/spinlock.h:51,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/seqlock.h:36,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/time.h:6,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/stat.h:19,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/module.h:10,
                 from /home/pierre/Desktop/MT7601u/src/include/os/rt_linux.h:18,
                 from /home/pierre/Desktop/MT7601u/src/include/rtmp_os.h:48,
                 from /home/pierre/Desktop/MT7601u/src/include/rtmp_comm.h:69,
                 from /home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:35:
/usr/src/linux-headers-4.18.0-parrot10-common/include/linux/string.h:348:38: note: expected ‘void *’ but argument is of type ‘sk_buff_data_t’ {aka ‘unsigned int’}
 __FORTIFY_INLINE void *memmove(void *p, const void *q, __kernel_size_t size)
                                ~~~~~~^
In file included from /home/pierre/Desktop/MT7601u/src/include/rtmp_os.h:48,
                 from /home/pierre/Desktop/MT7601u/src/include/rtmp_comm.h:69,
                 from /home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:35:
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:502:21: warning: passing argument 1 of ‘memmove’ makes pointer from integer without a cast [-Wint-conversion]
   NdisMoveMemory(skb->tail, pData, DataSize);
                  ~~~^~~~~~
/home/pierre/Desktop/MT7601u/src/include/os/rt_linux.h:500:61: note: in definition of macro ‘NdisMoveMemory’
 #define NdisMoveMemory(Destination, Source, Length) memmove(Destination, Source, Length)
                                                             ^~~~~~~~~~~
In file included from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/bitmap.h:9,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/cpumask.h:12,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/cpumask.h:5,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/msr.h:11,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/processor.h:21,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/cpufeature.h:5,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/thread_info.h:53,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/thread_info.h:38,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/preempt.h:7,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/preempt.h:81,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/spinlock.h:51,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/seqlock.h:36,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/time.h:6,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/stat.h:19,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/module.h:10,
                 from /home/pierre/Desktop/MT7601u/src/include/os/rt_linux.h:18,
                 from /home/pierre/Desktop/MT7601u/src/include/rtmp_os.h:48,
                 from /home/pierre/Desktop/MT7601u/src/include/rtmp_comm.h:69,
                 from /home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:35:
/usr/src/linux-headers-4.18.0-parrot10-common/include/linux/string.h:348:38: note: expected ‘void *’ but argument is of type ‘sk_buff_data_t’ {aka ‘unsigned int’}
 __FORTIFY_INLINE void *memmove(void *p, const void *q, __kernel_size_t size)
                                ~~~~~~^
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘duplicate_pkt_with_VLAN’:
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:565:12: warning: passing argument 5 of ‘VLAN_8023_Header_Copy’ makes pointer from integer without a cast [-Wint-conversion]
         skb->tail, FromWhichBSSID,
         ~~~^~~~~~
In file included from /home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:37:
/home/pierre/Desktop/MT7601u/src/include/rt_os_util.h:229:17: note: expected ‘PUCHAR’ {aka ‘unsigned char *’} but argument is of type ‘sk_buff_data_t’ {aka ‘unsigned int’}
  OUT PUCHAR     pData,
      ~~~~~~~~~~~^~~~~
In file included from /home/pierre/Desktop/MT7601u/src/include/rtmp_os.h:48,
                 from /home/pierre/Desktop/MT7601u/src/include/rtmp_comm.h:69,
                 from /home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:35:
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:570:21: warning: passing argument 1 of ‘memmove’ makes pointer from integer without a cast [-Wint-conversion]
   NdisMoveMemory(skb->tail, pData, DataSize);
                  ~~~^~~~~~
/home/pierre/Desktop/MT7601u/src/include/os/rt_linux.h:500:61: note: in definition of macro ‘NdisMoveMemory’
 #define NdisMoveMemory(Destination, Source, Length) memmove(Destination, Source, Length)
                                                             ^~~~~~~~~~~
In file included from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/bitmap.h:9,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/cpumask.h:12,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/cpumask.h:5,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/msr.h:11,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/processor.h:21,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/cpufeature.h:5,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/thread_info.h:53,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/thread_info.h:38,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/arch/x86/include/asm/preempt.h:7,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/preempt.h:81,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/spinlock.h:51,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/seqlock.h:36,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/time.h:6,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/stat.h:19,
                 from /usr/src/linux-headers-4.18.0-parrot10-common/include/linux/module.h:10,
                 from /home/pierre/Desktop/MT7601u/src/include/os/rt_linux.h:18,
                 from /home/pierre/Desktop/MT7601u/src/include/rtmp_os.h:48,
                 from /home/pierre/Desktop/MT7601u/src/include/rtmp_comm.h:69,
                 from /home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:35:
/usr/src/linux-headers-4.18.0-parrot10-common/include/linux/string.h:348:38: note: expected ‘void *’ but argument is of type ‘sk_buff_data_t’ {aka ‘unsigned int’}
 __FORTIFY_INLINE void *memmove(void *p, const void *q, __kernel_size_t size)
                                ~~~~~~^
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘ClonePacket’:
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:692:20: warning: assignment to ‘sk_buff_data_t’ {aka ‘unsigned int’} from ‘unsigned char *’ makes integer from pointer without a cast [-Wint-conversion]
   pClonedPkt->tail = pClonedPkt->data + pClonedPkt->len;
                    ^
In file included from /home/pierre/Desktop/MT7601u/src/include/rtmp_os.h:48,
                 from /home/pierre/Desktop/MT7601u/src/include/rtmp_comm.h:69,
                 from /home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:35:
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOsPktInit’:
/home/pierre/Desktop/MT7601u/src/include/os/rt_linux.h:943:34: warning: assignment to ‘sk_buff_data_t’ {aka ‘unsigned int’} from ‘UCHAR *’ {aka ‘unsigned char *’} makes integer from pointer without a cast [-Wint-conversion]
   ((RTPKT_TO_OSPKT(_pkt))->tail) = (PUCHAR)((_start) + (_len))
                                  ^
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:711:2: note: in expansion of macro ‘SET_OS_PKT_DATATAIL’
  SET_OS_PKT_DATATAIL(pRxPkt, pData, DataSize);
  ^~~~~~~~~~~~~~~~~~~
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘wlan_802_11_to_802_3_packet’:
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:737:15: warning: assignment to ‘sk_buff_data_t’ {aka ‘unsigned int’} from ‘unsigned char *’ makes integer from pointer without a cast [-Wint-conversion]
  pOSPkt->tail = pOSPkt->data + pOSPkt->len;
               ^
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpDrvAllRFPrint’:
/home/pierre/Desktop/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/pierre/Desktop/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/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:2164:22: warning: unused variable ‘macValue’ [-Wunused-variable]
  UINT32 macAddr = 0, macValue = 0;
                      ^~~~~~~~
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:2164:9: warning: unused variable ‘macAddr’ [-Wunused-variable]
  UINT32 macAddr = 0, macValue = 0;
         ^~~~~~~
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOSIRQRelease’:
/home/pierre/Desktop/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/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOsFreeSpinLock’:
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:4319:8: error: assignment to ‘OS_NDIS_SPIN_LOCK *’ {aka ‘struct spinlock *’} from incompatible pointer type ‘OS_NDIS_MINIPORT_TIMER *’ {aka ‘struct timer_list *’} [-Werror=incompatible-pointer-types]
  pLock = (OS_NDIS_MINIPORT_TIMER *) (pLockOrg->pContent);
        ^
In file included from /home/pierre/Desktop/MT7601u/src/include/rtmp_os.h:48,
                 from /home/pierre/Desktop/MT7601u/src/include/rtmp_comm.h:69,
                 from /home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:35:
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOsPktTailAdjust’:
/home/pierre/Desktop/MT7601u/src/include/os/rt_linux.h:943:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   ((RTPKT_TO_OSPKT(_pkt))->tail) = (PUCHAR)((_start) + (_len))
                                    ^
/home/pierre/Desktop/MT7601u/src/include/os/rt_linux.h:967:2: note: in expansion of macro ‘SET_OS_PKT_DATATAIL’
  SET_OS_PKT_DATATAIL(_pkt, GET_OS_PKT_DATATAIL(_pkt), (-_removedTagLen)); \
  ^~~~~~~~~~~~~~~~~~~
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:5209:2: note: in expansion of macro ‘OS_PKT_TAIL_ADJUST’
  OS_PKT_TAIL_ADJUST(pNetPkt, removedTagLen);
  ^~~~~~~~~~~~~~~~~~
/home/pierre/Desktop/MT7601u/src/include/os/rt_linux.h:943:34: warning: assignment to ‘sk_buff_data_t’ {aka ‘unsigned int’} from ‘UCHAR *’ {aka ‘unsigned char *’} makes integer from pointer without a cast [-Wint-conversion]
   ((RTPKT_TO_OSPKT(_pkt))->tail) = (PUCHAR)((_start) + (_len))
                                  ^
/home/pierre/Desktop/MT7601u/src/include/os/rt_linux.h:967:2: note: in expansion of macro ‘SET_OS_PKT_DATATAIL’
  SET_OS_PKT_DATATAIL(_pkt, GET_OS_PKT_DATATAIL(_pkt), (-_removedTagLen)); \
  ^~~~~~~~~~~~~~~~~~~
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c:5209:2: note: in expansion of macro ‘OS_PKT_TAIL_ADJUST’
  OS_PKT_TAIL_ADJUST(pNetPkt, removedTagLen);
  ^~~~~~~~~~~~~~~~~~
/home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpThreadPidKill’:
/home/pierre/Desktop/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/pierre/Desktop/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
make[5]: *** [/usr/src/linux-headers-4.18.0-parrot10-common/scripts/Makefile.build:323: /home/pierre/Desktop/MT7601u/src/os/linux/../../os/linux/rt_linux.o] Error 1
make[4]: *** [/usr/src/linux-headers-4.18.0-parrot10-common/Makefile:1531: _module_/home/pierre/Desktop/MT7601u/src/os/linux] Error 2
make[3]: *** [Makefile:146: sub-make] Error 2
make[2]: *** [Makefile:8: all] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-4.18.0-parrot10-amd64'
make[1]: *** [Makefile:511: osutil] Error 2
make[1]: Leaving directory '/home/pierre/Desktop/MT7601u/src'
make: *** [Makefile:2: all] Error 2

And thx :slight_smile: