linux 网卡驱动编译安装包,CDlinux网卡驱动的编译、安装、集成

今天翻旧电脑,发现了这个N年前遗忘到角落里的技术记录,分享出来给各位搞不定驱动的小伙伴,不知过时没有。

cdlinux网卡驱动的编译、安装、集成

沙尘暴,QQ:350037408,2014年4月24日晚。

新入手一清华同方NoteBook,自带RTL8188E无线网卡,

GRUB硬盘启动CDlinux.iso,编辑menu.lst :

map --mem (hd0,0)/CDlinux.iso (0xff)

map --hook

kernel (0xff)/CDlinux/bzImage quiet CDL_LANG=zh_CN.UTF-8 CDL_DIR=/ CDL_IMG=CDlinux.iso CDL_GUI=yes i915.modeset=0

initrd (0xff)/CDlinux/initrd

boot

CDlinux不认RTL8188E无线网卡,想办法自己搞。

记录如下:

1、下载源码树(存放位置随便,只要CDlinux能读取的地方都可以):

ftp://distro.ibiblio.org/pub/lin ... evel-0.9.7.1.tar.xz

2、下载编译环境(放在CDlinux光盘的  CDlinux/extra  目录下):

ftp://distro.ibiblio.org/pub/lin ... /extra/devel-cdl.md

3、下载网卡驱动。RTL8188E无线硬件ID为:PCI\VEN_10EC&DEV_8179&........,10EC是Realtek厂家代号,8179为芯片型号。

其Linux驱动包含在RTL8188CE中,OK,下载

网页:http://www.realtek.com/downloads ... oads=true#RTL8188CE

驱动:ftp://WebUser:fh7SkVT4@58.211.24 ... 2.0207.2013.tar.bz2

4、虚拟磁盘的准备:

(a)如果直接启动的CDlinux,创建一个4G的虚拟磁盘:

dd if=/dev/zero of=/mnt/hard/devel.dsk bs=1000 count=0 seek=$[1000*1000*4]

/mnt/hard/ 灵活运用,我是将一NTFS硬盘挂到这里的

(b)如果用VMWARE,使用虚拟机创建一个大于4G的虚拟磁盘。

5、源码和驱动的解压。

使用fdisk进行分区

使用mkfs.ext4 /dev/sda1进行格式化

挂到一个目录:mount /dev/sda1 /mnt/hard

进入: cd /mnt/hard

下载的源码和驱动解压到这里。

解压源源:tar vxf devel-0.9.7.1.tar.xz

解压驱动:tar vzxf linux_mac80211_0012.0207.2013.tar.bz2

6、编译驱动

进入源码目录,将源码树虚拟成根目录,输入命令(两命令效果一样):

./ch-root

bash ch-root

进入驱动目录,编译:

cd rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013

make

ok,编译完成。

7、insmod rtl8188ee.ko,

Unknown sysboml......,

dmesg 未知符号几十个,一长串。。。我晕了好几天,绝望之际,在另一台有BCM4312无线网卡老本本上(CDlinux本身自带BCM4312驱动)

继续insmod rtl8188ee.ko,竟然成功加载,无任何未知符号之类的,dmesg只有两个未知符号的提示, lsmod发现B43依赖四个模块,晃然大悟:是不是RTL8188E模块依赖有问题??

8、解决:

查找依赖模块,反向逐个加载

modinfo rtl8188ee.ko

......

depands rtlwifi   ....    <======= rtl8188模块依赖rtlwifi,也就是必须先加载rtlwifi

再看上层目录的rtlwifi

modinfo rtlwifi.ko

.....

depans cfg80211 mac80211  <=========== 必须先启动:cfg80211 mac80211 这两模块

ok,查找这两模块位置:

find / -name mac80211.ko

find / -name cfg80211.ko

找到,分别在/lib/modules/3.2.11_cdl0/kernel/net/wireless

modinfo cfg80211.ko

/lib/modules/3.2.11_cdl0/kernel/net/mac80211

modinfo mac80211.ko

记不着这两个是哪一个依赖rfkill模块,

再查找rfkill模块:

find /  -name rfkill.ko

在这里 /lib/modules/3.2.11_cdl0/kernel/net/rfkill

查看 modinfo rfkill.ko .. 终于,它的depands后面跟的是空白,不再依赖任何模块

反向逐个加载:

cd /lib/modules/3.2.11_cdl0/kernel/net/rfkill

insmod rfkill.ko

cd /lib/modules/3.2.11_cdl0/kernel/net/wireless

insmod cfg80211.ko

cd /lib/modules/3.2.11_cdl0/kernel/net/mac80211

insmod mac80211.ko

无任何提示。。Linux好的象征

进入编译相关目录

insmod rtlwifi.ko

insmod rtl8188ee.ko

提示又有问题。。。找啊找,firmware/rtlwifi/rtl8188efw.bin 是搞什么用的???没明白,管它的,给它乱取个名:硬件特征

将硬件特征拷入/lib/firmware目录:

cp rtl8188efw.bin /lib/firmware/rtlwifi/

insmod rtl8188ee.ko

无任何提示。

ifconfig

哦买嘎,wlan0 出来了。。。。

ifconfig wlan0 up

9、将驱动集成到CDlinux

创建临时目录:mkdir /mnt/cdl_md

进入目录    :cd /mnt/cdl_md

解压        : unsquashfs base-cdl.md

生成 squashfs-root 目录

: cd lib/modules/3.2.11_cdl0/kernel/drivers/net/wireless/rtlwifi

删除rtlwifi下的所有文件及文件夹

将编译的 rtlwifi.ko 拷贝到此文件夹下

拷贝 rtl8188ee/rtl8188ee.ko 到 rtl8188ee 目录下

其它的rtl***.ko一样处理

拷贝 firmware 下的 rtlwifi 目录 到 lib/firmware/ 下

重新打回包:

mksquashfs squashfs-root base-cdl.md

ok,用base-cdl.md将光盘中的替换掉。

或者将那此译出来的文件按上边目录要求打包成一个.md文件,放入base-cdl.md同一目录中

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值