2016-10-05 57 views
0

我目前正在使用我想要智能连接到互联网的自定义内置计算机运行。Wifi和以太网之间的Yocto Linux智能IP路由

它具有WiFi和以太网连接,但都是间歇性的。当我的设置接入点附近有WiFi时,可以使用WiFi,但以太网插入一个蜂窝调制解调器,有时在死区失去连接。

当我尝试通过我的软件访问互联网时,即使eth0没有互联网但是wlan0,它总是选择eth0。 Yocto/Linux能够检测哪个接口可以连接到互联网并使用该接口吗?基本上,我希望它自动选择互联网的其他接口是它首先尝试的接口无法提供连接。

目前,我目前的解决方案是让我的软件定期编辑路由表中的默认路由,尝试Ping,如果成功,则使用该路由。但我正在寻找一种基于OS的解决方案,或其他更简单的解决方案。

谢谢您的时间,我将根据要求编辑问题并加以澄清。

回答

0

也许cat /sys/class/net/eth0/operstate可以帮到你吗?

你可以检查你的任何接口。

+0

不幸的是,这只告诉我接口是否启动,而不是它是否可以上网。进行测试,我断开连接的单元调制解调器中的SIM卡。 operstate已经启动了,但我无法ping通。 – user3169698

+0

'ip link list'(默认门)或'netstat -rn'怎么办? – aring

+0

我不是100%确定要在ip链接列表中查找什么,但netstat只是给出了路由的结果,不管连接状态如何,结果都是一样的。 – user3169698