Intel Corporation Wireless 3165 - 网卡驱动

最近终于换了垂涎已久的蓝天14寸笔记本新模具,把台式机装有 ubuntu 的硬盘装上笔记本,发现无线网卡不能用, 当然要重新安装驱动, 这个不是问题.

查看网卡信息


$ sudo lspci
[sudo] password for niko:

......
04:00.0 Network controller: Intel Corporation Wireless 3165 (rev 81)
......

根据网卡信息找驱动


官网 - Linux* Support for Intel® Wireless Adapters网页上,我们找到了该网卡的驱动信息:

Device	Kernels	Firmware
Intel® Dual Band Wireless-AC 3165 (starting from firmware XX.XX.13.0 and kernel 4.1) 4.2 iwlwifi-7265-ucode-25.30.14.0.tgz

可以看到, 需要是 4.2 的 Linux kernel 版本, 而我的系统通过 uname -r 发现内核版本仍然是 3.13 , 故而不能使用。

升级 kernel


因此我们先升级内核版本来支持该网卡驱动 (参考).

获取安装包:

cd new_foo_folder

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.2-rc8-unstable/linux-image-4.2.0-040200rc8-generic_4.2.0-040200rc8.201508240030_amd64.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.2-rc8-unstable/linux-headers-4.2.0-040200rc8_4.2.0-040200rc8.201508240030_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.2-rc8-unstable/linux-headers-4.2.0-040200rc8-generic_4.2.0-040200rc8.201508240030_amd64.deb

安装:

$ ll
total 64156
drwxrwxr-x 2 niko niko 4096 Dec 23 13:40 ./
drwxrwxr-x 6 niko niko 4096 Dec 23 13:31 ../
-rw-rw-r-- 1 niko niko 9591556 Aug 24 2015 linux-headers-4.2.0-040200rc8_4.2.0-040200rc8.201508240030_all.deb
-rw-rw-r-- 1 niko niko 735336 Aug 24 2015 linux-headers-4.2.0-040200rc8-generic_4.2.0-040200rc8.201508240030_amd64.deb
-rw-rw-r-- 1 niko niko 55355508 Aug 24 2015 linux-image-4.2.0-040200rc8-generic_4.2.0-040200rc8.201508240030_amd64.deb


niko@niko-ub1404:~/dev/tools/sources/install/update-to-kernel-4-plus$ sudo dpkg -i *.deb
[sudo] password for niko:
Selecting previously unselected package linux-headers-4.2.0-040200rc8.
(Reading database ... 326785 files and directories currently installed.)
Preparing to unpack linux-headers-4.2.0-040200rc8_4.2.0-040200rc8.201508240030_all.deb ...
Unpacking linux-headers-4.2.0-040200rc8 (4.2.0-040200rc8.201508240030) ...
Selecting previously unselected package linux-headers-4.2.0-040200rc8-generic.
Preparing to unpack linux-headers-4.2.0-040200rc8-generic_4.2.0-040200rc8.201508240030_amd64.deb ...
Unpacking linux-headers-4.2.0-040200rc8-generic (4.2.0-040200rc8.201508240030) ...
Selecting previously unselected package linux-image-4.2.0-040200rc8-generic.
Preparing to unpack linux-image-4.2.0-040200rc8-generic_4.2.0-040200rc8.201508240030_amd64.deb ...
Done.
Unpacking linux-image-4.2.0-040200rc8-generic (4.2.0-040200rc8.201508240030) ...
Setting up linux-headers-4.2.0-040200rc8 (4.2.0-040200rc8.201508240030) ...
Setting up linux-headers-4.2.0-040200rc8-generic (4.2.0-040200rc8.201508240030) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 4.2.0-040200rc8-generic /boot/vmlinuz-4.2.0-040200rc8-generic
Setting up linux-image-4.2.0-040200rc8-generic (4.2.0-040200rc8.201508240030) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.2.0-040200rc8-generic /boot/vmlinuz-4.2.0-040200rc8-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.2.0-040200rc8-generic /boot/vmlinuz-4.2.0-040200rc8-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.2.0-040200rc8-generic /boot/vmlinuz-4.2.0-040200rc8-generic
update-initramfs: Generating /boot/initrd.img-4.2.0-040200rc8-generic
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.2.0-040200rc8-generic /boot/vmlinuz-4.2.0-040200rc8-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.2.0-040200rc8-generic /boot/vmlinuz-4.2.0-040200rc8-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.2.0-040200rc8-generic /boot/vmlinuz-4.2.0-040200rc8-generic
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-4.2.0-040200rc8-generic
Found initrd image: /boot/initrd.img-4.2.0-040200rc8-generic
Found linux image: /boot/vmlinuz-3.13.0-96-generic
Found initrd image: /boot/initrd.img-3.13.0-96-generic
Found linux image: /boot/vmlinuz-3.13.0-87-generic
Found initrd image: /boot/initrd.img-3.13.0-87-generic
Found linux image: /boot/vmlinuz-3.13.0-24-generic
Found initrd image: /boot/initrd.img-3.13.0-24-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done

安装完成后, reboot , 查看内核版本:

$ uname -r
4.2.0-040200rc8-generic

更新 grub:

$ sudo update-grub
[sudo] password for niko:
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-4.2.0-040200rc8-generic
Found initrd image: /boot/initrd.img-4.2.0-040200rc8-generic
Found linux image: /boot/vmlinuz-3.13.0-96-generic
Found initrd image: /boot/initrd.img-3.13.0-96-generic
Found linux image: /boot/vmlinuz-3.13.0-87-generic
Found initrd image: /boot/initrd.img-3.13.0-87-generic
Found linux image: /boot/vmlinuz-3.13.0-24-generic
Found initrd image: /boot/initrd.img-3.13.0-24-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done
$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
bbswitch-dkms dkms lib32gcc1 libc6-i386 libterm-readkey-perl libvdpau1
screen-resolution-extra
0 upgraded, 0 newly installed, 7 to remove and 12 not upgraded.
After this operation, 10.8 MB disk space will be freed.
Do you want to continue? [Y/n] Y

此时可以发现, 在右上角(gnome)的网络设置中可以选择 wifi 了, 通过 iwconfig 以及 ifconfig 都可以列出 intel 的无线网卡了.

参考


http://askubuntu.com/questions/657774/how-to-get-my-intel-wireless-3165-to-work
http://www.intel.com/content/www/us/en/support/network-and-i-o/wireless-networking/000005511.html