比尔盖子 博客

Fedora 20 的 r8168 与 rtl8723be 驱动

今天在 Freenode 的 #fedora-zh 上,有个网友的笔记本有线网卡使用的是 r8168,无线网卡是 rtl8723be,r8168 的驱动 r8169 存在问题,rtl8723be 的驱动才刚刚进入 Linux 3.16。因此两者均无法使用,需要下载 Realtek 发布的驱动。

如果在有网络的情况下,倒是非常好解决的。啥,你说没网?请先阅读《无网络》部分,使其有网络后,从这里继续。

硬件辨识

rtl8723be:

03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5227 (rev 01)
05:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device b723

r8168

04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. 
RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)

安装开发工具

yum update kernel  # 注意,此时内核已经升级,需要重新编译驱动,你要保证你已经下载好驱动(安装倒是可以无网),否则千万别重启!
yum install kernel-devel make automake gcc git

一个典型的问题是,当前运行的内核版本并非是最新的版本,因此升级 kernel 并安装 kernel-devel 让其对应。

不过这些驱动的 Makefile 都有些弱智,只能识别正在运行的内核。因此你需要在现在还有网络的时候,直接完成下面的“下载”部分。重启后,网络不可用,这时再完成“安装”部分。

升级内核 -> 安装开发工具 -> 下载驱动 -> 重启 -> 编译安装

r8168

### 下载

wget https://tomli.blog//files/linux/drivers/3.11.10-301.fc20.x86_64/src/r8168-8.038.00.tar.bz2
tar -xf r8168-8.038.00.tar.bz2

### 编译安装

cd r8168-8.038.00/
make

# 屏蔽有问题的 r8169
echo "blacklist r8169" > /etc/modprobe.d/blacklist-r8169.conf

rtl8723be

### 下载

git clone git://github.com/biergaizi/rtl8723be.git    

### 编译安装

cd rtl8723be
make
make install

无网络

如果像这位 IRC 网友一样,没有任何网络连接可用,而且 Fedora 20 是全新安装的版本,内核为 3.11.10-301.fc20.x86_64,我已经编译好了二进制驱动。

https://tomli.blog//files/linux/drivers/3.11.10-301.fc20.x86_64/ 下载 r8168.tar.xz 和 rtl8723be.tar.xz,解压缩,分别用 root 运行各目录下的 install.sh 即可。

注意,此二进制驱动仅适用于全新的 Fedora 20 x86_64,且内核版本为 3.11.10-301.fc20.x86_64。如果系统更新过,内核早已是 3.14 系列,不适用于此驱动。

重新编译驱动

即使你现在已经拥有网络,每次系统升级后,内核版本可能会发生变化,导致驱动失效,需要重新编译。

因此应该去进行安装开发工具和两个驱动的下载部分。每次,当升级内核,驱动失效后,再进行编译安装部分即可。

Categories: IT生活, Linux

关于龙芯开发的一点见解 » « 流缓冲影响父子进程通讯的问题

2 Comments

    • DKMS……我在 Ubuntu 以外的系统下从没成功过,也几乎没有任何 Gentoo 用户用它。而且这些驱动里有些 #if 内核版本 代码1 #else 代码2 #endif 的预处理,DKMS 能保证正常吗?

发表评论

Your email address will not be published.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

Copyright © 2023 比尔盖子 博客

Theme by Anders NorenUp ↑