วิธีการติดตั้ง Gigabit LAN Card Driver บน CC4.2
ในการติดตั้ง Driver Lan Card นั้น ก่อนอื่นจะต้องมี Driver ก่อน ในตัวอย่างนี้ ผมจะยกตัวอย่าง
Mainboard รุ่น Asus P5GC ซึ่งมี PCI 6 Slot และ มี Onboard Gigabit เป็นของ Realtek 8168
ในการ Compile Driver Lan Card นั้น จะต้องมี Package สำหรับ Compile ดังนี้
อย่างแรก cc-devel (cc-devel - Developer tools module)
ซึ่งจะมีขนาดประมาณ 90MB
อย่างที่สอง kernel-sourcecode (kernel-sourcecode - The source code for the Linux kernel.)
ขนาดประมาณ 58MB
อย่างที่สาม kernel-devel (Development package for building kernel modules to match the kernel.)
โดยสามารถ download โดยใช้คำสั่ง
apt-get install cc-devel (จะต้องทำการลงทะเบียนก่อนนะครับ ดูได้จากคู่มือนะครับ)
apt-get install kernel-sourcecode
apt-get install kernel-devel
ตัวอย่างการติดตั้ง kernel-sourcecode
ก็ทำการ download มาติดตั้งในเครื่องของเรา
เสร็จแล้วก็ทำการ download kernel-devel ต่อ โดยใช้คำสั่ง
apt-get install kernel-devel
แต่โปรแกรมจะถามว่า จะเอาตัว develop ของ Kernel ตัวไหน
ก็ให้ใช้ตัวที่ตรงกับ kernel ของเรา ก็คือ apt-get install kernel-devel#2.6.18-8.1.14.3.cc ดังรูป
เมื่อติดตั้งเสร็จแล้ว ก็ทำการ download driver มา โดย Driver ตัว Asus P5GC จะใช้
http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=5&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false#RTL8111B/RTL8168B/RTL8111/RTL8168/RTL8111Cเลือก Driver ชนิดที่เป็น
Linux driver for kernel 2.6.x and 2.4.x (Support x86 and x64)
ซึ่งตอนที่เขียนนี้ เป็น Version 8.005.00 (update 29/1/2008)
โดยทำตามขั้นตอนดังนี้ (คล้ายกับวิธีติดตั้งโปรแกรมโดยการ compile source code ตามคู่มือ)
ทำการ download driver
[root@cc42 ~]# wget
ftp://202.65.194.212/cn/nic/r8168-8.005.00.tar.bz2--06:47:33--
ftp://202.65.194.212/cn/nic/r8168-8.005.00.tar.bz2=> `r8168-8.005.00.tar.bz2'
Connecting to 202.65.194.212:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /cn/nic ... done.
==> PASV ... done. ==> RETR r8168-8.005.00.tar.bz2 ... done.
Length: 41,614 (41K) (unauthoritative)
100%[====================================>] 41,614 15.69K/s
06:47:37 (15.66 KB/s) - `r8168-8.005.00.tar.bz2' saved [41614]
ทำการแตกไฟล์
[root@cc42 ~]# bzip2 -d r8168-8.005.00.tar.bz2
[root@cc42 ~]# tar xvf r8168-8.005.00.tar
r8168-8.005.00/
r8168-8.005.00/Makefile
r8168-8.005.00/readme
r8168-8.005.00/.svn/
r8168-8.005.00/.svn/format
r8168-8.005.00/.svn/all-wcprops
r8168-8.005.00/.svn/prop-base/
r8168-8.005.00/.svn/text-base/
r8168-8.005.00/.svn/text-base/Makefile.svn-base
r8168-8.005.00/.svn/text-base/release_note.txt.svn-base
r8168-8.005.00/.svn/text-base/README.svn-base
r8168-8.005.00/.svn/entries
r8168-8.005.00/.svn/tmp/
r8168-8.005.00/.svn/tmp/prop-base/
r8168-8.005.00/.svn/tmp/text-base/
r8168-8.005.00/.svn/tmp/props/
r8168-8.005.00/.svn/props/
r8168-8.005.00/release_note.txt
r8168-8.005.00/src/
r8168-8.005.00/src/rtl_ioctl.h
r8168-8.005.00/src/Makefile
r8168-8.005.00/src/r8168_n.c
r8168-8.005.00/src/r8168.h
r8168-8.005.00/src/.svn/
r8168-8.005.00/src/.svn/format
r8168-8.005.00/src/.svn/all-wcprops
r8168-8.005.00/src/.svn/prop-base/
r8168-8.005.00/src/.svn/text-base/
r8168-8.005.00/src/.svn/text-base/Makefile.svn-base
r8168-8.005.00/src/.svn/text-base/rtl_ioctl.c.svn-base
r8168-8.005.00/src/.svn/text-base/r8168_n.c.svn-base
r8168-8.005.00/src/.svn/text-base/r8168.h.svn-base
r8168-8.005.00/src/.svn/text-base/rtl_ioctl.h.svn-base
r8168-8.005.00/src/.svn/entries
r8168-8.005.00/src/.svn/tmp/
r8168-8.005.00/src/.svn/tmp/prop-base/
r8168-8.005.00/src/.svn/tmp/text-base/
r8168-8.005.00/src/.svn/tmp/props/
r8168-8.005.00/src/.svn/props/
r8168-8.005.00/src/rtl_ioctl.c
r8168-8.005.00/src/Makefile_linux24x
[root@cc42 ~]# cd r8168-8.005.00
ทำการ compile ด้วยคำสั่ง make
[root@cc42 r8168-8.005.00]# make
make -C src/ clean
make[1]: Entering directory `/root/r8168-8.005.00/src'
rm -rf *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags .tmp_versions Module.symvers Modules.symvers rset
make[1]: Leaving directory `/root/r8168-8.005.00/src'
make -C src/ modules
make[1]: Entering directory `/root/r8168-8.005.00/src'
make -C /lib/modules/2.6.18-8.1.14.3.cc/build SUBDIRS=/root/r8168-8.005.00/src modules
make[2]: Entering directory `/usr/src/kernels/2.6.18-8.1.14.3.cc-i686'
CC [M] /root/r8168-8.005.00/src/r8168_n.o
/root/r8168-8.005.00/src/r8168_n.c:2236: warning: 'rtl8168_phy_power_down' defined but not used
LD [M] /root/r8168-8.005.00/src/r8168.o
Building modules, stage 2.
MODPOST
CC /root/r8168-8.005.00/src/r8168.mod.o
LD [M] /root/r8168-8.005.00/src/r8168.ko
make[2]: Leaving directory `/usr/src/kernels/2.6.18-8.1.14.3.cc-i686'
strip --strip-debug r8168.ko
make[1]: Leaving directory `/root/r8168-8.005.00/src'
make -C src/ install
make[1]: Entering directory `/root/r8168-8.005.00/src'
install -m 744 -c r8168.ko /lib/modules/2.6.18-8.1.14.3.cc/kernel/drivers/net/
make[1]: Leaving directory `/root/r8168-8.005.00/src'
ทำการติดตั้งด้วยคำสั่ง make install
[root@cc42 r8168-8.005.00]# make install
make -C src/ install
make[1]: Entering directory `/root/r8168-8.005.00/src'
install -m 744 -c r8168.ko /lib/modules/2.6.18-8.1.14.3.cc/kernel/drivers/net/
make[1]: Leaving directory `/root/r8168-8.005.00/src'
[root@cc42 r8168-8.005.00]#
เมื่อเสร็จแล้วให้เราไปแก้ไฟล์ /etc/modprobe.conf
โดยใส่
alias ethX r8168 (ตัว X แทน 0, 1, 2 แล้วแต่เราจะตั้งนะครับ อย่าให้ซ้ำกับตัวที่มีอยู่)
เพิ่มเข้าไป
เสร็จแล้วก็ทำการ reboot
แค่นี้ก็เป็นอันเรียบร้อย