This doesn't seem to be easily reproducible, which strengthens the theory that this is a race condition between rild and Network Manager.
When the mobile data connection is active, and WiFi connected, the main routing table looks like this:
# ip route show
default via <address> dev wlanX proto static
<address> dev ccmni0 proto static scope link
<address> dev wlanX proto kernel scope link src <address> metric 9
When WiFi is disabled, it looks like this:
# ip route show
default via <address> dev ccmni0 proto static
<address> dev ccmni0 proto static scope link
Note, rild and Network Manager use a different proto value when adding routes ( static vs. kernel ).
This doesn't seem to be easily reproducible, which strengthens the theory that this is a race condition between rild and Network Manager.
When the mobile data connection is active, and WiFi connected, the main routing table looks like this:
# ip route show
default via <address> dev wlanX proto static
<address> dev ccmni0 proto static scope link
<address> dev wlanX proto kernel scope link src <address> metric 9
When WiFi is disabled, it looks like this:
# ip route show
default via <address> dev ccmni0 proto static
<address> dev ccmni0 proto static scope link
Note, rild and Network Manager use a different proto value when adding routes ( static vs. kernel ).