Saturday, 2022-12-03

piggzmal: spiiroin: trying to workaround lipstick/BT bug https://github.com/sailfish-on-dontbeevil/kernel-adaptation-pine64/commit/9615231c699a309eca77402852d31d1de136048110:04
piggzmal: spiiroin: this is sooo much better https://hastebin.com/lugopoxoxa.yaml14:21
malpiggz: no long timeout anymore?15:36
piggzmal: 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 hour15: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 connectionagent15:42
T42<adampigg> that sounds about right with what I observed15:43
T42<adampigg> i consider what I have now i good work-around, but i still think higher up the stack should handle it better15:44
malpiggz: what is the difference in those data structs in the driver?16:23
piggzmal: i wondered that ... kernel dev it would prevent reload on resume, let me look...16:27
piggzmal:16:29
piggzstatic const struct h5_device_data h5_data_rtl8822cs = {16:29
piggz.vnd = &rtl_vnd,16:29
piggz};16:29
piggzstatic 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
piggzuptime is 2:20 and wakup is still instant16:30
piggz2hours 20 that is16:30
malpiggz: so what chip does the device really have?16:45
piggz8723cs16:49
malpiggz: not exactly 8723bs then like the original code suggested?16:50
malstill odd why the issue happens16:51
piggzaccording to https://wiki.pine64.org/wiki/PinePhone#Specifications16:51
piggzmal: 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 worked17:08
malpiggz: hopefully it doesn't cause any extra power drain17:29
piggzmal: 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 events18:41
T42<elros34> this is common code for lipstick and connectionagent which triggers many calls:https://github.com/sailfishos/libconnman-qt/commit/50c88f818c8f551773f47f983ce1fe6456dbcc9519: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 is19: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#L20119: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 cycle19:51
T42<elros34> maybe no direct reference to .Technology but m_technology->GetProperties() makes the mess19: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 called22: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 late23: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 call23:39
malok, and that now doesn't happen anymore?23:39
T42<elros34> no23: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 pinephone23:39
malsounds like a reasonable change then, maybe make a PR and see what others say23:40
malthat at least would cause discussion and if someone has a better idea they would suggest it23:41
mal@adampigg should still test that also on his device23:42

Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!