microg / GmsCore

Free implementation of Play Services
https://microg.org
Apache License 2.0
8.28k stars 1.7k forks source link

MicroG Settings falsely reports missing network connection on sign in #1861

Open lorhof1 opened 1 year ago

lorhof1 commented 1 year ago

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:

  1. Open microG Settings
  2. Tap "Add Google Account"
  3. Tap "Sign in"
  4. Error message appears

Expected behavior The login process continues and the account gets added to the device

Screenshots Screenshot_20230102-135710_microG Services Core

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/

mll0 commented 1 year ago

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.

dimaryaz commented 1 year ago

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?

lorhof1 commented 1 year ago

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.

steven-alday commented 1 year ago

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.

  1. Long press on the microg icon and open the app info
  2. Click on Network and WiFi
  3. 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)

lorhof1 commented 1 year ago

I can confirm that the workaround which steven-alday shared works for me.

LeoKex commented 7 months ago

I also encountered this problem and the final solution was to restart the device.