EG25-G: after coldboot no dhcp, after reboot dhcp works

I am running Android v 9 on an Asus Tinker Edge R.

Connectivity is LTE, via a Quectel EG25-G modem. Connectivity works, but only after a normal boot by writing “reboot” at the command line. More details on the problem:

When I start up the Asus Tinker Edge R by plugging in the power cord, i.e. do a ‘coldboot’, dhcp never starts and DNS is never set. Also, when I restart the unit by “am start -a android.intent.action.REBOOT” dhcp never starts.

When I do a normal boot of the system by “reboot”, dhcp starts and dns server adresses will be set.

I have checked that the ril-daemon is installed correctly and is running, LTE properties appear to be set correctly i.e. getprop gives:

[gsm.current.phone-type]: [1]
[gsm.defaultpdpcontext.active]: [true]
[gsm.network.type]: [LTE]
[gsm.operator.alpha]: [TELIA S Telia]
[gsm.operator.iso-country]: [se]
[gsm.operator.isroaming]: [false]
[gsm.operator.numeric]: [24001]
[gsm.sim.operator.alpha]: [Telia]
[gsm.sim.operator.iso-country]: [se]
[gsm.sim.operator.numeric]: [24001]
[gsm.sim.state]: [LOADED]
[gsm.version.baseband]: [EG25GGBR07A07M2G]
[gsm.version.ril-impl]: [Quectel_Android_RIL_Driver_V2.6.7]

What I have noticed is that when the unit boots succesfully, there is a DHCP answer in the logcat:

08-24 08:02:44.940   439   439 D DHCP    : ===== DHCP message:  
08-24 08:02:44.940   439   439 D DHCP    : op = BOOTREQUEST (1), htype = 1, hlen = 6, hops = 0  
08-24 08:02:44.940   439   439 D DHCP    : xid = 0x0b4b0000 secs = 0, flags = 0x8000 optlen = 14  
08-24 08:02:44.940   439   439 D DHCP    : ciaddr = 0.0.0.0  
08-24 08:02:44.940   439   439 D DHCP    : yiaddr = 0.0.0.0  
08-24 08:02:44.940   439   439 D DHCP    : siaddr = 0.0.0.0  
08-24 08:02:44.940   439   439 D DHCP    : giaddr = 0.0.0.0  
08-24 08:02:44.940   439   439 D DHCP    : chaddr = { 2a  36  b9  54  c5  fc }  
08-24 08:02:44.940   439   439 D DHCP    : sname = ''
08-24 08:02:44.940   439   439 D DHCP    : file = ''
08-24 08:02:44.940   439   439 D DHCP    : op 53 len 1 { 01 } discover  
08-24 08:02:44.940   439   439 D DHCP    : op 55 len 4 { 01  03  06  1c }

Following a ‘coldboot’, i.e. booting by plugging in the power cord, there is no response from dhcp. Neither does dhcp start after I enter “am start -a android.intent.action.REBOOT”. Only after normal command-line “reboot” does dhcp start.

Any help would be appreciated how I can trace this problem further. I really need the unit to be connected over LTE first time it is plugged in.

Dear Eric,
Thanks for your inquiry in Quectel forum.
For your issue, could you help to check whether you can stop and start ril-daemon manually after coldboot. Then you need to double check whether follow up our user guide to integrate Android ril driver. Thanks!
Quectel_Android_RIL_Driver_User_Guide_V1.9.pdf (663.4 KB)

Thank you for your swift reply.
After coldboot, getprop returns:

[init.svc.vendor.ril-daemon]: [running]

I type stop vendor.ril-daemon, and getprop returns:

[init.svc.vendor.ril-daemon]: [stopped]

I then type start vendor.ril-daemon, and getprop returns:

[init.svc.vendor.ril-daemon]: [running]

Ping still does not work, and no DNS has been set. I guess this alone does not restart a DHCP connection.

I have checked the user guide on how to integrate Android ril-driver. Everything works if I do a reboot, so I wonder if this is some trigger/timing issue in init.rc, i.e. the vendor.ril-daemon is started too early in the case of coldboot?

Dear Eric,
Normally, it should have no such issue no matter you reboot the module or cold boot. Could you help to try to start the DHCP manually before the RIL start in your system setting file.
If it is still have such issue, you may try to catch the module debug log and log cat, then send it to support@quectel.com. Thanks!

Hello, thank you for your swift answer.

After coldboot, no DNS is set, and when I do

ifconfig wwan0 up
busybox  udhcpc -f -n -q -t 5 -i wwan0

I get

Sending discover...
Sending discover...
Sending discover...
Sending discover...
Sending discover...
No lease, failing

Similar, after “reboot”, I do:

ifconfig wwan0 up
busybox  udhcpc -f -n -q -t 5 -i wwan0

and get

udhcpc (v1.22.1) started
Sending discover...
Sending select for 10.210.166.72...
Lease of 10.210.166.72 obtained, lease time 7200

I will send the debug log and log cat for the module to support@quectel.com, with the thread name as subject.

Thanks!