• Off Topic
  • Using RCS with Google Messages on GrapheneOS

Kras I've tried that about 10 times now and nothing 😅 I'll give it a few days and try again. Thanks for sharing though!

grittytea

I believe this is still the case: Verizon won't permit you to use RCS without device identifiers. In my case I was not able to get it working even with permitting it in adb.

So many people are knocking their heads against this problem without mentioning which carrier they are using. The carrier approves the RCS connection, it seems.

US Mobile is an mvno which lets you switch carriers without even talking to customer service, you just do it in the web portal. So you can easily test this.

When I switched to T-Mobile towers, RCS connected instantly.

(However, I won't use T-Mobile in my personal case - I experience severe throttling)

jeffcodes Thanks for that post, I have done it exactly like you have mentioned after trying several other possible solutions without any success.
Now I can see in the settings my number the first time on that point where I switched RCS on.
The status says: Not supported, on stock Android it works.
Tested with o2 germany and a P7P.
Sad that it still does not work! :-( I have done so many steps the last weeks and still not working! :-(
Maybe I will find another solution or I`ll give up.

@jeffcodes @83639273 @chenxiaolong

Hello, I now have the solution. The following workaround has also worked for me now.
I have left Carrier Services on the smartphone as Google says it is needed for RCS and mobile. I don't want to uninstall it now and then RCS won't work anymore.
The problem for me was that I have a multicard (two SIMs with the same phone number). Only one SIM is active for primary SMS reception. The SIM in the GOS smartphone was not set up for primary SMS reception. So I set up this SIM for primary SMS reception. Unfortunately, after restarting the device, RCS still did not work. So I went through the below workaround again. RCS then worked.

1st step execute what is described here:

"I granted READ_DEVICE_IDENTIFIERS the old fashioned way via adb:

adb shell appops set com.google.android.gms READ_DEVICE_IDENTIFIERS allow
The state of the permission can be found with:

adb shell appops get com.google.android.gms | grep READ_DEVICE_IDENTIFIER
Previously, I had:

READ_DEVICE_IDENTIFIERS: deny; rejectTime=+2m21s554ms ago
After enabling the permission, I have:

READ_DEVICE_IDENTIFIERS: allow; time=+47s616ms ago; rejectTime=+7m4s585ms ago"

2nd step then do the same as mentioned here:

@naibed @NetRunner88 @Renewably3997 @5rlyn

"Use this post (or thereabouts) to set READ_DEVICE_IDENTIFIERS for G-Play Services (com.google.android.gms).

Once that's done, set SMS and Phone permissions for G-Play Services and G-Play Store.
Download Messages, and set permissions for SMS and Phone, and whatever else makes sense for you.
Open Messages and go through setup.

At this point, RCS, was checked "on", but it wasn't really, so then I went into Settings > Apps and force closed and cleared cache for Messages, GP Services, GP Store.

Opened up Messages and check settings and it had the message that RCS was not available for this device. I restarted the device, and opened up Messages, and immediately received a text noting RCS was being setup, and it was done. RCS is now working, and confirmed with a message to an iPhone user on iOS 18.

I did NOT need Carrier Services.

Though I dislike using google services, I figured there is a balance here between encrypted message with too much metadata that can't be read, vs plain text chilling on MM (or other carrier's) systems."

I dont understand why people are wanting to use RCS, doesnt that just defeat the whole purpose of having a gOS device and utilizing e2ee communication with molly/signal, etc? I mean obviously everyone has different regular lives and have to communicate with all different types of contacts. But maybe its just me, i want to keep the OEM gOS crap sms messaging app for contacts to text me on. Then if they want to talk call them on the phone. Overtime ive realized most contacts that i actually text and speak to regularly are on the same page and have sig/molly.

  • de0u replied to this.

    yoyoma I dont understand why people are wanting to use RCS, doesnt that just defeat the whole purpose of having a gOS device [...]

    No.

    Different people have different purposes.

      de0u

      The default SMS app would have RCS if Google put efforts into updating it so that it could use their and carrier's RCS stack and servers.

      To be honest, Google should have just updated the base SMS app in AOSP. That would have solved a lot of early adoption issues.

      But, like de0u said Different people have different purposes.

        Behavior I am seeing: Unable to send RCS while being able to receive RCS messages.

        What I've done so far by starting here; this allowed me to move from "RCS not supported on this device" to verifying the number - messages won't sent and it says contacts "might be offline"

        Then I moved to chenxiaolong's solution. READ_DEVICE_IDENTIFIERS went from deny to allow, but issue persists with RCS messages not being sent.

        At this point I've gone to the google messages site to disconnect my number from RCS and will wait for 24 hrs before attempting a reconnect to RCS.

        I am new to all of this, are there specific logs that I can be pulling that can help me diagnose the issue? what should I be looking for specifically. Always eager to learn more.

        I wanted to try out GrapheneOS for a bit of increased security and privacy. I have AT&T, and I was having issues with sending RCS messages, despite RCS displaying as being connected. It would show the first bubble with a circle and check mark (sender), but the second bubble (recipient) would not show and the message would not go through. I could receive RCS messages from people who had both Android and iOS. I was also able to see typing indicators. I decided to switch back to stock. It worked like normal at first; however, I started experiencing the same issue. I could not find what was causing the issue. I assumed it was on the carrier end, and they were of no help.

        I think that I've finally identified the issue. I was using the quick tiles to disable both the camera and microphone (only enabling them when needed). I started this practice while using GrapheneOS. You're able to do the same thing on stock android. The issue appeared to resolve when I accidentally left the microphone enabled following a call. I started having issues again after disabling the microphone. I was able to fix the issue by enabling the microphone, but it didn't resolve the issue until after I reinstalled Google messages.

        I thought that it might be helpful to share with the community. This could be causing issues for people based on the permissions that they are granting Google messages and for those who routinely disable the microphone.

          Unlit6179 TLDR::

          Problem: RCS was connected but not sending messages. Could receive RCS messages and see typing indicator. I suspect that disabling the microphone through the quick tile was the culprit. It does not resolve immediately re-enabling the microphone.

          Solution: It worked again after enabling the microphone and reinstalling Google Messages. I assume microphone permissions also matter for Messages.

            Unlit6179 from what I understand it doesn't need mic permissions... But I say that and have my enabled lol

            6 days later

            I found that giving messages, and carrier location permission fixed the RCS problem for me Pixel 9

            I was able to get RCS working on my device. I'm going to include as much detail as I can think of here to hopefully be of some help to someone else.

            Device and situation details

            Carrier: AT&T
            Phone: Google Pixel 9 Pro
            (e)SIM(s): 1 eSIM (that puts it in the second slot for Pixels with a physical SIM slot)
            Previous Phone: iPhone 14 Pro Max (logically I had iMessage enabled and RCS as of iOS 18)
            Connection Type(s): 5G and Wi-Fi

            Story

            1st attempt

            I setup the phone sans cellular service. I installed all my apps and secondary users. I attempted to use RCS under a secondary user after getting an eSIM provisioned to the phone. Under the secondary profile Messages could see the SIM details, but would never report a status.

            2nd attempt

            After reading the tips and instructions here in this thread, I reconfigured all the settings and permissions except for using adb to add the extra permission to Messages. I started to do this in the Owner profile. Reading this thread lead me to believe there is something about the RCS verification process that only works in the Owner process. A status never appeared in the RCS settings, but now I would get text messages from Google frequently attempting to confirm my number. I later tried some troubleshooting with AT&T, but they just had me reset network settings and cycled my connections to the towers. At some point in the troubleshooting with them clearing the cache got a status to appear and option to Verify my number. This ended up getting stuck in this state. Eventually they got my verification requests rate limited from asking me to re-input my details to verify so many times. So I would have to try again the next day.

            3rd attempt

            After getting to a dead end with AT&T, I factory reset GOS. This time I went through all the same steps from before but only setup Messages in the Owner profile. I was able to get the status messages again yet ultimately stuck at the "setting up" stage. I tried more cache clearing and eventually got familiar with the logs formats to have some basic comprehension. I discovered that sometimes when Messages would say RCS was unsupported on my device that it was actually because Messages was setting up RCS in Dual-SIM mode (DSDR) and well I only had one eSIM. Clearing cache while in airplane mode would clear that out and Messages would switch to a single SIM mode RCS setup after that. I also discovered that there was a consistent error in the logs stating something along the lines of "no RCS configuration on SIM." This made me curious if this had to do with the provisioning of my eSIM from AT&T. I tried provisioning a new eSIM from AT&T's website but the error persisted.

            4th attempt

            After reading all these logs, I got a hunch to setup the phone and RCS all under the stock system (as I call it SpywareOS). So I did just that. I used the Android flash tool to flash the latest stable release back to the Pixel. I configured RCS with Messages and it took several hours to actually work. An annoying part was that right after I opened Messages the first time the RCS status was CONNECTED, but I could not send an RCS message for a few hours. After this I hoped that there was now a configuration in the eSIM that would carry over when I flash GOS on the Pixel again.

            5th attempt

            At this time, I began to flash GOS again giving me a clean environment excluding the eSIM that would carry over. The first thing that I did, was install App Ops, Sandboxed Google Play services and Messages. That means I also signed into my Google account to download Messages from the Play Store. I added all the permissions and even added the extra permission using adb. I configured all the permissions while the devices was in airplane mode and cleared all caches for Messages, Carrier Services and Google Play Services. I made Messages the default SMS app. I disabled airplane mode and enabled cellular services only. Then I opened up Messages. The first launch I went into setting and had to enable RCS chats in settings. After a second launch, I got the "Enabling RCS" notification from RCS and when I checked the status in Messages' settings the status was CONNECTED. I attempted to send an RCS message, but no luck. Then after a few more hours of waiting it all worked.

            Conclusion

            So I'm not sure if setup in SpywareOS was a necessary step, but it was part of my steps that led to it being enabled. Also, in many of these steps I had to regularly go into my Google account and sign-out the devices from previous attempts and disable the devices allowed to perform automatic number verification (https://account.googel.com/phone).

            For a TL,DR:

            1. Possibly setup RCS in stock prior to GOS
            2. start with a fresh install of GOS
            3. install Google Play Services, Google Messages and Carrier Services
            4. set permissions on Google Play Services: Allowed (Contacts, Network, Notifications, Phone, Sensors, SMS) Not allowed (everything else) App batter usage (Unrestricted)
            5. sign into Google account and enable automatic phone verification
            6. enable airplane mode
            7. set permissions on Messages: Allowed (Call logs, Camera, Contacts, Microphone, Network, Notifications, Phone, Sensors, SMS) Storage scopes (Music and audio, Photos and videos) Not allowed (Location)
            8. enable Developer mode, enable USB debugging and set READ_DEVICE_IDENTIFIERS to allow then disable developer mode and USB debugging
            9. set permissions on Carrier Services: Allowed (Call logs, Network, Phone, Sensors) Storage scopes (Contacts) Not allowed (Camera, Location, Microphone) App batter usage (Unrestricted)
            10. clear cache on Messages and Google Play Services
            11. disable airplane mode
            12. ensure cellular services is enabled and Wi-Fi is disabled
            13. open Messages and ensure RCS chats are enabled
            14. wait a few hours

            I'm on TELUS, and RCS stopped working after a few weeks of constant usage.

            I know someone else on GrapheneOS as well who's RCS stopped working around the same time, and they use a different network (Freedom).

            This leads me to believe it was a recent GrapheneOS update that killed the RCS connection.

              quaff This leads me to believe it was a recent GrapheneOS update that killed the RCS connection

              People blame 'GrapheneOS update' for all kinds of things. Most often it is not the cause.

              In this case it is much more likely a change to Play Services or Googles RCS service or Messages app which is incompatible with the way a device is set up or the way some carriers are set up or a combination of these things. There are complex interactions and many places that there can be differences.

              Carlos-Anso

              Fair enough. Easy to blame GrapheneOS updates (especially without checking the changelogs to see if the updates actually broke anything). That thread you shared did the trick. That's crazy that all those steps are required. Will have to do it for the other person I know to see if it works for them too. Thanks again (until the next time).