Compilar e instalar o driver rtl8192cu

15

Alguém pode me ajudar com este problema ? Eu sou novo no Linux, então não conheço comandos e nunca fiz algo como instalar ou compilar com a linha de comando.

Comprei o adaptador WiFi da Edimax, modelo EW-7811UN para o meu PC (não laptop, por isso não tenho placa wifi, apenas ethernet). Quando eu leio o guia em CD, me deparei com uma versão do kernel. Ele disse que eu precisava da versão 2.6, mas tenho 3.5.0-22-genérico.

Tenho erros como não tenho arquivo ou pasta, etc. Alguém pode me dizer onde posso baixar o driver compilado e onde preciso colocá-lo? Ou algum outro conselho. Não quero fazer o downgrade do kernel quando não for necessário.

Maroš Káčko-Donnie Kario
fonte
Parece não funcionar mais; 13.04, 3.8.0-25-genérico; o driver do kernel permite que a conexão abra o wifis, mas a conexão é cortada após 2 minutos ou mais; tentei criar o driver Realtek com todos os patches que encontrei; compila, mas a conexão é tão esquisita quanto antes; além disso, quando desconectei o adaptador, tive um pânico no kernel, ajuda?
Antti Haapala 04/07/2013
@AnttiHaapala um pouco tarde, mas tente uma das versões do cubo git com os kernels mais recentes e permitir o módulo com 8192cu vez de rtl8192cu ou construir com o driver a partir do site Realtek usando 3.2LTS do kernel
mchid
NP agora para mim agora, eu não sei mesmo onde este dispositivo é mais, eu só precisava para o meu laptop após a antena interna foi cortada (agora fixo)
Antti Haapala

Respostas:

19

Se você encontrar esse problema, o que funcionou para mim foi instalar o seguinte driver: https://github.com/pvaret/rtl8192cu-fixes

No arquivo README.md :

Instalação

Verifique se você possui os pré-requisitos necessários:

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

Clone este repositório:

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

Configure-o como um módulo DKMS:

sudo dkms add ./rtl8192cu-fixes

Compile e instale-o (este número de versão pode mudar, é 0,11 a partir de 07 de novembro de 2019)

sudo dkms install 8192cu/1.11

Atualize a lista de módulos:

sudo depmod -a

Verifique se o driver do kernel nativo (e quebrado) está na lista negra:

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

E reinicie. Você Terminou.

johnnyaug
fonte
11
Como uma nota, eu fiz isso e depois da linha: sudo dkms install 8192cu/1.8recebi um erro. Esse erro foi: Error! Could not find module source directory. Directory: /usr/src/8192cu-1.8 does not exist.Acontece que eu precisava alterar /usr/src/8192cu-1.8para /usr/src/8192cu-1.9Deve ter sido uma atualização recente para o GIT e essas instruções estão desatualizadas por esse dígito.
Dê uma olhada no diretório / usr / src. Você pode ter 1.9 em vez disso, se você baixou a versão mais recente. ;)
Will Sams 23/07
Isso funciona bem para mim no TL-WN823N V1.2 no Ubuntu 16.04, Muito obrigado!
Javier Garcia
11
Isso funciona no Ubuntu 16.10. No entanto, uma pergunta: lsmodmostra-me que o novo driver está funcionando em vez do antigo (e minha conexão agora está estável ...). No entanto, se eu clicar em "informações de conexão" visualmente na minha bandeja de unidade, ele diz que rtl8192cu(em vez de apenas 8192cu) ainda está em uso. Alguém sabe por que esse é o caso?
Nearoo 27/10
13

12.04 e 14.04+: você pode vê- los instruções ou apenas fazer o que eu digo.

(siga estas instruções quando o seu dispositivo USB sem fio [rtl8192cu] não for reconhecido automaticamente pelo Ubuntu)

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

Em seguida, edite o /etc/rc.local abrindo o arquivo com o seu editor de texto favorito, como neste exemplo:

sudo gedit /etc/rc.local

certifique-se de que diz. . .

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

exit 0

Você pode usar a rede sem fio agora ou, alternativamente, garantir que todo o seu trabalho seja salvo antes de digitar:

sudo reboot

O seu driver sem fio deve iniciar automaticamente.


Para compilar e instalar o driver proprietário Realtek 8192cu, execute os seguintes comandos em um terminal aberto:

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 instalação difícil, use:

make
sudo make install

em vez de sudo make dkms.

Para habilitar esse driver, use o comando:

sudo modprobe 8192cu

Por fim, atualize / etc / modules com este comando antes de reiniciar:

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

Fonte # 1: bernaerts.dyndns.org

Fonte # 2: github.com/dz0ny

mchid
fonte
Isso funciona impressionante para D-link A-131
mchid
Muito obrigado. Eu lutei com o meu Asus USBN13 por dois dias antes de encontrar sua resposta. Funcionou quando tudo falhou e eu estava prestes a desistir.
Swoogan
Ótimo, já trabalhou para o TP-Link TL-WN821N no Xubuntu 12.04 na primeira passagem.
Premek Brada
Não consigo criar a fonte do driver:$ 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 Primeiro, corra make. Então corra sudo make install. Eu editei a resposta. Obrigado por apontar isso.
mchid 24/02
4

De um modo geral, qualquer driver Linux em um CD de fornecedor estaria desatualizado e, na maioria dos casos, não valeria a pena se preocupar. O módulo RTL8192cu faz parte do kernel do Linux desde a versão 2.6.38, para que, idealmente, você só precise conectar o dispositivo e ele funcione. Infelizmente, esse módulo em particular nunca funcionou e, IMHO, uma correção está muito atrasada ( relatório de bug ).

Então o que você deveria fazer? Conecte o dispositivo. Verifique se o gerente de rede 'vê' as redes sem fio ao redor (também pode verificar se o módulo correto está carregado em execução lsmod | grep 8192). Tente se conectar à sua rede. Se isso não funcionar, tente conectar-se a qualquer rede. Se isso não funcionar, você será afetado pelo bug e precisará tentar o driver em http://www.realtek.com .

  • Baixe o driver aqui e coloque o arquivo baixado na sua pasta pessoal.

  • Coloque o módulo existente na lista negra. Em uma janela do terminal, execute

    gksu gedit /etc/modprobe.d/blacklist.conf, adicione blacklist rtl8192cuna parte inferior, salve e saia e, em seguida, reinicie.

  • Extraia o arquivo baixado: clique com o botão direito do mouse, Extraia aqui ou execute

    unzip RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip

  • Instalar. Em uma janela do terminal, execute

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

mikewhatever
fonte
Muito obrigado, é melhor, mas eu tenho problema ... A compilação está ok, mas depois dela preciso editar o install.sh ou algo assim porque a nova pasta com o driver compilado está "bloqueada" e eu tenho que fazer o chmod 777 em todas as pastas e arquivo para root ... pelo tutorial sem editar meu PC congelado e tive que reiniciar (após a linha de compilação do driver ok e antes da linha com remover, inserir e instalar o driver). Você tem alguma idéia ou pode me ajudar com direitos de edição rápida? Ou algum simples tutorial. como fazê-lo através do terminal e não pelo install.sh :) Obrigado
Maroš Káčko-Donnie Kario
Você não deveria chmodnada, e eu não recomendaria jogar com permissão. Basta fazer o que foi postado acima, nada mais. : ~)
mikewhatever 23/01
Hum .. mas meu PC congelou ... Tenho que reiniciar .. Não consigo fazer nada e quando reinicio, vejo a pasta criada pelo instalador com o ícone de cadeado: / PC congela antes de remover, inserir e instalar .. ele me mostre linha é necessário que a autorização, mas congela e eu tenho que reiniciar :( Eu não posso passar por isso ...
Maroš Káčko-Donnie Kario
Não tenho certeza. A execução install.shcom sudodeve fornecer as permissões corretas.
precisa saber é o seguinte
talvez eu não tenha direitos devido ao congelamento do PC ... mas não sei por que congelou: / É possível fazer isso manualmente? sem instalação automática ... talvez eu vou encontrar alguns problemas durante o processo ou algo parecido ..
Maroš Káčko-Donnie Kario
2

Isso funciona bem. Emita apenas que você deve cd para o diretório primeiro.

por exemplo.

cd RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105

sudo bash ./install.sh
Steve
fonte
O único problema que tive ao instalar com esse método foi que um dos arquivos compactados chamados por install.sh tinha um diretório extra quando descompactado, para que o script de instalação não o encontrasse. Para corrigir esse problema, você pode editar o script de instalação ou descompactar o arquivo morto, copiar e colar o diretório encontrado no nível superior onde está o diretório compactado, excluir o diretório compactado e compactar o diretório colado usando o nome apropriado. Em seguida, execute sudo ./install.she deve funcionar.
Mchid 24/02
1

Você pode fornecer detalhes de quais comandos você usou para configurar os drivers ou ser específico sobre os erros quando tentou? Também descobri: instalando o Edimax EW7811 , para instalar os drivers sequencialmente, se o manual não estiver claro o suficiente, tente também usar a barra de pesquisa também; muitos também relataram erros nos drivers do Edimax.

Link para os drivers linux para Edimax EW7811UN no site deles: Download (no caso de você ter algum outro instalador de versão)

Andrew
fonte
Eu uso alguns tutoriais, mas congelei com o comando sudo make ... <p> cp: nie je možné stat () `/autoconf_rtl8192c_usb_linux.h ': </p> Isto é o que o terminal disse. Está no eslovaco, porque eu tenho a versão eslovaca do Ubuntu 12.10 :) Eu acho que você pode traduzi-lo facilmente ..
Maroš Káčko-Donnie Kario
EDIT: erros estão aqui: kario.wz.cz/upload/linux.txt Eu tenho a versão eslovaca do Ubuntu 12.10, então os erros também estão no eslovaco :))
Maroš Káčko-Donnie Kario
Tente make cleanantes do seu primeiro comando, que resolve o problema há algum tempo.
23713 Andrew
Eu sempre fazem limpa antes de fazer como no tutorial, corrida limpa, sem erro, mas fazer ver os erros, mas eu não sei como a "reparação" eles ..
Maroš Káčko-Donnie Kario
@ MarošKáčko-DonnieKario O motivo pelo qual não funciona é que, começando no kernel 3.4, houve algumas alterações nos cabeçalhos do kernel e algumas das macros usadas para criar o driver que agora está depreciado e, portanto, a compilação resulta nos erros que você recebe. Você pode construir com o kernel LTS padrão 3.2 ou pode usar a versão atualizada do DKMS do github, conforme descrito na minha resposta.
Mchid 9/08/2014
-2

Eu baixei uma versão mais recente do driver e a instalei com: sudo dkms install 8192cu / 1.9

Portanto, lembre-se de instalar usando a versão do driver.

Bert
fonte