driver para Ralink USB RT2870 - 148f: 7601

2

Comprei o dispositivo Ralink USB Network Interface listado abaixo

$lsusb
Bus 004 Device 002: ID 148f:7601 Ralink Technology, Corp.

E eu olhei para muitos tópicos que apontam para o mesmo driver de chipset: mt7601u

Então eu fui no GitHub: link

Usou o driver personalizado, que funcionou bem por alguns dias antes de eu começar a receber falhas do kernel durante a inicialização (NÃO USE ESTE DRIVER !!)

Então eu voltei e baixei o driver do fornecedor ( link )

Mas, de qualquer forma, não consigo compilar. "$ make" apenas trava provavelmente porque eu uso o Linux versão 3.16 ... e pelo menos 3.19 é necessário.

$uname -r
3.16.0-4-amd64

Eu uso o Debian e a última versão estável é a que eu tenho atualmente e gostaria de manter assim. O que é o plano B? Eu tenho o pacote "firmware-ralink" instalado.

Não sei realmente o que fazer a seguir. Talvez eu deva comprar outra interface de rede USB? Se assim for, por favor, deixe sugestões de fácil instalação com o Debian.

Gostaria de mencionar que todo esse problema é causado pelo fato de eu ter uma interface de rede com bugs no computador (BEWARE OF REALTEK CHIPSETS !!)

$lspci -vnn | grep "Network"
04:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. 
RTL8821AE 802.11ac PCIe Wireless Network Adapter [10ec:8821]

***** EDIT *****

Obrigado pela resposta GAD3R,

Eu verifiquei que tudo está instalado corretamente. Depois, atualizei tudo.

$sudo apt-get update
$sudo apt-get upgrade

Eu adicionei as modificações no arquivo config.mk

# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y
# Support Native WpaSupplicant for Network Manger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

Ainda recebendo um erro ao compilar:

$ sudo make && make install
make -C tools
make[1]: Entering directory '/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/tools'
gcc -g bin2h.c -o bin2h
make[1]: Leaving directory '/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/tools'
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/tools/bin2h
cp -f os/linux/Makefile.6 /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/Makefile
make -C /lib/modules/3.16.0-4-amd64/build SUBDIRS=/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux modules
make[1]: Entering directory '/usr/src/linux-headers-3.16.0-4-amd64'
Makefile:10: *** mixed implicit and normal rules: deprecated syntax
make[1]: Entering directory '/usr/src/linux-headers-3.16.0-4-amd64'
  CC [M]  /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.o
In file included from /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/include/rtmp_os.h:42:0,
                 from /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/include/rt_config.h:72,
                 from /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c:28:
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c: In function ‘duplicate_pkt’:
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c:477:18: warning: passing argument 1 of ‘memmove’ makes pointer from integer without a cast
   NdisMoveMemory(skb->tail, pHeader802_3, HdrLen);
                  ^
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/include/os/rt_linux.h:450:61: note: in definition of macro ‘NdisMoveMemory’
 #define NdisMoveMemory(Destination, Source, Length) memmove(Destination, Source, Length)
                                                             ^
In file included from /usr/src/linux-headers-3.16.0-4-common/arch/x86/include/asm/string.h:4:0,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/string.h:17,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/bitmap.h:8,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/cpumask.h:11,
                 from /usr/src/linux-headers-3.16.0-4-common/arch/x86/include/asm/cpumask.h:4,
                 from /usr/src/linux-headers-3.16.0-4-common/arch/x86/include/asm/msr.h:10,
                 from /usr/src/linux-headers-3.16.0-4-common/arch/x86/include/asm/processor.h:20,
                 from /usr/src/linux-headers-3.16.0-4-common/arch/x86/include/asm/thread_info.h:23,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/thread_info.h:54,
                 from /usr/src/linux-headers-3.16.0-4-common/arch/x86/include/asm/preempt.h:6,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/preempt.h:18,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/spinlock.h:50,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/seqlock.h:35,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/time.h:5,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/stat.h:18,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/module.h:10,
                 from /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/include/os/rt_linux.h:40,
                 from /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/include/rtmp_os.h:42,
                 from /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/include/rt_config.h:72,
                 from /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c:28:
/usr/src/linux-headers-3.16.0-4-common/arch/x86/include/asm/string_64.h:58:7: note: expected ‘void *’ but argument is of type ‘sk_buff_data_t’
 void *memmove(void *dest, const void *src, size_t count);
       ^
In file included from /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/include/rtmp_os.h:42:0,
                 from /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/include/rt_config.h:72,
                 from /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c:28:
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c:479:18: warning: passing argument 1 of ‘memmove’ makes pointer from integer without a cast
   NdisMoveMemory(skb->tail, pData, DataSize);
                  ^
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/include/os/rt_linux.h:450:61: note: in definition of macro ‘NdisMoveMemory’
 #define NdisMoveMemory(Destination, Source, Length) memmove(Destination, Source, Length)
                                                             ^
In file included from /usr/src/linux-headers-3.16.0-4-common/arch/x86/include/asm/string.h:4:0,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/string.h:17,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/bitmap.h:8,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/cpumask.h:11,
                 from /usr/src/linux-headers-3.16.0-4-common/arch/x86/include/asm/cpumask.h:4,
                 from /usr/src/linux-headers-3.16.0-4-common/arch/x86/include/asm/msr.h:10,
                 from /usr/src/linux-headers-3.16.0-4-common/arch/x86/include/asm/processor.h:20,
                 from /usr/src/linux-headers-3.16.0-4-common/arch/x86/include/asm/thread_info.h:23,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/thread_info.h:54,
                 from /usr/src/linux-headers-3.16.0-4-common/arch/x86/include/asm/preempt.h:6,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/preempt.h:18,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/spinlock.h:50,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/seqlock.h:35,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/time.h:5,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/stat.h:18,
                 from /usr/src/linux-headers-3.16.0-4-common/include/linux/module.h:10,
                 from /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/include/os/rt_linux.h:40,
                 from /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/include/rtmp_os.h:42,
                 from /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/include/rt_config.h:72,
                 from /home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c:28:
/usr/src/linux-headers-3.16.0-4-common/arch/x86/include/asm/string_64.h:58:7: note: expected ‘void *’ but argument is of type ‘sk_buff_data_t’
 void *memmove(void *dest, const void *src, size_t count);
       ^
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c: In function ‘ClonePacket’:
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c:629:23: warning: assignment makes integer from pointer without a cast
      pClonedPkt->tail = pClonedPkt->data + pClonedPkt->len;
                       ^
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c: In function ‘update_os_packet_info’:
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c:651:15: warning: assignment makes integer from pointer without a cast
  pOSPkt->tail = pOSPkt->data + pOSPkt->len;
               ^
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c: In function ‘wlan_802_11_to_802_3_packet’:
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c:672:15: warning: assignment makes integer from pointer without a cast
  pOSPkt->tail = pOSPkt->data + pOSPkt->len;
               ^
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c: In function ‘send_monitor_packets’:
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c:945:9: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
         DBGPRINT(RT_DEBUG_ERROR, ("%s : Size is too large! (%d)\n", __FUNCTION__, pRxBlk->DataSize + sizeof(wlan_ng_prism2_header)));
         ^
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOSFSInfoChange’:
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c:1228:20: error: incompatible types when assigning to type ‘int’ from type ‘kuid_t’
   pOSFSInfo->fsuid = current_fsuid();
                    ^
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c:1229:20: error: incompatible types when assigning to type ‘int’ from type ‘kgid_t’
   pOSFSInfo->fsgid = current_fsgid();  
                    ^
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOSNetDevDetach’:
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c:1694:38: warning: initialization discards ‘const’ qualifier from pointer target type
  struct net_device_ops *pNetDevOps = pNetDev->netdev_ops;
                                      ^
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOSNetDevAttach’:
/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.c:1731:38: warning: initialization discards ‘const’ qualifier from pointer target type
  struct net_device_ops *pNetDevOps = pNetDev->netdev_ops;
                                      ^
/usr/src/linux-headers-3.16.0-4-common/scripts/Makefile.build:262: recipe for target '/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.o' failed
make[4]: *** [/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_linux.o] Error 1
/usr/src/linux-headers-3.16.0-4-common/Makefile:1352: recipe for target '_module_/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux' failed
make[3]: *** [_module_/home/sugar/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux] Error 2
Makefile:181: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-3.16.0-4-amd64'
Makefile:243: recipe for target 'LINUX' failed
make: *** [LINUX] Error 2
sugar@sugarraysam:~/downloads/2010_0709_RT2870_Linux_STA_v2.4.0.1$ 

Não consigo encontrar um piloto em funcionamento.

A "fonte oficial do Ralink" que eu encontro em toda a web é: link . Que é apenas anúncios ...

Encontrou um driver Ralink da MediaTek (empresa controladora) - > link . Mas ainda recebendo um erro ao compilar.

Obrigado por ajudar.

    
por sugarraysam 29.03.2016 / 23:53

2 respostas

1

Instalar dependências:

apt-get install build-essential fakeroot dpkg-dev
apt-get install linux-headers-$(uname -r)

Faça o download de driver 2010_0709_RT2870_Linux_STA_v2.4.0.1.tar.bz2 de aqui

descompacte e carregue o diretório

tar -jxvf 2010_0709_RT2870_Linux_STA_v2.4.0.1.tar.bz2
cd 2010_0709_RT2870_Linux_STA_v2.4.0.1

Editar config.mk   nano os/linux/config.mk

# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y
# Support Native WpaSupplicant for Network Manger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

compilar

make
make install
    
por 01.04.2016 / 14:51
0
O

link é útil. Especificamente, observe que o suporte ao kernel para o dispositivo parece já estar incluído no kernel, na forma do driver rt2800usb . Veja também link

Essa página menciona o firmware rt2870.bin . apt-file retorna dois hits para isso:

apt-file search rt2870.bin
firmware-misc-nonfree: /lib/firmware/rt2870.bin
firmware-ralink: /lib/firmware/rt2870.bin

firmware-ralink é para uso com jessie. firmware-misc-nonfree está apenas na instável.

    
por 30.03.2016 / 02:19