← Back to team overview

ubuntu-phone team mailing list archive

Re: [GSM RADIOS ON PORTS]

 

On 07/08/2013 11:52 PM, Henrique Santos Fernandes wrote:
> I have a Galaxy S (B) And can afirm that radio doe snot work on my phone.
> 
> It seems the build is using blobs and not building ril for some reason...
> 
> I asked on the list while ago, at beginning i got some help, but they
> just stop helping as the problem got more difficult i guess.

Some older Android phones may have shipped with a fully binary RILD, as
opposed to the newer phones which combine a binary vendor library with
an open-source wrapper ( in the AOSP tree, see
/hardware/ril/libril/ril.cpp ).  As our project was originally started
using ICS, we assume the newer RILD model, and as such, we patch ril.cpp
to remove the socket credential check.

This check is performed by libril asking for the socket credentials of
the remote process, then calling getpwuid() to get the matching
username.  If the username returned isn't "radio", then the socket is
closed.  Game over.

> When i was playing around i did some modification on ( ubuntu side ) and
> where able to get SMS and Signal from rild, but all modifications i did
> had patches on ubuntu repository to not be needed, and then i find out i
> was not using ril compiled from repo.

If you were receiving *any* messages from RILD, then what I just
described is not your problem.

> Well, i decided just wait for it.

I'm not sure what you mean by just wait for it?  This is not something
I've been working on, as it's clearly an issue with older phones only (
ie. pre Android ICS/4.0 ).  In your case, the Galaxy S originally
shipped with Android 2.2, and was never officially upgraded to 4.0 or
greater.

That said, here are some next steps...

1. Figure out is whether or not you're actually hitting the credentials
problem.  If you're working with up-to-date touch images ( or fairly
recent ) this should be obvious by looking at either /var/log/syslog in
the Ubuntu container ( I'm assuming you're running non-flipped ), or use
abd logcat to look for the error reported by the RILD process.

2. If the credential problem *is* what you're facing, then you could try
the following workaround which *might* work ( again, assuming non-flipped ):

Add the following line to the end of the /etc/passwd file in the Ubuntu
container:

radio:x:1001:1001:radio,,,:/home/system:/bin/bash

Now, change ofono's Upstart job to start ofono as the "radio" user by
adding a "setuid" line to /etc/init/ofono.conf:

setuid radio

For reference:

http://upstart.ubuntu.com/cookbook/#setuid

This *may* not work due to the fact due to container PID namespaces
being used.  If so, the only way I around it would be to patch the
password library inside the Android container in such a manner as to
spoof the identity of the calling process.  I suppose you could possibly
do something like only map the user "ofonod" to "radio", however as the
two process are running in different PID namespaces, with different
passwd mechanisms, this might be tricky.

Finally, as it's really hard to debug a problem like this via email on a
high-volume mailing list, please enter a touch-preview-images bug:

https://bugs.launchpad.net/touch-preview-images/+filebug

Regards,
/tony

> []'sf.rique
> 
> 
> On Thu, Jul 4, 2013 at 6:00 PM, Simon Busch <morphis@xxxxxxxxxx
> <mailto:morphis@xxxxxxxxxx>> wrote:
> 
>     Am 04.07.2013 16:56, schrieb Fola Dawodu:
>     > hello.
>     >
>     > i would like to know if there are plans to actually get the radios
>     > working on Non Nexus devices anytime before October.
>     >
>     > Its is a bummer that a lot of users, especially samsung phone users
>     > cannot participate in testing because the radios dont work.
> 
>     What is the problem with the ril implementation the mentioned Samsung
>     devices?
> 
>     The Galaxy Nexus is a Samsung device too and the radio driver is mostly
>     the same as on other Samsung devices.
> 
>     regards,
>     Simon
> 
>     --
>     Simon Busch - http://mm.gravedo.de/blog/
> 
>     --
>     Mailing list: https://launchpad.net/~ubuntu-phone
>     Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
>     <mailto:ubuntu-phone@xxxxxxxxxxxxxxxxxxx>
>     Unsubscribe : https://launchpad.net/~ubuntu-phone
>     More help   : https://help.launchpad.net/ListHelp
> 
> 
> 
> 



Follow ups

References