⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0130internet_connect.htm

📁 鸟哥LINUX 学习课本
💻 HTM
📖 第 1 页 / 共 5 页
字号:
FNW-9702-T 为例,他就有附上一块驱动程序片,里头有一个 linux目录,里面就是安装驱动程序的原始码啦!如果找不到驱动程序的话,您可以到下面的网站去找找看有没有您需要的驱动程序源文件,当然啰!最好还是到您买的那张网络卡的公司去下载完整的驱动程序码!例如上面提到的D-Link 530TX的驱动程序原始码,在底下的友讯网站就有提供下载!<ul><li><font color="#000066" face="SimSun">Linux Network Drivers:<a href="http://www.scyld.com/network/index.html" target="_blank">http://www.scyld.com/network/index.html</a></font></li><li><font color="#000066">友讯网络卡:<a href="http://tsd.dlink.com.tw/info.nsf/download/LAN+Adapters?openview" target="_blank">http://tsd.dlink.com.tw/info.nsf/download/LAN+Adapters?openview</a></font></li></ul><font color="#000000"> </font><li><font color="#000099">确定所需套件存在:</font></li><br><font color="#000000">在开始编译核心模块之前,因为驱动程序需要配合核心来编译,所以会使用到kernel source 或者是 kernel header 的数据,此外,也需要编译器 ( compiler) 的帮助,因此,先确定您的 Linux 系统当中已经有底下的套件存在 ( <i>注:每一个版本的Linux 套件名称都不相同,我这里是以 Red Hat 9 来做说明,如果您的 Linux 不是Red Hat 9 ,不要紧,只要看到 kernel 字样有出现,应该就没有问题!</i> )</font><ul><li><font color="#000066" face="SimSun">kernel-source-2.4.20-18.9</font></li><li><font color="#000066" face="SimSun">kernel-2.4.20-18.9</font></li><li><font color="#000066" face="SimSun">gcc-3.2.2-5</font></li><li><font color="#000066" face="SimSun">make-3.79.1-17</font></li></ul><font color="#000000">而由于很多的核心模块预设都是由 /usr/src/linux 这个kernel source 的目录来取得所需要的信息,偏偏目前很多的 Linux 版本都是使用/usr/src/linux-2.4 这个目录来连结,所以很多时候您会发现找不到档案的错误讯息,因此,</font>您<font color="#000000">可以使用这样的方式来进行连结目录的制作:</font><table border="1" cols="1" width="550"><tbody><tr><td bgcolor="#000000"><font size="-1" color="#ffffcc" face="SimSun">假设核心的Open source 目录为 /usr/src/linux-2.4.20-18.9</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffff00"> cd /usr/src</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testsrc]# </font><font color="#ffff00">ln -s linux-2.4.20-18.9 linux</font></font></td></tr></tbody></table>另外,如果没有安装上述的某些套件时,请拿出您的原版光盘,然后以 rpm 将他安装上您的linux 系统吧! ^_^<br><font color="#000000"> </font><li><font color="#000099">编译下载的模块</font><font color="#000000">:</font></li><br><font color="#000000">上述的工作确认过后,并且由<a href="http://tsd.dlink.com.tw/info.nsf/download/LAN+Adapters?openview" target="_blank">友讯网站</a>下载了驱动程序后( </font><i><font color="#000066">注:我下载的是完整的驱动程序片,也就是DEF-530TX Shipping Driver 那个驱动程序,不过该档案 530tx.zip 是给 windows用的,所以还需要在 Windows 底下解压缩后,才会得到 dlkfet-4.24.tar.gz 这个档案吶!</font></i><font color="#000000">) 就可以准备来进行模块的编译了。</font><table bgcolor="#000000" border="1" cols="1" width="550"><tbody><tr><td><font size="-1" color="#ffffcc" face="SimSun">1. 将刚刚取得的dlkfet-4.24.tar.gz 放置到 /tmp 底下</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">cp dlkfet-4.24.tar.gz /tmp</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffff00"> cd /tmp</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testtmp]# </font><font color="#ffff00">tar -zxvf dlkfet-4.24.tar.gz</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testtmp]#</font><font color="#ffff00"> cd dlkfet-4.24</font></font><br><font size="-1" color="#ffffff" face="SimSun"> </font><br><font size="-1" color="#ffffcc" face="SimSun">2. 开始编译:</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testdlkfet-4.24]# </font><font color="#ffff00">make</font></font><br><font size="-1" color="#ff6666" face="SimSun">到此为止,会产生一个档案模块,称为:rhinefet.o</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testdlkfet-4.24]# </font><font color="#ffff00">cp rhinefet.o&#160; \</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">&gt; </font><font color="#ffff00">/lib/modules/`uname-r`/kernel/drivers/net</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testdlkfet-4.24]# </font><font color="#ffff00">depmod -a</font></font><br><font size="-1" color="#ff6666" face="SimSun">特别留意,上面的路径为2.4.xx 版本的核心!并且将该模块写入属性相依档案。</font></td></tr></tbody></table>当然啰,如果您是使用其它的网络卡,那么所得到的网络卡驱动程序自然就会成为filename.o 啦!同样将他移动到模块放置的目录后,执行 depmod -a 即可。(<i>注:如果您的模块原始码文件名为driver.c ,并且没有 Makefile 的辅助,那么使用『<font color="#000066" face="SimSun">gcc-DMODULE -D__KERNEL__ -O6 -c driver.c</font>』来编译出 driver.o也是可以的作法!</i>)<br><font color="#000000"> </font><li><font color="#000099">模块测试:</font></li><br><font color="#000000">核心模块编译完成之后,当然就得需要测试看看能不能正常的运作了。测试的方法很简单,因为我们已经进行了<a href="http://linux.vbird.org/linux_basic/0540kernel.php#depmod">depmod</a>-a 了,所以可以直接以<a href="http://linux.vbird.org/linux_basic/0540kernel.php#modprobe">modprobe</a>来进行模块的加载:</font><table bgcolor="#000000" border="1" cols="1" width="550"><tbody><tr><td><font size="-1" color="#ffffcc" face="SimSun">1. 加载模块的测试:</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">modprobe rhinefet</font></font><br><font size="-1" color="#ff6666" face="SimSun">请注意,不要写完整的档名,.o 不需要写,那个 rhinefet 就是</font><br><font size="-1" color="#ff6666" face="SimSun">刚刚编译出来的rhinefet.o 咯!</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffff00"> lsmod</font></font><br><font size="-1" color="#ffffff" face="SimSun">Module&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Size&#160; Used by&#160;&#160;&#160; Tainted: P</font><br><font size="-1" color="#ffffff" face="SimSun">rhinefet&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;14208&#160;&#160; 2</font><br><font size="-1" color="#ff6666" face="SimSun">....(略)....</font><br><font size="-1" color="#ff6666" face="SimSun"> </font><br><font size="-1" color="#ffffcc" face="SimSun">2. 设定开机时加载模块</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">vi /etc/modules.conf</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 加入底下这一行</font><br><font size="-1" color="#ffff00" face="SimSun">alias eth0rhinefet</font><br><font size="-1" color="#ffff00" face="SimSun"> </font><br><font size="-1" color="#ffffcc" face="SimSun">3. 也可以重新开机是看看能否正常的启动模块:</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffffcc"> </font><font color="#ffff00">sync;sync; reboot</font></font></td></tr></tbody></table>如果可以出现上述的画面,那么表示模块可以被正确的加载,同时,如果模块已经正确的加载了,那么就可以直接写入开机设定档/etc/modules.conf 了。注意一下,在上面的例子当中,我们使用的是 rhinefet这个模块,如果您的模块名称并非这个名称,请依照您的实际状态来修改,不要在/etc/modules.conf 照抄我的设定啊!不然.....不要怪我~<br><font color="#000000"> </font></ol><font color="#000000">基本上,这样就已经编译成功,并且也将该模块挂上系统了,接下来就是需要测试一下这个网络卡是否能够正确的来运作啦!</font><br><font color="#000000"> </font><br><hr width="100%"><a name="NIC_test"></a><font color="#000099">使用 PrivateIP 测试网络卡之运作:手动设定, 档案设定</font><br> <br>要测试网络卡是否能够工作,就是给网络卡一个私有 IP 来测试即可!而测试的方法又很简单,可以直接以手动下达指令的方式来启动网络卡,也可以使用设定文件来设定好网络参数。底下我们以192.168.1.2 这个私有 IP ,加上 255.255.255.0 这个 C Class 的 netmask 来测试看看,此外,也以eth0 为预设的 Gatewaydev ( 通讯闸装置 ):<br> <ol><hr width="100%"><a name="NIC_test_ifconfig"></a><font color="#000099">手动设定</font>:<br> <br><a href="http://linux.vbird.org/linux_server/0140networkcommand.php#ifconfig">ifconfig</a> 的详细说明我们在下一章再来详谈,这里先谈一谈他的简易用法啰:<br> <table bgcolor="#000000" border="1" cols="1" width="550"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffffcc"> </font><font color="#ffff00">ifconfigeth0 192.168.1.2</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">ifconfig</font></font><br><font size="-1" color="#ffffff" face="SimSun">eth0&#160;&#160;&#160;&#160;&#160;Link encap:Ethernet&#160; HWaddr 00:10:DC:F1:D8:C5</font><br><font size="-1" color="#ffffff" face="SimSun">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;inet addr:192.168.1.2&#160; Bcast:192.168.1.255&#160; Mask:255.255.255.0</font><br><font size="-1" color="#ffffff" face="SimSun">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;UP BROADCAST MULTICAST&#160; MTU:1500&#160; Metric:1</font><br><font size="-1" color="#ffffff" face="SimSun">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;RX packets:0 errors:0 dropped:0 overruns:0 frame:0</font><br><font size="-1" color="#ffffff" face="SimSun">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TX packets:0 errors:0 dropped:0 overruns:0 carrier:0</font><br><font size="-1" color="#ffffff" face="SimSun">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;collisions:0 txqueuelen:100</font><br><font size="-1" color="#ffffff" face="SimSun">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;RX bytes:0 (0.0 b)&#160; TX bytes:0 (0.0 b)</font><br><font size="-1" color="#ffffff" face="SimSun">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Interrupt:17 Base address:0xd400 Memory:fb060000-fb060038</font><br><font size="-1" color="#ffffff" face="SimSun"> </font><br><font size="-1" color="#ffffff" face="SimSun">lo&#160;&#160;&#160;&#160;&#160;&#160;&#160;Link encap:Local Loopback</font><br><font size="-1" color="#ffffff" face="SimSun">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;inet addr:127.0.0.1&#160; Mask:255.0.0.0</font><br><font size="-1" color="#ffffff" face="SimSun">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;UP LOOPBACK RUNNING&#160; MTU:16436&#160; Metric:1</font><br><font size="-1" color="#ffffff" face="SimSun">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;RX packets:41739 errors:0 dropped:0 overruns:0 frame:0</font><br><font size="-1" color="#ffffff" face="SimSun">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TX packets:41739 errors:0 dropped:0 overruns:0 carrier:0</font><br><font size="-1" color="#ffffff" face="SimSun">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;collisions:0 txqueuelen:0</font><br><font size="-1" color="#ffffff" face="SimSun">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;RX bytes:4252360 (4.0 Mb)&#160; TX bytes:4252360 (4.0 Mb)</font><br><font size="-1" color="#ffffff" face="SimSun"> </font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffff00"> ping 192.168.1.2 -c 3</font></font><br><font size="-1" color="#ffffff" face="SimSun">PING 192.168.1.2(192.168.1.2) 56(84) bytes of data.</font><br><font size="-1" color="#ffffff" face="SimSun">64 bytes from192.168.1.2: icmp_seq=1 ttl=64 time=0.106 ms</font><br><font size="-1" color="#ffffff" face="SimSun">64 bytes from192.168.1.2: icmp_seq=2 ttl=64 time=0.016 ms</font><br><font size="-1" color="#ffffff" face="SimSun">64 bytes from192.168.1.2: icmp_seq=3 ttl=64 time=0.013 ms</font><p><font size="-1" color="#ffffff" face="SimSun">--- 192.168.1.2ping statistics ---</font><br><font size="-1" color="#ffffff" face="SimSun">3 packets transmitted,3 received, 0% packet loss, time 1998ms</font><br><font size="-1" color="#ffffff" face="SimSun">rtt min/avg/max/mdev= 0.013/0.045/0.106/0.043 ms</font><br><font size="-1" color="#ffffff" face="SimSun"> </font>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -