[Replicant] Galaxy S (SGH-T959P) modem low power mode

Denis 'GNUtoo' Carikli GNUtoo at cyberdimension.org
Thu Aug 12 14:17:10 UTC 2021


On Wed, 11 Aug 2021 22:20:03 -0700
Jonathan Bakker <xc-racer2 at live.ca> wrote:

> Hi,
Hi,

Thanks a lot for all the infos.

> Which of the first-gen Galaxy S modems are you referring to?  Based on
> the mention of SGH-T959P, I think you're talking about the STE M5730,
> and not the XMM6160 found in the way more common i9000 (the SGH-T959P
> is a Canadian variant supporting HSPA+, and is very similar to the
> American SGH-T959V).
Basically I'm interested to understand if there is code that works with
some version of libsamsung-ipc and a port of the modem drivers on top
of upstream Linux.

> In any event, yes, I have been able to power up the M5730 modems with
> the modified libsamsung-ipc and mainline-based kernels.  I've had two
> separate mainline-based drivers that worked on it, one based on the
> crespo driver [1] and another based on the crespo driver and the sipc
> interface created for the i9300.  I've also had an Android version
> working at some point, both with the stock driver as well as a
> crespo-based driver.  
Did you manage to register to the network or call numbers with any of
these drivers?

In my case I used the following setup:
- A Galaxy SIII (GT-I9300)
- GNU/Linux (Parabola)
- u-boot from Simon Shields or the stock bootloader (I tried both)
- Rebased modem patches on top of upstream Linux[1]
- Modem patches on top of libsamsung-ipc upstream[2]

To test I use the ipc-modem tool to make it call my number like that:
# ipc-modem --debug --call 06xxxxxxxx start

And the modem boots fine and I can send and receive (some) IPC messages
but then the modem doesn't register to the network and it doesn't call
my number (06xxxxxxxx).

After disabling libsamsung-ril on Replicant 6, the same tool results in
my number being called in Replicant 6, and I recall having it tested it
with the exact same libsamsung-ipc revision.

There are still many differences between the two setups:
- The kernel is not the same
- The "device" driver in libsamsung-ipc is different
- The OS isn't the same.
- And in most of my tests the bootloader wasn't the same but I've also
  tested with the same bootloader on the exact same device.

I've also observed strange behavior with the GPIOs that are between the
modem and the SOC: for instance I can't change the value of
the SUSPEND_REQ GPIO, but it changes by itself during the modem
boostrap, and it's also different between Replicant 6 and Parabola (on
the same device, with the same bootloader).

I also didn't manage yet to use the same OS / distribution for the
tests with the downstream and upstream kernels.

> Note that it requires the RFS loop to be setup and functional with
> the various reading messages to work.
The test tool that I use doesn't handle RFS messages at all!

I assumed that because it worked with the ipc-modem test tool on
Replicant 6, it should also work on top of an upstream kernel.

I then probably need to add RFS support to the test tool in order to
keep the test setup simple. 

Do you know if the RFS messages need to be processed somehow? Or is it
supposed to also work if the messages are discarded in your case?

References:
-----------
[1]https://git.replicant.us/contrib/GNUtoo/kernel_replicant_linux/log/?h=replicant-11-i9300-modem
[2]https://git.replicant.us/contrib/GNUtoo/hardware_replicant_libsamsung-ipc/log/?h=replicant-11-i9300-modem

Denis.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.osuosl.org/pipermail/replicant/attachments/20210812/6b5e0801/attachment.asc>


More information about the Replicant mailing list