libera/#maemo-leste/ Wednesday, 2022-11-30

Wizzupuvos: what config stuff?00:43
WizzupAh, I see00:44
Wizzupheh I saw this through my backup script first:00:44
WizzupFrom https://github.com/maemo-leste/libhildonmime * [new ref]         refs/pull/3/head  -> refs/pull/3/head * [new ref]         refs/pull/3/merge -> refs/pull/3/merge00:44
Wizzupfreemangordon: heads up, BlagovestPetrov[ found https://bugreports.qt.io/browse/QTBUG-93954?jql=component%20%3D%20%22Core%3A%20Plugins%22%20AND%20project%20%3D%20QTBUG00:48
BlagovestPetrov[:|00:49
Wizzupuvos: heh ok my d4 still had the pa echo cancel loaded, hence the power draw01:46
Wizzupsomehow the gst stuff also pulls elogind it seems01:50
WizzupI guess we'll just have to switch...01:50
Wizzupah no, it's gvfs01:50
freemangordonuvos: PR is fine as code, but does not follow the coding style of the library. I will fix that, but please, next time try to adhere to coding style of the code you are fixing.07:48
freemangordonWizzup: don't want what to say08:30
freemangordon5.15 is LTS, but I don;t know when we will hit it08:32
freemangordonuvos; re SOC estimation - it seems for lower values this estimation is even worse08:35
freemangordoncalculated 49 reported 3108:35
freemangordonfor Ri ~= 0.1 that seems to be about right08:35
uvosfreemangordon: huh, it follows the coding style as far as i can tell08:37
uvosi reindented hildon_mime_open_file_with_mime_type since it is indented with spaces while everything else in that file uses tabs08:37
freemangordonyes, but you mixed declarations with code08:37
freemangordonalso, original coding style has space between function name and bracket08:38
uvosah is ok08:38
uvos*i see08:38
freemangordonalso, it has empty lines before and after if() blocks :p08:38
uvossec ill fix that08:38
freemangordonwait08:38
freemangordonalready fixed08:38
uvosok08:38
freemangordonalong with return values08:38
freemangordonuvos: https://github.com/maemo-leste/libhildonmime/commit/a6c978c66a2448282205d3e8d0c310891b9d915c08:39
freemangordonplease have a look if I have missed something08:39
uvosfreemangordon: any idea whats up with *file in  hildon_mime_open_file_with_mime_type?08:40
freemangordonno08:40
uvosidk if the comment or the code is wrong08:40
freemangordonI guess the code08:40
freemangordonlike, they designed the API to be like that08:40
freemangordonbut, didn;t implement it :)08:40
uvossuccess ? 1 : 0; seems pointless on a boolean, why re-add it? dose geboolean have some special proparty different from _Bool?08:42
freemangordonI have no idea and we are not guaranteed that current gboolean implementation will remain the same08:44
freemangordonTBH even curent code is buggy08:44
freemangordonit should be something like success == TRUE ? 1 : 008:44
uvoswell (int)bool == 1 or 0 seams like a safe assumption to me08:44
uvosbut ok08:45
freemangordonit is not bool08:45
freemangordonah, yes08:45
freemangordonbut, we don;t know what !!gbollean_var is (in theory)08:45
freemangordongboolean is int now, but that's implementation detail we shall not rely on08:46
freemangordonanyway08:46
uvosif anything it will switch to typedef _Bool at some point08:46
uvosbut ok08:46
freemangordonI am not sure glib uses _Bool08:47
uvosno it dosent08:47
freemangordontypedef gint   gboolean;08:47
uvosim saying i doubt gbloolean will ever change in a non compatabil way08:47
uvosie it may swich to _Bool beyond that i doubt it will change ever08:47
freemangordonright, but that does not mean we shall count on that. not important though08:48
freemangordonbut, IIUC, the real book fix for 'success ? 1 : 0' is 'success == TRUE ? 1 : 0'08:49
freemangordonnot doing implicit cast from gboolean to gint08:49
freemangordonanyway08:49
freemangordonmy 'please have a look' was rather 'do you see anything obviously wrong with what I did?'08:50
freemangordonbecasue I did compile-test only08:51
freemangordonhave to attend work mtg, ttyl08:51
uvosfreemangordon: i see no problem09:34
uvosyeah success == TRUE ? 1 : 0 makes some sense09:34
uvossuccess ? 1 : 0 dosent make much more sense than just return success really09:35
freemangordonCalculated r = 0.156463, Ri = 0.142464 for Imax=339mA@3672mV, Imin=192@3695mV10:13
freemangordoncalculated 45 reported 2110:13
freemangordonuvos: ^^^10:13
freemangordonthis is useless10:13
freemangordonRi seems to be about right10:14
freemangordonbut not the prediction10:14
uvoswierd it works really quite well for chargeing_sld in my expieraments10:40
uvosfreemangordon: i gues next step would be to do what i said to tmlind yesterday10:40
uvosat least once10:40
uvosrecord ri,mA,mV and soc while callibrated10:41
uvosand derive a new algo from that10:41
uvosfreemangordon: do you have any awnser wrt the question in the pr btw?10:41
uvosgconf/gsettings/something else when implementing new config values10:41
uvosi gues xdg-mime works by external utilities changeing config files10:42
uvosso thats an option for libhildonmime too10:42
freemangordonuvos: I don;t see how would it work in charging_sdl10:54
freemangordonit seems either your or mine experiments are flawed10:55
uvoswell i did it with a eb41 and i gues for charging_sdl the absolute value is not so important as long as 0% is really 0% and 100% is really 10010:55
uvosbut i remember spot checking it at a couple of values and being satisfied10:56
uvosanyhow i gues we shal create a offset table, want me to do this or will do you want to?10:56
freemangordonI don;t think that's be accepted upstream10:57
uvosok10:57
freemangordon*that'd10:57
uvoswell afaik we only use soc in the status applet10:58
uvosso we could just estimate there10:58
freemangordonI am not sure they will want to accept any estimation algo10:58
uvosyeah10:58
freemangordonbut, without having something that satisfies us at least, there is no point in opening issue at all11:03
uvossure and i see 2 options here. 1 genrate tabels and use those. 2 generate tables and fit a math function to it and then use that.11:04
uvosand then either implmement the result in upower or the battery applet11:04
uvosdose also feal a bit like we are reimplementing the wheel, but as far as i can tell existing wheels apear square.11:06
Wizzupfreemangordon: what was this about: 08:30 < freemangordon> Wizzup: don't want what to say11:27
freemangordonqt11:42
Wizzupok11:43
freemangordonuvos: right11:43
freemangordonI guess I can fire matlab and find a n-th order polynomial that fits my battery11:43
freemangordonbut how useful that would be in general?11:44
Wizzuphttps://packages.debian.org/bullseye/qt5-style-plugins11:44
WizzupI mean debian has it, so I'm sure we can rebase on their patches11:44
freemangordonyes, and decide what to do when and if we hit 5.1511:44
Wizzuphttps://salsa.debian.org/qt-kde-team/qt/qtstyleplugins/-/blob/debian/5.0.0+git23.g335dbec-4/debian/patches/fix-build-qt5.15.patch11:44
WizzupBlagovestPetrov[: ^11:44
freemangordonoh11:44
Wizzupseems easy enough11:45
Wizzup:)11:45
uvosfreemangordon: good question, i really dont know. i gues motorola thought they needed a table for eatch battery.11:45
Wizzupmaybe support to load a table in power?11:45
freemangordonuvos: what makes you think that?11:45
freemangordonyou know what?11:45
uvosfreemangordon: eatch battery type11:45
freemangordonI think we can implement in battery applet11:45
uvosfreemangordon: well they put the table into the eeprom11:45
freemangordonno11:46
uvosthat suggests they think so no?11:46
BlagovestPetrov[:)11:46
uvosno? whats the other data in the eeprom then?11:46
freemangordonuvos: ah, you mean 'each battery type'?11:46
uvosyes11:46
freemangordonok, yeah11:46
uvosyour polynomal needs to work on eatch battery there can be11:46
freemangordonyes11:46
uvoseb41 nexus4 hw4x bw8x etc11:46
freemangordonbut, lets scratch upower11:47
freemangordonand implement in battery applet11:47
uvoscheck11:47
freemangordonWizzup: ^^^?11:47
freemangordonthey will never accept as self-learning estimation algo, I believe11:47
uvosyeah11:48
uvosmaybe we can implement it as a shim around upower, libestimator or something instead of directly in upower, so if we find another place soc is used we can just reuse it11:49
uvosbut thats details11:49
uvos*directly in the status applet11:49
Wizzupfreemangordon: how will this help mce decide when to shut down?11:51
Wizzupor do we not need it?11:51
uvosmce will continue to use the kernel low signal or voltage to shut down11:51
uvosit dosent use soc11:51
Wizzupfreemangordon: how will you sync upower selecting the right battery with battery applet selecting the right one?11:51
uvossoc estimator will use upower for the information11:52
uvosso no issue11:52
Wizzupcan other applicaties read this percentage?11:52
Wizzupwe have many other applications that rely on upower to read/send battery11:52
Wizzupfor example for bluetooth it exposes the battery status to the car11:53
uvosok11:53
uvosso i suggested makeing the estimator a lib11:53
Wizzupand we have apps that read it (navigation apps)11:53
Wizzupit's not a problem if we don't have it only during calibration btw11:53
Wizzupjust stating the potential non obvious11:53
uvosnavigation apps reading soc is a good point11:54
freemangordondoe upower support plugins?11:56
freemangordon*does11:56
tmlinduvos, freemangordon: kernel has a dts binding for open circuit voltage table, i think it has some generic kernel functions too to handle it11:56
freemangordonvoltage->soc?11:57
freemangordonwhat kind of table is that?11:57
uvosdts is the wrong place anyhow11:57
uvoshow yould that work with xt875 that can have hw4x or bw8x11:58
freemangordonwe can overlay11:58
uvosi dont see how thats usefull with devices that can change battery type at any time11:58
tmlindbattery specific data can be in dts if always the same, nothing stopping initializing it in the driver based on the battery type11:58
freemangordonanyway, blood sugar levels are dropping...11:58
freemangordonttyl11:58
uvostmlind: ok yeah11:59
uvosbut i dont find haveing a table in dts for every possible battery type that apealing really11:59
tmlindok12:00
tmlindfyi $ git grep ocv drivers/power/supply/12:00
freemangordonuvos: we can load dts overlay12:01
freemangordonthat is battery specific12:02
uvostheres a voltag->soc table in samsung-sdi-battery.c12:03
uvosmultiple drivers it seams12:03
uvosso mutch for "no synthesized values" :P12:03
freemangordon:)12:03
uvoskernel battery.yaml12:05
uvosocv-capacity-table12:05
uvosAn array providing the open circuit voltage (OCV)12:05
uvos      of the battery and corresponding battery capacity percent, which is used12:05
uvos      to look up battery capacity according to current OCV value. And the open12:05
uvos      circuit voltage unit is microvolt.12:05
uvosso yeah12:05
freemangordonis that handled by the framework?12:06
freemangordonor each driver have to support that?12:06
tmlindoh cool samsung-sdi-battery.c also has the samsung_maint_charge_table with a timer :)12:06
freemangordonttyl, lunch12:07
uvosfreemangordon: framwork can do it12:10
uvosthe implementaion in  samsung-sdi-battery.c is "old" or "wrong"12:10
uvossee power_supply_ocv2cap_simple12:11
uvosstruct power_supply_battery_info.ocv_table12:11
uvoshavent found where ocv is supposed to be calculated12:12
uvosfrom voltage+current+rI+temperature12:12
uvosah resistance-temp-table yes power_supply_vbat2ri, struct power_supply_vbat_ri_table *vbat2ri_discharging12:16
uvosits all there12:16
uvosgit blame: e9e7d165b4b04 Linus Walleij 2022-02-2612:17
uvosall of this is quite recent12:17
uvosthank you Mr Walleij :P12:18
uvosi honstly find upower geting off thair asses and implementing soc estiamtion would have been better than shoveing in into the kernel12:19
uvosbut this solves the immidiate problem12:20
uvosfreemangordon: it would seam sc27xx_fuel_gauge is the only current user of these framework features12:21
uvosfreemangordon: so i gues the course of action then is to get some tables. we can write something that creates them from mesured values on device (i can do that if you like) or we can figureout the format in the eeprom by reing battd and grab those (you would have to do this one)12:28
tmlindwell at least batteries with no rom need tables generated12:49
freemangordonuvos: I think that we can generate and load dts overlay in run-time12:50
freemangordontmlind: do you know how userspace loads dts overlay?12:51
freemangordonok, through configfs12:52
freemangordonit seems everything is here12:52
freemangordonhttps://www.96boards.org/documentation/consumer/dragonboard/dragonboard410c/guides/dt-overlays.md.html#2-enable-overlay-support-in-kernel12:53
freemangordonbut, we lack generic battery driver that uses this information12:56
freemangordonso, even if we somehow put that info in the kernel, there are no users :(12:58
uvosfor mapphones its just replaceing the ENODATA with the framework estmation functions12:58
uvosin cpcap-battery12:58
freemangordonI guess this shall happen in the framework12:58
uvosit dosent atm12:59
freemangordonnot in each and every driver12:59
uvosbut yeah12:59
uvosbut otherwise the driver dosent have to do anything12:59
uvossince framework loads the table12:59
uvosand has the estmiation functions12:59
freemangordonmhm13:01
freemangordonactually, it seems there is one driver using that13:01
uvossc27xx_fuel_gauge?13:01
uvosdident find any other users13:01
uvosand its not generic13:01
freemangordonhttps://elixir.bootlin.com/linux/latest/source/drivers/power/supply/ab8500_fg.c#L86213:02
freemangordonso it seems it accounts for the temperature as well13:02
uvosyes13:02
uvosboth ri and ocv2cap can have multiple tables13:03
uvosper temperature13:03
freemangordonbut I don;t see how to put that in the framework13:04
uvoswhy not? it could have a dts value as phandle to an iio device13:04
freemangordonno, I mean - how to plug it without drivers knowing about it13:05
uvos?13:05
uvosfw has a wrapper around get_property that replaces -ENODATA with estiamtion13:06
uvosif all values are present13:06
uvosdont see why not13:06
freemangordondoes it have it?13:06
freemangordonwhere?13:06
uvosno - it dosent, i could13:06
uvosbut lets not rock the boat here and try change the framwork13:07
uvos*it could13:07
freemangordonI think this is what shall be implementd13:07
freemangordonif there are tables but the driver either does not support or returns -ENODATA a fallback patch shall be taken13:07
freemangordon*path13:08
uvosi think this would be better13:08
uvosbut i fear us trying to merge any framework changes13:08
freemangordonwe can try at least13:08
freemangordonat the end of a day, if linux maintainers had become so stubborn that random patches are no longer welcome, we can try to make some noise with FSF or dunno13:09
freemangordonbut, beiong afraid to send patches to lkml...13:10
freemangordonit should not be like that13:10
freemangordonme personally, I will wait till next week and will start making noise13:11
buZzare we going to make the battery data defined by DTS?13:12
freemangordonbuZz: something like that13:12
buZzooo thats a nice idea13:12
freemangordonwell, I am not sure we share the same idea, but at least my idea is userspace to load DTS overlay with voltage->SOC tables13:13
sicelothis will be a voltage to SOC mapping?13:13
freemangordonyes13:13
freemangordonand we can teach power supply framework to fallback to those if driver does not provide capacity level data13:14
freemangordonhow we will generate such tables is another story13:14
uvosnotably all the code for voltage->soc mapping is allready in the kernel, its just usually not used.13:14
sicelook. i actually wonder how important SOC really is. for  a long time, i felt upower should support making decisions based on voltage, and make this configurable13:15
sicelothis way, any random fg, no matter how limited it may be, will not shutdown device at wrong time13:15
uvosim not sure how accurate soc is not important13:15
freemangordonsicelo: SOC, in terms of energy, is maybe the most important parameter13:16
freemangordons/parameter/value13:16
buZzwhat does SOC stand for?13:16
uvosstate of charge13:16
buZzahhhh13:16
buZzyes13:16
freemangordon% capacity, IOW13:16
buZzjust by voltage :O13:17
freemangordon% remaining capacity13:17
freemangordonyes, it can be done13:17
uvosbuZz: kernel can do same thing android dose13:17
buZzhmhm13:17
siceloi am not sure it's that important ... hence some FG don't natively provide it. what am i missing? :-)13:17
uvosbuZz: by using the voltage internal resitance and current in a table13:17
uvosto provide soc13:17
freemangordonsicelo: they have couloumb conters, no?13:17
freemangordonhow do those 'gauges' actually measure anything?13:18
freemangordona chip providing voltage is not really a gauge if you ask me13:18
uvosyeah imo a guage has a counter and a palce to store the value13:19
uvosthus cpcap is almost a guage13:19
buZzare the current_avg etc all based on voltage as-is?13:19
uvoscurrent is based on current13:19
uvoscpcap has a shunt13:19
sicelonow we're going towards terminology... I'm k13:19
freemangordonuvos: btw, why calibration is being reset after restart?13:19
uvosfreemangordon: we have no where to store it13:20
uvosand the counter is rest to 0 on cpcap rest13:20
freemangordonsicelo: no, it is about functionality13:20
buZzwe could store it somewhere?13:20
uvosno13:20
uvossince we dont know if the battery was removed or if android used it etc13:20
buZzright13:20
freemangordonsicelo: what functionality provides a so-called gauge that provides neither SOC nor couloumb counting?13:21
freemangordon'fuel gauge' comes from cars, no? so, how useful is such gauge if it provides you with the resistance of the fuel sensor? yes, it depends on the fuel level, but that's all13:23
freemangordonyou don;t actually know how much fuel you have left in the tank13:23
freemangordonthe same is with battery voltage and remaining capacity IMO13:23
buZzespecially if you only look at voltage 'now'13:25
buZzas currentdraw might be high atm13:25
freemangordonthat one as well13:25
buZzits not a easy problem to know capacity of a battery usually13:25
uvoshence us discussing this very problem for like 3 days now :P13:26
buZzohh btw, adding the 2250 instead of 1740 , increases weight of d4 by ~4 grams :)13:26
freemangordonummm, what?13:26
buZzuvos: honestly feels like forever ;)13:26
uvosthe nexus 4 battery is hevier than eb4113:26
buZzfreemangordon: the battery is slightly heavier13:26
uvosnoticably so13:26
freemangordonah13:26
buZzabout 3% heavier, you can notice it if you have two devices13:27
freemangordonyeah13:27
uvosi gues einsteins law stipuates that the battery is lighter when empty13:27
uvossince there is less engery in the molecular bonding forces in this state13:28
uvosbut its not 4g xD13:28
freemangordondo we have the same number of electrons?13:28
uvossure, but energy levels are higher in the bonds13:28
freemangordonI guess yes, but in lower energy state13:28
uvosyup13:29
freemangordonactually, initially I understood buZz' comment to be something in that regard13:29
uvosme too, at first13:30
uvosthus the comment13:30
freemangordonlike, if the battery is charged to 2250 instead of 1750 it becomes heavier :D13:30
buZzfreemangordon: i'm quite sure there's just more layers of lithium stacked into the cell13:30
freemangordonwhich most-probably is true, but not something we can measure13:31
buZzwhy not? we have a scale :D13:31
buZzi pretty much doubt it'll be measurable13:31
uvosi dont think you realize the degree of small this change would be13:32
buZzit'll be <0.1gr i guess13:32
freemangordonno13:32
freemangordonsomething like 1*10^-10013:32
sicelothe table will be v & soc only, or include other parameters too?13:32
buZzthats <0.1 then :P13:32
freemangordonno, thats << 0.1 ;)13:33
freemangordonsicelo: I think there is some temperature tables as well13:33
* sicelo whispers *serial* to Wizzup... managed last night?13:33
freemangordonbut even with one table that's dynamically updated, it should be pretty much correct for the purpose we use it13:33
freemangordon+/- 2-3 % should not matter13:34
buZzbtw its kinda funny to see 'current_avg' on disconnected vs gprs connected vs wifi connected13:36
uvoslooks like for a 1750mA battery that thus contains about 400J of energy13:36
buZzits ~170000 on disconnected, ~130000 on gprs connected, ~180000 on wifi connected13:36
uvosthe change would be about 1*10^-12 g13:37
buZzso weird to see whole device use less on gprs connected vs nothing active13:37
uvosthats more than i expeced13:37
buZzi guess thats the same as the 'no sim card makes modem use more power' ?13:37
buZzuvos: with screen active, btw13:37
uvosyeah no idea whats up with modem power consumption13:39
uvosits really wierd13:39
siceloWizzup, also just out if curiosity, I wish to see pictures of that serial jig. What does it use to power the device? Sebastian's contraption reuses the battery13:50
freemangordonuvos: the difference would be ~1.8*10^-1413:51
freemangordon((2.25-1.75)*3600)/(10^-17)13:52
Wizzupsicelo: I thought I made photos before, but I can make them again13:53
uvosfreemangordon: hmm for the exact value i get 2.59*10^-1314:00
uvosbattery has 6.475Wh of engery, 6.475Wh*3600 = 23310 Joules14:01
freemangordonthats not the difference between 2250 and 1750 charge14:02
uvosm = E/c^2 = (23310) Jouls / (300*10^6 m/s) = 2.59*10^-13 kg14:02
uvosfreemangordon: right i was going empty -> full14:02
uvosgocha14:02
uvosstill first value was wrong because i converted wh - > joule wrong14:03
uvosok yes our values agree :P14:03
freemangordon:)14:03
Wizzupfreemangordon: if you have a moment, can you look at mafw-shared build fail? I can't quite figure it out14:07
Wizzupit's not urgent14:07
uvosprobubly more urgent can caluclateing the change in mass of a battery based on special relativity14:08
uvos*than14:08
uvosfreemangordon:  Wizzup: https://github.com/maemo-leste/hildon-desktop/pull/2214:45
uvoshttps://github.com/maemo-leste/hildon-desktop/pull/2114:45
Wizzuphow will it know the initial state?14:47
uvoshmm it reads it from dbus when h-d starts14:48
uvosthe value comes from the same place (mce) just the interface is different14:48
uvosmce btw dose not know the initall state either14:49
Wizzupoh, so you can poll/ask?14:49
uvosyeah, this patch is really i old14:49
uvosi have to read it if i forgot to poll14:49
uvossec14:49
uvosWizzup: yeah it polls on startup14:50
uvossee hd_app_mgr_init14:50
uvosnot that mce knows the slide state on startup either14:50
Wizzupbtw, something unrelated...14:50
uvosbut thats a different issue14:50
Wizzupit looks like we'll have to use elogind somehow, we can run X as user instead of root14:51
uvosmce will just send closed even when it just dosent know just after boot14:51
Wizzupbut I am not sure if we can integrate it from an init script in whatever session logic elogind forces down us14:51
Wizzups/down/upon/14:51
Wizzupeven on my own laptop I must type startx from a video tty14:52
Wizzupotherwise it doesn't work14:52
Wizzupsadness14:52
uvosWizzup: we should just use a session manager14:53
Wizzupif it's invisible that would be great14:53
Wizzupi.e. not there :P14:53
uvostheres nodm but its nolonger maintained, theres also a small thing pmos uses14:54
uvosthat essentaly dose this14:54
uvossec leemy try and find it14:54
uvoshttps://gitlab.com/postmarketOS/tinydm14:55
WizzupI guess we probably want this then instead of our /etc/init.d/xorg14:56
uvosyes14:56
uvosalso finally xD14:56
uvos(this also allows you to run some other session isntead, like hint hint lxqt when using a lapdock)14:57
uvos:P14:57
WizzupI don't think so, if it runs as an init script and just runs our own thing, no?14:57
uvosno it runs the default xdg session14:58
uvosyou need to make a xdg session file for hildon14:58
Wizzupdon't we have /etc/X11/Xession14:58
WizzupXsession*14:58
uvoswell xsession is old crap, no offense, what we want is a dir with the scripts currently in xsession14:58
uvosand a xdg session that runs those scripts14:59
uvosi have even done this before15:00
uvosin a vm15:00
uvoslet me look for it15:00
Wizzupwe use xsession.d15:01
uvosyeah i know15:01
uvosbut thats not how xdg session works15:01
Wizzupwell we have a dir with scripts is what I mean15:01
uvosi know15:02
uvosso a xdg session is just a .desktop file that has a key that tells the dm if its x11 or wayland, and a Exec= parameter15:02
uvosthe dm then starts x11 if needed and executes exec15:02
uvosexec then shal be a utility (in our case) that runs the scripts in some .d15:02
uvossutch a utility (to run a .d of scripts) exists15:03
uvosim just forgeting what its called15:03
Wizzuprun-scripts ?15:03
WizzupI guess that is probably cron related15:03
Wizzupthis is going to be a nightmare15:03
SuperMarioSFoh i'm back15:03
uvosnot sure why you think so15:03
SuperMarioSFbtw the second phone should arrive tomorrow15:04
uvosWizzup: found the vm that works like this15:07
Wizzupuvos: which vm is this, a maemo one you made?15:08
WizzupSuperMarioSF: great15:08
uvosWizzup: yeah15:08
Wizzupok15:08
Wizzupwell, maybe I can hand this off to you then :D15:08
Wizzupuvos: I'll just continue building some stuff, right now our xorg-server doesn't build with (e)logind support15:15
Wizzupbut nothing blocks it (elogind) other than hildon-base15:15
uvosWizzup: ok15:16
uvosill get you the scripts from the vm15:16
Wizzupis this with tinydm?15:16
uvosyes15:16
uvosits the setup as described before15:16
uvosbesides installing tinydm and creating a hildon xdg session file and a hildon-session script15:17
uvosit just moved the scripts from xsession.d somewhere else, this is ofc quite some work to do properly15:17
uvosas we will have to move them in eatch packager15:17
Wizzupor make a symlink from the dir15:17
uvosnot really a solution as other desktops will run the scripts in xsession.d expecting them to contain just desktop independant stuff15:18
uvoswe must remove our agresseively hildon centric scripts from there if we intened to be a well behaved xdg-session15:19
uvosalso af-services breaks everyhting15:19
uvosbut thats a different story15:19
Wizzupwell, we don't run other desktops though15:19
uvosweill if we want or stuff to ever be acceptable packaged in another distro we need to be well behaved15:20
uvosalso the lapdocks are a good reason for a different session15:20
uvosimo15:20
WizzupI find it hard to wrap my head around this, but I suppose eventually it could be a good thing15:21
WizzupI'd be a little annoyed if we'd have to do all of that just for us to 'finish' the chimaera port15:21
uvosseams like a good time to at least introduce the veneer of a xdg-session15:22
uvosthere are ofc still lots of issues to this15:22
WizzupI mean, it sounds like we're forced ot :P15:22
buZzi do still want to try xnest on droid415:22
Wizzupto*15:22
uvosaf-services being one, the force of the user user being another15:22
buZzso maybe i could run a wm with two xnest inside, one with hildon for lcd, one with hildon for hdmi15:22
buZzit seems easier then getting hildon to understand >1 display ;P15:22
Wizzupthat does not make any sense, you can just run another X on the other display15:23
Wizzupor restrict the vm to one display15:23
uvosbuZz: sure this would enable you to use multiseat15:23
uvosto do wat you want15:23
buZzWizzup: but you couldnt move mouse back&forth then15:23
WizzupbuZz: yes you can afaik15:23
uvosbuZz: zaphodhead is a thing15:23
buZzover two xservers? not without something like barrier or x2x15:23
uvosbuZz: zaphod head is 2 DISPLAY15:23
uvoson one xserver15:23
buZzah, havent heard of15:24
uvosthis is exactly what you want15:24
Wizzupin any case15:24
Wizzuplet's not derail for a moment please15:24
buZzok :)15:24
Wizzupuvos: so the way I see it, I will just build all the pkgs now15:24
Wizzupand then we can get them all installed, and then figure out how to move the scripts over and rebuild packages as necessary15:25
uvosWizzup: ok sounds good15:25
uvosill write something detailing setup in vm later15:25
Wizzupok, cool15:25
WizzupI'm considering trying to move to pipewire still for chimaera move though15:25
buZzthat would be cool15:26
uvossphone works with pw on my arch desktop15:26
buZzpipewire can emulate pulse and alsa etc, should be near transparant15:27
uvosbut i would be weary about changes in how it translates ucm to its streams affecting pw on devices15:27
uvosbut its something to just try15:27
uvoseverything besides sphone should not care at all really15:27
Wizzupwell I just want to get rid of pa asap really15:29
Wizzupsince I started using pipewire everything got better on my desktop15:29
uvosis poettering chaseing you in your nightmares?15:30
uvos:P15:30
uvosbut i agree on the surface pw seams better15:30
Wizzupthe noise and echo cancelling is also much better15:30
uvospa was allways a bit of a mess...15:31
Wizzupeasyeffects is also nice15:31
tmlinduvos: yeah ok so minimal xt910 dts boots, no backlight yet though15:41
tmlindlooking at if the usb qmi is also available15:41
Wizzuptmlind: sweet :)15:42
BlagovestPetrov[wow, a lot of progress :)15:43
tmlindwell most of the hard work was done already by a bunch of people years ago :)15:46
uvostmlind: right yes,15:47
uvosto be fair a not insignifcant chunck of the work years ago was also tmlind ;)15:48
Wizzuptmlind: ftr I copied some of your updates here https://github.com/maemo-leste/bugtracker/issues/64815:50
tmlindok15:50
tmlindyeah so no usb qmi interface with lsusb, just the usb uart interfaces15:50
Wizzupright, this was the device with modem on spi?15:51
tmlindyup.. i doubt that we can change the modem configuration if it's using signed firmware15:53
tmlind/dev/gnss0 produces some data though, so seems it's the same otherwise15:53
uvosit might, just might be using the same keys as xt91215:54
uvosmz609 and 607 use the same keys after all15:54
tmlindhmm yeah15:54
tmlindi'll give that a try at some point15:55
tmlindi'll do a minimal git branch with dts files for mz609, mz617 and xt910 first15:59
freemangordonuvos: I don't know what pave did, but this https://github.com/pavelmachek/libbattery/blob/master/libbattery.c#L95 is not the same as this https://www.candlepowerforums.com/threads/li-ion-state-of-charge-and-voltage-measurements.115871/#post-244057116:03
freemangordonhmm, actually it is16:08
uvosbesides the linear aproximation16:09
freemangordonyeah, linear approximation is totally off16:10
freemangordonit says 50%, but algo is from 30 %16:10
uvoslinear approximation form 50% also dosent jive with a lipo discarge curve at all16:10
uvossince its the least linear its ever going to get around 30%16:11
uvosor maybe closer to 2016:11
buZzoh, about % and voltages ; the statusmenu displays a % of charge when not calibrated based on voltage, but its using 'max design voltage' and not what its actually able to charge to (as in, 4.349V vs 4.33V) , leading to having '98%' at max charge :)16:11
buZzhavent checked if this happens with a 4.349v-charging-to-4.2v too16:12
freemangordonit is upower, not status menu applet16:18
freemangordonuvos: ugh, actually formula gives 21 % for  375716:21
freemangordonso linear shall start @ 20, not @ 5016:21
uvosfreemangordon: ok yeah i see16:22
uvosfreemangordon: but im not sure why you care about the formula at all at this point16:22
uvosfreemangordon: would using kernel fw tables not be better anyhow16:22
uvosfreemangordon: since it works with upstream upower16:22
uvosor is this to generate a fallback table if the battery is unkown?16:23
freemangordonas a stopgap patch in upower16:23
freemangordonyes, for fallback table too16:23
freemangordonuvos: also, isn't 3.3 too low for 0%?16:26
freemangordonok, that's better:16:27
freemangordoncalculated 13 reported 1016:27
uvosfreemangordon: no 3.3 is fine16:31
uvosthis is open circut voltage16:31
freemangordonah, right16:31
freemangordonhmm, calculations show 15 %, driver reports 7 %, lets see who is right :)16:34
uvoswell mce also shutsdown early on purpose so im not sure how your going to get "ground truth" really16:35
uvosin the single diget % range16:36
freemangordonI will stop mce :)16:36
uvosstill the signal that the kernel acts upon is also quite nosy16:36
uvosso not sure thats any better16:36
uvosbut it is hopefully close enough16:36
uvosthe real test here is to use Wizzup's fancy imaxb6 to charge to specific soc16:37
uvosand then then test that against algo :P16:37
freemangordonyeah16:37
freemangordonok, this is the first time I hear " recharge battery" sound :)16:39
freemangordonuvos: ok, but if we shut down @ 3350, shouldn't that be our 0% point?16:40
freemangordonbtw, I think calculated value is more correct16:41
freemangordonas now calibrated shows 3% @ 3566mV16:41
uvosfreemangordon: sure but thats a mapphone quirk16:42
freemangordonright16:42
Wizzupuvos: damn sounds like I should have send one to you16:53
uvosWizzup: i have one ;)16:54
Wizzupsounds like you do the test then?16:54
Wizzupyou can*16:55
uvosi can, but seriously tedious mesurements are best left to someone else xD16:55
uvosanyhow, i can do it :)16:55
WizzupI haven't been able to use the device yet, won't be for a while, so better if you do16:59
Wizzupbtw, with mpd and mpris-proxy I can control mpd from my headphone by swiping on the right ear (feature), kinda cool17:00
uvosWizzup: ok17:00
uvosWizzup: that is cool17:00
uvosWizzup: bluetooth integration would be neat17:00
Wizzupyup, later though17:08
WizzupI think it's best to do chimaera first17:12
Wizzupit's just too annoying to maintain both chimaera and beowulf17:13
uvosyeah wasent a now thing, just museing17:27
siceloI'm not sure changing to pw/xsession will be well-timed with the move to chimaera. there are valid reasons why even fast-moving distros do a feature freeze just before changing versions17:27
sicelounless there are specific issues that force/require such change to happen asap17:28
Wizzuptmlind: I will send two xt912 since I am not sure if they both work17:35
Wizzupi mean they start :)17:36
tmlindok cool17:50
freemangordonuvos: calculated 10 reported 018:35
freemangordonthat was maybe half an hour ago18:36
freemangordonnow it is 'calculated 4 reported 0'18:36
freemangordonso calculated seems to be more correct :)18:36
uvosuh whats calculated here18:36
uvosestimation?18:37
freemangordonyes18:37
uvosok18:37
SuperMarioSFmaybe reported value is attempting to preserve more power for something else?18:37
uvosgreat18:37
uvosno18:37
freemangordonwrong calibration18:37
uvosits just that the low irq is noisy18:37
uvosso it callibrates somewhat wrong18:37
SuperMarioSFbtw my new battery was calibrated but seems wrong, had almost 100mAh less capacity.18:38
uvosfreemangordon: maybe pr charge-mode :P18:38
freemangordonyeah18:38
freemangordonwill do18:38
SuperMarioSFbut more durable than before.18:38
SuperMarioSFstrange18:38
freemangordonuvos: so, shut down happened @ 4% estimated18:40
freemangordonthis is 3350mV18:41
uvosi mean that sounds about right18:41
freemangordonso, about right18:41
freemangordonmhm18:41
uvos@4% reserved by mce18:41
freemangordonyeah18:41
SuperMarioSFseems right18:41
SuperMarioSFmy phone also shut down at 4% (reported from android side)18:42
freemangordonuvos: I don't think charge-mode bug is fixed18:43
uvosi mean a bug is def fixed18:44
freemangordondid you push to repo?18:44
uvoslet me check18:45
freemangordonI mean - did you rebuild?18:45
freemangordonbbiab18:45
uvossure 1.2.618:46
uvosits in the repo18:47
freemangordonoh, what level it waits for?18:58
freemangordon10%?18:58
freemangordonuvos: I think it shall animate something18:59
freemangordonto show that it is charging18:59
uvoswe could blink the lighting bolt if you like18:59
freemangordonyes, please19:00
uvosif((ev.key.keysym.sym == SDLK_POWER || ev.key.keysym.sym == 1073741824) && bat_info.percent > 10)19:00
uvosyes 10%19:00
uvosi gues idealy it would blink a ! over the battery19:00
uvosif the user clicks power19:00
uvosbut it thinks battery is to low19:01
uvosalso 10% is maybe a bit harsh19:01
freemangordonyes, that's too high19:02
freemangordonbut, don;t change it now, I think once charger detetion is in place we shall rethink the whole concept19:03
Wizzupbtw I got the same problem on 6.1 with the constant oopses19:04
Wizzup/var/log/messages became 2G in a matter of minutes19:04
uvoswhat oopses19:04
uvosi have nothing to see in there19:05
Wizzuphttps://dpaste.com/GGF3DLNSN.txt19:05
Wizzupwhen modem drops off19:05
uvosah ok19:05
uvosyeah that never happens here19:05
WizzupI think it might happen shortly after I unload bluetooth19:05
Wizzupdo you unload the bluetooth module with rmmod ever?19:05
uvosi do that all the time19:05
Wizzuphttps://wizzup.org/modem-oops.txt19:07
Wizzuplooks like it happened before module unload even19:08
Wizzupjust while I was walking19:08
Wizzuphttps://github.com/maemo-leste/bugtracker/issues/64519:09
Wizzup(and this repeats forever)19:10
Wizzupsurprisingly the system is still usable19:10
Wizzupjust... slow and runs warm19:10
uvosmce now knows the slide state on boot :)19:30
uvosi know im fixing serious issues :P19:30
freemangordonheh19:31
uvosturns out theres a ioctl you can use to get the swich state of a evdev device19:32
tmlindWizzup: that's weird, it's like the modem shuts down and phy-cpcap-usb driver does not see anything with the gpio pins?19:32
uvosEVIOCGSW19:32
Wizzuptmlind: right, I think this is what you commented on before as well here: https://github.com/maemo-leste/bugtracker/issues/64519:34
Wizzupfreemangordon: I am going to add this to rtcom-eventlogger tests/Makefile.am:19:34
Wizzup-rtcom_eventlogger_testsuite_CFLAGS = $(CHECK_FLAGS)19:34
Wizzup+rtcom_eventlogger_testsuite_CFLAGS = $(CHECK_FLAGS) -Wno-error=format-extra-args -Wno-error=format19:34
Wizzupit's been driving me nuts for 30 minutes19:34
uvosugh those are usualy pretty usefull to be errors19:35
uvosand i dont even like -werror19:35
freemangordonWizzup: what is the issue?19:36
Wizzupfreemangordon: all the falls to check.h fail macros fail with too many arguments19:37
Wizzupfor format19:37
Wizzupwhere that doesn't seem to be the case19:37
Wizzupeven stuff like fail("error") doesn't work anymore19:37
Wizzuphttps://phoenix.maemo.org/job/rtcom-eventlogger-binaries/architecture=amd64,label=amd64/8/consoleText19:37
Wizzupcheck_el.c: In function 'test_add_event_fn':19:38
Wizzupcheck_el.c:196:14: error: too many arguments for format [-Werror=format-extra-args]19:38
Wizzup  196 |         fail("Failed to create event.");19:38
Wizzup      |              ^~~~~~~~~~~~~~~~~~~~~~~~~19:38
freemangordonweird19:38
freemangordoncannot look at it RN19:39
WizzupI can also stop for today with chimaera stuff, but I threw away half an hour already19:39
Wizzupthere's about 80 errors like this19:39
uvosnew infra is seriously fast at  building mce19:40
uvosi gues it was a rpi before so no suprise . still19:40
Wizzupmost of the time in almost all the builds is the whole cow stuff19:40
uvosyeah19:40
Wizzupit's also faster than amd64 but only because amd64 is not on ssd atm19:41
uvosok19:41
uvosanyhow its just about as fast as a local build on d419:41
uvosthats pretty good19:41
Wizzupshould be much faster really19:41
uvoswell it has to do mutch more19:41
Wizzupkeep in mind it does a lot of pkg fetching and dpkg action19:41
Wizzupyeah19:41
freemangordonuvos: is it normal that soc prediction is very inaccurate on charging?19:42
uvosno19:42
uvosshould be the same really if ri is correct19:43
uvosexcept at very high charge rates > 1c19:43
uvosthere is increasing non liniarity19:43
freemangordon1c is? 1200 mA?19:43
uvosfor you 1c is 2.2A19:43
freemangordonoh19:44
freemangordonwell, it charges @ ~1A19:44
uvosright19:44
freemangordonCalculated r = 0.080460, Ri = 0.089695 for Imax=-1215mA@4009mV, Imin=-1302@4016mV19:44
freemangordoncalculated 63 reported 3919:44
uvosso open circut voltage estimation via Ri should hold for the most part19:44
uvosin this case19:44
freemangordonunless the math for calculating Ri when charging is different19:45
uvosnot really19:45
uvossign of I changes19:45
freemangordonright19:45
freemangordonand that's good as we have to subtract anyways19:46
uvosmaybe calculating Ri is less accurate because relatvie difference in I is less19:46
uvosso if you retain the last discharging Ri19:46
uvoshow goes the estimation?19:46
freemangordoncan't parse19:47
uvoswhile charging19:47
uvosI dosent change that mutch (in a relative sense)19:47
uvospossibly increasing the error in Ri19:47
uvosso if you just use the last Ri from when you where discharging19:47
uvosdose soc estimation remain poor?19:47
freemangordonCalculated r = 0.108153, Ri = 0.105595 for Imax=-701mA@3967mV, Imin=-1302@4032mV19:47
freemangordoncalculated 61 reported 4319:47
freemangordonthis is big wnough difference19:48
freemangordon*enough19:48
uvosyeah19:48
freemangordonso Ri calculation should be correct19:48
freemangordonthere is something else going on here19:48
uvosalso thats a closer Ri to ususal discharing state no19:48
uvos?19:48
freemangordonyes19:48
freemangordonmaybe reported voltage is incorrect19:49
uvoshmm at least i dont see why that would be19:50
freemangordonbut looks like it is19:50
freemangordonbecause this is too high voltage for 40% SOC, no?19:51
uvosi mean a bit19:52
uvosits suggesting open circut voltage is 3.8719:52
uvosmaybe 3.8 allowing for some error in Ri19:53
uvosalso non linierty19:53
uvosof Ri19:53
freemangordonhmm, I stopped charging but it still gives bogus results19:53
uvosRi increases with current19:53
freemangordonyep, reported voltage is deffinitely wrong19:55
uvos(at high currents reactants close to the electrode get depleted and you end up more diffusion limited)19:55
uvosfreemangordon: ok19:55
uvoswierd for sure19:56
freemangordoneven with current limit set to 0 I see voltages > 4.019:56
freemangordonwith charger disconnected voltage drops to 3.819:56
uvoshmm19:56
uvoscan you mesure at the terminals with a dmm?19:56
uvosor sec let me do it19:56
freemangordonnot now19:57
uvosill do it19:57
freemangordonthanks19:57
uvosok19:58
uvosno charger 3.80V 128.3 mA)19:59
uvosdmm reports 3.82V19:59
uvoscharger plugged in, echo 0 > /sys/class/power_supply/usb/input_current_limit20:00
uvos3.91V -491mA20:00
freemangordonmhm20:01
uvoshuh wait20:01
uvosok thats a bug setting input_current_limit to zero has no efect untill i replug usb20:01
uvosanyhow carring on20:01
uvoswith usb replugged and input_current_limit 020:02
freemangordonwell, I hit that bug it seems20:02
uvos3.82V and 123mA20:02
uvosdmm agrees20:02
freemangordonbut, what if you set input current limit to 1800?20:03
uvoswhat units is input_current_limit in again20:03
freemangordonuA20:03
freemangordon180000020:03
uvos4.1V 1395mA20:03
uvosdmm agrees20:04
freemangordonok20:04
freemangordonthen something wrong with math it seems20:04
uvosor non liniarity of Ri is greater than i would expect20:04
freemangordonbut I calculate it before use it20:05
uvosnot sure what you mean20:05
uvoswhat i mean is that if you calculate Ri from 1 and 100mA you would expect a lower value than form 1001 and 110020:05
uvosbecause the battery becomes increasingly diffusion limited20:06
uvosthis effect isent huge mind you, at resonable currents ie <1c20:06
freemangordonI recalculate Ri every 30 seconds20:06
uvosbut maybe greater than i think20:06
freemangordonbased on 10 samples made just before recalculation20:07
uvossure but if your calculating Ri at around 1A and then applying it for all of those 1A its wrong20:07
uvosyou would have to calculate Ri for the first 500mA and then compensate that for ocv20:07
uvosand then calculate again for the last 500mA20:07
uvosand compensate those 500mA with the latter Ri20:08
uvosor so20:08
freemangordonI don't get that20:08
uvos(idealy you would integrate ofc)20:08
uvosok so it works like this20:08
freemangordonwait a sec20:08
freemangordoni calculate Ri for current ~ 1200 mA20:08
freemangordonand then use that Ri to calculate open circuit voltage for current ~ 1200 mA20:09
freemangordonso I don;t see where the error is20:09
freemangordonso, please explain20:10
uvosso lets say i take 500mA from battery, this drops the voltage by 0.1 when compeard to the open circut voltage (made up values).20:10
freemangordonok20:10
uvosthen i take 1A from battery, you would expect V to drop by 0.2 but it dosent it drop by soemthing > 0.2 because the battery is more diffusion limited20:10
uvoseffectively the Ri for those last 500mA is greater than for the first20:11
freemangordonok20:11
uvosbut this effect should be small20:11
uvosat small currents20:11
uvosthere the battery should be effectively linear20:11
buZzuvos: on ideal batterues its small20:11
buZzon old ones less so20:11
freemangordonbut, this is not what happens here, as I calculate for currents ~1200mA20:12
buZz'pre wornout' cells20:12
freemangordonCalculated r = 0.102273, Ri = 0.089607 for Imax=-1092mA@4158mV, Imin=-1180@4167mV20:12
freemangordon1092 vs 118020:12
uvosfreemangordon: right but then you apply the Ri you got at ~1200mA to all of those ~1200mA20:12
uvosto get ocv20:12
uvosthats the problem20:12
uvosduring the first 100mA of those 1200mA your currently loading the battery at the voltage dident drop as mutch as in the interval you mesured Ri at20:13
uvosso the result is somewhat wrong20:13
freemangordonactually it seems that Ri decreases with the current20:15
freemangordonat least on discharge20:15
Wizzupfreemangordon: I will make an issue for the rtcom-eventlogger warnings, ok?20:16
freemangordonok20:16
freemangordonwill look at it tomorrow20:16
Wizzupmeanwhile I will build it20:17
freemangordonok20:17
Wizzuphttps://github.com/maemo-leste/bugtracker/issues/67420:19
uvosfreemangordon: ok im looking at some papers here20:41
uvosfreemangordon: yes i know rabbit hole20:41
uvosfreemangordon: and it looks like indeed Ri dose decreese slightly from zero to small currents and then increase at very large currents20:43
uvosincrease greatly (compeard to the small decreese)20:43
uvosanyhow dont think we are seeing this tbh20:43
uvosalso perhaps unsuprisingly Ri is lower when current rises rapidly20:45
uvos(ie there is some timeconstant in Ri too)20:45
uvoshttps://uvos.xyz/maserati/equivalentCircut.png20:47
uvosmight be part of the cause of Ri bouncing around20:48
uvosbut should not be for the problem of charging soc being different20:48
freemangordonright20:53
freemangordonI don't think that capacity plays any role here as current is relatively constant20:54
Wizzupnext time I should write a python script that parses debian/control and suggests a build order for the pkgs21:05
freemangordonuvos: I think we have another issue, in the charger21:05
freemangordonit seems it charges till 4.2 is hit, but this is not 4.2 OCV21:06
freemangordonit charges to something like 4.18921:06
freemangordonor even less21:07
uvosso according to the datasheet of cpcap21:25
uvosit will charge CC until 4.2 (or set point) is reached and then it will fire an irq (which we ignore afaik) and will then automaticly switch to CV charge until current dropes below 50mA21:27
uvosso yes it is expected that ocv never reaches 4.2V but 4.2V - whatever is deltaV at 50mA21:28
Wizzupfreemangordon: should I rebase patches for eds?21:28
WizzupI'm trying to build osso-abook but it's involving :D21:28
freemangordonyes, please21:28
uvosso if Ri is 150mOhm (like i mesured it here by hand)21:29
uvosthen you would expect ocv voltage after charging ends to be 4.1925V21:29
uvosso close enough really21:30
freemangordonok21:32
BlagovestPetrov[hah, xorg conf is broken and the VM restarts on boot21:58
uvosdsme?21:59
Wizzupfreemangordon: why do we keep using quilt for patches instead of just git :(23:06
Wizzupok, abook built23:17
Wizzup(locally)23:17
Wizzupuvos: we still use hildon-desktop-rotation-support - right?23:26
uvosWizzup: nope i integrated that into h-d a long time ago23:42
Wizzupok, I think the pkg is still installed on my device at least23:43
uvosthats just your device23:43
uvosi remember removeing it from the metapacakge23:43
Wizzupyup23:44
Wizzupok23:44
Wizzupmight be better for the meta package to conflict on it23:44
uvosits obsoleted by https://github.com/maemo-leste/hildon-desktop/commit/5d66fef2ca603015f6cfeb7dd6008d15d4b3e8f623:44
Wizzupyeah that is what I remembered23:44
uvosheh looks like i fixed our oldest bug23:45
Wizzupoh yeah? :D23:46
uvosyes https://github.com/maemo-leste/bugtracker/issues/2323:46
uvosOct 24, 2017 lol23:46
Wizzupin about a year we'll have been at it for 5 years :)23:46
uvosif the date on that bug is an indication it has been 5 years allread23:47
uvosy23:47
Wizzupoh23:49
Wizzuphttps://github.com/maemo-leste/bugtracker/issues/1 18 oct23:49
Wizzuphum23:49
uvosno idea how that happend23:50
Wizzuphm?23:50
uvosdate mixup nvm23:50
Wizzup:D23:50
uvosanyhow zzzz23:51
Wizzupgn23:52

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