piggz | mal: spiiroin: trying to workaround lipstick/BT bug https://github.com/sailfish-on-dontbeevil/kernel-adaptation-pine64/commit/9615231c699a309eca77402852d31d1de1360481 | 10:04 |
---|---|---|
piggz | mal: spiiroin: this is sooo much better https://hastebin.com/lugopoxoxa.yaml | 14:21 |
mal | piggz: no long timeout anymore? | 15:36 |
piggz | mal: no, so far so good ... screen on time is currently 0.5 seconds from mce event, or 1.8 from cpu power up, and its been consistent for about an hour | 15:38 |
T42 | <elros34> I can confirm that on different device I can reproduce the GetProperties spam if I postpone hci smd initialization. Not so much messages like on pinephone but still looks like bug. dbus calls comes from voicecall-ui -prestart, lipstick and connectionagent | 15:42 |
T42 | <adampigg> that sounds about right with what I observed | 15:43 |
T42 | <adampigg> i consider what I have now i good work-around, but i still think higher up the stack should handle it better | 15:44 |
mal | piggz: what is the difference in those data structs in the driver? | 16:23 |
piggz | mal: i wondered that ... kernel dev it would prevent reload on resume, let me look... | 16:27 |
piggz | mal: | 16:29 |
piggz | static const struct h5_device_data h5_data_rtl8822cs = { | 16:29 |
piggz | .vnd = &rtl_vnd, | 16:29 |
piggz | }; | 16:29 |
piggz | static const struct h5_device_data h5_data_rtl8723bs = { | 16:29 |
piggz | .driver_info = H5_INFO_WAKEUP_DISABLE, | 16:29 |
piggz | .vnd = &rtl_vnd, | 16:29 |
piggz | }; | 16:29 |
piggz | uptime is 2:20 and wakup is still instant | 16:30 |
piggz | 2hours 20 that is | 16:30 |
mal | piggz: so what chip does the device really have? | 16:45 |
piggz | 8723cs | 16:49 |
mal | piggz: not exactly 8723bs then like the original code suggested? | 16:50 |
mal | still odd why the issue happens | 16:51 |
piggz | according to https://wiki.pine64.org/wiki/PinePhone#Specifications | 16:51 |
piggz | mal: kernel dev said it probably wasnt nescessary to re-init the BT device each resume as it maintained power while suspended, and was keen to see if the patch worked | 17:08 |
mal | piggz: hopefully it doesn't cause any extra power drain | 17:29 |
piggz | mal: spiiroin: the only thing im still having to run with is https://github.com/sailfishos/dsme/compare/master...sailfish-on-dontbeevil:dsme:button_hack becuase it seems dsme misses some events | 18:41 |
T42 | <elros34> this is common code for lipstick and connectionagent which triggers many calls:https://github.com/sailfishos/libconnman-qt/commit/50c88f818c8f551773f47f983ce1fe6456dbcc95 | 19:33 |
T42 | <adampigg> i found that too i think, but no references to net.connman.Technology ? (re @elros34: this is common code ...) | 19:47 |
T42 | <elros34> there is | 19:47 |
T42 | <elros34> I think following function is called too many times for single dbus technology added signal, maybe something is not disconnected.: https://github.com/sailfishos/libconnman-qt/blob/master/libconnman-qt/networktechnology.cpp#L201 | 19:49 |
T42 | <adampigg> @elros34 that would make sense ... as the pinephone sleeps, it wakes every 15 seconds or so, so, the number of times it would connect would increase each cycle | 19:51 |
T42 | <elros34> maybe no direct reference to .Technology but m_technology->GetProperties() makes the mess | 19:51 |
T42 | <adampigg> i find qt::uniqueconnection useful in such cases (used in amazfish) | 19:51 |
T42 | <elros34> ok so for the record: this is never true: https://github.com/sailfishos/libconnman-qt/blob/master/libconnman-qt/networkmanager.cpp#L903 because net->objPath() { m_technology} is already null when NetworkManager::technologyRemoved is called | 22:15 |
T42 | <adampigg> @elros34 good finds! | 22:23 |
mal | @elros34 does the techList()->remove(technology.path()); in NetworkTechnology::technologyRemoved( end up triggering NetworkManager::technologyRemoved somehow? | 23:24 |
mal | @elros34 just thinking because that NetworkTechnology::technologyRemoved destroys the interface which could result in NetworkManager::technologyRemoved try to do things too late | 23:26 |
T42 | <elros34> I didn't analizy it that much, just put breakpoints and realize that networktechnology::technologyremoved is called before networkmanager::technologyremoved: https://github.com/sailfishos/libconnman-qt/blob/master/libconnman-qt/networktechnology.cpp#L87. I have changed net->objPath() to net->path() but this can be probably fixed different. That leads to: 6 GetProperties from lipstick, 1 from voicecall-ui and 1 from connectionagent. | 23:34 |
mal | @elros34 how many did it cause before that change? | 23:38 |
T42 | <elros34> it grows on every call | 23:39 |
mal | ok, and that now doesn't happen anymore? | 23:39 |
T42 | <elros34> no | 23:39 |
T42 | <elros34> Looks like this bug doesn't affect my device with hci-smd, I had to manually write to sysfs to trigger it but I wonder if broadcom devices with patchram are affected similar to pinephone | 23:39 |
mal | sounds like a reasonable change then, maybe make a PR and see what others say | 23:40 |
mal | that at least would cause discussion and if someone has a better idea they would suggest it | 23:41 |
mal | @adampigg should still test that also on his device | 23:42 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!