MicroG Settings falsely reports missing network connection on sign in
Describe the bug When trying to sign in with a google account, a missing network connection is reported although the device is connected to a Wi-Fi network and other services work. Precisely, it says "You don't have a network connection"
To Reproduce Steps to reproduce the behavior:
- Open microG Settings
- Tap "Add Google Account"
- Tap "Sign in"
- Error message appears
Expected behavior The login process continues and the account gets added to the device
Screenshots

System Android Version: 12 Custom ROM: LineageOS for microG 19.1
Additional context Device: OnePlus 6 Self-Check: all ticked
Might be similar to this: https://calyxos.org/news/2021/04/16/microg-google-login/
So do I. I'm surprised this bug report has so few activity. Are we the only ones? It makes me miss notifications on many apps, which is pretty annoying.
Works for me... I have Android 11, LineageOS 18.1, OnePlus 8.
Probably specific to Android 12, so not that many people have run into it yet.
See if adb log gives any interesting errors?
See if adb log gives any interesting errors?
adb logcat gives me
01-09 19:30:05.750 847 6045 D resolv : send_dg: send: : Operation not permitted
01-09 19:30:05.753 5807 6042 W GmsAuthLoginBrowser: Checkin failed
which seems interesting, but I am not quite an expert regarding android.
Full interesting logcat part
01-09 19:30:05.742 5807 6042 D GmsCheckinClient: -- Request --
01-09 19:30:05.742 5807 6042 D GmsCheckinClient: CheckinRequest{androidId=0, digest=1-929a0dca0eee55513280171a8585da7dcd3700f8, checkin=Checkin{build=Build{fingerprint=OnePlus/OnePlus6/OnePlus6:8.1.0/OPM1.171019.011/06140300:user/release-keys, hardware=qcom, brand=OnePlus, radio=unknown, bootloader=unknown, clientId=android-google, time=1671327388, device=OnePlus6, sdkVersion=32, model=ONEPLUS A6003, manufacturer=OnePlus, product=OnePlus6, otaInstalled=false}, lastCheckinMs=0, event=[Event{tag=event_log_start, timeMs=1673289005735}], cellOperator=26207, simOperator=26207, roaming=mobile-notroaming, userNumber=0}, locale=en_US, loggingId=-7749057556102887245, macAddress=[b407f976942c], meid=355031041060571, accountCookie=[], timeZone=Europe/Zurich, version=3, otaCert=[71Q6Rn2DDZl1zPDVaaeEHItd], serial=008741C7A2B8C6F0, deviceConfiguration=DeviceConfig{touchScreen=3, keyboardType=1, navigation=1, screenLayout=2, hasHardKeyboard=false, hasFiveWayNavigation=false, densityDpi=450, glEsVersion=196610, sharedLibrary=[android.ext.shared, android.hidl.base-V1.0-java, android.hidl.manager-V1.0-java, android.net.ipsec.ike, android.test.base, android.test.mock, android.test.runner, com.android.cts.ctsshim.shared_library, com.android.future.usb.accessory, com.android.hotwordenrollment.common.util, com.android.location.provider, com.android.media.remotedisplay, com.android.mediadrm.signer, com.android.nfc_extras, com.google.android.gms, com.google.android.maps, com.google.android.media.effects, com.google.widevine.software.drm, com.nxp.nfc, com.qti.dpmapi, com.qti.dpmframework, com.qualcomm.qcrilhook, com.qualcomm.qti.QtiTelephonyServicelibrary, ims-ext-common, javax.obex, libOpenCL.so, libadsprpc.so, libcdsprpc.so, libfastcvopt.so, liblistensoundmodel2.so, libqti-perfd-client.so, libsdsprpc.so, org.apache.http.legacy, qti-telephony-hidl-wrapper, qti-telephony-utils, vendor.qti.hardware.sensorscalibrate-V1.0], availableFeature=[android.hardware.audio.low_latency, android.hardware.audio.output, android.hardware.audio.pro, android.hardware.bluetooth, android.hardware.bluetooth_le, android.hardware.camera, android.hardware.camera.any, android.hardware.camera.autofocus, android.hardware.camera.capability.manual_post_processing, android.hardware.camera.capability.manual_sensor, android.hardware.camera.capability.raw, android.hardware.camera.flash, android.hardware.camera.front, android.hardware.camera.level.full, android.hardware.faketouch, android.hardware.fingerprint, android.hardware.location, android.hardware.location.gps, android.hardware.location.network, android.hardware.microphone, android.hardware.nfc, android.hardware.nfc.any, android.hardware.nfc.hce, android.hardware.nfc.hcef, android.hardware.opengles.aep, android.hardware.ram.normal, android.hardware.screen.landscape, android.hardware.screen.portrait, android.hardware.security.model.compatible, android.hardware.sensor.accelerometer, android.hardware.sensor.compass, android.hardware.sensor.gyroscope, android.hardware.sensor.light, android.hardware.sensor.proximity, android.hardware.sensor.stepcounter, android.hardware.sensor.stepdetector, android.hardware.telephony, android.hardware.telephony.cdma, android.hardware.telephony.gsm, android.hardware.telephony.ims, android.hardware.touchscreen, android.hardware.touchscreen.multitouch, android.hardware.touchscreen.multitouch.distinct, android.hardware.touchscreen.multitouch.jazzhand, android.hardware.usb.accessory, android.hardware.usb.host, android.hardware.vulkan.compute, android.hardware.vulkan.level, android.hardware.vulkan.version, android.hardware.wifi, android.hardware.wifi.direct, android.hardware.wifi.passpoint, android.software.activities_on_secondary_displays, android.software.app_enumeration, android.software.app_widgets, android.software.autofill, android.software.backup, android.software.cant_save_state, android.software.companion_device_setup, android.software.connectionservice, android.software.controls, android.software.cts, android.software.device_admin, android.software.device_id_attestation, android.software.file_
01-09 19:30:05.743 847 6043 D resolv : GetAddrInfoHandler::run: {100 100 100 983140 10143 0}
01-09 19:30:05.743 847 6043 D resolv : resolv_getaddrinfo: explore_fqdn(): ai_family=0 ai_socktype=1 ai_protocol=6
01-09 19:30:05.745 847 6044 D resolv : doQuery: (1, 1)
01-09 19:30:05.745 847 6044 D resolv : res_nmkquery: (QUERY, IN, A)
01-09 19:30:05.745 847 6044 D resolv : res_nsend
01-09 19:30:05.745 847 6044 I resolv : resolv_cache_lookup: lookup
01-09 19:30:05.745 847 6044 I resolv : resolv_cache_lookup: NOT IN CACHE
01-09 19:30:05.745 847 6044 I resolv : resolv_populate_res_for_net: netid=100
01-09 19:30:05.745 847 6044 I resolv : res_stats_usable_server: NS stats: S 50 + E 0 + T 1 + I 3 = 54, rtt = 9, min_samples = 8
01-09 19:30:05.746 847 6044 I resolv : res_stats_usable_server: success rate 92
01-09 19:30:05.746 847 6044 D resolv : res_nsend: Querying server (# 1) address = 192.168.1.1:53
01-09 19:30:05.746 847 6044 D resolv : send_dg: new DG socket
01-09 19:30:05.746 847 6044 D resolv : send_dg: send: : Operation not permitted
01-09 19:30:05.747 847 6044 I resolv : res_nsend: used send_dg 0 terrno: 1
01-09 19:30:05.747 847 6044 D resolv : res_nsend: Querying server (# 1) address = 192.168.1.1:53
01-09 19:30:05.747 847 6044 D resolv : send_dg: new DG socket
01-09 19:30:05.748 847 6044 D resolv : send_dg: send: : Operation not permitted
01-09 19:30:05.748 847 6044 I resolv : res_nsend: used send_dg 0 terrno: 1
01-09 19:30:05.748 847 6044 D resolv : doQuery: rcode=0, ancount=0
01-09 19:30:05.748 847 6043 I resolv : resolv_populate_res_for_net: netid=100
01-09 19:30:05.749 847 6045 D resolv : doQuery: (1, 1)
01-09 19:30:05.749 847 6045 D resolv : res_nmkquery: (QUERY, IN, A)
01-09 19:30:05.749 847 6045 D resolv : res_nsend
01-09 19:30:05.749 847 6045 I resolv : resolv_cache_lookup: lookup
01-09 19:30:05.749 847 6045 I resolv : resolv_cache_lookup: NOT IN CACHE
01-09 19:30:05.749 847 6045 I resolv : resolv_populate_res_for_net: netid=100
01-09 19:30:05.749 847 6045 I resolv : res_stats_usable_server: NS stats: S 50 + E 0 + T 1 + I 3 = 54, rtt = 9, min_samples = 8
01-09 19:30:05.749 847 6045 I resolv : res_stats_usable_server: success rate 92
01-09 19:30:05.749 847 6045 D resolv : res_nsend: Querying server (# 1) address = 192.168.1.1:53
01-09 19:30:05.750 847 6045 D resolv : send_dg: new DG socket
01-09 19:30:05.750 847 6045 D resolv : send_dg: send: : Operation not permitted
01-09 19:30:05.750 847 6045 I resolv : res_nsend: used send_dg 0 terrno: 1
01-09 19:30:05.751 847 6045 D resolv : res_nsend: Querying server (# 1) address = 192.168.1.1:53
01-09 19:30:05.751 847 6045 D resolv : send_dg: new DG socket
01-09 19:30:05.751 847 6045 D resolv : send_dg: send: : Operation not permitted
01-09 19:30:05.751 847 6045 I resolv : res_nsend: used send_dg 0 terrno: 1
01-09 19:30:05.751 847 6045 D resolv : doQuery: rcode=0, ancount=0
01-09 19:30:05.753 5807 6042 W GmsAuthLoginBrowser: Checkin failed
I can provide the complete logcat if required.
I also had this problem, coming from LineageOS 18 with microg.
The root cause seems to be a missing permission. At least I'm my case, I had to manually grant the "access network" permission in the app settings.
- Long press on the microg icon and open the app info
- Click on Network and WiFi
- Grant the permission to access the network
IMO this is still a valid bug, the workaround shown above should not be necessary - and definitely not in a "LineageOS with Microg" ROM.
(Lineageos with microg, Updated from 18 to 19 Build 2023-01-04, Poco F3, alioth)
I can confirm that the workaround which steven-alday shared works for me.
I also encountered this problem and the final solution was to restart the device.