
Hola compañeros ubuntuanos ;)
Compré este adaptador wifi Ralink barato pensando que funcionaría como por arte de magia, como estoy acostumbrado con Ubuntu. ;) Sin embargo, la instalación de este controlador me ha causado muchos más problemas de los que esperaba. He rebuscado entre los tableros durante varias horas intentándolo todo. Bueno... supe desde el principio que este sería el enfoque correcto (me refiero a la respuesta):
Instalación del adaptador Wi-Fi Ralink MT7601U (148f:7601)
Pero incluso con el parche aplicado me sale lo siguiente:
ahti@ahti:~/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913$ make
make -C tools
make[1]: Siirrytään hakemistoon "/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/tools"
gcc -g bin2h.c -o bin2h
make[1]: Poistutaan hakemistosta "/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/tools"
/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/tools/bin2h
cp -f os/linux/Makefile.6 /home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/Makefile
make -C /lib/modules/3.2.0-70-generic/build SUBDIRS=/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux modules
make[1]: Siirrytään hakemistoon "/usr/src/linux-headers-3.2.0-70-generic"
CC [M] /home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_profile.o
In file included from /home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/include/rtmp_os.h:44:0,
from /home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/include/rtmp_comm.h:75,
from /home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/include/rt_config.h:33,
from /home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_profile.c:28:
/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/include/os/rt_linux.h:282:2: virhe: unknown type name ”kuid_t”
/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/include/os/rt_linux.h:283:2: virhe: unknown type name ”kgid_t”
/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_profile.c: Funktio ”announce_802_3_packet”:
/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_profile.c:331:16: varoitus: käyttämätön muuttuja ”pAd” [-Wunused-variable]
/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_profile.c: Funktio ”STA_MonPktSend”:
/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_profile.c:399:9: varoitus: format ”%d” expects argument of type ”int”, but argument 3 has type ”long unsigned int” [-Wformat]
make[2]: *** [/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/../../os/linux/rt_profile.o] Virhe 1
make[1]: *** [_module_/home/ahti/data/drivers/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux] Virhe 2
make[1]: Poistutaan hakemistosta "/usr/src/linux-headers-3.2.0-70-generic"
make: *** [LINUX] Virhe 2
Perdón por que la salida de mi consola esté en finlandés (¿Cómo cambio esa maldita salida de la consola en inglés de todos modos, por cierto? Para apt y herramientas de compilación principalmente, si no es posible, usar la configuración regional en inglés para todo en la sesión de terminal? ¿No es posible?)
Pero sí, básicamente ahí es donde me encuentro en este momento.
También intenté usarenfoque de envoltura ndis, pero unshield no pudo extraer el ejecutable del controlador de Windows y no pude encontrar el combo .sys/.inf en ninguna parte, por lo que descarté esa idea.
Cualquier ayuda se agradece. Sé que se trata de un problema de espacio de nombres de usuario, pero no he codificado el kernel; sin embargo, soy codificador, por lo que no puedo resolverlo por mi cuenta.
Ah, y un poquito de información de mi sistema si es necesario: Ubuntu 12.04 (preciso), Kernel: 3.2.0-70-generic (#105-Ubuntu SMP miércoles 24 de septiembre a las 19:49:16 UTC de 2014), versión GCC: 4.6 (x86_64 -linux-gnu), Gnome 3.4.2
¡Muchas gracias de antemano!
Respuesta1
Respondiéndome a mí mismo.
Estaba demasiado ansioso por aplicar el parche. Sin el parche aplicado, el controlador se compiló. Sin embargo, parece que se asigna incorrectamente o simplemente no funciona con mi adaptador USB 148f:760b (<- observe la b en lugar de 1). Incluso modifiqué la lista de dispositivos para agregar un nuevo alias, pero incluso después de cargar el controlador o muchas otras cosas relacionadas con él, el adaptador simplemente no fue reconocido.
Pero cuando instalé el controlador en Windows 7 (no parecía funcionar en Windows XP) y después del proceso de instalación copié la carpeta del controlador ubicada en C:/ProgramData/Mediatek Driver/RT2870 Wireless LAN Card/Driver/ a Ubuntu y Lo cargué con el envoltorio ndis y con el paquete ndiswrapper-dkms, el adaptador funcionó de inmediato. En realidad, en el lado de Windows no reconoció mi WLAN en absoluto por alguna razón, pero en Ubuntu fue solo un clic e inmediatamente estuve en línea de forma inalámbrica.
Entonces, comportamiento extraño aquí y allá, pero finalmente funciona.
Respuesta2
Probablemente ya no estés usando Ubuntu 12.04, pero en cualquier caso, aquí tienes la solución al error de compilación que tuviste cuando se aplicaron los parches:
Los parches solo funcionan de fábrica con el kernel de Linux >=3.5. Para que funcione con el kernel 12.04 de Ubuntu3.2hay que hacer una pequeña corrección:
En include/os/rt_linux.h
, busca el siguiente bloque. En mi versión comienza en la línea 280, pero la tuya puede ser ligeramente diferente dependiendo de dónde obtuviste tus fuentes:
typedef struct _OS_FS_INFO_
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)
uid_t fsuid;
gid_t fsgid;
#else
kuid_t fsuid;
kgid_t fsgid;
#endif
mm_segment_t fs;
} OS_FS_INFO;
Obtenga esta línea (282 en mi caso):
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)
Y cambiarlo a
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)
Intente compilar ahora y debería funcionar :)