工程师您好!
因为功能需要,我们已经成功在ipnc解决方案中移植了usb wifi模块,现在想用usb wifi模块完全替代有线网卡的功能,使ipnc在不使用网线的情况下启动。
但是目前的ipnc在不插入网线的情况下是不能正常启动的,我猜测可能和启动脚本有关,所以想请教各位高手:
IPNC要在不插入网线的情况下正常启动,应该修改哪些地方?
万分感谢!!!
weidong yao:
回复 kooking:
thanks,kooking,又在论坛见到你了,很活跃哇D~
我后来发现ipnc在不插入网线的时候也可以完成启动,但是启动较慢,我正在查找原因,很感谢你提供的资料,对我帮助很大,谢谢!
kooking:
回复 weidong yao:
^ – ^,理论上不插入网线也是可以启动的,但是没有网络的时候,内核会有一个网络超时的检测,这个时间会相对长一些
weidong yao:
回复 kooking:
恩恩,我就是想缩短这个网络超时的时间,不知道你是否清楚修改这个时间的具体位置呢?
kooking:
回复 weidong yao:
比如对于dhcp:
kernel/net/ipv4/ipconfig.c
printk(KERN_NOTICE "Sending %s%s%s requests .", do_bootp ? ((ic_proto_enabled & IC_USE_DHCP) ? "DHCP" : "BOOTP") : "", (do_bootp && do_rarp) ? " and " : "", do_rarp ? "RARP" : "");
start_jiffies = jiffies; d = ic_first_dev; retries = CONF_SEND_RETRIES; get_random_bytes(&timeout, sizeof(timeout)); timeout = CONF_BASE_TIMEOUT + (timeout % (unsigned) CONF_TIMEOUT_RANDOM)
可以减小CONF_BASE_TIMEOUT 和 CONF_TIMEOUT_RANDOM两个宏
还有ic_dynamic(void)的int retries次数减少
weidong yao:
回复 kooking:
太感谢了,感觉你对这套代码了解的非常深入哇,佩服佩服~~~
kooking:
回复 weidong yao:
以前找过类似的,主要方法就是根据系统block时的kernel log关键字查找,这样就相对比较容易定位了