网卡

简介

网卡、网络适配器或NIC (网络接口控制器)是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。由于其拥有MAC地址,因此属于OSI模型的第1层。它使得用户可以透过电缆或无线相互连接。 每一个网卡都有一个被称为MAC地址的独一无二的48位串行号,它被写在卡上的一块ROM中。在网络上的每一个计算机都必须拥有一个独一无二的MAC地址。没有任何两块被生产出来的网卡拥有同样的地址。这是因为电气电子工程师协会(IEEE)负责为网络接口控制器销售商分配唯一的MAC地址。

网卡可分板载网卡(简称网卡)和无线网卡,目前linux对板载网卡支持良好,一般都可以直接使用.无线网卡一般也无需设置即可使用,但依然有可能出现Linux内核没有当前无线网卡驱动等问题,本条目主要介绍可能出现的无线网卡问题。

查看信息

网卡 Linux 的以太型网卡界面通常被称做 eth0、eth1 等等。环形卡亦同样地被看待.然而它们被称做 tr0、tr1等等。

ifconfig 命令是被用来观看及修改网络界面状态的。

Linux的另一特点是网络界面并不会像其他设备一样地被看成是一个在/dev里头的文件。所以如果您在 /dev 内找不到它们时请不要觉得惊讶。 当一个以太网卡被侦测到时,它会被指定为第一个可用的接口卡名字,通常为eth0。

显卡信息

终端执行:

   dmesg | grep -i 'eth'   ##通过查看开机信息获取显卡信息
   lspci | grep -i 'eth' ##列出当前网卡信息
   cat /etc/sysconfig/hwconf | grep -i eth

查看当前网卡的物理地址:

    ifconfig eth0 | head -1 | awk '{print $5}'

无线网卡支持情况[编辑]

linux内核无线网卡支持情况

维基百科:开源无线驱动比较

网卡管理

安装无线网卡驱动

  • 安装无线网卡Windows驱动

应用程序-Windows无线驱动程序:

Mint 无线网络驱动程序

然后按照程序提示安装.但此方法未必一定奏效.

  • 编译安装无线网卡Linux驱动

遇到Linux内核驱动无法驱动的无线网卡,需要我们自行下载对应的无线网卡驱动安装。

举例说明:一般大部分网卡都是realtek的芯片,例如网卡型号为rtl8188eus,我们可以去可以去realtek的官网下载对应的驱动,运气好的话可以搜索到对应的型号的驱动 下载该驱动解压后,终端使用 cd驱动目录,然后执行

    sudo sh install.sh

正常情况下驱动安装完。

无法重启无线网卡

在笔记本电脑上使用Linux,通过Fn+Fx快捷键关闭了无线网卡后,无法通过网络管理器启用无线网卡.

  • 有Windows系统

可以重启到Windows下,再次使用Fn+Fx快捷键开启无线网卡,然后再进入Linux就行了。

  • 没有windows系统

我们可以借助一个小工具:wicd。在终端中执行:

     sudo apt-get install wicd

安装之后,启动wicd,仍旧没有找到无线网络。关闭wicd,然后按一下Fn+Fx无线网卡快捷键,再次启动wicd,无线网络就已经启用啦。这时,再点击网络连接,勾选“启用无线”。选择一个无线信号畅游吧。

禁止不需要的网卡启动

一些朋友的笔记本电脑网卡为:板载网卡+外接USB无线网卡。

在使用无线网络时发现:每次开机后,两个网卡自动启动且会连接到同一网络,由于系统自带的网卡性能较弱,导致外置的网卡几乎没有发挥作用,可用用如下的方法禁止不需要的网卡启动:

  1. 查看pci接口上的所有硬件命令:lspci -v
  2. 查找自己电脑中所对应网卡的驱动:
  3. 打开系统黑名单文件:sudo vim /etc/modprobe.d/blacklist.conf
  4. 在blacklist.conf末尾输入: blacklist + 所对应的网卡驱动:
  5. 保存文件并退出vim,重启后可以看到以rt2800pci的内部无线网卡已经被禁止: 网卡驱动已禁止.png

    网络管理

    设置主DNS

    NetworkManager 0.9.8.x 不支持设置主 DNS,需要用户手动编辑 /etc/resolvconf 目录下的配置文件,例如要设置主 DNS 为 “8.8.8.8”,输入下列命令即可:

    echo "nameserver 8.8.8.8" | sudo tee -a  /etc/resolvconf/resolv.conf.d/head 

    sudo resolvconf -u

设置完成后,NetworkManager 并不能准确探知,若要验证是否设置成功,可以查看 /etc/resolv.conf 文件内容:

    cat /etc/resolv.conf

另外,由于 firefox 并未像 chrome 那样针对 DNS 查询过程(DNS lookups)进行优化,所以通过上面的步骤设置 DNS 后会导致 firefox 加载某些页面变慢,可以通过安装“Speed DNS”插件来解决: Speed DNS

参考资料

点此查看

常见问题

如何反馈网络问题

若用户遇到网络问题,如网络不稳定、WiFi无法连接等,请在论坛发帖或提 Bug 时尽量多提供些信息以方便开发者能尽快定位到错误所在,用户可以按需提供如下信息:

路由器型号及具体网络配置,包括 WiFi 加密方式等

利用 deepin-bug-reporter 收集网络信息,并上传其生成的报告文件 deepin-bug-reporter-results-network-xxxx.tar.gz:

    sudo apt-get install deepin-bug-reporter
   sudo deepin-bug-reporter network

若无法使用 deepin-bug-reporter 或想要提供特定信息,也可以参考下列命令:

计算机型号

    for f in /sys/class/dmi/id/*; do printf "%s: %s\n" $f "$(sudo cat $f)"; done* Linux 内核信息
   uname -a
   NetworkManager 当前状态
    nmcli nm status
   lshw -C network
   lspci -vvnn | awk -v keyword="[nN]et" 'BEGIN{RS="\n\n"} $0 ~ keyword{print ""; print; n++} END{print n, "of", NR, "matched", keyword}'

无线网络信息

    iwconfig

当前网卡驱动信息

    lsmod
   modinfo wl # 不同网卡驱动名称不同

另外,对于网络配置正确却连接失败的情况,用户也可以通过在终端尝试连接并反馈错误信息(其中请自行替换,且光标在此处支持 Tab 补全),或者安装 network-manager-gnome,看通过 nm-applet 能否成功连接网络:

    nmcli con up id <connection-id> iface wlan0
   sudo apt-get install network-manager-gnome

偶尔会搜索不到任何 WiFi 信号

应该是 NetworkManager 的一个 Bug,通过来回切换 WiFi总开关(或飞行模式开关)可以解决,也可以在终端执行相关命令:

    nmcli nm wifi false
   nmcli nm wifi true

若还是不行,则重启 NetworkManager 服务:

    sudo restart network-manager

网络可以连接但速度很慢

可能是 MTU 值过低引起的,在终端输入 ifconfig 可以查看当前网络的 MTU 值,一般为 1500,若其值过低,可以到 控制中心->网络,单击该连接右侧的“>”符号进入编辑页面手动设置其 MTU 值。

   Maximum transmission unit

Broadcom BCM4313 无线网卡驱动问题

若系统能识别网卡,但连接 WiFi 失败,通过更换驱动可以解决:

    # fix the BCM4313(14e4:4727) wireless driver issue on Deepin 2014
   if [ x"$(lspci -d 14e4:4727)" != "x" ]; then
      sudo apt-get purge  bcmwl-kernel-source
      sudo apt-get install  linux-firmware-nonfree
      # blacklist b43 and wl driver
      echo "blacklist b43" | sudo tee -a /etc/modprobe.d/blacklist.conf
      echo "blacklist wl" | sudo tee -a /etc/modprobe.d/blacklist.conf
      # enable brcmsmac
      echo "brcmsmac" | sudo tee -a /etc/modules
   fi

Broadcom BCM4322 无线网卡驱动问题

有 华硕X550VC 用户反映每次开机后 BCM4322 网卡硬件开关默认关闭,无法使用无线网络,临时解决方法是让系统待机,待机后网卡能正常使用,具体原因正在排查。

Qualcomm Atheros AR9485 无线网卡驱动问题

使用的是华硕笔记本电脑,系统能识别网卡,但搜素不到 WiFi 信号(硬件开关无法打开)

可以通过设置“asus_nb_wmi”驱动参数来解决,执行下面的命令:

    echo "options asus_nb_wmi wapf=1" | sudo tee /etc/modprobe.d/asus_nb_wmi.conf

也可能是驱动冲突所致,通过屏蔽“acer-wmi”可以解决:

    echo "blacklist acer-wmi" | sudo tee -a /etc/modprobe.d/blacklist.conf

http://www.linuxdeepin.com/forum/6/20062

使用的是神舟K500C-I3笔记本电脑,打开无线连接,可以搜索到很多无线信号,但是点击之后输入密码,确定。过几秒又要重新输入密码,无法连接上去 通过下面命令设置驱动选项,然后重启即可:

    echo "options ath9k nohwcrypt=1" | sudo tee -a /etc/modprobe.d/ath9k.conf

http://www.linuxdeepin.com/mantis/view.php?id=3426

参考连接

维基百科:网卡

软硬兼施:使用WICD轻松开启被关闭的无线网卡