当前位置:  技术问答>linux和unix

关于修改网卡驱动8139too.c的问题

    来源: 互联网  发布时间:2015-04-02

    本文导语:  我最近接到一个项目,要求修改网卡驱动8139too.c,使之能够对发送的数据加密,在接受时又可以对数据解密。于是我如下修改: /*在8139too.c中*/ #define WHO_KEY 0xff my_key(struct sk_buff* skb){ int i; for(i=0;ilen;i++){ *(skb->data+...

我最近接到一个项目,要求修改网卡驱动8139too.c,使之能够对发送的数据加密,在接受时又可以对数据解密。于是我如下修改:
/*在8139too.c中*/
#define WHO_KEY 0xff

my_key(struct sk_buff* skb){
int i;
for(i=0;ilen;i++){
*(skb->data+i)=*(skb->data+i)^WHO_KEY;
}
}

static int rtl8139_start_xmit (struct sk_buff *skb, struct net_device *dev)
{
...
my_key(skb);
skb_copy_and_csum_dev(skb, tp->tx_buf[entry]);
...
}

static void rtl8139_rx_interrupt (struct net_device *dev,
  struct rtl8139_private *tp, void *ioaddr)
{
...
my_key(skb);
netif_rx (skb);
...
}
把他编译后得到8139too.o,然后在两台电脑上分别替换/lib/modules/2.4.18-3/kernel/driver/net/8139too.o,重启后在开机时检查eht0是FAIL,进入Linux后用insmod加载mii.o和8139too.o。但这两台电脑此时不能上网,不能相互通信。
请问该如何修改8139too.c?
另外,我即使把原来的8139too.o放回原位,每次Linux开机自检时eth0都是FAIL,请问该如何恢复原状?

|
先把这个函数static void rtl8139_rx_interrupt (struct net_device *dev,struct rtl8139_private *tp, void *ioaddr)中修改的地方改回来再看看还能不能初始化网卡。以前我在这个函数中修改了一点点就让我的机器罢工了。先定位问题。

|
To:
whoonline() 

你们是什么公司呀,我前段时间也做过类似的东东,不过我感觉我们做的比你们好多了
是模块方式的,不需修改驱动,只是增加一个新模块即可,很方便。可以对指定的IP地址实现过滤、加解、丢包等操作,可以正常上网。测试后正常使用。

如果有什么问题或想合作的话,请与我联系。
xujianlong1980@163.com

|
你还在什么地方修改过?把修改过的地方去都写出来。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 驱动程序是否需要修改呢?帮顶有分
  • 初学者,修改驱动问题。
  • 驱动版本的修改
  • SD驱动应该如何修改才能支持两个相同的SD控制器?
  • linux2.6.8下移植SPI驱动都需要修改哪些文件
  • 请教:修改Linux内核时,需要调用驱动程序的函数,头文件也包含了,但是编译时候说头文件找不到!
  • SD卡的驱动只能支持读写2GB的卡,如果要读写更大容量,该修改什么地方?
  • 如何修改linux系统自带mtd驱动的情况下支持2G nandflash
  • LILO怎么启动系统的?/etc/lilo.conf文件该怎么修改?我看LINUX中的问题好象除了LILO外,就是驱动程序了。
  • 修改Windows硬盘分区名称
  • unix 下 C++实现 ftp 到另一台主机上 修改文件内容 !能不能直接在主机上修改 还是只能get下来本地修改完后 在put上去
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 高手帮帮忙!!! 在线等!!outlook的附件修改且保存后,再次打开发现是修改之前的原件
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 修改ip地址的话应该修改/ect下哪个文件里的内容?
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • 原密码被人恶意修改,如何修改suse系统的超级用户密码(急)
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 有什么命令可以修改整个目录下文件的最后修改时间?
  • 通过docker commit命令保存对docker容器的修改
  • 请教一下,如何修改ubuntu命令,使其可以直接修改kvm虚拟机配置
  • linux/Centos/ubuntu下如何使用umask命令修改新建文件时的默认权限
  • shell 程序监控网站网页是否被修改,如果被修改停止服务器的运行?
  • 如何修改linux系统自带mtd驱动的情况下支持2G nandflash iis7站长之家
  • 请教下关于root密码忘记了怎么修改(除了去现场单用户修改)
  • [fedora]下怎么修改MAC地址,并且要重新动的时候还是修改后的值。
  • 哪个DOS命令可以修改指定文件的时间(修改时间)?
  • ◆◆◆◆遇到这样一个问题,请帮忙修改修改.
  • 本来可以修改skb里tcp数据的,突然不能修改了,为什么?
  • 急,请问如何修改网络接口eth为其它名称,如网络接口为abc0, abc1,要修改哪个配置文件?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3