您的位置:首页 > 其它

3G注册eth属性改成USB

2017-11-14 16:45 567 查看
遇到一个比较坑的问题,在4418调试过程中,我插上3G模块(华为)之后可以使用3G网络,但是一并插上网线,怎么都ping不通,以太网不能正常使用,但是我把3G模块拆掉之后以太网正常。我在用另一款3G模块(非华为)插上之后既能使用3G也能使用以太网。这就很尴尬,最后知道我的华为模块插上之后自动注册成eth节点,并非所有模块都是注册成eth模式,例如刚刚另一个模块就是注册成了ppp0节点。那么来看看怎样去修改。

修改:/kernel/drivers/net/usb/cdc_ether.c

static const struct driver_info cdc_info = {
.description = "CDC Ethernet Device",
.flags = FLAG_ETHER | FLAG_POINTTOPOING, //eth节点和ppp节点
// .check_connect = cdc_check_connect,
.bind = cdc_bind,
.unbind = usbnet_cdc_unbind,
.status = cdc_status,
};
可以看到我们注册只有这两个节点,华为厂商的模块就注册成了eth节点,以太网也是eth节点引起冲突不能合并使用,那我们都把它们注册成usb0节点就可以使用。
static const struct driver_info cdc_info = {
.description = "CDC Ethernet Device",
.flags = FALG_FRAMING_RN, //usb节点
// .check_connect = cdc_check_connect,
.bind = cdc_bind,
.unbind = usbnet_cdc_unbind,
.status = cdc_status,
};
重新编译kernel烧录进去就正常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Ethernet 3g