Gangmax Blog

Ubuntu 10.04 Can't Drive Thinkpad T420 Network Interface Card

After I got a new Thinkpad T420 laptop, I installed Ubuntu 10.04 on it and then I found the network couldn’t work, and the display resolution was not right. Then I took some time to figure out the following solution.

  1. The default kernel “linux-image-2.6.32-33-generic” within the “ubuntu 10.04.3” CD image doesn’t have the network and display drivers. To resolve the network driver issue, install “e1000e“ package:

    1. Download e1000e from sf.net;

    2. Install:

1
2
3
4
cd src
sudo make install
sudo rmmod e1000e # This command is needed if you have e1000e installed already.
sudo modprobe e1000e
  1. After the “e1000e” package is installed, you can run the “apt-get” command to get all the available pacakge updates. After that, you will get the kernel “linux-image-2.6.38-13-generic” installed, which has the the network and display drivers of Thinkpad T420(In my case, I selected “Intel display card” other than “NVidia” in BIOS configuration before this step. If you want to use the NVidia display card, you may need to get some other driver for it);

  2. But now, although you can use your network and display properly, the 8GB memory can only be recognized 3.5GB. To resolve this issue, install PAE version linux kernel:

1
sudo apt-get install linux-image-2.6.38-13-generic-pae

Reboot the computer and select this kernel from grub menu, then you can see the total memory is 8GB.

Updated: Added@20120418

今天在我升级了Linux kernel到”2.6.32-40-generic-pae”之后,网卡和显卡驱动再次无效,由此可见,以上的fix仅就当前kernel有效,也就是将driver对应的module在当前kernel中启用,在新的kernel中自然无效。

网卡驱动按如下方法解决:

  1. 安装e1000e网卡驱动:

    1
    2
    3
    4
    cd src
    sudo make install
    sudo rmmod e1000e # This command is needed if you have e1000e installed already.
    sudo modprobe e1000e
  2. 稍等片刻,此时ethernet网卡可以工作了。但是无线网卡还不行,运行以下命令安装无线网卡驱动(参考这篇文章):

    1
    sudo apt-get install linux-backports-modules-compat-wireless-3.2-2.6.32-40-generic-pae #因为我用的内核版本是"2.6.32-40generic-pae",前面的3.2是该package的版本.
  3. 如果安装提示没有header files,需要先安装kernel header files:

    1
    sudo apt-get install linux-headers-generic-pae # This will install the latest kernel header files, in this case it's version "2.6.32-40".

    安装完成,重启,无线网卡正常。

显卡驱动的解决方法(参考了这篇文章):

T420具有双显卡:Intel内置显卡和NVidia显卡。Intel显卡搞不定,我就在BIOS中指定使用NVidia显卡,然后安装NVidia显卡驱动:

  1. 屏蔽开源驱动nouveau:

    1
    2
    3
    sudo nano /etc/modprobe.d/blacklist.conf
    # Add the following line:
    blacklist nouveau
  2. 从PPA安装NVidia显卡驱动:

    1
    2
    3
    sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
    sudo apt-get update
    sudo apt-get install nvidia-current nvidia-settings
  3. 设置:

    此时进入系统的显示器配置,得到提示,需要运行以下命令来使用NVidia的驱动:

    1
    sudo nvidia-xconfig

    运行该命令会生成一个新的”/etc/X11/xorg.conf”文件,重启系统,一切恢复正常。

Comments