编译并安装rtl8192cu驱动程序


15

有人可以帮我解决这个问题吗?我是Linux的新手,所以我不知道命令,并且从未做过类似使用命令行安装或编译的事情。

我从Edimax购买了WiFi适配器,型号为EW-7811UN,用于我的PC(不是笔记本电脑,所以我没有wifi卡,只有以太网)。当我浏览CD上的指南时,遇到了一个内核版本。它说我需要2.6版本,但是我有3.5.0-22通用的版本。

我遇到类似我没有文件或文件夹等的错误。有人可以告诉我在哪里可以下载编译的驱动程序以及在哪里放置它?或其他一些建议。我不想在不需要时降级内核。


它似乎不再起作用。13.04、3.8.0-25通用;内核驱动程序允许连接以打开wifi,但是2分钟左右后连接断开。然后,我尝试用所有可以找到的补丁构建Realtek驱动程序;它可以编译,但是连接像以前一样脆弱。此外,当我拔下适配器时,出现内核恐慌,有什么帮助吗?
Antti Haapala

@AnttiHaapala有点晚了,但是请尝试使用更新内核的git hub版本之一,并启用8192cu而不是rtl8192cu的模块,或者使用realtek网站的驱动程序使用内核3.2LTS进行构建
mchid 2014年

NP现在对我而言,我什至都不知道该设备在哪里,在内部天线被切断(现已修复)后,我只需要将其用于笔记本电脑
Antti Haapala 2014年

Answers:


19

如果遇到此问题,对我有用的是安装以下驱动程序:https : //github.com/pvaret/rtl8192cu-fixes

README.md文件:

安装

确保您具有必要的先决条件:

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

克隆此存储库:

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

将其设置为DKMS模块:

sudo dkms add ./rtl8192cu-fixes

编译并安装(此版本号可能会更改,截至2019年11月7日为.11)

sudo dkms install 8192cu/1.11

刷新模块列表:

sudo depmod -a

确保将本机(损坏的)内核驱动程序列入黑名单:

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

并重新启动。你完成了。


1
作为说明,我只是在行之后执行此操作:sudo dkms install 8192cu/1.8我遇到了错误。该错误是:Error! Could not find module source directory. Directory: /usr/src/8192cu-1.8 does not exist.原来我需要将更/usr/src/8192cu-1.8改为。/usr/src/8192cu-1.9必须是GIT的最新更新,并且这些指令已过时了一位数字。

看一下/ usr / src目录。如果您下载了最新版本,则可能有1.9。;)
Will Sams 2014年

对于Ubuntu 16.04下的TL-WN823N V1.2来说,这对我来说很好用,非常感谢!
哈维尔·加西亚

1
这适用于Ubuntu 16.10。但是,有一个问题:lsmod告诉我新的驱动程序正在工作,而不是旧的驱动程序(并且我的连接现在稳定...)。但是,如果我在统一任务栏上直观地单击“连接信息” ,它表示rtl8192cu(而不是8192cu)仍在使用中。有人知道为什么会这样吗?
Nearoo

13

12.04和14.04+:您可以查看这些说明,也可以按照我说的做。

(当Ubuntu无法自动识别您的无线USB设备[rtl8192cu]时,请使用以下说明)

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

然后,使用您喜欢的文本编辑器打开文件来编辑/etc/rc.local,如下例所示:

sudo gedit /etc/rc.local

确保它说。。。

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

exit 0

您可以立即使用无线功能,也可以确保在键入之前已保存所有工作:

sudo reboot

您的无线驱动程序应自动启动。


要编译并安装专有的Realtek 8192cu驱动程序,请在开放式终端中运行以下命令:

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

对于硬安装:

make
sudo make install

代替sudo make dkms

要启用此驱动程序,请使用以下命令:

sudo modprobe 8192cu

最后,在重新启动之前,使用以下命令更新/ etc / modules:

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

来源1:bernaerts.dyndns.org

来源#2:github.com/dz0ny


这对D-link A-131
十分有用

非常感谢。在找到答案之前,我与华硕USBN13进行了两天的战斗。当其他一切都失败了而我要放弃时,它就起作用了。
Swoogan 2014年

太好了,第一遍就为Xubuntu 12.04的TP-Link TL-WN821N工作。
Premek Brada 2015年

我无法建立驱动程序源:$ 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首先,运行make。然后,运行sudo make install。我编辑了答案。感谢您指出了这一点。
mchid

4

一般而言,供应商CD上的任何Linux驱动程序都会过时,并且在大多数情况下不值得打扰。从2.6.38版本开始,RTL8192cu模块已成为Linux内核的一部分,因此,理想情况下,您只需要插入设备即可使用。不幸的是,那个特定的模块从来没有用过,恕我直言,修复早就应该进行了(错误报告)。

那你该怎么办?插入设备。验证网络管理器“看到”了周围的无线网络(也可以通过运行来验证是否加载了正确的模块lsmod | grep 8192)。尝试连接到您的网络。如果这不起作用,请尝试连接到任何网络。如果这不起作用,则说明您对该错误有所影响,因此必须从http://www.realtek.com尝试驱动程序。

  • 此处下载驱动程序,然后将下载的文件放入您的主文件夹。

  • 将现有模块列入黑名单。在终端窗口中,运行

    gksu gedit /etc/modprobe.d/blacklist.conf,添加blacklist rtl8192cu到底部,保存并退出,然后重新启动。

  • 解压缩下载的档案:右键单击,在此处解压缩,或运行

    unzip RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip

  • 安装。在终端窗口中,运行

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


非常感谢,这样比较好,但是我遇到了问题...编译可以,但是之后我需要编辑install.sh或其他内容,因为带有已编译驱动程序的新文件夹被“锁定”,并且我必须在每个文件夹上执行chmod 777,根文件...通过教程而未编辑我的PC被冻结,我不得​​不重新启动(在行编译驱动程序ok之后,在行删除,插入和安装驱动程序之前)。您有什么想法或可以帮助我获得快速编辑权?或一些简单的tu。如何做到这一点通过终端,而不是由install.sh :)谢谢
Maros软件Káčko -唐尼Kario

chmod什么都不应该,我不建议您允许玩游戏。只需执行上面发布的内容,别无其他。:〜)
mikewhatever

嗯..但是我的PC冻结了...我必须重新启动..我无能为力,当我重新启动时,我看到安装程序创建的文件夹带有锁定图标:/ PC冻结,然后再进行删除,插入和安装..它告诉我行被要求授权,但它冻结,我要重新启动:(我不能去通过...
Maros软件Káčko -唐尼Kario

不确定。install.sh与一起运行sudo应该给您正确的权限。
mikewhatever

也许由于冻结PC我没有权利...但是我不知道为什么冻结:/是否可以手动执行此操作?没有自动安装......也许我会发现过程或者类似的东西..过程中的一些问题
Maros软件Káčko -唐尼Kario

2

它运作良好。唯一的问题是您应该先将CD转到目录。

例如。

cd RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105

sudo bash ./install.sh

我使用此方法进行安装的唯一麻烦是,install.sh调用的压缩归档文件之一在未压缩时具有一个额外的目录,因此安装脚本找不到该目录。要解决此问题,您可以编辑安装脚本或解压缩归档文件,将在顶层找到的目录复制并粘贴到压缩目录所在的位置,删除压缩目录并使用正确的名称压缩粘贴的目录。然后,运行sudo ./install.sh,它应该可以工作。
mchid

1

您能否提供有关用来设置驱动程序的命令的详细信息,还是可以具体说明尝试使用的错误?我还发现:安装Edimax EW7811,如果手册不够清楚,请按顺序安装驱动程序,也可以尝试使用搜索栏,很多人也报告过Edimax驱动程序错误。

从他们的网站链接到Edimax EW7811UN的Linux驱动程序:下载(如果您有任何其他版本的安装程序)


我使用了一些教程,但是冻结了sudo make命令。<p> cp:nie jemožnéstat()`/autoconf_rtl8192c_usb_linux.h':</ p>这是终端所说的。它在斯洛伐克语,因为我有Ubuntu 12.10的
斯洛伐克语

编辑:错误在这里:kario.wz.cz/upload/linux.txt 我有Ubuntu 12.10的斯洛伐克版本,所以错误也在斯洛伐克:))
MarošKáčko-DonnieKario

make clean在执行第一个命令之前尝试一下,这样可以解决问题。
Andrew

我总是化妆前做清洁一样的教程,清洁运行没有错误,但凑合的错误,但我不知道该怎么“修理”他们..
Maros软件Káčko -唐尼Kario

@MarošKáčko-DonnieKario之所以不起作用,是因为,从内核3.4开始,内核标头和用于制作驱动程序的宏已进行了一些更改,因此现在已弃用,因此构建会导致您收到错误。您可以使用标准的LTS内核3.2进行构建,也可以使用github中更新的DKMS版本,如我的回答中所述。
mchid 2014年

-2

我下载了更新版本的驱动程序,并使用以下命令进行安装:sudo dkms install 8192cu / 1.9

因此,请记住使用驱动程序版本进行安装。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.