Gmscore: GCM disconnected on Lineage OS 16.0 + microG on fresh installation

Created on 26 Mar 2019  路  47Comments  路  Source: microg/GmsCore

Device: OnePlus 3T
OS: Lineage OS 16.0 (lineage_oneplus3-userdebug 9 PQ2A.190305.002 eng.root.20190325.155933 dev-keys)

I am running microG for Lineage OS 16.0 (March 25, 2019 build), and I have not yet gotten GCM to register an app. I installed 16.0 after wipe of the system. I have tried Protonmail, Signal, Riot.im, which all registered under microG + Lineage OS 15.1.

"Current State: Disconnected", and no apps are listed. I have tried microG Settings >>Google Cloud Messaging >> ... >> Confirm new apps, with no results.

I understand that 16.0 is brand new, so a messy transition is expected, but no one seems to be having this issue (or I am in the wrong place?!). Has anyone gotten apps to register using a microG + Lineage OS 16.0 build yet? Is there a good app to test that definitely works? Logs?

鈽侊笍 Cloud / Push Messaging

Most helpful comment

@voidstarstar Yes, I have been keeping up with the automated builds, it was the same version (current) at the end of 15.1 to 16.0, and it worked perfectly on 15.1.

I think what I am getting at is being lost. I sincerely do not understand the nature of this bug because there is something impossible about it. I do not know if this is present for 100% of users, or if the reason two separate devices for me are failing registration is due to something unique to my environment (pi-hole for example). One of the three main features of microG are not working out of the box. In a larger project, if there is a problem that effects every single user 100% of the time that cripples the primary functions of the app, within a week of release, the problem is usually documented in the issue tracker, the nature of it is understood, and the users are left with some sense that the developers are aware of the problem and this major bug is on their radar. We have none of this. We have a comment from a developer in a closed issue from October. If the bug has been present since before October, and the entry to the wiki was made by you yesterday, a week after I started this issue thread, does something seem impossible about this? It makes me less certain that this issue could affect everyone. That is my point.

For better or worse, the barrier to entry for this project has been lowered significantly from the olden days. I read the wiki when I started using microG before the automated build. That was a long time ago, and I do not revisit the wiki every time I upgrade. There are strong opinions about how much you should hand-hold the user, but this project is getting more mainstream by the day, and a huge percentage of users don't read the manual. I think since this issue might affect EVERYONE, and there is a workaround, that workaround should be spoon-fed to the user (or fixed! but as I am not a dev, I have nothing to contribute). It should at least be spelled out in a place that the user cannot miss as something that you WILL need to deal with. I personally do not care if this issue gets fixed, because I know the workaround. My concern is for the many, many users that are going to encounter this bug, and that will not know what to do and will either go without notifications (and be unsatisfied) or return to using GAPPS (and will never return). I'm really bad at internet communicating, so apologies if this comes across as rude, complainy or snarky. Not intended, but anyway, this probably isn't the forum for this discussion, so I digress.

So concerning this bug, this is what I think we know. Do we know this?

1) The bug occurs on 100% of clean flashes.
2) The bug while present in the microG code, does not present itself to the user when installing regular OTA updates or dirty-flashing major upgrades because initial registration has already occurred?
3) Dialing *#*#2432546#*#* allows registration. Some apps require re-installation to work.

All 47 comments

Does anyone know of an app that definitely registers with GCM on Lineage 16.0 + microG build? My fear is that it is the apps themselves and not the microG backend that is causing the problem. Which logs would be the most helpful to see what is going on?

This app can test push notifications. It's also in the Yalp or F-droid store if I'm not mistaken.

Doesn't seem to work with microg build for dipper (Xiaomi Mi 8) 20190325.. Push notification tester app linked above is closed after trying to register...

To those interested, that Push Notification app is open source, but not on F-droid, and it crashes during the check, so has no purpose.

Are GCM working for anyone on Lineage 16.0 + microG? I also put Riot.im on a Samsung Tab S2 (gts210vewifi) with Lineage OS 16.0 + microG, and it failed to register. I'm looking for any app that any person has gotten to register on GCM for any device with Lineage 16.0 + microG. I think it will have to be in Google Play as I don't think F-droid allows the GCM hooks as they are proprietary, although I could be wrong.

My next move is to return oneplus3 to stock and reflash, but I would rather not bother if it just isn't working for anyone.

@raccoonfancy works fine for me on poco with los 16 unofficial Feb release.

Same problem with Xiaomi MiMix (lithium).

737

It's unclear if this is really related to #737 or not. That bug is about certain apps not registering due to a specific app dependent issue. If no apps are registering, then it is probably not the same bug.

I'm looking for any app that any person has gotten to register on GCM for any device with Lineage 16.0 + microG. I think it will have to be in Google Play as I don't think F-droid allows the GCM hooks as they are proprietary, although I could be wrong.

F-Droid does allow apps to use GCM, but all apps themselves must be open/libre. Anything proprietary that an app makes use of, like Google Play Services, won't be available on f-droid, of course.

"Current State: Disconnected", and no apps are listed. I have tried microG Settings >>Google Cloud Messaging >> ... >> Confirm new apps, with no results.

Does the Self-Check have all checkboxes checked? You should verify this first.

There's another bug that causes the "Confirm new apps" setting to prevent apps from registering. For testing, I would disable this option completely. See https://github.com/microg/android_packages_apps_GmsCore/issues/631#issuecomment-429013399.

Okay I have the solution: Follow @mar-v-in instruction in #439 here: https://github.com/microg/android_packages_apps_GmsCore/issues/439#issuecomment-433018720

You don't have to "call" it. Just enter the code and it will vanish. Then check your GCM connection status. It will be connected now.

Woohoo!! @DPTJKKVH has it. Solution is to open system phone app and enter *#*#2432546#*#* as a manual reregistration is required.
Don't need to dial, it will just clear when entered. The apps registered right away, but Signal required a reinstall. I think there was a reboot involved at some point to get everything working.

So this is a bug, yes? We should leave this up at least, because the current source of information is halfway down on a closed issue thread.

I couldn't compell anyone here to name a single app that anyone has gotten to work out of the box, so it is not clear that microG + official Lineage OS 16.0 works without this intervention for anyone. It didn't work for me on two devices (OnePlus 3T and Samsung Tab S2 9.7"), but this may be because I have a pi-hole that my router uses for DNS based ad-blocking. In the referenced thread, someone mentioned making sure nothing is blocking mtalk.google.com. Because of the pi-hole, which is ALWAYS on at the router level, mtalk.google.com was probably blocked at initial install, which could be why both of my devices didn't register. Anyone think this sounds plausable?

Thinking about this, would my Wifi-only tablet have a dialer app? I'll have to check when I get home. How would I enter the code without it?

So this is a bug, yes? We should leave this up at least, because the current source of information is halfway down on a closed issue thread.

It's a known bug, but with a simple workaround. I think until it's fixed we should probably add this to the Helpful Information wiki page. I just added a short description of the workaround, but anyone can remove/edit it if needed or if the problem is fixed in the future.

Thinking about this, would my Wifi-only tablet have a dialer app? I'll have to check when I get home. How would I enter the code without it?

I haven't tested it, but if a device doesn't have the system phone app, maybe the method described in #660 would work instead.

I want to contest the theory that DNS-based ad-blocking is the cause of this bug.

First of all @mar-v-in did acknowledge that bug being introduced in the most recent release of core so earlier releases are most likely unaffected. We need to confirm this first before we jump to conclusions.

Second I do not use DNS-based ad-blocking but hosts files (AdAway). Maybe your definition of "DNS-based" includes hosts files or I'm just stupid but I suggest to simply say "ad blocking".

Either way I do not block mtalk.google.com and I doubt most filter lists do since it is used by Google Hangouts and probably other Google services.

Also why would FCM/GCM work after manual registration if it depends on mtalk.google.com which is still blocked by your pi-hole?

I hope I don't seem rude but I think your theory is pretty unlikely. (Though not completely impossible.)

Since the bug was acknowledged by @mar-v-in long before LineageOS 16 I dare to say that the OS is unrelated to it. My guess is that it is a bug in the gcore code itself but my guess is as good as anyones.

I am jumping to conclusions, but it is the only thing I am doing that is abnormal. I have whitelisted mtalk.google.com and registration proceeds. Before, two devices failed to register after installation.

Either:
1) Lineage OS 16.0 + microG builds do not work for ANYONE. This is possible, but one would think that could be determined fairly easily by looking at this issue tracker? I don't have a good sense that this is the case. I can't manage to get anyone to tell me the name of an app that works, or if it works at all for them.
2) The thing I am doing that is probably more rare is that I use a pi-hole on my network that uses DNS-based ad-blocking for every device on the network. This means that it is blocking mtalk.google.com from the beginning. AdAway is using a host file to block mtalk.google.com, but it doesn't matter, because presumably you have to install it on the device before it works. My ad-blocking is present during initial setup, AdAway is not.

Again it is a theory, and I am hoping to be proven wrong.

IS IT WORKING FOR ANYONE OUT OF THE BOX ON MICROG + OFFICIAL LINEAGE OS 16.0?

By the way, WiFi only devices have no dialer app. Installing Emerald Dialer from Fdroid has the intended effect.

@voidstarstar Do you think it is possible to include the information to manually register with ##2432546## inside the GCM settings itself?

Or let me rephrase this: Are you close enough with @mar-v-in to ask him for a minor release just for that? I think we could safe hundreds of people from wasting hours of their time and possibly even going back to gapps with this.

@DPTJKKVH I think microG previously registered automatically, but this was broken after an update. I think it would be better to fix this regression instead of adding some type of manual fix, but a manual "Register device with GCM" button might be a nice addition.

I'm probably not any closer to him than anyone else here. I'm just a regular user of microG, except I've made a few contributions to the project. Either way, we would need a working PR first. If a fast release is your concern, then once there's a working PR, you might be able to get it added to the Nanolx fork since that tends to have a more aggressive release cycle.

For the time being, I would personally consider this issue nice to fix, but with a relatively low priority since it's a well known issue with an easy workaround for most users.

Is this bug present in 100% of clean flashes of new versions of core?? It may be present in earlier versions, but flashing Lineage OS 16.0 which requires microG initialization gave me an opportunity to experience it. Previously I have used Lineage 14.1 and Lineage OS 15.1 with microG, and GCM registered immediately. This is the expected behavior. I switched to Lineage 16.0 when it went official last month, and GCM never registered. I attributed this to the normal hiccups when any project changes major versions. I earlier looked around on the wiki, didn't see anything relevant to try, so I just decided to wait.
If this is indeed present in 100% of cases, I think we need to take more drastic measures, because GCM is one of the core features of this project, and people are just going to move on if they aren't getting notifications. Is the issue that microG users not early adopters? Is everyone dirty flashing to upgrade? Or are there so few of us, that there is not enough users to discover these things? How does a bug that affects 100% of users that is this integral to the project not get discovered after a month? Why is this issue tracker not exploding with people having this issue, or is it starting to? These are the reasons that I am suspicious, but I don't really know ANYTHING.

If this is affecting all users, and there are no plans to fix it in the short term, this fact should be spelled out explicitly and the workaround needs to be placed more prominently in the wiki. I can do it, I just need to know if this is the case. There is soon going to be an influx of people transitioning from Lineage 15.1 to 16.0 (and 14.1 to 15.1 I guess) soon. Do we know anything, because I think you lot have a better sense if this is the case?

How does a bug that affects 100% of users that is this integral to the project not get discovered after a month?

It was discovered. The post referenced above is by the project maintainer, so it's clearly a known bug: https://github.com/microg/android_packages_apps_GmsCore/issues/439#issuecomment-433018720

There are also many other posts related to the checkin process:

Why is this issue tracker not exploding with people having this issue, or is it starting to?

Because spamming the issue tracker with duplicate issues isn't helpful and is counterproductive. People typically will do a search and if they see that the issue is already mentioned, they will just reply with additional relevant info, give the issue a :+1:, or just patiently wait. (Some users are generous enough to provide patches, however this is not typical.)

If this is affecting all users, and there are no plans to fix it in the short term, this fact should be spelled out explicitly and the workaround needs to be placed more prominently in the wiki.

Where on the wiki would you suggest to put it? I had already added it to the Helpful Information page yesterday. Anyone who follows the Installation instructions is directed to read this first.

Previously I have used Lineage 14.1 and Lineage OS 15.1 with microG, and GCM registered immediately. This is the expected behavior. I switched to Lineage 16.0 when it went official last month, and GCM never registered.

When you updated from 15.1 to 16.0 did you use the _exact same_ version of microG?

@raccoonfancy helping you with @voidstarstar last question: If you use the precompiled ROMs provided by microG and kept up to date with 15.1 releases you did use the same microG version on both 15.1 and 16.

Also answering one of your own questions: I did a clean upgrade. Meaning wipe System, Cache and Data.

For what it's worth: I dirty flashed 16.0 over 15.1 and for me GCM works, but not in the work profile (I use the Shelter app). Manual registration with the dial code doesn't solve this.

@voidstarstar Yes, I have been keeping up with the automated builds, it was the same version (current) at the end of 15.1 to 16.0, and it worked perfectly on 15.1.

I think what I am getting at is being lost. I sincerely do not understand the nature of this bug because there is something impossible about it. I do not know if this is present for 100% of users, or if the reason two separate devices for me are failing registration is due to something unique to my environment (pi-hole for example). One of the three main features of microG are not working out of the box. In a larger project, if there is a problem that effects every single user 100% of the time that cripples the primary functions of the app, within a week of release, the problem is usually documented in the issue tracker, the nature of it is understood, and the users are left with some sense that the developers are aware of the problem and this major bug is on their radar. We have none of this. We have a comment from a developer in a closed issue from October. If the bug has been present since before October, and the entry to the wiki was made by you yesterday, a week after I started this issue thread, does something seem impossible about this? It makes me less certain that this issue could affect everyone. That is my point.

For better or worse, the barrier to entry for this project has been lowered significantly from the olden days. I read the wiki when I started using microG before the automated build. That was a long time ago, and I do not revisit the wiki every time I upgrade. There are strong opinions about how much you should hand-hold the user, but this project is getting more mainstream by the day, and a huge percentage of users don't read the manual. I think since this issue might affect EVERYONE, and there is a workaround, that workaround should be spoon-fed to the user (or fixed! but as I am not a dev, I have nothing to contribute). It should at least be spelled out in a place that the user cannot miss as something that you WILL need to deal with. I personally do not care if this issue gets fixed, because I know the workaround. My concern is for the many, many users that are going to encounter this bug, and that will not know what to do and will either go without notifications (and be unsatisfied) or return to using GAPPS (and will never return). I'm really bad at internet communicating, so apologies if this comes across as rude, complainy or snarky. Not intended, but anyway, this probably isn't the forum for this discussion, so I digress.

So concerning this bug, this is what I think we know. Do we know this?

1) The bug occurs on 100% of clean flashes.
2) The bug while present in the microG code, does not present itself to the user when installing regular OTA updates or dirty-flashing major upgrades because initial registration has already occurred?
3) Dialing *#*#2432546#*#* allows registration. Some apps require re-installation to work.

I do not know if this is present for 100% of users, or if the reason two separate devices for me are failing registration is due to something unique to my environment (pi-hole for example).

Based on what you reported, it sounds like this might be isolated to Android 9 (API 28) users. With each new version of Android, a new API level is used which can cause various apps to break, including microG. Previous reports of device registration issues were not able to clearly narrow down the Android versions affected, so this new information could be helpful. If LineageOS 16.0 is only 1 month old, it's entirely possible that you're the first user to actually run into this. There are bugs that have affected all microG users that weren't reported for much longer.

In a larger project, if there is a problem that effects every single user 100% of the time that cripples the primary functions of the app, within a week of release, the problem is usually documented in the issue tracker, the nature of it is understood, and the users are left with some sense that the developers are aware of the problem and this major bug is on their radar. We have none of this.

We have none of this because microG is a smaller project. It relies on people like you to report bugs like this. It might have the ambitious goal of replacing Google Play Services, but it certainly doesn't have the same financial and developer resources as Google. It's unfortunate, but it's the reality we need to work with.

We have a comment from a developer in a closed issue from October. If the bug has been present since before October, and the entry to the wiki was made by you yesterday, a week after I started this issue thread, does something seem impossible about this? It makes me less certain that this issue could affect everyone. That is my point.

I can only say from my experience that my device registers just fine, but I'm using an older version of Android. Many other users don't seem to have an issue with device registration. I don't know if anyone has fully narrowed down the conditions to replicate the bug, so it's unclear to me what the root cause is.

For better or worse...

I'm not really sure what you're proposing we do. You want the workaround to be easily spelled out and spoon fed to users. Great. I'm not necessarily opposed to this, but if you don't think users will read the wiki, where do you think is better? No matter where the information is, if a user doesn't want to read the manual, we can't force them to.

The wiki is already a well organized and concise source of information in my opinion. I don't really know how we can do much better, but I'm open to suggestions.

I'm really bad at internet communicating, so apologies if this comes across as rude, complainy or snarky. Not intended, but anyway, this probably isn't the forum for this discussion, so I digress.

It doesn't come off that way to me. Hopefully my responses don't either.

For what it's worth: I dirty flashed 16.0 over 15.1 and for me GCM works, but not in the work profile (I use the Shelter app). Manual registration with the dial code doesn't solve this.

I've managed to get registration on GCM after dialing the code but not for the work profile. I'm also using Shelter so I have two parallel microG settings and only the personal profile shows connection availability. Applying the workaround again didn't make any difference.

I'm testing latest build of LOS for microG version 16 flashed cleanly.

I've managed to get registration on GCM after dialing the code but not for the work profile. I'm also using Shelter so I have two parallel microG settings and only the personal profile shows connection availability. Applying the workaround again didn't make any difference.

Can you remember, did you install Shelter before or after you'd got GCM working in the personal profile? If Shelter is installed with working GCM, it might work in the work profile. If it does not, it is a separate bug, because it means GCM does not work in the work profile at all under LOS 16 - no matter what install procedure is used.
Sorry if I'm unclear explaining.

I remember. It followed this:

  1. Clean install of LineageOS for microG and get green for all the self-checks
  2. Enable "Device Registration" and then "Google Cloud Messaging". No messaging apps installed yet and GCM status disconnected
  3. Install Shelter and several apps inside the work profile. microG settings on this new profile are reset to default (everything disabled)
  4. Dial the code. Device registration status changes to connected for the personal profile, the other remains disabled
  5. Enable "Device Registration" and "Google Cloud Messaging" settings in the work profile hoping that actual status would be honored because it's bound to device and not profile. That didn't happen
  6. Dial the code again to reconnect both profiles but nothing changes

So yes, it looks like you can only register the main profile or you have better chances installing Shelter after the fact...

So yes, it looks like you can only register the main profile or you have better chances installing Shelter after the fact...

I've tried several situations now, including installing Shelter after having GCM connected in the main profile. It just does not connect in the work profile. I've opened a separate issue for that (#747)

@raccoonfancy I'm not sure if it helps, but, I've run into this issue as well. Most apps, including the tester app on the microg download page, fail to get registered with microG on a fresh install, unless you do the manual dial code. However, I have run into some apps which register just fine even without the dial code, and once those app register (like running the dial code) then all other apps register fine too. For example: FCM Tester Push Notification

Hope it helps.

EDIT: Note with the above app you don't need the server key. If you just run it and click the "Click here to send now", you'll see your connected with microG in the "microG Settings". After which all FCM tester apps seem to register fine. Also note I'm testing on oreo devices (Lineage OS 15.1), I think it's the same issue as pie.

Based on what you reported, it sounds like this might be isolated to Android 9 (API 28) users. With each new version of Android, a new API level is used which can cause various apps to break, including microG. Previous reports of device registration issues were not able to clearly narrow down the Android versions affected, so this new information could be helpful. If LineageOS 16.0 is only 1 month old, it's entirely possible that you're the first user to actually run into this. There are bugs that have affected all microG users that weren't reported for much longer.

Cool. That simplifies things a bit, and means this probably only effects ROMS based on API 28 (Android 9, Lineage OS 16.0). The bug probably does not show itself and registers just fine if you dirty flash from Lineage 15.1 to Lineage 16.0.

We have none of this because microG is a smaller project. It relies on people like you to report bugs like this. It might have the ambitious goal of replacing Google Play Services, but it certainly doesn't have the same financial and developer resources as Google. It's unfortunate, but it's the reality we need to work with.

Yes, I think that was the source of my confusion. I was surprised to see that microG + Lineage 16.0 released a few days after the official release of Lineage 16.0, but I guess it is automated, so just kept building the ROMS. I expected the transition to not work on the first release, but I waited for a few weeks, and none of the issues reported seemed like what I was experiencing. I've learned my lesson about being lazy!

I'm not really sure what you're proposing we do. You want the workaround to be easily spelled out and spoon fed to users. Great. I'm not necessarily opposed to this, but if you don't think users will read the wiki, where do you think is better? No matter where the information is, if a user doesn't want to read the manual, we can't force them to.

It's probably good enough as it is as it is in the required reading. This bug report will probably go a long way to letting the right users know what to do. The issue tracker is where I normally go first for things like this.

@NvrBst
Thanks, that does, altough it may not effect you if you're using an Oreo-based ROM. Based on #439, it seems that the problem is related to Android transitioning from GCM to FCM, so maybe based on what you have said, the apps that are built to use FCM will work out of the box? Out of my depth!

Please all of you try the new version released today to see if the problem still persist.

@ale5000-git as soon as it goes up on f-droid I will test it out. Actually there seem to be quite a lot of great additions in the new version!

It is already on F-Droid but you may not notice it for various reasons:
You don't have microG repository or it may show up as UnifiedNlp or the repo index isn't updated.

It's indeed available but it does not get shown as an update. I have to manually select it.

Should I pick the mapbox one and whats the difference?

Now there are 2 alternative libraries for Maps included in GmsCore: mapbox (this one is new in this version) or vtm.

They are 2 different libraries but I don't know the exact differences.

PS: It is better to remain on topic and open a different issue for different questions.

Using the latest build from download.lineage.microg:

06-06 19:35:48.867  26930    28562       GmsCheckinClient  D  CheckinRequest{androidId=<REDACTED>, digest=1-<REDACTED>, checkin=Checkin{build=Build
                                                            {fingerprint=OnePlus/OnePlus3/OnePlus3:8.0.0/OPR1.170623.032/02281230:user/release-keys, hardware=qcom, brand=OnePlus, radio
                                                            =MPSS.TH.2.0.c1.9-00102-M8996FAAAANAZM-1.99649.1.118107.1, bootloader=unknown, clientId=android-google, time=1559731057, dev
                                                            ice=OnePlus3, sdkVersion=28, model=ONEPLUS A3003, manufacturer=OnePlus, product=lineage_oneplus3, otaInstalled=false}, lastC
                                                            heckinMs=1559842379484, event=[Event{tag=system_update, value=1536,0,-1,NULL, timeMs=1559842548866}], stat=[], requestedGrou
                                                            p=[], cellOperator=26207, simOperator=26207, roaming=mobile-notroaming, userNumber=0}, locale=de_DE, loggingId=8028313550985
                                                            907160, macAddress=[<REDACTED>], meid=<REDACTED>, accountCookie=[], timeZone=Europe/Amsterdam, securityToken=<REDACTED>
                                                            <REDACTED>, version=3, otaCert=[<REDACTED>], serial=<REDACTED>, deviceConfiguration=DeviceConfig{touchS
                                                            creen=3, keyboardType=1, navigation=1, screenLayout=2, hasHardKeyboard=false, hasFiveWayNavigation=false, densityDpi=420, gl
                                                            EsVersion=196610, sharedLibrary=[android.ext.services, android.ext.shared, [email protected], android.test.base,
                                                             android.test.mock, android.test.runner, com.android.future.usb.accessory, com.android.location.provider, com.android.media.
                                                            remotedisplay, com.android.mediadrm.signer, com.android.nfc_extras, com.android.services, com.dsi.ant.antradio_library, com.
                                                            google.android.maps, com.google.android.media.effects, com.google.widevine.software.drm, com.qti.dpmapi, com.qti.dpmframewor
                                                            k, com.qti.location.sdk, com.qualcomm.embmslibrary, com.qualcomm.qcnvitems, com.qualcomm.qcrilhook, com.qualcomm.qti.QtiTele
                                                            phonyServicelibrary, com.qualcomm.qti.lpa.uimlpalibrary, com.quicinc.cne, com.quicinc.cneapiclient, izat.xt.srv, javax.obex,
                                                             org.apache.http.legacy, org.lineageos.hardware], availableFeature=[android.hardware.audio.low_latency, android.hardware.aud
                                                            io.output, android.hardware.audio.pro, android.hardware.bluetooth, android.hardware.bluetooth_le, android.hardware.camera, a
                                                            ndroid.hardware.camera.any, android.hardware.camera.autofocus, android.hardware.camera.capability.manual_post_processing, an
                                                            droid.hardware.camera.capability.manual_sensor, android.hardware.camera.capability.raw, android.hardware.camera.flash, andro
                                                            id.hardware.camera.front, android.hardware.camera.level.full, android.hardware.faketouch, android.hardware.fingerprint, andr
                                                            oid.hardware.location, android.hardware.location.gps, android.hardware.location.network, android.hardware.microphone, androi
                                                            d.hardware.nfc, android.hardware.nfc.any, android.hardware.nfc.hce, android.hardware.opengles.aep, android.hardware.ram.norm
                                                            al, android.hardware.screen.landscape, android.hardware.screen.portrait, android.hardware.sensor.accelerometer, android.hard
                                                            ware.sensor.ambient_temperature, android.hardware.sensor.barometer, android.hardware.sensor.compass, android.hardware.sensor
                                                            .gyroscope, android.hardware.sensor.hifi_sensors, android.hardware.sensor.light, android.hardware.sensor.proximity, android.
                                                            hardware.sensor.relative_humidity, android.hardware.sensor.stepcounter, android.hardware.sensor.stepdetector, android.hardwa
                                                            re.telephony, android.hardware.telephony.cdma, android.hardware.telephony.gsm, android.hardware.touchscreen, android.hardwar
                                                            e.touchscreen.multitouch, android.hardware.touchscreen.multitouch.distinct, android.hardware.touchscreen.multitouch.jazzhand
                                                            , android.hardware.usb.accessory, android.hardware.usb.host, android.hardware.vr.high_performance, android.hardware.vulkan.c
                                                            ompute, android.hardware.vulkan.level, android.hardware.vulkan.version, android.hardware.wifi, android.hardware.wifi.direct,
                                                             android.software.activities_on_secondary_displays, android.software.app_widgets, android.software.autofill, android.softwar
                                                            e.backup, android.software.cant_save_state, android.software.companion_device_setup, android.software.connectionservice, and
                                                            roid.software.cts, android.software.device_admin, android.software.
06-06 19:35:48.970  26930    28562          GmsCheckinSvc  D  Checked in as <REDACTED>
06-06 19:35:48.978  26930    28562           GmsGcmMcsSvc  D  Scheduling reconnect in 5 seconds...
06-06 19:35:54.017  26930    26930          GmsGcmTrigger  D  Ignoring Intent { act=org.microg.gms.gcm.mcs.RECONNECT flg=0x14 cmp=com.google.android.gms/org.microg.gms.gcm.TriggerReceive
                                                            r (has extras) }: service is running. heartbeat instead.
06-06 19:35:54.031  26930    27232           GmsGcmMcsSvc  D  Heartbeat initiated, reason: Intent { act=org.microg.gms.gcm.mcs.RECONNECT flg=0x14 cmp=com.google.android.gms/org.microg.gm
                                                            s.gcm.TriggerReceiver (has extras) }
06-06 19:35:54.033  26930    27232           GmsGcmMcsSvc  D  Scheduling heartbeat in 2226 seconds...
06-06 19:35:54.037  26930    27235        GmsGcmMcsOutput  D  Outgoing message: HeartbeatPing{last_stream_id_received=3}
06-06 19:35:54.052  26930    26930      GmsGcmRegisterSvc  D  onBind: Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms }
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  Push registration failed.
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  com.urbanairship.push.PushProvider$RegistrationException: FCM registration failed.
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  at com.urbanairship.push.fcm.FcmPushProvider.getRegistrationToken(FcmPushProvider.java:72)
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  at com.urbanairship.push.k.a(PushManagerJobHandler.java:208)
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  at com.urbanairship.push.k.a(PushManagerJobHandler.java:125)
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  at com.urbanairship.push.j.a(PushManager.java:391)
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  at com.urbanairship.job.c$1.run(Job.java:91)
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  at java.lang.Thread.run(Thread.java:764)
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  Caused by: java.io.IOException: SERVICE_NOT_AVAILABLE
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  at com.google.firebase.iid.zzo.a(Unknown Source:40)
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  at com.google.firebase.iid.zzo.a(Unknown Source:0)
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  at com.google.firebase.iid.zzr.then(Unknown Source:10)
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  at com.google.android.gms.tasks.zzd.run(Unknown Source:26)
06-06 19:35:54.077  28341    28436           DAZN - UALib  E  ... 3 more
06-06 19:35:54.120  32180    26730      AnalyticsUploader  W  Starting to purge batch files from 503 of files
06-06 19:35:54.127  26930    27234         GmsGcmMcsInput  D  Incoming message: HeartbeatAck{last_stream_id_received=3}

Hey everyone,

just wanted to give feedback, 'cause this one hit me too. The good news is, I got it finally working.

I have a new phone (OnePlus 6), wiped everything clear, did a fresh installation of LineageOS 16.0 with MicroG 0.2.6.13280. Performed the self check in the microg app, everything green.
Checked with Push Notification Tester and IMDB app.

Unfortunately no GCM connection possible.

None of the suggestions worked (tried to dial *#*#2432546#*#* as suggested in #439, turned off "Confirm New Apps", reinstalled the apps during the process).

Next step was to update microg to the newest version on f-droid (0.2.7.17455), still nothing.
I finally got it working for each app after reinstalling them. "Confirm New Apps" is disabled, IMDB as well as Push Notification Tester are shown under microg's "Google Cloud Messaging".

Hope this helps.

In case it is helpful, I also encountered this as follows:

  • Nexus 5X (bullhead)
  • /e/-os (Eelo) 0.7 (Android 8.1.0, apparently based on LineageOS 15.1)
  • microG 0.2.7.17455
  • Google device registration was "on"
  • Google Cloud Messaging was "on" but "current state" was "disconnected"
  • Issue was fixed immediately by dialing *#*#2432546#*#* ("current state" shows "connected")

I'm not sure if there is any difference regarding this issue but if all of you are going to try it, try the current latest build.

I'm running the mentioned build v0.2.8.17785-4-06c8b76, but GCM doesn't seem to work. Neither rebooting, re-installing the apps, dialing the configuration code or executing am broadcast helps to get GCM connected and allowing apps to be registered. F.e. Threema isn't able to register, neither is Push Notification Tester.

In adb logcat I only get these lines:

07-09 21:49:27.585  8346  8346 D PushNotificationTester: Connected to Internet
07-09 21:49:27.603  3246  3246 D GmsGcmRegisterSvc: onBind: Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms }
07-09 21:49:27.643  8346  8346 E PushNotificationTester: Registering for Push Notifications failed

Same problem. Seems to be related to LineageOS 16.0.

Tested Push Notification Tester on Nougat and it works, so the problem is only on newer ROMs.

Okay, I also got it to work now:

  • First I toggled the "ask for new apps to register" a few times (don't know what makes it work)
  • I just had to get the apps to re-trigger the in-app GSM registration. E.g. in Threema you have a special entry in the troubleshooting section to "re-register GSM token". (Most times, you can also just restart the apps)

Or possibly, I did not restart the system after first boot/enabling GSM etc.? Because it is microG for LineageOS I did not think about it. (as it is preinstalled)

Works for me as well now. Maybe I missed to enable device registration, not sure if it is needed. Anyways: After enabling it and dialing the magic re-registration code, FCM is now connected.

@rugk I had the same problem and your suggestion resolved my problem. Constantly toggling the "Confirm new Apps" under GCM > Advanced, i finally saw it connected. Thank you so much!!
But something about that toggle switch is definitely buggy. Needs to be fixed.

LineageOS 17.1 + microG 0.2.10.19420 + Shelter. GCM state is "disconnected" in personal and work profiles. App approving is disabled, ##2432546## is dialed. Anything can be done about this?

Seems I can get it work. What I did:

  • Disable GCM and Google device registration
  • Delete Google account in work profile
  • Enable GCM (at this moment it connected to Google)
  • Add Google account (I used microG interface)
  • Enable Google device registration (don't sure if it necessary)

Seems I can get it work. What I did:

* Disable GCM and Google device registration

* Delete Google account in work profile

* Enable GCM (at this moment it connected to Google)

* Add Google account (I used microG interface)

* Enable Google device registration (don't sure if it necessary)

Not sure on which microg version you're on, but on 0.2.11.202414 you can't enable GCM without enabling Google device registration.
In my case, GCM was disconnected because my adblocker was blocking

mtalk.google.com

Was this page helpful?
0 / 5 - 0 ratings