Kompilasi dan instal driver rtl8192cu


15

Adakah yang bisa membantu saya dengan masalah ini? Saya baru mengenal Linux, jadi saya tidak tahu perintah dan saya tidak pernah melakukan sesuatu seperti menginstal atau mengkompilasi dengan command-line.

Saya membeli adaptor WiFi dari Edimax, model EW-7811UN untuk PC saya (bukan laptop, jadi saya tidak punya kartu wifi, hanya ethernet). Ketika saya membaca panduan pada CD, saya menemukan versi kernel. Dikatakan saya perlu versi 2.6, tetapi saya memiliki 3.5.0-22-generik.

Saya mendapat kesalahan seperti saya tidak punya file atau folder dll. Dapatkah seseorang memberi tahu saya di mana saya dapat mengunduh driver yang telah dikompilasi dan di mana saya harus meletakkannya? Atau saran lain. Saya tidak ingin downgrade kernel saat itu tidak perlu.


Tampaknya tidak berfungsi lagi; 13.04, 3.8.0-25-generik; driver kernel memungkinkan koneksi untuk membuka wifis, tetapi koneksi terputus setelah sekitar 2 menit; kemudian saya mencoba membangun driver Realtek dengan semua tambalan yang dapat saya temukan; kompilasi tetapi koneksi serpih seperti sebelumnya; selanjutnya ketika saya mencabut adaptor, saya panik kernel, ada yang membantu?
Antti Haapala

@AnttiHaapala sedikit terlambat tetapi coba salah satu versi hub git dengan kernel yang lebih baru dan aktifkan modul dengan 8192cu, bukan rtl8192cu atau buat dengan driver dari situs web realtek menggunakan kernel 3.2LTS
mchid

NP sekarang untuk saya sekarang, saya bahkan tidak tahu di mana perangkat ini lagi, saya hanya membutuhkannya untuk laptop saya setelah antena internal terputus (sekarang diperbaiki)
Antti Haapala

Jawaban:


19

Jika Anda mengalami masalah ini, apa yang berhasil bagi saya adalah menginstal driver berikut: https://github.com/pvaret/rtl8192cu-fixes

Dari file README.md :

Instalasi

Pastikan Anda memiliki prasyarat yang diperlukan:

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

Kloning repositori ini:

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

Atur sebagai modul DKMS:

sudo dkms add ./rtl8192cu-fixes

Bangun dan pasang (nomor versi ini dapat berubah, yaitu .11 pada 07 November 2019)

sudo dkms install 8192cu/1.11

Refresh daftar modul:

sudo depmod -a

Pastikan driver kernel asli (dan rusak) dimasukkan dalam daftar hitam:

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

Dan reboot. Kamu sudah selesai.


1
Sebagai catatan saya baru saja melakukan ini dan setelah baris: sudo dkms install 8192cu/1.8Saya mendapat kesalahan. Kesalahan itu adalah: Error! Could not find module source directory. Directory: /usr/src/8192cu-1.8 does not exist.Ternyata saya perlu mengubah /usr/src/8192cu-1.8ke /usr/src/8192cu-1.9Harus ada pembaruan baru-baru ini untuk GIT dan instruksi ini sudah ketinggalan zaman oleh satu digit itu.

Lihatlah di direktori / usr / src. Anda mungkin memiliki 1.9 sebagai gantinya jika Anda mengunduh versi terbaru. ;)
Will Sams

Ini berfungsi baik bagi saya untuk TL-WN823N V1.2 di bawah Ubuntu 16.04, Terima kasih banyak!
Javier Garcia

1
Ini berfungsi di Ubuntu 16.10. Namun, sebuah pertanyaan: lsmodmenunjukkan kepada saya bahwa driver baru berfungsi alih-alih yang lama (dan koneksi saya sekarang stabil ...). Namun, jika saya mengklik "informasi koneksi" secara visual pada baki persatuan saya, dikatakan bahwa rtl8192cu(bukan hanya 8192cu) masih digunakan. Apakah ada yang tahu mengapa demikian?
Nearoo

13

12.04 & 14.04+: Anda dapat melihat instruksi ini atau hanya melakukan apa yang saya katakan.

(gunakan instruksi ini ketika perangkat USB nirkabel Anda [rtl8192cu] tidak secara otomatis dikenali oleh Ubuntu)

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

Kemudian, edit /etc/rc.local dengan membuka file dengan editor teks favorit Anda seperti dalam contoh ini:

sudo gedit /etc/rc.local

pastikan tertulis. . .

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

exit 0

Anda dapat menggunakan nirkabel sekarang atau, sebagai alternatif, Anda dapat memastikan bahwa semua pekerjaan Anda disimpan sebelum Anda mengetik:

sudo reboot

Driver nirkabel Anda harus mulai secara otomatis.


Untuk mengkompilasi dan menginstal driver Realtek 8192cu yang dipatenkan, jalankan perintah berikut di terminal terbuka:

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

Untuk penggunaan yang sulit:

make
sudo make install

bukannya sudo make dkms.

Untuk mengaktifkan driver ini, gunakan perintah:

sudo modprobe 8192cu

Terakhir, perbarui / etc / modules dengan perintah ini sebelum Anda reboot:

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

Sumber # 1: bernaerts.dyndns.org

Sumber # 2: github.com/dz0ny


Ini berfungsi luar biasa untuk D-link A-131
mchid

Terima kasih banyak. Saya bertarung dengan Asus USBN13 saya selama dua hari sebelum menemukan jawaban Anda. Itu bekerja ketika segalanya gagal dan saya akan menyerah.
Swoogan

Hebat, telah bekerja untuk TP-Link TL-WN821N pada Xubuntu 12.04 pada pass pertama.
Premek Brada

Saya tidak dapat membuat sumber 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 Pertama, jalankan make. Lalu, jalankan sudo make install. Saya mengedit jawabannya. Terima kasih telah menunjukkannya.
mchid

4

Secara umum, setiap driver Linux pada CD vendor akan ketinggalan jaman, dan, dalam banyak kasus, tidak akan layak untuk diganggu. Modul RTL8192cu telah menjadi bagian dari kernel Linux sejak versi 2.6.38, sehingga, idealnya, Anda hanya perlu mencolokkan perangkat, dan itu akan berfungsi. Sayangnya, modul tertentu itu belum pernah bekerja, dan, IMHO, perbaikan telah lama tertunda ( laporan bug ).

Jadi, apa yang harus kamu lakukan? Tancapkan perangkat. Pastikan manajer jaringan 'melihat' jaringan nirkabel di sekitarnya (juga dapat memverifikasi bahwa modul yang benar dimuat dengan menjalankan lsmod | grep 8192). Coba sambungkan ke jaringan Anda. Jika itu tidak berhasil, coba sambungkan ke jaringan apa pun. Jika itu tidak berhasil, Anda terkena bug, dan harus mencoba driver dari http://www.realtek.com .

  • Unduh driver dari sini , dan masukkan file yang sudah diunduh ke folder rumah Anda.

  • Daftar hitam modul yang ada. Di jendela terminal, jalankan

    gksu gedit /etc/modprobe.d/blacklist.conf, tambahkan blacklist rtl8192cuke bawah, simpan dan keluar, lalu reboot.

  • Ekstrak arsip yang diunduh: klik kanan, Ekstrak di sini, atau jalankan

    unzip RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip

  • Install. Di jendela terminal, jalankan

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


Terima kasih banyak, ini lebih baik, tapi saya punya masalah ... Kompilasi ok, tapi setelah itu saya perlu mengedit install.sh atau sesuatu karena folder baru dengan driver yang dikompilasi adalah "terkunci" dan saya harus melakukan chmod 777 pada setiap folder dan file untuk root ... dengan tutorial tanpa mengedit PC saya dibekukan dan saya harus reboot (setelah baris kompilasi driver ok dan sebelum baris dengan menghapus, masukkan dan instal driver). Apakah Anda punya ide atau dapatkah Anda membantu saya dengan hak mengedit cepat? Atau beberapa tut sederhana. bagaimana melakukannya melalui terminal dan bukan dengan install.sh :) Terima kasih
Maroš Káčko-Donnie Kario

Anda seharusnya tidak melakukan chmodapa pun, dan saya tidak akan merekomendasikan bermain dengan izin. Cukup lakukan apa yang diposting di atas, tidak ada yang lain. : ~)
mikewh apa pun

Hm .. tapi PC saya macet ... Saya harus reboot .. Saya tidak bisa melakukan apa-apa dan ketika saya reboot, saya melihat folder yang dibuat oleh installer dengan ikon kunci: / PC membeku sebelum langkah dengan menghapus, menyisipkan dan menginstal .. Ini menunjukkan kepada saya bahwa otorisasi diperlukan, tetapi membeku dan saya harus reboot :( Saya tidak bisa melalui itu ...
Maroš Káčko-Donnie Kario

Tidak yakin. Menjalankan install.shdengan sudoharus memberi Anda izin yang benar.
mikewh Apapun

mungkin saya tidak memiliki hak karena membeku PC ... tapi saya tidak tahu mengapa itu membeku: / Apakah mungkin untuk melakukan ini secara manual? tanpa menginstal otomatis ... mungkin saya akan menemukan beberapa masalah selama proses atau sesuatu seperti itu ..
Maroš Káčko-Donnie Kario

2

Itu bekerja dengan baik. Hanya masalah Anda harus cd ke direktori terlebih dahulu.

misalnya.

cd RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105

sudo bash ./install.sh

Satu-satunya masalah yang saya instal dengan metode ini adalah bahwa salah satu arsip terkompresi yang dipanggil oleh install.sh memiliki direktori tambahan ketika tidak dikompresi sehingga skrip instal tidak dapat menemukannya. Untuk memperbaiki masalah ini, Anda dapat mengedit skrip instal atau membatalkan kompresi arsip, salin dan tempel direktori yang ditemukan di tingkat atas ke tempat direktori terkompresi, hapus direktori terkompresi dan kompres direktori tempel menggunakan nama yang tepat. Kemudian, jalankan sudo ./install.shdan itu akan bekerja.
mchid

1

Bisakah Anda memberikan rincian perintah apa yang Anda gunakan untuk mengatur driver atau spesifik tentang kesalahan ketika Anda mencoba? Saya juga menemukan: menginstal Edimax EW7811 , untuk menginstal driver secara berurutan jika manual tidak cukup jelas juga mencoba menggunakan bilah pencarian juga, banyak yang melaporkan kesalahan pada driver Edimax juga.

Tautan ke driver linux untuk Edimax EW7811UN dari situs web mereka: Unduh (jika Anda memiliki installer versi lain)


Saya menggunakan beberapa tutorial, tetapi saya membeku dengan perintah sudo make ... <p> cp: nie je možné stat () `/autoconf_rtl8192c_usb_linux.h ': </p> Ini yang dikatakan terminal. Itu ada di slovak, karena saya punya versi slovak dari Ubuntu 12.10 :) Saya pikir Anda bisa menerjemahkannya dengan mudah ..
Maroš Káčko-Donnie Kario

EDIT: kesalahan ada di sini: kario.wz.cz/upload/linux.txt Saya memiliki versi slovak dari Ubuntu 12.10 sehingga kesalahan juga ada di slovak :))
Maroš Káčko-Donnie Kario

Coba make cleansebelum perintah pertama Anda, yang memecahkan masalah beberapa saat.
Andrew

Saya selalu melakukan make clean sebelum make like dalam tutorial, clean run without error tetapi make do error, tapi saya tidak tahu bagaimana "memperbaiki" mereka ..
Maroš Káčko-Donnie Kario

@ MarošKáčko-DonnieKario alasan tidak berfungsi adalah karena, dimulai dengan kernel 3.4 ada beberapa perubahan pada header kernel dan beberapa makro yang digunakan untuk membuat driver yang sekarang didepresiasi dan dengan demikian build menghasilkan kesalahan yang Anda terima. Anda dapat membangun dengan kernel LTS 3.2 standar atau Anda dapat menggunakan versi DKMS yang diperbarui dari github seperti yang dijelaskan dalam jawaban saya.
mchid

-2

Saya mengunduh versi driver yang lebih baru dan menginstalnya dengan: sudo dkms install 8192cu / 1.9

Jadi, ingatlah untuk menginstal menggunakan versi driver Anda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.