RM530N-GL on AOSP 10 (Kona) – RIL integration OK, but no network

Yes, /dev/cdc-wdm0 is present.

Please set
AT+QCFG="usbnet",0
and restart the module again.

After update and reboot i can see:

[   16.189598] usb 2-1.4: LPM exit latency is zeroed, disabling LPM.
[   16.190641] usb 2-1.4: New USB device found, idVendor=2c7c, idProduct=0801, bcdDevice= 5.04
[   16.190644] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   16.190647] usb 2-1.4: Product: RM520N-GL
[   16.190650] usb 2-1.4: Manufacturer: Quectel
[   16.190653] usb 2-1.4: SerialNumber: 7706f65d
[   16.211403] android_work: sent uevent USB_STATE=CONFIGURED
[   16.218064] ipa ipa3_cfg_ep_ctrl:4812 pipe setting delay is not supported
[   16.227975] ipa_usb_notify_cb: Set net_ready_trigger
[   16.228302] ipa_usb_notify_cb: Set net_ready_trigger
[   16.336626] option 2-1.4:1.0: GSM modem (1-port) converter detected
[   16.338165] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB0
[   16.338535] option 2-1.4:1.1: GSM modem (1-port) converter detected
[   16.338754] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB1
[   16.339110] option 2-1.4:1.2: GSM modem (1-port) converter detected
[   16.339339] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB2
[   16.339688] option 2-1.4:1.3: GSM modem (1-port) converter detected
[   16.339897] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB3
[   16.387801] qmi_wwan_q 2-1.4:1.4: cdc-wdm0: USB WDM device
[   16.388015] qmi_wwan_q 2-1.4:1.4: Quectel RM520N-GL work on RawIP mode
[   16.390385] qmi_wwan_q 2-1.4:1.4: rx_urb_size = 31744
[   16.390985] qmi_wwan_q 2-1.4:1.4 rmnet_wwan0: register 'qmi_wwan_q' at usb-xhci-hcd.0.auto-1.4, RMNET/USB device, 2a:99:29:ff:8d:8b
[   16.391500] net rmnet_wwan0: qmap_register_device rmnet_wwan0_1

and driver seems to be assigned correctly:

T:  Bus=02 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#=  4 Spd=5000 MxCh= 0
D:  Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=2c7c ProdID=0801 Rev= 5.04
S:  Manufacturer=Quectel
S:  Product=RM520N-GL
S:  SerialNumber=7706f65d
C:* #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=896mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
E:  Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=option
E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=87(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=86(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan_q
E:  Ad=88(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
E:  Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms

However ip link indicates wwan DOWN:

kona:/ # ip link
...
10: rmnet_ipa0: <> mtu 9216 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/[519]
12: rmnet_wwan0: <NO-CARRIER,NOARP,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether 2a:99:29:ff:8d:8b brd ff:ff:ff:ff:ff:ff
13: rmnet_wwan0_1: <NO-CARRIER,NOARP,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether 2a:99:29:ff:8d:8b brd ff:ff:ff:ff:ff:ff

and adapter has not assigned IP thus internet connection is still unavailable:

kona:/ # ifconfig
rmnet_wwan0 Link encap:Ethernet  HWaddr 2a:99:29:ff:8d:8b  Driver qmi_wwan_q
          UP NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 TX bytes:0

rmnet_wwan0_1 Link encap:Ethernet  HWaddr 2a:99:29:ff:8d:8b
          UP NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 TX bytes:0

From the radio log it seems that initialization fails on ERROR_DATA_SERVICE_SPECIFIC_ERROR with SetupResult.mFailCause=26.

09-17 13:01:50.079  1933  2141 D DC-C-2  : connect: carrier='T-MobileCZ' APN='internet.t-mobile.cz' proxy='' port='-1'
09-17 13:01:50.084  1933  2141 D DSM-C   : setupDataCall
09-17 13:01:50.086  1933  2212 D RILJ    : [0257]> SETUP_DATA_CALL,accessNetworkType=UNKNOWN,isRoaming=false,allowRoaming=true,DataProfile=-1/0/3/internet.t-mobile.cz///0/0/0/0/true/21/0/0/0/false/true,addresses=[],dnses=[] [SUB0]
09-17 13:01:50.086   999   999 D RIL_SERVICE_1_4: RadioImpl_1_4::setupDataCall_1_4: serial 257
09-17 13:01:50.086   999   999 D RIL_SERVICE_1_4: setupDataCall_1_4:301
09-17 13:01:50.086   999   999 D RILC    : onRequest: SETUP_DATA_CALL datalen=120
09-17 13:01:50.086   999   999 D RILC    : onRequest,7734 g_is_scan_ing = 0
09-17 13:01:50.086   999   999 D ATC     : AT> AT+CGDCONT?
09-17 13:01:50.087  1933  2178 D SubscriptionController: [getActiveSubscriptionInfo]+ subId=1 subInfo={id=1, iccId=8942001890318996640 simSlotIndex=0 carrierId=2394 displayName=T-Mobile carrierName=No service nameSource=0 iconTint=-16746133 mNumber= dataRoaming=1 iconBitmap=android.graphics.Bitmap@7474127 mcc 230 mnc 01mCountryIso=cz isEmbedded false nativeAccessRules null cardString=8942001890318996640F cardId=0 isOpportunistic false mGroupUUID=null mIsGroupDisabled=false profileClass=-1 ehplmns = null hplmns = null subscriptionType=0 mGroupOwner=null carrierConfigAccessRules=null}
09-17 13:01:50.087  1933  3598 D SubscriptionController: [getActiveSubscriptionInfo]+ subId=1 subInfo={id=1, iccId=8942001890318996640 simSlotIndex=0 carrierId=2394 displayName=T-Mobile carrierName=No service nameSource=0 iconTint=-16746133 mNumber= dataRoaming=1 iconBitmap=android.graphics.Bitmap@7474127 mcc 230 mnc 01mCountryIso=cz isEmbedded false nativeAccessRules null cardString=8942001890318996640F cardId=0 isOpportunistic false mGroupUUID=null mIsGroupDisabled=false profileClass=-1 ehplmns = null hplmns = null subscriptionType=0 mGroupOwner=null carrierConfigAccessRules=null}
09-17 13:01:50.089  1933  3598 D SubscriptionController: [getActiveSubscriptionInfo]+ subId=1 subInfo={id=1, iccId=8942001890318996640 simSlotIndex=0 carrierId=2394 displayName=T-Mobile carrierName=No service nameSource=0 iconTint=-16746133 mNumber= dataRoaming=1 iconBitmap=android.graphics.Bitmap@7474127 mcc 230 mnc 01mCountryIso=cz isEmbedded false nativeAccessRules null cardString=8942001890318996640F cardId=0 isOpportunistic false mGroupUUID=null mIsGroupDisabled=false profileClass=-1 ehplmns = null hplmns = null subscriptionType=0 mGroupOwner=null carrierConfigAccessRules=null}
09-17 13:01:50.091   999  3550 D ATC     : AT< +CGDCONT: 1,"IP","internet.t-mobile.cz","0.0.0.0",0,0,0,0,,,,,,,,,"",,,,0
09-17 13:01:50.091   999  3550 D ATC     : AT< +CGDCONT: 2,"IPV4V6","ims","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0,,,,,,,,,"",,,,0
09-17 13:01:50.091   999  3550 D ATC     : AT< +CGDCONT: 3,"IPV4V6","hos","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0,,,,,,,,,"",,,,0
09-17 13:01:50.091   999  3550 D ATC     : AT< +CGDCONT: 4,"IPV4V6","sos","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,1,,,,,,,,,"",,,,0
09-17 13:01:50.091   999  3550 D ATC     : AT< OK
09-17 13:01:50.091   999   999 D SETUP_DATA_CALL: s_default_pdp = 1
09-17 13:01:50.091   999   999 D SETUP_DATA_CALL: profile id = -1
09-17 13:01:50.091   999   999 D SETUP_DATA_CALL: pdp = 1
09-17 13:01:50.091   999   999 I SETUP_DATA_CALL: *************************************
09-17 13:01:50.091   999   999 I SETUP_DATA_CALL: USER:
09-17 13:01:50.091   999   999 I SETUP_DATA_CALL: PASS:
09-17 13:01:50.091   999   999 I SETUP_DATA_CALL: auth_type:(null)
09-17 13:01:50.091   999   999 I SETUP_DATA_CALL: pdp_type:IP
09-17 13:01:50.091   999   999 I SETUP_DATA_CALL: *************************************
09-17 13:01:50.091   999   999 D ATC     : AT> AT&D2
09-17 13:01:50.093   999  3550 D ATC     : AT< OK
09-17 13:01:50.093   999   999 D ATC     : AT> AT+QICSGP=1,1,"internet.t-mobile.cz","","",0;+QICSGP=1
09-17 13:01:50.107   999  3550 D ATC     : AT< +QICSGP: 1,"internet.t-mobile.cz","","",0
09-17 13:01:50.108   999  3550 D ATC     : AT< OK
09-17 13:01:50.108   999   999 D ATC     : AT> AT+CGDCONT?
09-17 13:01:50.110   999  3550 D ATC     : AT< +CGDCONT: 1,"IP","internet.t-mobile.cz","0.0.0.0",0,0,0,0,,,,,,,,,"",,,,0
09-17 13:01:50.110   999  3550 D ATC     : AT< +CGDCONT: 2,"IPV4V6","ims","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0,,,,,,,,,"",,,,0
09-17 13:01:50.110   999  3550 D ATC     : AT< +CGDCONT: 3,"IPV4V6","hos","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0,,,,,,,,,"",,,,0
09-17 13:01:50.110   999  3550 D ATC     : AT< +CGDCONT: 4,"IPV4V6","sos","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,1,,,,,,,,,"",,,,0
09-17 13:01:50.110   999  3550 D ATC     : AT< OK
09-17 13:01:50.110   999   999 D ATC     : AT> AT+CFUN?
09-17 13:01:50.111   999  3550 D ATC     : AT< +CFUN: 1
09-17 13:01:50.111   999  3550 D ATC     : AT< OK
09-17 13:01:50.111   999   999 D ATC     : AT> AT+COPS=3,2;+COPS?
09-17 13:01:50.112   999  3550 D ATC     : AT< +COPS: 1
09-17 13:01:50.112   999  3550 D ATC     : AT< OK
09-17 13:01:50.112   999   999 D ATC     : AT> AT+CGREG?
09-17 13:01:50.113   999  3550 D ATC     : AT< +CGREG: 2,0
09-17 13:01:50.113   999  3550 D ATC     : AT< OK
09-17 13:01:51.390   999  1265 D SIGNAL_STRENGTH: requestSignalStrength:720 iradio_version = 4
09-17 13:01:51.390   999  1265 D ATC     : AT> AT+QENG="servingcell"
09-17 13:01:51.395   999  3550 D ATC     : AT< +QENG: "servingcell","LIMSRV","LTE","FDD",232,05,1B75765,390,500,1,5,5,279F,-96,-12,-64,9,0,-,31
09-17 13:01:51.395   999  3550 D ATC     : AT< OK
09-17 13:01:51.396   999  1265 D ATC     : AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?
09-17 13:01:51.398   999  3550 D ATC     : AT< +COPS: 1
09-17 13:01:51.398   999  3550 D ATC     : AT< +COPS: 1
09-17 13:01:51.398   999  3550 D ATC     : AT< OK
09-17 13:01:51.398   999  1265 D CELL_INFO: parseServingCell_234G:711 LTE RSRP=-96
09-17 13:01:51.398   999  1265 D CELL_INFO: getServingCell_5G:755 count = 1
09-17 13:01:51.398   999  1265 D ATC     : AT> AT+CSQ
09-17 13:01:51.400   999  3550 D ATC     : AT< +CSQ: 24,99
09-17 13:01:51.400   999  3550 D ATC     : AT< OK
09-17 13:01:51.400   999  1265 D RADIO_1_4: getSignalStrength_1_4:571 LTE RSRP = -96 RSRQ = -12
09-17 13:01:51.401   999  1265 D RIL_SERVICE_1_4: currentSignalStrengthInd 1974
09-17 13:01:51.401   999  1265 D RIL_SERVICE_1_2: convertRilSignalStrengthToHal:637 LTE RSRP = -96 RSRQ = -12
09-17 13:01:51.401   999  1265 D RIL_SERVICE_1_4: convertRilSignalStrengthToHal:1647 NR SignalStrength: 2147483647 2147483647 2147483647
09-17 13:01:51.401   999  1265 D RIL_SERVICE_1_4: currentSignalStrengthInd:1986 NR SignalStrength: RSRP = 2147483647 RSRQ = 2147483647 SINR = 2147483647
09-17 13:01:51.401   999  1265 D RIL_SERVICE_1_4: currentSignalStrengthInd:1990 LTE SignalStrength: RSRP = -96 RSRQ = -12
09-17 13:01:51.401   999  1265 I RILC    : RIL_SOCKET_1 UNSOLICITED: UNSOL_SIGNAL_STRENGTH length:108
09-17 13:01:53.116   999   999 D RIL_SERVICE_1_1: networkStateChangedInd
09-17 13:01:53.116   999   999 I RILC    : RIL_SOCKET_1 UNSOLICITED: UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED length:0
09-17 13:01:53.116   999   999 E SETUP_DATA_CALL: Unable to setup PDP in setupDataCallFail
09-17 13:01:53.116   999   999 D RILC    : RequestComplete, RIL_SOCKET_1
09-17 13:01:53.116   999   999 E RILC    : Calling responseFunction() for token 257
09-17 13:01:53.116   999   999 D RIL_SERVICE_1_4: setupDataCallResponse: serial 257
09-17 13:01:53.118  1933  2035 D RILJ    : [UNSL]< UNSOL_RESPONSE_NETWORK_STATE_CHANGED [SUB0]
09-17 13:01:53.119  1933  2211 D NRM-C   : onNetworkStateChanged
09-17 13:01:53.119  1933  2260 D DataServiceCallback: onSetupDataCallComplete
09-17 13:01:53.119  1933  2035 D RILJ    : [0257]< SETUP_DATA_CALL DataCallResponse: { cause=26 retry=30000 cid=1 linkStatus=0 protocolType=0 ifname=ppp0 addresses=[] dnses=[] gateways=[] pcscf=[] mtu=0} [SUB0]
09-17 13:01:53.119  1933  2260 D DSM-C   : onSetupDataCallComplete. resultCode = 0, response = DataCallResponse: { cause=26 retry=30000 cid=1 linkStatus=0 protocolType=0 ifname=ppp0 addresses=[] dnses=[] gateways=[] pcscf=[] mtu=0}
09-17 13:01:53.120  1933  1933 D SST     : [0] pollState: modemTriggered=true
09-17 13:01:53.120  1933  2141 D DC-C-2  : DcActivatingState: msg={what=EVENT_SETUP_DATA_CONNECTION_DONE when=0 obj={mTag=20 mApnContext={mApnType=default mState=CONNECTING mWaitingApns={[[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1]} mApnSetting={[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1} mReason=dataEnabled mDataEnabled=true mDependencyMet=true} mProfileId=-1 mRat=0 mOnCompletedMsg={what=0x42000 when=-15m57s3ms obj=Pair{{mApnType=default mState=CONNECTING mWaitingApns={[[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1]} mApnSetting={[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1} mReason=dataEnabled mDataEnabled=true mDependencyMet=true} 20} target=Handler (com.android.internal.telephony.dataconnection.DcTracker) {51d4699} replyTo=null} mRequestType=NORMAL mSubId=1 mIsApnPreferred=true} target=Handler (com.android.internal.util.StateMachine$SmHandler) {ad7f5d} replyTo=null}
09-17 13:01:53.120  1933  2141 D DC-C-2  : onSetupConnectionCompleted: resultCode=0, response=DataCallResponse: { cause=26 retry=30000 cid=1 linkStatus=0 protocolType=0 ifname=ppp0 addresses=[] dnses=[] gateways=[] pcscf=[] mtu=0}
09-17 13:01:53.120  1933  2141 D DC-C-2  : EVENT_SETUP_DATA_CONNECTION_DONE, result: ERROR_DATA_SERVICE_SPECIFIC_ERROR  SetupResult.mFailCause=26, mFailCause: 26
09-17 13:01:53.121  1933  1933 D RILJ    : [0258]> OPERATOR [SUB0]
09-17 13:01:53.122   999   999 D RIL_SERVICE_1_1: getOperator: serial 258
09-17 13:01:53.122   999   999 D RILC    : onRequest: OPERATOR
09-17 13:01:53.122   999   999 D RILC    : onRequest,7734 g_is_scan_ing = 0
09-17 13:01:53.122   999   999 D ATC     : AT> AT+COPS=3,0;+COPS?;+COPS=3,1;+COPS?;+COPS=3,2;+COPS?
09-17 13:01:53.124  1933  2211 D RILJ    : [0259]> DATA_REGISTRATION_STATE [SUB0]
09-17 13:01:53.125  1933  2141 D DC-C-2  : updateLinkBandwidths: Unknown
09-17 13:01:53.126  1933  2141 D DC-C-2  : DcActivatingState onSetupConnectionCompleted result=ERROR_DATA_SERVICE_SPECIFIC_ERROR  SetupResult.mFailCause=26 dc={DC-C-2: State=DcActivatingState mApnSetting=[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1 RefCount=1 mCid=-1 mCreateTime=-1 mLastastFailTime=-1 mLastFailCause=0 mTag=20 mLinkProperties={LinkAddresses: [ ] DnsAddresses: [ ] Domains: null MTU: 0 Routes: [ ]} linkCapabilities=[ Transports: CELLULAR Capabilities: SUPL&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&NOT_ROAMING&NOT_CONGESTED LinkUpBandwidth>=14Kbps LinkDnBandwidth>=14Kbps Specifier: <1>] mRestrictedNetworkOverride=false mApnContexts={{mApnType=default mState=CONNECTING mWaitingApns={[[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1]} mApnSetting={[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1} mReason=dataEnabled mDataEnabled=true mDependencyMet=true}={mTag=20 mApnContext={mApnType=default mState=CONNECTING mWaitingApns={[[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1]} mApnSetting={[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1} mReason=dataEnabled mDataEnabled=true mDependencyMet=true} mProfileId=-1 mRat=0 mOnCompletedMsg={what=0x42000 when=-15m57s8ms obj=Pair{{mApnType=default mState=CONNECTING mWaitingApns={[[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1]} mApnSetting={[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1} mReason=dataEnabled mDataEnabled=true mDependencyMet=true} 20} target=Handler (com.android.internal.telephony.dataconnection.DcTracker) {51d4699} replyTo=null} mRequestType=NORMAL mSubId=1 mIsApnPreferred=true}}}
09-17 13:01:53.127   999  3550 D ATC     : AT< +COPS: 1
09-17 13:01:53.127   999  3550 I chatty  : uid=0(root) /vendor/bin/hw/rild identical 1 line
09-17 13:01:53.127   999  3550 D ATC     : AT< +COPS: 1
09-17 13:01:53.127   999  3550 D ATC     : AT< OK
09-17 13:01:53.127  1933  2211 D RILJ    : [0261]> VOICE_REGISTRATION_STATE [SUB0]
09-17 13:01:53.127   999   999 D RILC    : RequestComplete, RIL_SOCKET_1
09-17 13:01:53.127   999   999 E RILC    : Calling responseFunction() for token 258
09-17 13:01:53.127   999   999 D RIL_SERVICE_1_1: getOperatorResponse: serial 258
09-17 13:01:53.127   999   999 D RIL_SERVICE_1_4: RadioImpl_1_4::getDataRegistrationState: serial 259
09-17 13:01:53.127   999   999 D RILC    : onRequest: DATA_REGISTRATION_STATE datalen=4
09-17 13:01:53.127   999   999 D RILC    : onRequest,7734 g_is_scan_ing = 0
09-17 13:01:53.127   999   999 D RILC    : onRequest_1_1 6600
09-17 13:01:53.127   999   999 D REGISTRATION_STATE: getDataRegistrationState 301 version = 4
09-17 13:01:53.127   999   999 D REGISTRATION_STATE: try to get data registration state
09-17 13:01:53.127   999   999 D ATC     : AT> AT+C5GREG?
09-17 13:01:53.128  1933  2035 D RILJ    : [0258]< OPERATOR {, , } [SUB0]
09-17 13:01:53.128  1933  2141 D DC-C-2  : DcActivatingState: ERROR_DATA_SERVICE_SPECIFIC_ERROR  delay=30000 result=ERROR_DATA_SERVICE_SPECIFIC_ERROR  SetupResult.mFailCause=26 result.isRadioRestartFailure=false isPermanentFailure=false
09-17 13:01:53.128  1933  2141 D DC-C-2  : DataConnection: isPdpRejectCauseFailureHandled()
09-17 13:01:53.128  1933  2141 D DC-C-2  : DcInactiveState: setEnterNotificationParams cp,cause
09-17 13:01:53.128  1933  2141 D DC-C-2  : DcInactiveState: enter() mTag=21
09-17 13:01:53.129  1933  2141 D DC-C-2  : DcInactiveState: enter notifyConnectCompleted +ALL failCause=26
09-17 13:01:53.129  1933  2141 D DC-C-2  : notifyConnectCompleted at 1758106913129 cause=26 connectionCompletedMsg={what=0x42000 when=-15m57s12ms arg1=-1 arg2=1 obj=android.os.AsyncResult@65ad6b8 target=Handler (com.android.internal.telephony.dataconnection.DcTracker) {51d4699} replyTo=null}
09-17 13:01:53.129  1933  2141 D DC-C-2  : Send to all. {mApnType=default mState=CONNECTING mWaitingApns={[[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1]} mApnSetting={[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1} mReason=dataEnabled mDataEnabled=true mDependencyMet=true} INSUFFICIENT_RESOURCES
09-17 13:01:53.130  1933  2141 D DC-C-2  : updateLinkBandwidths: Unknown
09-17 13:01:53.131  1933  2141 D Dcc-C   : removeActiveDcByCid removedDc=null dc={DC-C-2: State=DcInactiveState mApnSetting=[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1 RefCount=1 mCid=-1 mCreateTime=-1 mLastastFailTime=1758106913129 mLastFailCause=26 mTag=21 mLinkProperties={LinkAddresses: [ ] DnsAddresses: [ ] Domains: null MTU: 0 Routes: [ ]} linkCapabilities=[ Transports: CELLULAR Capabilities: SUPL&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&NOT_ROAMING&NOT_CONGESTED LinkUpBandwidth>=14Kbps LinkDnBandwidth>=14Kbps Specifier: <1>] mRestrictedNetworkOverride=false mApnContexts={{mApnType=default mState=CONNECTING mWaitingApns={[[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1]} mApnSetting={[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1} mReason=dataEnabled mDataEnabled=true mDependencyMet=true}={mTag=20 mApnContext={mApnType=default mState=CONNECTING mWaitingApns={[[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1]} mApnSetting={[ApnSettingV7] T-MobileCZ, 249, 23001, internet.t-mobile.cz, , null, , null, null, 3, supl | hipri | default, IP, IP, true, 0, false, 0, 0, 0, 0, null, , false, 0, 0, -1, -1} mReason=dataEnabled mDataEnabled=true mDependencyMet=true} mProfileId=-1 mRat=0 mOnCompletedMsg=null mRequestType=NORMAL mSubId=1 mIsApnPreferred=true}}}
09-17 13:01:53.131  1933  2141 D DC-C-2  : DcInactiveState: clearing settings
09-17 13:01:53.131  1933  2141 D DC-C-2  : clearSettings
09-17 13:01:53.133  1933  1933 D RILJ    : [0260]> QUERY_NETWORK_SELECTION_MODE [SUB0]
09-17 13:01:53.133  1933  1933 D DCT-C   : onDataSetupComplete: error apn=internet.t-mobile.cz, cause=26, requestType=NORMAL
09-17 13:01:53.137  1933  1933 D RetryManager: [default] getRetryTimer: 84078
09-17 13:01:53.137  1933  1933 D DCT-C   : onDataSetupCompleteError: Try next APN. delay = 84078

It means not registerred at all.

  • Applied quectel driver Quectel_Android_RIL_Driver_radio1.4_V3.7
  • Modem is set to AT+QCFG="usbnet",0 and drivers are present, but AOSP still try to init ppp which fails. Are there other settings to check/update?
  • SIM checked with mobile phone and both registration and data works ok. APN settings are the same as on mobile phone but initialization still fails with " ERROR_DATA_SERVICE_SPECIFIC_ERROR with SetupResult.mFailCause=26."
  • signal update in AOSP UI is not displaied correctly

Do you have any suggestions on what else could be causing setup fail, or how I could debug it further?

logcat_all_25.9.txt (749.8 KB)

From further observation it seems, that Quectel_Android_RIL_Driver_V3.6.24_master_Release_20231211_10_47 is best choice for our configuration. SIM, operator info, signal strength are correct and the device is in service, but the mobile network state stays disconnected.

Even with AT+QCFG="usbnet",0 (RawIP / QMI mode detected: qmi_wwan_q 2-1.4:1.4), RIL still falls back to PPP connection, which fails.

From logs it seems PPP is always selected instead of QMI. Could you please clarify:

  • What triggers the PPP fallback?
  • How to force QMI / raw IP mode connection instead?

System: AOSP 10 / Kona / RM530N-GL (kernel 4.19)

Thanks for any hints!

It is still using the ppp and failed.
Any logs about that you have deployed the qmi_wwan_q?

Driver should be ok:

[   16.728414] usb 2-1.4: new SuperSpeed Gen 1 USB device number 4 using xhci-hcd
[   16.746369] usb 2-1.4: LPM exit latency is zeroed, disabling LPM.
[   16.747224] usb 2-1.4: New USB device found, idVendor=2c7c, idProduct=0801, bcdDevice= 5.04
[   16.747228] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   16.747231] usb 2-1.4: Product: RM520N-GL
[   16.747235] usb 2-1.4: Manufacturer: Quectel
[   16.747237] usb 2-1.4: SerialNumber: 7706f65d
[   16.918013] option 2-1.4:1.0: GSM modem (1-port) converter detected
[   16.918305] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB0
[   16.918674] option 2-1.4:1.1: GSM modem (1-port) converter detected
[   16.918925] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB1
[   16.919274] option 2-1.4:1.2: GSM modem (1-port) converter detected
[   16.919492] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB2
[   16.919834] option 2-1.4:1.3: GSM modem (1-port) converter detected
[   16.920056] usb 2-1.4: GSM modem (1-port) converter now attached to ttyUSB3
[   16.974838] qmi_wwan_q 2-1.4:1.4: cdc-wdm0: USB WDM device
[   16.975126] qmi_wwan_q 2-1.4:1.4: Quectel RM520N-GL work on RawIP mode
[   16.999034] qmi_wwan_q 2-1.4:1.4: rx_urb_size = 31744
[   16.999895] qmi_wwan_q 2-1.4:1.4 rmnet_wwan0: register 'qmi_wwan_q' at usb-xhci-hcd.0.auto-1.4, RMNET/USB device, 32:c9:35:40:66:c7
[   17.000478] net rmnet_wwan0: qmap_register_device rmnet_wwan0_1
[   20.385790] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   20.387816] IPv6: ADDRCONF(NETDEV_UP): rmnet_wwan0: link is not ready
[   20.388728] IPv6: ADDRCONF(NETDEV_UP): rmnet_wwan0_1: link is not ready
T:  Bus=02 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#=  4 Spd=5000 MxCh= 0
D:  Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=2c7c ProdID=0801 Rev= 5.04
S:  Manufacturer=Quectel
S:  Product=RM520N-GL
S:  SerialNumber=7706f65d
C:* #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=896mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
E:  Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=option
E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=87(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=86(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan_q
E:  Ad=88(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
E:  Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms

it seems, that pppd always starts when AT^DATAMODE fails with error, but maybe it’s just coincidence.

10-14 15:36:12.653 9555 9555 D REGISTRATION_STATE: 0,2,23001,13
10-14 15:36:12.653 9555 9555 D REGISTRATION_STATE: cops find network is NSA not lte …
10-14 15:36:12.653 9555 9555 D SETUP_DATA_CALL: requesting data connection to APN ‘internet.t-mobile.cz’!
10-14 15:36:12.653 9555 9555 D ATC : AT> AT^DATAMODE
10-14 15:36:12.655 9555 9980 D ATC : AT< ERROR
10-14 15:36:12.656 9555 10612 D PPPD : pppd_thread_function /wap/wap/1/99**1# enter
10-14 15:36:12.658 9555 10612 D PPPD : chat → AT
10-14 15:36:12.760 9555 10612 D PPPD : chat 6 ←
10-14 15:36:12.760 9555 10612 D PPPD : OK

In RNDIS mode (AT+QCFG="usbnet",3), the eth1 network interface is properly created and obtains configuration (Internet connection works fine), but RIL fails to initialize. Additionally, the Ethernet interface seems to block Wi-Fi adapters.

eth1      Link encap:Ethernet  HWaddr e0:2e:2b:b6:e6:a3  Driver rndis_host
          inet addr:192.168.225.166  Bcast:192.168.227.255  Mask:255.255.252.0
          inet6 addr: fe80::210f:1199:a2ac:b2f1/64 Scope: Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:69 errors:0 dropped:0 overruns:0 frame:0
          TX packets:62 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4789 TX bytes:8095

If you are using the qmi_wwan_q, can you see the /dev/cdc-wdm0.
Maybe you can try the new version Quectel RIL.

RNDIS is not recommended to be used on Android.
The interface will be treated as the Ethernet but not cellular network.

So far, it seems the issue originates within the RIL driver. When the modem is configured using quectel-CM, both the IP address and DNS are successfully initialized (see attached log). After configuration, kernel-level ping works correctly, confirming that the interface is active. However, internet access remains unavailable for applications in AOSP.

The RIL driver consistently falls back to PPP mode, which then fails with error 26 (refer to earlier log messages).

Could you please advise what steps are recommended to enable internet connectivity at the application level in AOSP? Is there any additional configuration needed to inform the Android framework that the interface is up and usable? Would it help to use a newer version of quectel-CM/RIL driver, or are there known patches or workarounds for this issue?

Any guidance on how to properly integrate externally configured modem connections with the AOSP connectivity stack would be greatly appreciated.

kona:/ # quectel-CM -s internet.t-mobile.cz
[10-06_18:29:42:554] QConnectManager_Linux_V1.6.8
[10-06_18:29:42:562] Find /sys/bus/usb/devices/2-1.4 idVendor=0x2c7c idProduct=0x801, bus=0x002, dev=0x004
[10-06_18:29:42:562] Auto find qmichannel = /dev/cdc-wdm0
[10-06_18:29:42:562] Auto find usbnet_adapter = rmnet_wwan0
[10-06_18:29:42:563] netcard driver = qmi_wwan_q, driver version = V1.2.7
[10-06_18:29:42:563] qmap_mode = 1, qmap_version = 9, qmap_size = 31744, muxid = 0x81, qmap_netcard = rmnet_wwan0_1
[10-06_18:29:42:563] Modem works in QMI mode
[10-06_18:29:42:599] cdc_wdm_fd = 7
[10-06_18:29:42:698] Get clientWDS = 15
[10-06_18:29:42:730] Get clientDMS = 1
[10-06_18:29:42:762] Get clientNAS = 3
[10-06_18:29:42:794] Get clientUIM = 2
[10-06_18:29:42:826] Get clientWDA = 1
[10-06_18:29:42:859] requestBaseBandVersion RM520NGLAAR03A03M4G
[10-06_18:29:42:890] qmap_settings.rx_urb_size = 31744
[10-06_18:29:42:890] qmap_settings.ul_data_aggregation_max_datagrams  = 11
[10-06_18:29:42:890] qmap_settings.ul_data_aggregation_max_size       = 8192
[10-06_18:29:42:890] qmap_settings.dl_minimum_padding                 = 0
[10-06_18:29:43:018] requestGetSIMStatus SIMStatus: SIM_READY
[10-06_18:29:43:082] requestGetProfile[pdp:1 index:1] internet.t-mobile.cz/wap/wap/3/IPV4
[10-06_18:29:43:082] requestSetProfile[pdp:1 index:1] internet.t-mobile.cz///0/IPV4
[10-06_18:29:43:178] requestRegistrationState2 MCC: 230, MNC: 1, PS: Attached, DataCap: 5G_NSA
[10-06_18:29:43:210] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[10-06_18:29:43:211] ip link set dev rmnet_wwan0 down
[10-06_18:29:43:247] ip addr flush dev rmnet_wwan0_1
[10-06_18:29:43:263] ip link set dev rmnet_wwan0_1 down
[10-06_18:29:43:306] requestSetupDataCall WdsConnectionIPv4Handle: 0xe2814730
[10-06_18:29:43:435] ip link set dev rmnet_wwan0 up
[10-06_18:29:43:474] ip link set dev rmnet_wwan0_1 up
[10-06_18:29:43:501] udhcpc_thread_function -> busybox udhcpc -f -n -q -t 5 -i rmnet_wwan0_1
[10-06_18:29:43:511] udhcpc (v1.21.1) started
[10-06_18:29:43:512] Sending discover...
[10-06_18:29:43:516] Sending select for 10.7.102.143...
[10-06_18:29:43:522] Lease of 10.7.102.143 obtained, lease time 7200
[10-06_18:29:43:523] update_ip_address_by_qmi  rmnet_wwan0_1 -> IPv4: 62.141.16.177, DNS: 62.141.16.177
[10-06_18:29:43:523] ip -4 address flush dev rmnet_wwan0_1
[10-06_18:29:43:545] ip -4 address add 10.7.102.143/27 dev rmnet_wwan0_1
[10-06_18:29:43:563] ip -4 route add default via 10.7.102.144 dev rmnet_wwan0_1
[10-06_18:29:43:580] nameserver 62.141.16.177 # IPV4 rmnet_wwan0_1
[10-06_18:29:43:580] nameserver 62.141.16.150 # IPV4 rmnet_wwan0_1
[10-06_18:29:43:610] Route items found for rmnet_wwan0_1
[10-06_18:33:30:410] requestRegistrationState2 MCC: 230, MNC: 1, PS: Attached, DataCap: 5G_NSA
[10-06_18:33:44:138] requestRegistrationState2 MCC: 230, MNC: 1, PS: Attached, DataCap: 5G_NSA