• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[DEV] GSM phone calls on Nexus 7 3G

Search This thread

kRt_uK

Senior Member
Apr 7, 2009
88
97
BEFORE YOU POST HERE - Keep in mind this is now a DEV thread and only those with a glimpse of DEV knowledge should be posting.
There is other thread with the same subject open to everybody discuss it.

Please, this thread isn't related to VOIP, SIP calls or Tethering and
It's only to 3G version of Nexus 7.


What do you think is the possibility of us getting this function guys, even if its not officially supported.

I've seen it built in on the 7" samsung galaxy tab 2.

http://www.youtube.com/watch?v=wZ9RN...t=HL1351349133

At the moment we know:

1- The chipset Intel (Infineon) XMM6260 is built-in on Nexus 7 3G (the same chipset is in that rather long list of phones). It means no hardware limitations.

http://forum.xda-developers.com/showthread.php?p=34386544&highlight=6260#post34386544
http://pdadb.net/index.php?m=specs&i...exus_7_3g_32gb
http://forum.xda-developers.com/show....php?t=1483053

it also the same controller is in the following devices

- Lava XOLO X900 [Phone]
- Lenovo K800 [Tablet/Pad]
- LG-P920 (LG ?) [Phone]
- LG-P925 (LG Optimus 3D?) [Phone]

- Huawei E369 (3G Hi-Universe) [USB 3G Modem]
- Huawei MU733/MU739 [PC/CE Module]
- Samsung Galaxy Nexus (I9200) [Phone]

2- SMS texting works perfectely with the native mms.apk but MMS messages crash the app (missed mms APN + framework parameters?)
http://forum.xda-developers.com/showthread.php?t=1998702&page=4

3- Modified framework-res.apk (by modifying bools.xml entry to name="config_voice_capable">true) shows up the native dialer (phone.apk) on the UI
JB 4.2 http://forum.xda-developers.com/showthread.php?t=1958686&page=12
JB 4.2.1 http://forum.xda-developers.com/showpost.php?p=34736932&postcount=314

4- When placing calls trough the native dialer (phone.apk) with Skype app installed, it shows up a white menu asking "Do you want to complete this action using..." the options are "Mobile data" (w/ phone.apk blue icon) or "Skype" (w/ skype icon) and "Always" or "Just Once" (perhaps there is missing a "Phone" profile (or APN) as an option too)

5- If Skype is chosen, the call is complete and everything goes well, but if "Mobile data" is chosen, we get a single sound (bip) and the call is not complete.

6- Changing the DPI to 320 in build.prop file allow us to add a SIP account (SIP calls using native dialer is now possible), DPI could be restored after SIP account settings done.
http://forum.xda-developers.com/showthread.php?p=34752693&highlight=320#post34752693

Detailed informations come from the thread in XDA developers at:
http://forum.xda-developers.com/showthread.php?t=1958686

--------------------------------------------------------
UPDATE 5th Dec 2012 by Synman

ok, I hacked NetworkPolicyManager and am no longer crashing. Network time appears to be non-functional for the time-being. Network status is a little wonky too ... even though I have a good network signal the network icon never switches from gray to blue.
MMS send/receive is fully functional (with the exception of screwed up timestamps)

Pulled down master AOSP branch
Pulled down grouper binaries

working with grouper device

Modified device.mk
- use init.tilapia.rc
- use tilapia overlay
- remove SimpleSMS
- remove ro.carrier=wifi_only

Modified full-grouper.mk
- ref full_base_telephony in place of full_base
- added full apns

Modified device-common.mk
- added gsm permission

system.prop
replaced ref to libril-icera with libxgold

tilapia overlay
- removed single apn rules
- set voice-enabled
- added mms values

NetworkPolicyManager
- removed call to time.getMaxPeriod
 
Last edited:

kRt_uK

Senior Member
Apr 7, 2009
88
97
I tried to make a summary of the whole work on the previous thread assuming it will be much more productive.
If someone has a suggestion to the OP please let me know and I change it to keep more updated as possible.
 
Last edited:

Synman

Recognized Developer
I've done a bit more digging within the 4.2.1 source and until we have the device specific portions of the build we are going to keep struggling.

Everything I'm seeing comes back to the framework.

I'm currently focusing on getting a build of Mms.apk bypassing framework and, while slow and tedious, I'm making progress.

My current line of thinking (open to discussion, please) is that the framework hooks we need are simply missing in our build.

Keep in mind this is now a DEV thread and only those with a glimpse of DEV knowledge should be posting.


Sent from my Galaxy Nexus using Tapatalk 2
 

TinTin

Inactive Recognized Developer
Mar 12, 2003
281
18
Hamburg
mytd2.blogspot.com

Oooh Lines 183-184 are even more interesting:

Code:
    <!-- This device is not "voice capable"; it's data-only. -->
    <bool name="config_voice_capable">false</bool>
Or is this the variable you guys already used to enable the dialer? And that's all it does?
 
Last edited:
  • Like
Reactions: punshkin

TinTin

Inactive Recognized Developer
Mar 12, 2003
281
18
Hamburg
mytd2.blogspot.com
Oh, nevermind. The Mako (Nexus 4) has the same values
0,0,0,-1,truefor "item" mobile in it's 4.2.1 config.xml, so this is not it I guess.

I found a thread elsewhere that could contain (parts) of the solution. Looking at the config.xml of the Mako (Nexus 4) and comparing it to the one of tilapia I see these parameters missing (line 40 ff.)

Code:
    <item>"mobile_mms,2,0,2,60000,true"</item>       
    <item>"mobile_fota,10,0,2,60000,true"</item>
    <item>"mobile_ims,11,0,2,60000,true"</item>
    <item>"mobile_cbs,12,0,2,60000,true"</item
Please someone try adding them to the string-array of network-attributes (I don't have the decompiler yet). They definitely should be there. This might not be all yet though.
 
Last edited:
  • Like
Reactions: kRt_uK

Polarfuchs

Senior Member
Apr 20, 2008
968
105
Last edited:
  • Like
Reactions: punshkin

Synman

Recognized Developer
Here are the relevant Galaxy Nexus maguro values:

Code:
    <string-array name="networkAttributes">
        <item>wifi,1,1,1,-1,true</item>
        <item>mobile,0,0,0,-1,true</item>
        <item>mobile_mms,2,0,2,60000,true</item>
        <item>mobile_supl,3,0,2,60000,true</item>
        <item>mobile_dun,4,0,3,60000,true</item>
        <item>mobile_hipri,5,0,3,60000,true</item>
        <item>mobile_bluetooth,7,7,1,-1,true</item>
        <item>ethernet,9,9,1,-1,true</item>
        <item>wifi_p2p,13,1,0,-1,true</item>
    </string-array>
    <integer-array name="config_protectedNetworks">
        <item>10</item>
        <item>11</item>
        <item>12</item>
    </integer-array>
    <string-array name="radioAttributes">
        <item>1,1</item>
        <item>0,1</item>
        <item>7,1</item>
        <item>9,1</item>
    </string-array>
    <integer-array name="config_data_usage_network_types">
        <item>0</item>
        <item>2</item>
        <item>3</item>
        <item>4</item>
        <item>5</item>
        <item>10</item>
        <item>11</item>
        <item>12</item>
    </integer-array>
 

TinTin

Inactive Recognized Developer
Mar 12, 2003
281
18
Hamburg
mytd2.blogspot.com
I found out that neither device.mk nor full_tilapia.mk inherit from a telephony package (while the Mako (Nexus4) does through the following line in full_mako.mk:

Code:
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)

This describes a similiar situation under ICS and the steps someone took to solve the problem,
this sounds like a promising way to me (The same things are missing in the Tilapia build):

http://groups.google.com/group/android-porting/msg/3a28bb754b9ba18a
 
  • Like
Reactions: kRt_uK

punshkin

Senior Member
Jan 6, 2010
1,021
257
now all we need are the device binaries... c'mon google

i know, i shouldn't post here so feel free to delete my post, but are the device binaries something we just have to wait a little for google to release or are they closed source and we have to urge google to release them?
https://developers.google.com/android/nexus/drivers
only has the binaries for the grouper...
Someone wrote that the radio chipset is the same as for the galaxy nexus so shouldn't it be possible to use the gsm binaries from the galaxy nexus?
 
Last edited:

Synman

Recognized Developer
i know, i shouldn't post here so feel free to delete my post, but are the device binaries something we just have to wait a little for google to release or are they closed source and we have to urge google to release them?
https://developers.google.com/android/nexus/drivers
only has the binaries for the grouper...
Someone wrote that the radio chipset is the same as for the galaxy nexus so shouldn't it be possible to use the gsm binaries from the galaxy nexus?

we gotta learn somehow, right?

This is the page to watch: https://developers.google.com/android/nexus/drivers

just as soon as it hits we will be able to do our own full builds and device deploys right from the master source branch.

In the meantime I've made the change inheriting telelphony to my .mk file and am in the process of making to see what all changes. I lost a ton of time today doing a maguro build hoping to salvage something from it and ultimately coming up empty.

That same line is in the maguro build. Something that I noticed is that tliapia refers to $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk) unlike the phones.
 
Last edited:

Synman

Recognized Developer
Have also found this at the bottom of full_base.mk

Code:
# Get everything else from the parent package
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_no_telephony.mk)

full_base_telelphony.mk includes full_base + telephony and brings along some extra stuff for the ride such as carrier apns and voicedialer.

telelphony.mk includes Mms.apk

----

looks like that's just about everything. It's probably redundant to have both full_base_telelphony and full_base in tilapia's mk file. Probably better to just use full_base_telephony. At the very least have full_base_telephony referenced first -- comments indicate the earlier entries take precedence.
 
Last edited:

TinTin

Inactive Recognized Developer
Mar 12, 2003
281
18
Hamburg
mytd2.blogspot.com
looks like that's just about everything. It's probably redundant to have both full_base_telelphony and full_base in tilapia's mk file. Probably better to just use full_base_telephony. At the very least have full_base_telephony referenced first -- comments indicate the earlier entries take precedence.

Sounds good so far. Did you go the extra bit and try what else was mentioned in the post I linked to? Adding the extra parameters (see above) to the networkAttributes string-array and checking if telephony contains:

Code:
          PRODUCT_PACKAGES := \ 
 
             Contacts \ 
              ContactsProvider \ 
              Phone \ 
              TelephonyProvider \ 
              UserDictionaryProvider \ 
              Mms 
 
      PRODUCT_COPY_FILES := \ 
             development/data/etc/apns-conf.xml:system/etc/apns-conf.xml 
 
          PRODUCT_PROPERTY_OVERRIDES := \ 
             keyguard.no_require_sim=true \ 
             ro.com.android.dataroaming=true

-> Clean build and build freshly
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 46
    BEFORE YOU POST HERE - Keep in mind this is now a DEV thread and only those with a glimpse of DEV knowledge should be posting.
    There is other thread with the same subject open to everybody discuss it.

    Please, this thread isn't related to VOIP, SIP calls or Tethering and
    It's only to 3G version of Nexus 7.


    What do you think is the possibility of us getting this function guys, even if its not officially supported.

    I've seen it built in on the 7" samsung galaxy tab 2.

    http://www.youtube.com/watch?v=wZ9RN...t=HL1351349133

    At the moment we know:

    1- The chipset Intel (Infineon) XMM6260 is built-in on Nexus 7 3G (the same chipset is in that rather long list of phones). It means no hardware limitations.

    http://forum.xda-developers.com/showthread.php?p=34386544&highlight=6260#post34386544
    http://pdadb.net/index.php?m=specs&i...exus_7_3g_32gb
    http://forum.xda-developers.com/show....php?t=1483053

    it also the same controller is in the following devices

    - Lava XOLO X900 [Phone]
    - Lenovo K800 [Tablet/Pad]
    - LG-P920 (LG ?) [Phone]
    - LG-P925 (LG Optimus 3D?) [Phone]

    - Huawei E369 (3G Hi-Universe) [USB 3G Modem]
    - Huawei MU733/MU739 [PC/CE Module]
    - Samsung Galaxy Nexus (I9200) [Phone]

    2- SMS texting works perfectely with the native mms.apk but MMS messages crash the app (missed mms APN + framework parameters?)
    http://forum.xda-developers.com/showthread.php?t=1998702&page=4

    3- Modified framework-res.apk (by modifying bools.xml entry to name="config_voice_capable">true) shows up the native dialer (phone.apk) on the UI
    JB 4.2 http://forum.xda-developers.com/showthread.php?t=1958686&page=12
    JB 4.2.1 http://forum.xda-developers.com/showpost.php?p=34736932&postcount=314

    4- When placing calls trough the native dialer (phone.apk) with Skype app installed, it shows up a white menu asking "Do you want to complete this action using..." the options are "Mobile data" (w/ phone.apk blue icon) or "Skype" (w/ skype icon) and "Always" or "Just Once" (perhaps there is missing a "Phone" profile (or APN) as an option too)

    5- If Skype is chosen, the call is complete and everything goes well, but if "Mobile data" is chosen, we get a single sound (bip) and the call is not complete.

    6- Changing the DPI to 320 in build.prop file allow us to add a SIP account (SIP calls using native dialer is now possible), DPI could be restored after SIP account settings done.
    http://forum.xda-developers.com/showthread.php?p=34752693&highlight=320#post34752693

    Detailed informations come from the thread in XDA developers at:
    http://forum.xda-developers.com/showthread.php?t=1958686

    --------------------------------------------------------
    UPDATE 5th Dec 2012 by Synman

    ok, I hacked NetworkPolicyManager and am no longer crashing. Network time appears to be non-functional for the time-being. Network status is a little wonky too ... even though I have a good network signal the network icon never switches from gray to blue.
    MMS send/receive is fully functional (with the exception of screwed up timestamps)

    Pulled down master AOSP branch
    Pulled down grouper binaries

    working with grouper device

    Modified device.mk
    - use init.tilapia.rc
    - use tilapia overlay
    - remove SimpleSMS
    - remove ro.carrier=wifi_only

    Modified full-grouper.mk
    - ref full_base_telephony in place of full_base
    - added full apns

    Modified device-common.mk
    - added gsm permission

    system.prop
    replaced ref to libril-icera with libxgold

    tilapia overlay
    - removed single apn rules
    - set voice-enabled
    - added mms values

    NetworkPolicyManager
    - removed call to time.getMaxPeriod
    23
    Hallo! Bin über meinen Beruf in die tegra3 Struktur geraten und bin einer Lösung für Telefonanrufe sehr nahe! google hat eine Sperre zum Anmelden in die Zellen der Mobilfunkbetreiber gesetzt.
    Ich kann bis jetzt Anrufe im Vorwahlbereich meines Standortes führen (nur Festnetz), nur noch keine Anrufe erhalten oder zu Mobilnummern führen.

    Ich muß leider erstmal prüfen ob ich hier durch meinen Arbeitgeber oder anderen Firmen Probleme bekomme und hoffe bis Weihnachten meinen jetzigen Lösungsansatz mit Euch teilen zu können!?

    Rough Translation:
    Hello! Here at my job I work with tegra3 and I am very close to finding a solution to making calls. Google has a lock to log into the cells of the mobile operators.
    My progress so far: I can make outgoing calls to numbers with the same area code (landline only), but not receive incoming calls from mobile numbers (Possibly same area code only).

    I have to make sure I'm not breaking any NDAs with my company before I can post this half-working solution.

    Thanks meter is on the left :)
    19
    sorry, its german

    Hallo! Bin über meinen Beruf in die tegra3 Struktur geraten und bin einer Lösung für Telefonanrufe sehr nahe! google hat eine Sperre zum Anmelden in die Zellen der Mobilfunkbetreiber gesetzt.
    Ich kann bis jetzt Anrufe im Vorwahlbereich meines Standortes führen (nur Festnetz), nur noch keine Anrufe erhalten oder zu Mobilnummern führen.

    Ich muß leider erstmal prüfen ob ich hier durch meinen Arbeitgeber oder anderen Firmen Probleme bekomme und hoffe bis Weihnachten meinen jetzigen Lösungsansatz mit Euch teilen zu können!?
    16
    I'm done with framework hacks for a framework intentionally gimped.

    We are close!

    Sent from my Galaxy Nexus using Tapatalk 2
    12
    Pulled down master AOSP branch
    Pulled down grouper binaries

    working with grouper device

    Modified device.mk
    - use init.tilapia.rc
    - use tilapia overlay
    - remove SimpleSMS
    - remove ro.carrier=wifi_only

    Modified full-grouper.mk
    - ref full_base_telephony in place of full_base
    - added full apns

    Modified device-common.mk
    - added gsm permission

    system.prop
    replaced ref to libril-icera with libxgold

    tilapia overlay
    - removed single apn rules
    - set voice-enabled
    - added mms values

    NetworkPolicyManager
    - removed call to time.getMaxPeriod