当前位置: 技术问答>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,请问该如何恢复原状?
/*在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
whoonline()
你们是什么公司呀,我前段时间也做过类似的东东,不过我感觉我们做的比你们好多了
是模块方式的,不需修改驱动,只是增加一个新模块即可,很方便。可以对指定的IP地址实现过滤、加解、丢包等操作,可以正常上网。测试后正常使用。
如果有什么问题或想合作的话,请与我联系。
xujianlong1980@163.com
|
你还在什么地方修改过?把修改过的地方去都写出来。