Compile e instale el controlador rtl8192cu

15

Puede alguien ayudarme con este problema ? Soy nuevo en Linux, por lo que no conozco comandos y nunca hice algo como instalar o compilar con la línea de comandos.

Compré un adaptador WiFi de Edimax, modelo EW-7811UN para mi PC (no portátil, así que no tengo tarjeta wifi, solo ethernet). Cuando paso por la guía en CD, me encontré con una versión del kernel. Dijo que necesito la versión 2.6, pero tengo 3.5.0-22-genérico.

Recibí errores como que no tengo un archivo o carpeta, etc. ¿Alguien puede decirme dónde puedo descargar el controlador compilado y dónde necesito colocarlo? O algún otro consejo. No quiero rebajar el kernel cuando no es necesario.

Maroš Káčko-Donnie Kario
fuente
Parece que ya no funciona; 13.04, 3.8.0-25-genérico; el controlador del núcleo permite que la conexión se abra wifis, pero la conexión se corta después de 2 minutos más o menos; Luego intenté construir el controlador Realtek con todos los parches que pude encontrar; se compila pero la conexión es tan escamosa como antes; Además, cuando desconecté el adaptador, tuve un pánico en el núcleo, ¿alguna ayuda?
Antti Haapala
@AnttiHaapala un poco tarde, pero prueba una de las versiones de git hub con los núcleos más nuevos y habilita el módulo con 8192cu en lugar de rtl8192cu o compila con el controlador desde el sitio web de realtek usando el kernel 3.2LTS
mchid
NP ahora para mí ahora, ya ni siquiera sé dónde está este dispositivo, solo lo necesitaba para mi computadora portátil después de que se cortara la antena interna (ahora arreglada)
Antti Haapala

Respuestas:

19

Si se encuentra con este problema, lo que funcionó para mí fue instalar el siguiente controlador: https://github.com/pvaret/rtl8192cu-fixes

Desde el archivo README.md :

Instalación

Asegúrese de tener los requisitos previos necesarios:

sudo apt-get install linux-headers-generic build-essential dkms

Clonar este repositorio:

git clone https://github.com/pvaret/rtl8192cu-fixes.git

Configúrelo como un módulo DKMS:

sudo dkms add ./rtl8192cu-fixes

Compílelo e instálelo (este número de versión puede cambiar, es .11 a partir del 7 de noviembre de 2019)

sudo dkms install 8192cu/1.11

Actualice la lista de módulos:

sudo depmod -a

Asegúrese de que el controlador de kernel nativo (y roto) esté en la lista negra:

sudo cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/

Y reiniciar. Ya terminaste

johnnyaug
fuente
1
Como nota, acabo de hacer esto y después de la línea: sudo dkms install 8192cu/1.8recibí un error. Ese error fue: Error! Could not find module source directory. Directory: /usr/src/8192cu-1.8 does not exist.Resulta que necesitaba cambiar el /usr/src/8192cu-1.8a /usr/src/8192cu-1.9Debe haber sido una actualización reciente del GIT y estas instrucciones están desactualizadas en ese dígito.
Eche un vistazo en el directorio / usr / src. En su lugar, puede tener 1.9 si descargó la última versión. ;)
Will Sams
Esto funciona bien para mí para TL-WN823N V1.2 bajo Ubuntu 16.04, ¡Muchas gracias!
Javier García
1
Esto funciona en Ubuntu 16.10. Sin embargo, una pregunta: lsmodme muestra que el nuevo controlador está funcionando en lugar del anterior (y mi conexión ahora es estable ...). Sin embargo, si hago clic en "información de conexión" visualmente en mi bandeja de la unidad, dice que rtl8192cu(en lugar de solo 8192cu) todavía está en uso. ¿Alguien sabe por qué ese es el caso?
Nearoo
13

12.04 y 14.04+: puede ver estas instrucciones o simplemente hacer lo que le digo.

(use estas instrucciones cuando su dispositivo USB inalámbrico [rtl8192cu] no sea reconocido automáticamente por Ubuntu)

sudo modprobe rtl8192cu
echo "2001 330D" | sudo tee /sys/bus/usb/drivers/rtl8192cu/new_id
echo "rtl8192cu" | sudo tee -a /etc/modules

Luego, edite /etc/rc.local abriendo el archivo con su editor de texto favorito como en este ejemplo:

sudo gedit /etc/rc.local

Asegúrate de que diga. . .

echo "2001 330D" | tee /sys/bus/usb/drivers/rtl8192cu/new_id

exit 0

Puede usar la conexión inalámbrica ahora o, alternativamente, puede asegurarse de tener todo su trabajo guardado antes de escribir:

sudo reboot

Su controlador inalámbrico debe iniciarse automáticamente.


Para compilar e instalar el controlador propietario Realtek 8192cu, ejecute los siguientes comandos en un terminal abierto:

sudo apt-get update && sudo apt-get install git build-essential linux-headers-generic dkms
git clone https://github.com/dz0ny/rt8192cu.git --depth 1
cd rt8192cu
sudo make dkms

Para uso de instalación dura:

make
sudo make install

en lugar de sudo make dkms.

Para habilitar este controlador, use el comando:

sudo modprobe 8192cu

Finalmente, actualice / etc / modules con este comando antes de reiniciar:

echo '8192cu' | sudo tee -a /etc/modules

Fuente # 1: bernaerts.dyndns.org

Fuente # 2: github.com/dz0ny

mchid
fuente
Esto funciona de maravilla para D-link A-131
mchid
Muchas gracias. Luché con mi Asus USBN13 durante dos días antes de encontrar tu respuesta. Funcionó cuando todo lo demás había fallado y estaba a punto de rendirme.
Swoogan
Genial, ha funcionado para TP-Link TL-WN821N en Xubuntu 12.04 en el primer pase.
Premek Brada
No puedo construir la fuente del controlador:$ sudo make install install -p -m 644 8192cu.ko /lib/modules/3.13.0-44-generic/kernel/drivers/net/wireless/ install: cannot stat ‘8192cu.ko’: No such file or directory
Andy
@Andy Primero, corre make. Entonces, corre sudo make install. Edité la respuesta. Gracias por señalar eso.
mchid
4

En términos generales, cualquier controlador de Linux en un CD de proveedor estaría desactualizado y, en la mayoría de los casos, no valdría la pena molestarse. El módulo RTL8192cu ha sido parte del kernel de Linux desde la versión 2.6.38, por lo que, idealmente, solo necesitaría enchufar el dispositivo y funcionaría. Desafortunadamente, ese módulo en particular nunca ha funcionado, y, en mi humilde opinión, una solución se ha retrasado mucho ( informe de error ).

¿Entonces, qué debería hacer? Enchufe el dispositivo. Verifique que el administrador de la red "vea" las redes inalámbricas alrededor (también puede verificar que el módulo correcto esté cargado al ejecutarse lsmod | grep 8192). Intenta conectarte a tu red. Si eso no funciona, intente conectarse a cualquier red. Si eso no funciona, el error le afecta y deberá probar el controlador desde http://www.realtek.com .

  • Descargue el controlador desde aquí y coloque el archivo descargado en su carpeta de inicio.

  • Lista negra del módulo existente. En una ventana de terminal, ejecute

    gksu gedit /etc/modprobe.d/blacklist.conf, agregue blacklist rtl8192cual final, guarde y salga, luego reinicie.

  • Extraiga el archivo descargado: haga clic con el botón derecho, Extraiga aquí o ejecute

    unzip RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip

  • Instalar en pc. En una ventana de terminal, ejecute

    sudo bash ./RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105/install.sh

mikewhatever
fuente
Muchas gracias, es mejor, pero tengo un problema ... La compilación está bien, pero después necesito editar install.sh o algo porque la nueva carpeta con el controlador compilado está "bloqueada" y tengo que hacer chmod 777 en cada carpeta y archivo para root ... por tutorial sin editar mi PC se congeló y tuve que reiniciar (después de compilar el controlador de línea bien y antes de la línea con eliminar, insertar e instalar el controlador). ¿Tienes alguna idea o puedes ayudarme con derechos de edición rápidos? O alguna tut simple. cómo hacerlo a través del terminal y no mediante install.sh :) Gracias
Maroš Káčko-Donnie Kario
No deberías chmodnada, y no recomendaría jugar con permiso. Simplemente haga lo publicado anteriormente, nada más. : ~)
mikewhatever
Hm ... pero mi PC se congeló ... Tengo que reiniciar ... No puedo hacer nada y cuando reinicio, veo la carpeta creada por el instalador con el ícono de bloqueo: / PC congelar antes del paso con eliminar, insertar e instalar ... Me muestra la línea de que se requiere autorización, pero se congela y tengo que reiniciar :( No puedo pasar por eso ...
Maroš Káčko-Donnie Kario
No estoy seguro. Correr install.shcon sudodebería darle los permisos correctos.
mikewhatever
tal vez no tenía derechos debido a la congelación de la PC ... pero no sé por qué se congeló: / ¿Es posible hacer esto manualmente? sin instalación automática ... tal vez encuentre algunos problemas durante el proceso o algo así ..
Maroš Káčko-Donnie Kario
2

Funciona bien. Solo emita primero debe cd al directorio.

p.ej.

cd RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105

sudo bash ./install.sh
Steve
fuente
El único problema que tuve al instalar con este método fue que uno de los archivos comprimidos llamados por install.sh tenía un directorio adicional cuando no estaba comprimido, por lo que el script de instalación no pudo encontrarlo. Para solucionar este problema, puede editar el script de instalación o descomprimir el archivo comprimido, copiar y pegar el directorio que se encuentra en el nivel superior donde está el directorio comprimido, eliminar el directorio comprimido y comprimir el directorio pegado con el nombre apropiado. Luego, corre sudo ./install.shy debería funcionar.
mchid
1

¿Puede proporcionar detalles de los comandos que utilizó para configurar los controladores o ser específico acerca de los errores cuando lo intentó? También descubrí que: al instalar Edimax EW7811 , para instalar los controladores secuencialmente si el manual no era lo suficientemente claro, también intente usar la barra de búsqueda, muchos también han informado errores en los controladores de Edimax.

Enlace a los controladores de Linux para Edimax EW7811UN desde su sitio web: Descargar (en caso de que tenga alguna otra versión de instalación)

Andrés
fuente
Utilizo algunos tutoriales, pero me congelé con el comando sudo make ... <p> cp: nie je možné stat () `/autoconf_rtl8192c_usb_linux.h ': </p> Esto es lo que dijo el terminal. Está en eslovaco, porque tengo la versión eslovaca de Ubuntu 12.10 :) Creo que puedes traducirlo fácilmente ..
Maroš Káčko-Donnie Kario
EDITAR: los errores están aquí: kario.wz.cz/upload/linux.txt Tengo una versión eslovaca de Ubuntu 12.10, así que los errores también están en eslovaco :))
Maroš Káčko-Donnie Kario
Pruebe make cleanantes de su primer comando, eso resuelve el problema en algún momento.
Andrew
Siempre hago limpieza antes de hacer como en el tutorial, ejecución limpia sin error, pero hago errores, pero no sé cómo "repararlos".
Maroš Káčko-Donnie Kario
@ MarošKáčko-DonnieKario, la razón por la que no funciona es porque, comenzando con el kernel 3.4, hubo algunos cambios en los encabezados del kernel y algunas de las macros utilizadas para hacer que el controlador ahora se depreciara, por lo que la construcción da como resultado los errores que recibe. Puede compilar con el kernel estándar LTS 3.2 o puede usar la versión actualizada de DKMS de github como se describe en mi respuesta.
mchid
-2

Descargué una versión más nueva del controlador y la instalé con: sudo dkms install 8192cu / 1.9

Por lo tanto, tenga en cuenta instalar con la versión de su controlador.

Bert
fuente