Open sarbogast opened 1 year ago
Is it possible to provide bugreports from both sides (advertiser and discoverer)?
What do you mean by that? The logcat extract I provided in the original issue is on the advertiser side, that seems to cause the disconnection, so all that the discoverer gets is a disconnection from the advertiser and that's all. The question is to understand why the advertiser disconnects.
If you can grab bug reports from both devices, it'll help us better understand the cause of the disconnection. Beyond just the logcat snippet, bug reports include a system dump of the system and some other interesting logs. The other adb commands below will also enable some logging that's off by default.
# To increase log buffer
adb logcat -G 32M
# To enable WiFi verbose logging
adb shell cmd wifi set-verbose-logging enabled
# To enable BT HCI logs
adb shell setprop persist.bluetooth.btsnooplogmode full
adb shell device_config put bluetooth INIT_logging_debug_enabled_for_all true
adb shell svc bluetooth disable
adb shell svc bluetooth enable
# To take a bugreport
adb bugreport
From just a glance at what you've pasted, it looks like when it tries to host WiFi Direct on 2.4GHz (after 5GHz fails), it causes interference with the Bluetooth connection. But it's hard to tell if this is caused by a 3rd device failing to upgrade and accidentally taking the entire hotspot down with it, or if there's an ongoing WiFi or Bluetooth scan that may be causing interference, or if it's as you said there's a hardware defect with this device.
I am developing an app for music bands where musicians can connect to a conductor's tablet, even when there is no internet connection in a basement or something like that. I am using Google Nearby Connections in a STAR strategy, using Flutter but going through version 19.0.0 of Google Nearby and un up-to-date Google Play Services on a couple of Lenovo Tab M10s.
I am testing my application in a setup where none of the tablets are connected to the internet, but Wifi is enabled on both, as well as bluetooth. The initial connection from the musician tablet to the conductor tablet works great, and they are even able to exchange payloads. But after a few seconds, the conductor (the hub in the star) disconnects without the user doing anything, and so all the spokes disconnect as well. I have made it so that when spokes receive the disconnection callback, they immediately try to reconnect to the same endpoint, and sometimes it works, sometimes it doesn't, but it never lasts, because soon enough, the hub disconnects again.
When we test with other devices, or with an internet connection, it seems to work fine. So my working hypothesis is that it's a hardware issue, that some tablets just don't support the wifi hotspot configuration properly and the connection upgrade fails or something, which seems to be confirmed by this logcat extract:
But before I tell that to my customer, I would like to be sure.
Is my diagnosis correct? Can it be a hardware issue (we seem to have a similar issue with a Samsung Galaxy Tab S9)? If not, what else can it be and how can I troubleshoot this?