Hi there,
I am trying to implement the MC7455 into Android 5.1.1 with Linux Kernel 3.4.0-g039ba5c-00051-gdd8f2f16-dirty, using the AndroidRIL_V5.1.9_ARM_5.1_V1.0_bin.
I have a problem getting an IP address for the wwan0 interface.
I started by integrating the bins, librarys and drivers, which are present at the android-board.
root@msm8960:/system/bin # ll | grep -e Sierra -e swi -e Download -e slq -e ‘init.’
-rwxr-xr-x root shell 922816 2019-06-14 14:44 DownloadTool
-rwxr-xr-x root shell 13556 2019-06-14 14:44 SierraDMLog
-rwxr-xr-x root shell 17768 2019-06-14 14:44 SierraFwDl7xxx
-rwxr-xr-x root shell 30340 2019-06-14 14:44 SierraImgMgr
-rwxr-xr-x root shell 5368 2019-06-14 14:44 SierraSARTool
-rwxr-xr-x root shell 357 2019-06-14 14:44 init.config.ip
-rwxr-xr-x root shell 294 2019-06-14 14:44 init.dhcpcd
-rwxr-xr-x root shell 84972 2019-06-14 14:44 slqssdk
-rwxr-xr-x root shell 13720 2019-06-14 14:44 swifwdnld
-rwxr-xr-x root shell 9512 2019-06-14 14:44 swihltrace
-rwxr-xr-x root shell 50696 2019-06-14 14:44 swisdk
root@msm8960:/system/lib # ll | grep -e libsierra -e libswi
-rw-r–r-- root root 204184 2019-06-14 14:44 libsierra-ril.so
-rw-r–r-- root root 93536 2019-06-14 14:44 libsierraat-ril.so
-rw-r–r-- root root 97704 2019-06-14 14:44 libsierrahl-ril.so
-rw-r–r-- root root 13568 2019-06-14 14:44 libswims.so
-rw-r–r-- root root 347028 2019-06-14 14:44 libswiqmiapi.so
-rw-r–r-- root root 152876 2019-06-14 14:44 libswisdkapi.so
root@msm8960:/system/lib/hw # ll | grep -e libswi
-rw-r–r-- root root 26164 2019-06-14 14:44 libswigpsat.so
-rw-r–r-- root root 26164 2019-06-14 14:44 libswigpsqmi.so
The drivers seem to work quite well, as I get the devices and by analysing the kernel messages.
shell@msm8960:/dev # ll /dev/ttyUSB *
crw-rw---- radio radio 188, 0 2019-06-17 14:28 ttyUSB0
crw-rw---- radio radio 188, 1 2019-06-17 14:28 ttyUSB1
crw-rw---- radio radio 188, 2 2019-06-17 14:28 ttyUSB2
crw-rw---- radio radio 188, 3 2019-06-17 13:35 ttyUSB3
shell@msm8960:/dev # ll /dev/qcqmi *
crw-rw---- radio radio 231, 0 2019-06-17 15:28 qcqmi0
shell@msm8960:/dev # ll /dev/ttyAC *
/dev/ttyAC: No such file or directory*
(the last one seems to be fine, because I don’t have a HT Module (?))
shell@msm8960:/ # dmesg | grep -i -e gobi -e sierra
<6>[ 7.801452] usb 2-1.3: Product: Sierra Wireless EM7455 Qualcomm® Snapdragon™ X7 LTE-A
<6>[ 7.809570] usb 2-1.3: Manufacturer: Sierra Wireless, Incorporated
<6>[ 11.686859] usbcore: registered new interface driver sierra
<6>[ 11.691467] USB Serial support registered for Sierra USB modem
<7>[ 11.704925] usb 2-1.3: sierra_probe
<3>[ 11.704925] sierra_probe
<7>[ 11.704925] usb 2-1.3: sierra_calc_num_ports
<6>[ 11.704956] sierra 2-1.3:1.0: Sierra USB modem converter detected
<7>[ 11.704956] usb 2-1.3: sierra_startup
<6>[ 11.706909] usb 2-1.3: Sierra USB modem converter now attached to ttyUSB1
<7>[ 11.707000] usb 2-1.3: sierra_probe
<3>[ 11.707000] sierra_probe
<7>[ 11.707000] usb 2-1.3: sierra_calc_num_ports
<6>[ 11.707031] sierra 2-1.3:1.2: Sierra USB modem converter detected
<7>[ 11.707031] usb 2-1.3: sierra_startup
<6>[ 11.708709] usb 2-1.3: Sierra USB modem converter now attached to ttyUSB2
<7>[ 11.708801] usb 2-1.3: sierra_probe
<3>[ 11.708831] sierra_probe
<7>[ 11.708831] usb 2-1.3: sierra_calc_num_ports
<6>[ 11.708831] sierra 2-1.3:1.3: Sierra USB modem converter detected
<7>[ 11.708862] usb 2-1.3: sierra_startup
<6>[ 11.710540] usb 2-1.3: Sierra USB modem converter now attached to ttyUSB3
<7>[ 11.710632] usb 2-1.3: sierra_probe
<3>[ 11.710632] sierra_probe
<6>[ 11.710662] sierra: v.1.7.42_android_generic_2:USB Driver for Sierra Wireless USB modems
<6>[ 11.799133] GobiNet: 2015-10-05/SWI_2.34_android
<6>[ 11.817993] GobiNet 2-1.3:1.8: wwan0: register ‘GobiNet’ at usb-msm_ehci_host.1-1.3, GobiNet Ethernet Device, ee:0c:25:c9:1f:cc
<6>[ 17.014495] usbcore: registered new interface driver GobiNet
The sierra ril deamon runs and seems to use the right library, the one of sierra.
shell@msm8960:/ # ps | grep ril
radio 3337 1 10948 1512 ffffffff b6f49688 S /system/bin/rild
shell@msm8960:/ # cat /proc/3337/cmdline
/system/bin/rild-l/system/lib/libsierra-ril.so—a-iwwan0
I have the interface wwan0, but no ip-address.
2|shell@msm8960:/ # netcfg
dummy0 DOWN 0.0.0.0/0 0x00000082 ca:8b:54:6c:4b:56
wlan0 DOWN 0.0.0.0/0 0x00001002 c4:f3:12:10:f2:e7
wwan0 UP 0.0.0.0/0 0x00001083 ee:0c:25:c9:1f:08
lo UP 127.0.0.1/8 0x00000049 00:00:00:00:00:00
eth0 UP 0.0.0.0/0 0x00001003 6a:a1:03:8e:ab:bd
sit0 DOWN 0.0.0.0/0 0x00000080 00:00:00:00:00:00
rmnet_smux0 DOWN 0.0.0.0/0 0x00001002 0e:97:33:cb:b1:75
rmnet_smux1 DOWN 0.0.0.0/0 0x00001002 26:5e:1e:0d:37:8b
rmnet4 DOWN 0.0.0.0/0 0x00001002 aa:93:a9:fc:8b:4e
rmnet2 DOWN 0.0.0.0/0 0x00001002 12:09:8d:af:49:52
rmnet3 DOWN 0.0.0.0/0 0x00001002 ce:cc:46:3b:2a:5b
rmnet7 DOWN 0.0.0.0/0 0x00001002 c2:2f:3e:7f:72:7c
rmnet5 DOWN 0.0.0.0/0 0x00001002 aa:bf:54:0e:67:ec
rmnet6 DOWN 0.0.0.0/0 0x00001002 5e:56:08:7b:65:a2
rmnet1 DOWN 0.0.0.0/0 0x00001002 06:1b:08:fd:96:a6
rmnet0 DOWN 0.0.0.0/0 0x00001002 fe:18:85:62:c5:ec
rev_rmnet1 DOWN 0.0.0.0/0 0x00001002 ee:0a:eb:aa:fe:c4
rev_rmnet0 DOWN 0.0.0.0/0 0x00001002 1a:8d:66:4f:e6:50
rev_rmnet8 DOWN 0.0.0.0/0 0x00001002 26:15:8f:eb:ec:1e
rev_rmnet4 DOWN 0.0.0.0/0 0x00001002 b6:38:06:32:6f:24
rev_rmnet2 DOWN 0.0.0.0/0 0x00001002 3e:7e:69:0e:54:b3
rev_rmnet3 DOWN 0.0.0.0/0 0x00001002 4e:24:d9:49:63:12
rev_rmnet7 DOWN 0.0.0.0/0 0x00001002 1a:64:9c:05:7a:a3
rev_rmnet5 DOWN 0.0.0.0/0 0x00001002 92:ed:d2:b9:68:c2
rev_rmnet6 DOWN 0.0.0.0/0 0x00001002 62:b0:e0:33:4c:d9
The according propertys on the board are listed below.
shell@msm8960:/ # getprop | grep -e dhcp -e gsm -e ril -e radio -e baseband -e carrier -e telephony
[dhcp.wwan0.pid]: [3518]
[dhcp.wwan0.reason]: [NOCARRIER]
[dhcp.wwan0.result]: []
[gsm.apn.sim.operator.numeric]: [26202]
[gsm.current.phone-type]: [1]
[gsm.network.type]: [HSUPA]
[gsm.nitz.time]: [3471727890003]
[gsm.operator.alpha]: [Vodafone.de]
[gsm.operator.iso-country]: [de]
[gsm.operator.isroaming]: [false]
[gsm.operator.numeric]: [26202]
[gsm.sim.operator.alpha]: []
[gsm.sim.operator.iso-country]: [de]
[gsm.sim.operator.numeric]: [26202]
[gsm.sim.state]: [READY]
[gsm.version.baseband]: [SWI9X30C_02.30.03.00 r7804 CARMD-EV-FRMWR2 2018/07/25 01:10:04]
[gsm.version.ril-impl]: [Sierra Ril V5.1.9 QMI]
[init.svc.ril-daemon-qmi]: [running]
[init.svc.sierra_dhcpcd]: [stopped]
[persist.radio.emergency.mode]: [false]
[persist.radio.module]: [EM7455]
[persist.rild.nitz_long_ons_0]: []
[persist.rild.nitz_long_ons_1]: []
[persist.rild.nitz_long_ons_2]: []
[persist.rild.nitz_long_ons_3]: []
[persist.rild.nitz_plmn]: []
[persist.rild.nitz_short_ons_0]: []
[persist.rild.nitz_short_ons_1]: []
[persist.rild.nitz_short_ons_2]: []
[persist.rild.nitz_short_ons_3]: []
[persist.sys.ril.type]: [QMI]
[radio.atfwd.start]: [false]
[ril.sierra.at]: [/dev/ttyUSB3]
[ril.sierra.dm]: [/dev/ttyUSB1]
[ril.sierra.nmea]: [/dev/ttyUSB2]
[ril.subscription.types]: [NV,RUIM]
[rild.libargs]: [-d /dev/smd0]
[rild.libpath]: [/system/lib/libsierraat-ril.so]
[ro.baseband]: [apq]
[ro.boot.baseband]: [apq]
[ro.carrier]: [unknown]
[ro.radio.noril]: [no]
[ro.ril.transmitpower]: [true]
[ro.telephony.call_ring.multiple]: [false]
[telephony.lteOnCdmaDevice]: [1]
I can see the argument, that there is no carrier for the dhcp, am I right?
I integrated the code for the phone status to display the IMEI etc, which can be seen in android:
I tried two different SIM Cards but this did not help at all. Then I outcommented the line to start the ril deamon in init.rc, so that I could switch it on manually by “start ril-daemon-qmi” for debugging purpuse. I made a log with
$ (adb logcat -v time -b main -s dhcpcd & adb logcat -v time -b radio) | tee /tmp/logForSierra
logForSierra.txt (612.1 KB)
where I boot the system and then start the ril deamon manually.
Interestingly is, that the RIL gets an ip address and the right dns addresses from vodafone (germany)
06-17 03:46:27.193 E/RILC ( 1939): Send Response to RIL_SOCKET_1
06-17 03:46:27.194 D/RILJ ( 1088): responseDataCallList ver=6 num=1 [SUB0]
06-17 03:46:27.194 D/RILJ ( 1088): [UNSL]< UNSOL_DATA_CALL_LIST_CHANGED [DataCallResponse: {version=6 status=-5 retry=-1 cid=0 active=1 type=IP ifname=wwan0 mtu=0 addresses=[100.93.253.186] dnses=[139.7.30.126,139.7.30.125] gateways=[100.93.253.185] pcscf=[]}] [SUB0]
06-17 03:46:27.194 D/GsmDCT ( 1088): [0]handleMessage msg={ when=0 what=270340 obj=android.os.AsyncResult@2581938a target=com.android.internal.telephony.dataconnection.DcTracker }
06-17 03:46:27.194 E/DATA ( 1088): Unidentified event msg={ when=0 what=270340 obj=android.os.AsyncResult@2581938a target=com.android.internal.telephony.dataconnection.DcTracker }
06-17 03:46:27.194 D/Dcc ( 1088): onDataStateChanged: dcsList=[DataCallResponse: {version=6 status=-5 retry=-1 cid=0 active=1 type=IP ifname=wwan0 mtu=0 addresses=[100.93.253.186] dnses=[139.7.30.126,139.7.30.125] gateways=[100.93.253.185] pcscf=[]}] mDcListActiveByCid={}
06-17 03:46:27.194 D/Dcc ( 1088): onDataStateChanged: dcsToRetry=[]
06-17 03:46:27.194 E/Dcc ( 1088): onDataStateChanged: no associated DC yet, ignore
06-17 03:46:27.194 D/Dcc ( 1088): onDataStateChanged: Data Activity updated to NONE. isAnyDataCallActive = false isAnyDataCallDormant = false
06-17 03:46:27.194 D/Dcc ( 1088): onDataStateChanged: dcsToRetry=[] apnsToCleanup=[]
06-17 03:46:27.194 D/Dcc ( 1088): onDataStateChanged: X
06-17 03:46:28.318 D/dhcpcd ( 2087): wwan0: sending DISCOVER (xid 0x1221e38d), next in 15.22 seconds
which is even used by the data call response
06-17 03:46:49.943 D/RILJ ( 1088): [3732]< SETUP_DATA_CALL DataCallResponse: {version=6 status=111 retry=-1 cid=0 active=1 type=IP ifname=wwan0 mtu=0 addresses=[100.93.253.186] dnses=[139.7.30.126,139.7.30.125] gateways=[100.93.253.185] pcscf=[]} [SUB0]
but it seems to be not connected to the wwan0 interface or something … (?)
I tried to monitor the interface actions starting with the applied ip address at the beginning (no ril deamon running)
shell@msm8960:/ # ip addr show wwan0
25: wwan0: <BROADCAST,MULTICAST,NOARP> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether fa:b5:06:16:3a:08 brd ff:ff:ff:ff:ff:ff
and then monitor the actions on the interface and trying to logcat the dhcp at the same time, to understand the connection between them.
shell@msm8960:/ # (ip -t monitor all | grep wwan0) & (logcat -v time | grep dhcpcd)
[1] 1934
06-16 17:21:59.560 I/dhcpcd ( 2108): version 5.5.6 starting
[LINK]25: wwan0: <NO-CARRIER,BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN
[ROUTE]ff00::/8 dev wwan0 table local metric 256
[ROUTE]fe80::/64 dev wwan0 table 1025 proto kernel metric 256
[ADDR]25: wwan0 inet6 fe80::f8b5:6ff:fe16:3a08/64 scope link
[LINK]25: wwan0: <NO-CARRIER,BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500
06-16 17:21:59.576 D/dhcpcd ( 2108): wwan0: using hwaddr fa:b5:06:16:3a:08
06-16 17:21:59.576 D/dhcpcd ( 2108): wwan0: executing /system/etc/dhcpcd/dhcpcd-run-hooks’, reason PREINIT
[LINK]25: wwan0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
06-16 17:21:59.634 D/dhcpcd ( 2108): wwan0: executing /system/etc/dhcpcd/dhcpcd-run-hooks, reason CARRIER
06-16 17:21:59.679 I/dhcpcd ( 2108): wwan0: carrier lost
06-16 17:21:59.679 D/dhcpcd ( 2108): wwan0: executing /system/etc/dhcpcd/dhcpcd-run-hooks’, reason NOCARRIER
06-16 17:21:59.725 I/dhcpcd ( 2108): wwan0: carrier acquired
06-16 17:21:59.725 D/dhcpcd ( 2108): wwan0: using hwaddr fa:b5:06:16:3a:08
06-16 17:21:59.725 D/dhcpcd ( 2108): wwan0: executing /system/etc/dhcpcd/dhcpcd-run-hooks’, reason CARRIER
06-16 17:21:59.760 I/dhcpcd ( 2108): wwan0: broadcasting for a lease
06-16 17:21:59.760 D/dhcpcd ( 2108): wwan0: sending DISCOVER (xid 0xeb5c3885), next in 3.55 seconds
06-16 17:22:03.388 D/dhcpcd ( 2108): wwan0: sending DISCOVER (xid 0xeb5c3885), next in 7.65 seconds
06-16 17:22:11.045 D/dhcpcd ( 2108): wwan0: sending DISCOVER (xid 0xeb5c3885), next in 16.72 seconds
06-16 17:22:27.781 D/dhcpcd ( 2108): wwan0: sending DISCOVER (xid 0xeb5c3885), next in 32.50 seconds
06-16 17:22:29.682 E/dhcpcd ( 2108): timed out
06-16 17:22:29.682 W/dhcpcd ( 2108): allowing 8 seconds for IPv4LL timeout
06-16 17:22:30.569 I/dhcpcd ( 2108): wwan0: carrier lost
06-16 17:22:30.572 D/dhcpcd ( 2108): wwan0: executing `/system/etc/dhcpcd/dhcpcd-run-hooks’, reason NOCARRIER
[LINK]25: wwan0: <NO-CARRIER,BROADCAST,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast state DOWN
[NEIGH]ff02::2 dev wwan0 lladdr 33:33:00:00:00:02 NOARP
'til the end, where I try to get the ip address again
shell@msm8960:/ # ip addr show wwan0
25: wwan0: <NO-CARRIER,BROADCAST,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether fa:b5:06:16:3a:08 brd ff:ff:ff:ff:ff:ff
inet6 fe80::f8b5:6ff:fe16:3a08/64 scope link
valid_lft forever preferred_lft forever
As far as my understanding goes, I am missing a carrier. How do solve that? I am running out of ideas. Does anyone have a smiliar problem, a clue or an idea, what I could try next? Any help would be highly apreciated!
Regards,
Silke