2019-07-27, 21:42
(2019-07-27, 19:40)Milhouse Wrote: It's implemented using the "ConnMan" command/usr/sbin/connmand-wait-online --timeout=30
, here.
It waits until the network state (see:connmanctl state
) becomesready
oronline
.
Per the ConnMan README, it *sounds* like READY is LINK_STATE and ONLINE is well... FULLY Online (able to resolve and open HTTP to DNS NAME).
I'm not a programmer and C makes my head hurt, so I say the above based on the README and am likely not 100% correct. I understand the need to continue on READY based on 'captive portal' situations (DNS redirect and the like), so would adding a quick IP check like the following be bad idea?
Code:
ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'
Code:
Online check
============
ConnMan tries to detect if it has Internet connection or not when
a service is connected. If the online check succeeds the service
enters Online state, if not it stays in Ready state. The online
check is also used to detect whether ConnMan is behind a captive
portal like when you are in hotel and need to pay for connectivity.