Tuesday, 2020-08-04

T42龚蓉惠 %lastname% was added by: 龚蓉惠 %lastname%01:49
spiiroinpiggz: basically if your device does not have a notification led, just ensure that mce-plugin-libhybris does not get installed03:09
spiiroinmce itself has logic only for leds in old nokia devices, without it the outcome ought to be: some state transitions within mce without external actions03:12
spiiroins/without it/without hybris plugin/03:12
spiiroin(there is a toggle for disabling/enabling whole led subsystem, but IIRC it is temporary runtime toggle i.e. not a regular persistent setting)03:15
Mister_Magistermal: abranson: if you want me to fix PRs in order to make them mergable, hit me up with what i have to do please and i'll do it (hopefully)08:55
Mister_Magistermonich: can we somehow debug rild further?08:56
abransoni think it definitely needs backwards compatibility. that's the main reason why this hasn't been done already. that extra property for camera direction is necessary too I think. we're already passing the mount angle around iirc so it should go along with that.09:10
rinigusmal: reminder - would you mind to review MRs in qtsensors and sensorfw?09:16
Mister_Magisterabranson: about backwards compatibility, gstreamer changes are compatibile with current qtmultimedia (i've tested it). qtmultimedia sets camera-device to 0 or 1 so it's same as changes in gst-droid and it doesn't break rest09:54
abransonthat's good!09:54
Mister_Magisterbut qtmultimedia changes aren't compatibile with anything, we  could alias that if you set device to primary or secondary we will translate it to ints and that should be compatibile09:55
Mister_Magisterbecause all i'm changing is from hardcoded to dynamic really09:56
abransonyeah. to do it properly, primary should be one of the back facing cameras, and secondary should be a front facing one. probably the lowest number found.09:56
abransonthen discovering and using additional cameras should fit alongside that09:56
Mister_Magisteryeah exactly, i can add simple if and it would do09:56
Mister_Magisterif you have newer app you can put 0 1 2 etc and it will do stuff  and if you put primary it will translate it to 0 with simple if it should work just fine09:57
abransonlooks a bit strange how you can get random camera IDs being used. how does android deal with that? can it discover them, or is there always an OEM camera app that knows the numbers?09:57
Mister_Magisterabranson: like i mentioned in one pr some unique devices have random ids like 1 45 etc with breaks, also on my 5z droid-camres spits resolutions for 3 devices but device count reported is 409:58
Mister_Magisterabranson: idk how android deals with that lineage devs needed to hack with it09:58
abransondoesn't sound very treble09:58
Mister_Magisterabranson: they're static not random09:58
abransoni mean randomly chosen by the devs :)09:59
Mister_Magisterah yes09:59
Mister_Magisterabranson: the reasons above is why i was thinking of makign per-device config with camera ids09:59
Mister_Magisterbut thats ugly right09:59
Mister_Magisteror wait10:00
abransonwell, if it really is that arbitrary, especially knowing what's different about each camera, then I guess it's unavoidable10:00
abransonbut there are a lot of device configs out there, so whatever's done should be optional, falling back to the old 0 and 1 camera config10:00
Mister_Magisterabranson: https://github.com/sailfishos/gst-droid/pull/56/files#diff-342a1c4301107bde6e204fb5f3cda8d8R480 here it tries to find camera10:00
Mister_Magisterso even if it reports number of cameras 4 it will find only 3, so we shoiuld use number of found cameras as camera count10:01
Mister_Magisterabranson: yeah exactly that config to be used only in extreme cases10:01
Mister_Magisteror i could go from 0 to 255 detecting cameras, adding them to list and using that for ids and count10:02
abransonbut it's only looking for sequential camera numbers from 0?10:02
Mister_Magisteryes but it doesn't have to be sequential does it10:03
abransonwonder if there's some list of camera ids in the camera api10:03
Mister_Magisteri don't think so, android dev mentioned if you access it directly you can get list of ids10:03
Mister_Magisterabranson: but that detecing thingy, we could even detect camera at id 42 and assign it to number 2 for example and noone needs to know i think10:05
abransonit might be a good idea to keep them the same though. As long as we can pass an index of them up to the higher levels, listing number, direction and orientation.10:06
abransonand anything else that might help characterize them10:07
Mister_Magisterthen camera apps would just grab amount of cameras (not from doridmedia, from the counter we detected) and just use int i =0; i < cameracount to switch cameras10:07
abransonbut that's not much use if they don't know anything about them. they really need a bag of camera data, and if they're getting that then the sequence doesn't matter anymore10:08
Mister_Magisterabranson: what imean is to have sequential  numbers as indexes of src->info[x] while we can keep their id in target->num = camera_device; for example10:09
Mister_Magisterthat way apps can cycle 0,1,2,3 and we can use ids stored in them for getting data10:09
Mister_Magisterdo you follow me?10:09
Mister_Magisterotherwise we would have to pass list with camera ids to higher levels10:10
abransonyes, i'm saying that's not necessary if you make the info[] data available to the applications, which should be done anyway.10:10
Mister_Magisterhmmm why though?10:10
Mister_Magisterabranson: how would you get indexes of info[]10:11
abransonbecause with 0 and 1 there's an assumption that 0 is the back camera and 1 is the front. with n cameras you have no idea which is where. there should really be other data added to that structure too so apps can decide how to present them10:12
Mister_Magisteryeah yeah correct we can pass orientation by passing info[] i just realised that10:12
Mister_Magisterif there's a way of getting number of elements in info and indexes in info then i'm all in for that10:13
abransonthe indexes and order of info[] doesn't matter - the important thing is how the api identifies each camera. i think that's best using the actual id of the camera on the android side. avoids confusion10:13
Mister_Magisterabranson: sure thats what i'm talking about, if we get indexes of info[] (which won't be sequential) on qtmultimedia side we will have android ids of cameras10:13
abransonthere's some sort of array structure for gst properties anyway. i think we're using them already for something. maybe the params dump?10:13
Mister_Magisterabranson: it's jsut static array https://github.com/sailfishos/gst-droid/blob/468f030693a732dec17d0a9d15d6533f93c5a71d/gst/droidcamsrc/gstdroidcamsrc.h#L9610:15
abransoninfo[x]->num would be what's used to select the camera. x is just the array index and unrelated.10:15
Mister_Magisterabranson: yeah but my initial idea was to keep x sequential but you don't want it to be sequential10:15
Mister_Magisterit's static array so we don't know how many elements are there really10:16
abransonwell, x is sequential, but it's not the camera number. that can be stored in each info struct.10:16
Mister_Magisterthat's exactly what i've been propposing above you missed it :D10:16
Mister_Magister[12:09] <Mister_Magister> abranson: what imean is to have sequential  numbers as indexes of src->info[x] while we can keep their id in target->num = camera_device; for example10:16
abransonyes, i know. just making sure it's clear :)10:17
Mister_Magisterokay, yeah i'll do that. then we pass amount of cameras as amount of cameras we detected not the number camera hal returned okay?10:17
abransonsounds good. i'd make sure the array is that size too. MAX_CAMERAS shouldn't really be needed now.10:19
Mister_Magisterbut then we would have to change info to be dynamic array10:20
Mister_Magisterand i'm not really sure about how to achieve that without memory leak10:20
Mister_Magisterabranson: am i wrong?10:22
abransonwhat's the problem there?10:31
Mister_Magisterabranson: idk how to change info to dynamic array :<10:34
abransonmalloc and free?10:36
Mister_Magisteryeah… we better watch out for memoryleaks10:36
* Mister_Magister dreams about smart pointer10:36
T42<adampigg> Also, for kicks, replace all type names with 'auto' :D10:41
Mister_Magister@adampigg ah yhess10:43
Mister_Magisterabranson: or i'll go with glib array hopefully will be simpler10:45
* Mister_Magister not that i don't get malloc it's just pita10:45
abransonyeah those are much simpler :)10:47
Mister_Magisterabranson: hopefully together we can get that pr to mergable state10:49
T42<edp_17> Can somebody let me know what the 'patterns-sailfish-applications' package is doing and what's the implication if I uninstall, please?11:52
T42<elros34> You can see what packages it provides via: rpm -q --requires "pkg name"12:31
T42<edp_17> Thank you. The reason I asked was that on my XA2, the icon of the Clock app has gone. The app is there as I see the Clock text, but the icon is blank. (The app works fine.) I tried to re-install the app from the Jolla store but that didn't solve the issue. Then when I removed the app it also removed the 'patterns-sailfish-applications'13:23
T42 package and when I only installed the Clock app, the icon appeared again. Now, I am concerning what the missing 'patterns-sailfish-applications' package will/can cause. (If I install this package back, the Clock icon disappears again.) Only my XA2 is affected. Anyone having a similar problem?13:23
Mister_Magisterpiggz: you were right, screw patternizing13:51
piggzMister_Magister: yeah, lbt seems too busy13:54
Mister_Magisterpoor lbt_13:55
* Mister_Magister sends pats on the head13:55
Mister_Magistermal: were your libgbinder changes merged?14:27
Mister_Magisterno it was libgbinder-radio and i'm retarded14:29
Mister_Magistermonich: you there? i got something interesting for you14:31
Mister_Magistermonich: https://paste.opensuse.org/4bb6d32a14:32
Mister_Magisteris this what i think it is14:32
Mister_Magisteri think it is14:36
Mister_Magisterpatching libgbinder rn14:36
monichMister_Magister: what you're getting from `binder-list -d /dev/hwbinder`?14:37
Mister_Magistermonich: https://paste.opensuse.org/6acb1cdd14:37
T42<elros34> @edp_17 that pattern package doesn't have any files or script, only dependecies (like droid-config patterns) so it can't break icon for you. I remember some kind of app/patch which dynamically update icons. Is there any chance you use it?14:39
malMister_Magister: I haven't yet finished the 1.2 changes14:40
Mister_Magistermal: yes i know sorry for pinging14:40
Mister_Magisteri'm patching it for now14:40
malMister_Magister: so that has some custom interface, ofono binder plugin supports oem extensions14:41
Mister_Magisteroem extension?14:41
malMister_Magister: is the API documented somewhere?14:41
Mister_Magisterit's blob, doubt14:41
malMister_Magister: I mean in case some devices need some custom interface there is a way to add those14:42
Mister_Magistermal: yeah i want to add but how do i make that extension14:42
malfirst you need to to figure out the needed information for the custom interface14:43
Mister_Magisterokay what do i need/14:43
malmonich: quite strange that there doesn't seem to be any interface for that custom stuff in binder-list output14:44
malmonich: unless it's that qtiradio14:44
Mister_Magistersince i patched gst-droid patching other things is no longer scary :D14:45
monichMister_Magister: qtiradio sounds like it but I have no idea what it is :|14:48
malMister_Magister: monich: ^14:48
malnot sure if that is all stuff14:48
Mister_Magistermal: can't read that14:49
monichMister_Magister: that's 1.0, you've got 2.014:49
monichgoogle finds no results for "IQtiRadio.hal" :/ smells like filtering14:50
monichduckduckgo does find it :)14:51
monichbut only this one, which is 1.014:51
malyeah, only that one14:52
monichjust to get an ide what's in that interface, I sometimes run strings on the binary which implements it14:52
monichlooking for c++ symbols14:52
malyeah, that could help14:52
T42<edp_17> monich, can you help me to point out what's wrong with rild on my device, please? I have a few logs, I am not sure which one helps.14:53
T42<edp_17> Many thanks.14:53
T42<edp_17> journalctl --no-pager -f: https://paste.ubuntu.com/p/BtJHTmYngw/14:53
T42<edp_17> logcat -b radio: https://paste.ubuntu.com/p/PZ5GjNXRcv/14:53
T42<edp_17> logcat: https://paste.ubuntu.com/p/pFHbkNmwNS/14:53
T42<edp_17> dmesg: https://paste.ubuntu.com/p/Xjt3MBjZrJ/14:53
T42<edp_17> ril_subscription.conf: https://paste.ubuntu.com/p/QyNZyrFTzv/14:53
T42<edp_17> journalctl -a --no-pager: https://paste.ubuntu.com/p/dBDwc4msC5/14:53
T42<edp_17> journalctl -u ofono --no-pager: https://paste.ubuntu.com/p/WZXZbBg8r3/14:53
T42<edp_17> journalctl -b --no-pager: https://paste.ubuntu.com/p/Pr5qyYbnrn/14:53
Mister_Magistermal: monich: what do i have to do?14:55
Mister_Magistermonich: qtiradio is more like closed source qualcomm part so i doubt you will find sources14:56
* Mister_Magister has fxtec sources14:57
* Mister_Magister has contacts to guy with qualcomm leaks14:57
monichMister_Magister: I meant something like this:15:06
monichstrings /odm/lib64/vendor.qti.hardware.radio.qtiradio@1.0.so | grep IQtiRadio15:06
monichthat allows to pretty much decompose the binder interface15:06
monichI don't know what to do next, but that at least gives an idea what's going on15:07
Mister_Magistermonich: here is from some other lib that needed to be hexedited https://paste.opensuse.org/ce23804f maybe will be helpful15:07
Mister_Magistermonich: here https://paste.opensuse.org/725f3d8b15:16
monichc++filt _ZN6vendor3qti8hardware5radio8qtiradio4V2_022BpHwQtiRadioIndication22onSignalStrengthChangeERKNS4_14SignalStrengthE15:19
monichvendor::qti::hardware::radio::qtiradio::V2_0::BpHwQtiRadioIndication::onSignalStrengthChange(vendor::qti::hardware::radio::qtiradio::V2_0::SignalStrength const&)15:19
monichMister_Magister: that ^ looks suspicious15:19
Mister_Magisterwhat do you mean?15:20
monichit might want to call that instead of a standard callback15:20
monichjust registering a callback that implements vendor.qti.hardware.radio.qtiradio@2.0::IQtiRadioIndication might help15:21
monichor not :)15:21
Mister_Magisterlike, the registrations state could be not the only thing15:21
Mister_Magisterwant entire logcat?15:22
Mister_Magisterno wait15:22
Mister_Magisterlook monich https://paste.opensuse.org/7f68be6f15:23
Mister_Magisterthere are other signals that look same as that registration one15:23
Mister_Magisterso those will need implementing too15:23
monichedp_17: that might be a bit too deep for me, like modem not starting at all, e.g. some partition is missing or not mounted or whatever :|15:27
Mister_Magistermonich only cares if rild is running15:27
Mister_Magistermonich: i'll tell you if i get my hands on the source of qtiradio15:31
monichMister_Magister: that might require a specialized transport plugin like this one: https://github.com/monich/ofono-ril-binder-mtk-plugin15:34
Mister_Magistermonich: let's do it!15:34
monichthis particular one implements mtk-binder transport15:34
monichno, "binder-mtk" it is15:35
monichregisters mtk specific callbacks15:35
Mister_Magisterso we can do ofono-ril-binder-asus-plugin15:36
monichand lets libgbinder-radio to do the default stuff15:36
Mister_Magisteri…i mean i don't know its your idea i'm only following15:37
Mister_Magisteridk what should be done15:37
Mister_Magisteryou're the boss15:37
monichwell, I don't have IQtiRadio::2.0 implementation at hands15:40
Mister_Magistermonich: i'll try to do something about it15:40
monichI guess I could build a plugin that does 1.0 stuff15:41
monichwhen I feel like it :)15:41
monichit would just call IQtiRadio::setCallback15:41
Mister_Magistermonich: >when u feel like it15:41
Mister_Magisterwell i could od that basing on mtk plugin15:42
monichhehe... only then15:42
monichonly at that precise moment when I feel like it!15:42
Mister_Magisterhow did lineage guys handled it if they don't have qcom sources either15:42
Mister_Magistermonich: :D15:43
Mister_Magisteri like patching stuff, so much to learn15:43
monichfrom the dump you get the order of functions, from c++ symbols - types of parameters15:43
monichbut most likely, somebody just saw the sources15:43
monichbut you can get pretty far even without sources15:44
monichit's a riddle15:44
Mister_Magisterthat's how opensource is built, on leaks lmao15:44
T42<trivial_inanity> hoi mister_magister18:43
T42<trivial_inanity> still got pico?18:43
T42<trivial_inanity> what you been upto with it?18:43
Mister_Magisterlying in closet18:44
Mister_Magistertotally useless18:44
T42<trivial_inanity> :(18:44
Mister_Magisterwhat do you expect me to do with it18:44
T42<trivial_inanity> idk /shrug18:44
T42<trivial_inanity> okbye18:45
T42<edp_17> @elros34 [@edp_17 that pattern package doesn't have any …], Thanks, @elros, that was it. I uninstalled that app from operepos and clock icon came back. 👍19:07
T42<edp_17> @elros: I had an idea to port sfos to my old allwinner a31 tabled, so I was searching for kernel, device tree and other usual stuff when I found your port for Freetab 8014. Do you have the kernel, device, local_manifest and other stuff somewhere? Plus I have seen that the hdmi work on this port. Is it hard to utilize on other22:30
T42sfos ports (of course if the device supports the hdmi)?22:30
T42<elros34> I don't remember all details I still have some files on disk. It's not that straight forward like cyanogenmod based ports. You have custom android sources and you need to patch them: https://github.com/elros34/freetab_8014/tree/master/droid/patches22:30
T42<elros34> I still have same kernel sources if you want22:32
T42<edp_17> I have found these in your github repo but it was not clear to me what to do with them.22:34
T42<elros34> IIRC I dropped it because I had some battery and  power issues22:34
T42<edp_17> Yes, that would be useful! If you don't mind, I would take a copy.22:34
T42Jessica %lastname% was added by: Jessica %lastname%22:42
T42<Jessica %lastname%> 914322:42
T42<elros34> @edp_17 I have uploaded kernel patches23:29
T42<edp_17> Thank you very much! I'll give it a try. First I need to find an android base that I can use for this port.23:36
T42<elros34> This is all based on a31_v4.5_hummingbird_kfb_ok sdk. Compare sys_config.fex which I uploaded with  yours. Allwinner devices are similar so current image could work on your tabler without changes or maybe with just replaced sys_config23:39
T42<edp_17> Yeah, I would like to try your build first. And if that worked (I don't se why not) I would like to "upgrade" to 3.3. 😄23:41
T42<elros34> Just a warning that porting it it's not peace of cake like for other devices. Maybe in future droid 4 gpu work could be also used to put mainline on those a31 based tablets23:42
T42<edp_17> Thanks. Sadly with my current devices I cannot make progress. On the Note 4 (treltexx) the RILD doesn't work. On the S2 (i9100) the bluetooth cannot be paired. Unfortunately, I don't know how to fix any of those by myself, so I put them aside for a while.23:47
T42<elros34> yeah using old devices cause some issues. I still have some bugs in my old photon which I will probably never fix. On the other hand segfault issue I had took me several mounts to figure out that my binary blobs are from older android thus requires slightly different headers.23:52
T42<edp_17> I see how you mean. For me, the main factor (apart from the unfamiliarity) is the time. With family, it is really hard to find free time for my hobby. 😊23:57

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