Note II LTE modem (ofono Java RIL)
I'm working on porting my oFono-based Java RIL to Replicant 6 on Note II LTE (which should also apply to Galaxy S III). I've had some success with SMS and calls, but am going to be too busy for the next few weeks so I'm logging some progress.
See https://redmine.replicant.us/projects/replicant/wiki/QMI-RIL for some background information on speaking to the modem. I'm using Wolfgang's work as a foundation for mine.
My code is at https://git.replicant.us/contrib/scintill/manifest/log/?h=replicant-6.0 . To try on GT-I9305 etc., you should just need that manifest and add a patch like https://git.replicant.us/contrib/scintill/device_samsung_t0lte/commit/?h=replicant-6.0&id=e11c95a091cd8b1dbdda8307565283b0c2377de2 plus its parent patch to your device's tree.
- Cycle like this in kernel logs every 1-2 seconds. The spam is annoying, and it seems like it could be bad for correct modem operation or battery life. Is the modem cycling the USB link? Why? Need to run an RMNET-based kernel to see if it does this.
<7>[ 122.340699] c0 usb 1-2: unlink qh2-0001/e820ce00 start 1 [2/0 us] <6>[ 122.347539] c0 read_hsic_cb: status:-2 actual:0 <7>[ 122.353599] c0 usb 1-2: usb auto-suspend <7>[ 122.370253] c0 hub 1-0:1.0: hub_suspend <7>[ 122.372738] c0 usb usb1: bus auto-suspend <7>[ 122.377120] c0 s5p-ehci s5p-ehci: suspend root hub <6>[ 122.383829] c0 s5p-ehci s5p-ehci: host_phy_susp <6>[ 122.388050] c0 request_active_lock_release <6>[ 122.595921] c0 mdm_hsic_irq_handler: detect Rising edge <6>[ 122.599878] c0 mdm_hsic_rpm_check <6>[ 122.603592] c0 request_active_lock_set <6>[ 122.608000] c0 s5p-ehci s5p-ehci: host_phy_resume <7>[ 122.613249] c0 usb usb1: usb auto-resume <7>[ 122.617389] c0 s5p-ehci s5p-ehci: resume root hub <6>[ 122.660968] c0 mdm_hsic_irq_handler: detect Falling edge <7>[ 122.675187] c0 hub 1-0:1.0: hub_resume <7>[ 122.677644] c0 s5p-ehci s5p-ehci: GetStatus port:2 status 001005 0 ACK POWER sig=se0 PE CONNECT <7>[ 122.687623] c0 hub 1-0:1.0: port 2: status 0503 change 0004 <7>[ 122.693642] c0 hub 1-0:1.0: state 7 ports 3 chg 0004 evt 0000 <7>[ 122.699753] c0 s5p-ehci s5p-ehci: GetStatus port:2 status 001005 0 ACK POWER sig=se0 PE CONNECT <7>[ 122.709054] c0 s5p-ehci s5p-ehci: GetStatus port:2 status 001005 0 ACK POWER sig=se0 PE CONNECT <6>[ 122.718199] c0 mif: usb_port_resume: 1283, 4 <7>[ 122.722833] c0 usb 1-2: finish resume <6>[ 122.729875] c0 usb 1-2: read_hsic: <7>[ 122.733547] c0 s5p-ehci s5p-ehci: reused qh e820ce00 schedule <7>[ 122.737956] c0 usb 1-2: link qh2-0001/e820ce00 start 1 [2/0 us] <7>[ 122.746082] c0 hub 1-0:1.0: resume on port 2, status 0 <7>[ 122.749870] c0 hub 1-0:1.0: port 2, status 0503, change 0004, 480 Mb/s <7>[ 123.255691] c0 usb 1-2: unlink qh2-0001/e820ce00 start 1 [2/0 us] <6>[ 123.262380] c0 read_hsic_cb: status:-2 actual:0 <7>[ 123.267623] c0 usb 1-2: usb auto-suspend <7>[ 123.285240] c0 hub 1-0:1.0: hub_suspend <7>[ 123.287727] c0 usb usb1: bus auto-suspend <7>[ 123.292111] c0 s5p-ehci s5p-ehci: suspend root hub <6>[ 123.298786] c0 s5p-ehci s5p-ehci: host_phy_susp <6>[ 123.302931] c0 request_active_lock_release
- Voice calls - audio doesn't work (hopefully just needs correct muxing) and call partially disconnects after several seconds. The latter might be related to USB-link power cycling (see above).
- Data doesn't work. Might need correct interface name and raw IP mode. Look at Wolfgang's code on this.
- It seems slow to register to the network after boot
Updated by Kurtis Hanna over 1 year ago
I wrote an overview of my understanding of the blockers for LTE support in Replicant 6 and 9 here: https://lists.osuosl.org/pipermail/replicant/2020-January/002465.html
Updated by Kurtis Hanna over 1 year ago
The following are two updates from Joey that were posted in our IRC:
"Hey all. I've been working again on the RIL for Note 2 LTE, and eventually other Qualcomm modems. I've got data working a few times, but it's not reliable. I'm looking into issues with audio calls too. It seems, for some reason, ofono doesn't get an acknowledgement that a dialed call has started."
"A small update on Note 2 LTE: There's a proprietary lib (libcsd_client.so) that's loaded by the LineageOS Audio HAL. It seems to configure the modem's audio input/output using some QMI commands that I can't find documented anywhere. I'm studying it to figure out the commands so I can send them. After that, I think audio calls will work."
Updated by Joey Hewitt 9 months ago
Since the last post, I have reversed
libcsd_client.so and implemented it in oFono, so now call audio works! I have also got data connections to establish more reliably. I have seen both UMTS and LTE work. I don't know why it's not always LTE and whether it's my code's fault... ideally I will also verify the technology that is being used so I can ensure there is not just a bug in the code that reports which is being used. I also added support for syncing the time from the network (if the user has enabled it.)
This is pushed to my manifest/repos in contrib.