Ok - So after a day of testing I can say with a fair amount of certainty that the Havoc GSI is working surprisingly well - Clear recommendation for that.
@ Sjll: I noticed that my handset become quite warm and after investigating I found that the FX file explorer initiated Wifi P2P "WifiDirect" and that is obviously where the problem is. Initiation of P2P fails and goes into some crazy loop. Catlog shows a firework of entries which is obviously the cause of the high CPU load, overheating and battery drain.
To reproduce simply install and open "FX File Explorer" (or any other App using WifiDirect) and check the catlog. Is there any chance of getting a grip on this issue?
The issue is present in Treble v4.2 and v5.0
03-23 06:55:28.160 D/WifiP2pNative( 1284): P2P InterfaceAvailableListener true
03-23 06:55:28.160 D/WifiP2pService( 1284): Wifi enabled=true, P2P Interface availability=true, Number of clients=1
03-23 06:55:28.160 D/WifiP2pService( 1284): Wifi enabled=true, P2P Interface availability=true
03-23 06:55:28.160 D/WifiP2pNative( 1284): Setup P2P interface
03-23 06:55:28.160 D/HalDevMgr( 1284): createIface: ifaceType=2, lowPriority=false
03-23 06:55:28.160 D/HalDevMgr( 1284): getAllChipInfo
03-23 06:55:28.161 D/HalDevMgr( 1284): getChipIds=[0]
03-23 06:55:28.164 D/HalDevMgr( 1284): validateInterfaceCache
03-23 06:55:28.164 D/HalDevMgr( 1284): createIfaceIfPossible: chipInfos=[{chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=0, ifaces[3].length=0)], ifaceType=2, lowPriority=false
03-23 06:55:28.164 D/HalDevMgr( 1284): {.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]} expands to [[1, 0, 1, 0]]
03-23 06:55:28.164 D/HalDevMgr( 1284): canIfaceComboSupportRequest: chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=0, ifaces[3].length=0), chipMode={.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, chipIfaceCombo=[
[email protected], ifaceType=2, lowPriority=false
03-23 06:55:28.164 D/HalDevMgr( 1284): compareIfaceCreationData: val1={chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=0, ifaces[3].length=0), chipModeId=0, interfacesToBeRemovedFirst=[]), val2=null
03-23 06:55:28.164 D/HalDevMgr( 1284): new proposal accepted
03-23 06:55:28.164 D/HalDevMgr( 1284): {.limits = [{.types = [1], .maxIfaces = 1}]} expands to [[0, 1, 0, 0]]
03-23 06:55:28.164 D/HalDevMgr( 1284): canIfaceComboSupportRequest: chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=0, ifaces[3].length=0), chipMode={.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}, chipIfaceCombo=[
[email protected], ifaceType=2, lowPriority=false
03-23 06:55:28.164 D/HalDevMgr( 1284): Requested type not supported by combo
03-23 06:55:28.164 D/HalDevMgr( 1284): compareIfaceCreationData: val1=null, val2={chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=0, ifaces[3].length=0), chipModeId=0, interfacesToBeRemovedFirst=[])
03-23 06:55:28.164 D/HalDevMgr( 1284): executeChipReconfiguration: ifaceCreationData={chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=0, ifaces[3].length=0), chipModeId=0, interfacesToBeRemovedFirst=[]), ifaceType=2
03-23 06:55:28.164 D/HalDevMgr( 1284): isModeConfigNeeded=false
03-23 06:55:28.166 D/HalDevMgr( 1284): createIfaceIfPossible: added cacheEntry={name=p2p0, type=2, destroyedListeners.size()=1, creationTime=185119, isLowPriority=false}
03-23 06:55:28.166 D/HalDevMgr( 1284): dispatchAvailableForRequestListeners
03-23 06:55:28.166 D/HalDevMgr( 1284): getAllChipInfo
03-23 06:55:28.167 D/HalDevMgr( 1284): getChipIds=[0]
03-23 06:55:28.170 D/HalDevMgr( 1284): dispatchAvailableForRequestListeners: chipInfos=[{chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=1, ifaces[3].length=0)]
03-23 06:55:28.170 D/HalDevMgr( 1284): dispatchAvailableForRequestListenersForType: ifaceType=1
03-23 06:55:28.170 D/HalDevMgr( 1284): dispatchAvailableForRequestListenersForType: ifaceType=0
03-23 06:55:28.170 D/HalDevMgr( 1284): dispatchAvailableForRequestListenersForType: ifaceType=2
03-23 06:55:28.171 D/HalDevMgr( 1284): isItPossibleToCreateIface: chipInfos=[{chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=1, ifaces[3].length=0)], ifaceType=2
03-23 06:55:28.171 D/HalDevMgr( 1284): {.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]} expands to [[1, 0, 1, 0]]
03-23 06:55:28.171 D/HalDevMgr( 1284): canIfaceComboSupportRequest: chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=1, ifaces[3].length=0), chipMode={.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, chipIfaceCombo=[
[email protected], ifaceType=2, lowPriority=false
03-23 06:55:28.171 D/HalDevMgr( 1284): Would need to delete some higher priority interfaces
03-23 06:55:28.171 D/HalDevMgr( 1284): {.limits = [{.types = [1], .maxIfaces = 1}]} expands to [[0, 1, 0, 0]]
03-23 06:55:28.171 D/HalDevMgr( 1284): canIfaceComboSupportRequest: chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=1, ifaces[3].length=0), chipMode={.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}, chipIfaceCombo=[
[email protected], ifaceType=2, lowPriority=false
03-23 06:55:28.171 D/HalDevMgr( 1284): Requested type not supported by combo
03-23 06:55:28.171 D/HalDevMgr( 1284): Interface available for: ifaceType=2 = false
03-23 06:55:28.171 D/HalDevMgr( 1284): Interface available listener dispatched: ifaceType=2, listener=com.android.server.
[email protected]888af94
03-23 06:55:28.171 D/HalDevMgr( 1284): dispatchAvailableForRequestListenersForType: ifaceType=3
03-23 06:55:28.173 I/android_os_HwBinder( 1284): HwBinder: Starting thread pool for default::
[email protected]::ISupplicant
03-23 06:55:28.174 D/SupplicantP2pIfaceHal( 1284): entering addInterface({.type = P2P, .name = p2p0})
03-23 06:55:28.176 I/android_os_HwBinder( 1284): HwBinder: Starting thread pool for default::
[email protected]::ISupplicant
03-23 06:55:28.181 E/wpa_supplicant( 1688): Could not read interface p2p0 flags: No such device
03-23 06:55:28.181 I/wpa_supplicant( 1688): nl80211: Driver does not support authentication/association or connect commands
03-23 06:55:28.181 I/wpa_supplicant( 1688): nl80211: deinit ifname=p2p0 disabled_11b_rates=0
03-23 06:55:28.182 E/wpa_supplicant( 1688): Could not read interface p2p0 flags: No such device
03-23 06:55:28.182 E/wpa_supplicant( 1688): p2p0: Failed to initialize driver interface
03-23 06:55:28.182 E/SupplicantP2pIfaceHal( 1284): Failed to get ISupplicantIface 1
03-23 06:55:28.182 E/SupplicantP2pIfaceHal( 1284): initSupplicantP2pIface got null iface
03-23 06:55:28.182 E/WifiP2pNative( 1284): Failed to setup P2p iface in supplicant
03-23 06:55:28.182 D/WifiP2pNative( 1284): Teardown P2P interface
03-23 06:55:28.183 D/HalDevMgr( 1284): removeIfaceInternal: iface(name)=p2p0, type=2
03-23 06:55:28.184 D/HalDevMgr( 1284): getChip: iface(name)=p2p0
03-23 06:55:28.184 D/HalDevMgr( 1284): dispatchDestroyedListeners: iface(name)=p2p0
03-23 06:55:28.184 D/HalDevMgr( 1284): dispatchAvailableForRequestListeners
03-23 06:55:28.184 D/HalDevMgr( 1284): getAllChipInfo
03-23 06:55:28.185 D/HalDevMgr( 1284): getChipIds=[0]
03-23 06:55:28.187 D/HalDevMgr( 1284): dispatchAvailableForRequestListeners: chipInfos=[{chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=0, ifaces[3].length=0)]
03-23 06:55:28.187 D/HalDevMgr( 1284): dispatchAvailableForRequestListenersForType: ifaceType=1
03-23 06:55:28.187 D/HalDevMgr( 1284): dispatchAvailableForRequestListenersForType: ifaceType=0
03-23 06:55:28.187 D/HalDevMgr( 1284): dispatchAvailableForRequestListenersForType: ifaceType=2
03-23 06:55:28.187 D/HalDevMgr( 1284): isItPossibleToCreateIface: chipInfos=[{chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=0, ifaces[3].length=0)], ifaceType=2
03-23 06:55:28.187 D/HalDevMgr( 1284): {.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]} expands to [[1, 0, 1, 0]]
03-23 06:55:28.187 D/HalDevMgr( 1284): canIfaceComboSupportRequest: chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=0, ifaces[3].length=0), chipMode={.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, chipIfaceCombo=[
[email protected], ifaceType=2, lowPriority=false
03-23 06:55:28.187 D/HalDevMgr( 1284): Interface available for: ifaceType=2 = true
03-23 06:55:28.187 D/HalDevMgr( 1284): Interface available listener dispatched: ifaceType=2, listener=com.android.server.
[email protected]888af94
03-23 06:55:28.188 D/HalDevMgr( 1284): dispatchAvailableForRequestListenersForType: ifaceType=3
03-23 06:55:28.188 I/WifiP2pNative( 1284): P2P interface teardown completed
03-23 06:55:28.188 E/WifiP2pService( 1284): Failed to setup interface for P2P