*** Danct12 is now known as Guest9468 | 05:10 | |
T42 | <k1gen> mal: still no ideas with sound I assume? | 07:04 |
---|---|---|
mal | @k1gen I haven't had time to think about it much | 11:27 |
T42 | <k1gen> :( | 11:36 |
T42 | <elros34> I am not good at gdb but have you even tried to figure out this cryptic hex address at which pulseaudio segfault? | 11:53 |
T42 | <k1gen> I suppose this was addressed to mal, because I know nothing about that | 12:20 |
T42 | <elros34> no, he cannot do this and you can always learn. You have device with running proccess, and /proc/<pa pid>/maps which you could use. No idea if that will be of any use but I think that is basic step to do when you gdb process and it crash at unknown place | 12:24 |
T42 | <elros34> Additionally your first gdb was totaly different so you could try to figure out what changed, nobody else can so this except you | 12:25 |
T42 | <elros34> Without any better ideas maybe it's worth to try android_vendor_halium_hardware similar to fp4 https://github.com/mlehtima/droid-config-fp4/blob/devel/sparse/usr/lib/systemd/system/vendor-lib64-hw-audio.primary.default.so.mount. I doubt it will help but.. | 12:33 |
T42 | <k1gen> @elros34 thanks, I'll try that mount service | 12:36 |
T42 | <elros34> it's not just mount service you need to build that lib and enable back audioservice | 12:40 |
mal | @elros34 I doubt the compat hal helps since there is 64-bit hal on the device already | 13:13 |
mal | unless of course it's broken | 13:13 |
mal | one possible way debug is to get some debug output from libhybris, could be some missing symbol hook | 13:14 |
mal | @k1gen try running pulseaudio by added these before pulseaudio and its parameters: HYBRIS_LOGGING_LEVEL=debug HYBRIS_TRACE=1 HYBRIS_TRACE_HOOKED=1 HYBRIS_TRACE_UNHOOKED=1 HYBRIS_TRACE_DYNHOOKED=1 | 13:18 |
mal | it will generate a lot of output | 13:18 |
T42 | <k1gen> without gdb? | 13:19 |
mal | yes, no need to use gdb | 13:19 |
T42 | <k1gen> 834 megabytes of output :O | 13:34 |
T42 | <k1gen> -rw-rw-r-- 1 defaultu defaultu 834.0M Mar 31 16:33 pulseaudio.debug | 13:34 |
T42 | <k1gen> mal: should I grep something you need or upload this to anonfiles/... ? | 13:36 |
T42 | <k1gen> that's the command: HYBRIS_LOGGING_LEVEL=debug HYBRIS_TRACE=1 HYBRIS_TRACE_HOOKED=1 HYBRIS_TRACE_UNHOOKED=1 HYBRIS_TRACE_DYNHOOKED=1 HYBRIS_ENABLE_LINKER_DEBUG_MAP=1 HYBRIS_USE_VENDOR_NAMESPACE=yes pulseaudio --daemonize=no -n --file=/etc/pulse/arm_droid_default.pa -vvvvvvvvvv > pulseaudio.debug 2>&1 | 13:37 |
T42 | <k1gen> mal: wget http://bashupload.com/vAWA-/Ef_5F.debug | 13:47 |
mal | hmm, why is it that big | 13:51 |
T42 | <k1gen> mal: is it even useful to you? | 14:32 |
mal | not sure | 14:35 |
mal | was it so that the gdb backtrace didn't change at all when you use HYBRIS_ENABLE_LINKER_DEBUG_MAP=1 ? | 14:36 |
T42 | <k1gen> let me run gdb with and without it. what other envs are needed? | 14:40 |
mal | only the HYBRIS_USE_VENDOR_NAMESPACE=yes | 14:54 |
T42 | <k1gen> mal: with HYBRIS_ENABLE_LINKER_DEBUG_MAP=1: https://vomitb.in/raw/pYltWRzJet; without: https://vomitb.in/raw/TC7dDrQU4K | 15:02 |
mal | so no difference | 15:08 |
T42 | <k1gen> as you can see | 15:09 |
T42 | <k1gen> what does this mean? | 15:09 |
mal | it just means that the actual issue is hidden for now | 15:11 |
T42 | <k1gen> even 834Mb log can't help you? that's sad | 15:13 |
T42 | <TheVancedGamer> is pulseaudio segfaulting? | 15:13 |
T42 | <k1gen> it is | 15:13 |
T42 | <TheVancedGamer> ``` | 15:15 |
T42 | <TheVancedGamer> "/vendor/lib/hw/sound_trigger.primary.msmnile.so" is 32-bit instead of 64-bit``` | 15:15 |
T42 | <TheVancedGamer> probably not fatal? | 15:15 |
T42 | <k1gen> ¯\_(ツ)_/¯ | 15:15 |
mal | @TheVancedGamer usually sound_trigger is not critical | 15:20 |
T42 | <k1gen> I have this lib in lib64 directory | 15:20 |
mal | yeah, hal library often has hardcoded paths to the 32-bit version | 15:21 |
T42 | <k1gen> mal: while you're here - should I try anything else? more envs or something like that | 15:23 |
mal | not sure, I need to look at logcat more carefully | 15:25 |
T42 | <k1gen> thanks, I'll be waiting for ping | 15:27 |
mal | you could try to look into the other issues on the device, wondering if you did something wrong with the vibrator or why does it not work | 15:28 |
T42 | <k1gen> well, I didn't do anything since last time you helped me with it | 15:30 |
mal | so it didn't work with the new configuration file to only set that one path? | 15:30 |
T42 | <k1gen> ready to provide anything that might help with debugging, as always | 15:30 |
T42 | <k1gen> mal: yeah, let me cat the file | 15:30 |
mal | first you need to make sure the permissions are correct for the path | 15:31 |
T42 | <k1gen> https://vomitb.in/raw/Z2O4bzUoWF that's how I left things, ngfd user service starts fine, but no vibration | 15:33 |
mal | that is not how I told you to change it, first of all permission of brightness is wrong, also config file should have "native.path = /sys/class/leds/vibrator/brightness" and remove the activate_path from it | 15:55 |
mal | I mean group of brightness is wrong, it should be input group | 15:55 |
mal | not sure if we need to define the activate_path to be empty | 15:57 |
mal | I think it's fine with just that one path | 15:57 |
T42 | <k1gen> mal: thanks for remarks on native.path, but I don't understand why brightness group is wrong, I have https://vomitb.in/raw/XRU5d8wM4W | 16:03 |
mal | try first to change it manually and then restart ngfd and test vibrator | 16:05 |
T42 | <k1gen> mal: I did as you suggested, now there is vibration, on highest power again, but this time there are interrupts. I test vibro on lockscreen with password input. before, once I pressed the first key, the device would not stop vibrating, but now when I press any key it stops for a milisecond, then continues, but it doesn't stop until echo 0 > /sys/class/leds/vibrator/brightness | 16:11 |
mal | are you saying to works the wrong way somehow? | 16:14 |
mal | what is the value of brightness? also check the value of duration path | 16:15 |
mal | also check the activate path value | 16:16 |
mal | also check debug output from ngfd | 16:17 |
T42 | <k1gen> value of brightness when it vibrates is 10, when it doesn't - 0 | 16:17 |
T42 | <k1gen> there is no activate or duration | 16:17 |
mal | ? | 16:18 |
mal | https://vomitb.in/raw/Z2O4bzUoWF this says those paths are there | 16:18 |
T42 | <k1gen> well not anymore: https://vomitb.in/raw/T3jG5KeAig | 16:19 |
T42 | <k1gen> weird, right? :P | 16:19 |
mal | odd | 16:19 |
*** phlixi is now known as Guest9510 | 16:19 | |
*** phlixi_ is now known as phlixi | 16:19 | |
T42 | <k1gen> yeah | 16:20 |
mal | so you are saying brightness doesn't become 0 by ngfd? | 16:20 |
T42 | <elros34> I think you should have some more parameters in /sys/class/leds/vibrator/device/ to make things even harder without proper user space driver | 16:20 |
T42 | <k1gen> @elros34 https://vomitb.in/raw/HzXPGmAO72 how did you know? :D | 16:21 |
T42 | <k1gen> mal: exactly | 16:22 |
mal | but why | 16:22 |
T42 | <elros34> quick search on net, try yourself | 16:22 |
T42 | <elros34> and all of these params are in your driver: https://github.com/LineageOS/android_kernel_google_coral/blob/lineage-18.1/drivers/misc/cs40l2x.c#L3862 | 16:22 |
mal | @k1gen please get debug output from ngfd so we can see what it finds | 16:23 |
T42 | <k1gen> sure, give me some time, still haven't fixed these reboot problems. I should reboot first, right? | 16:24 |
mal | no need to reboot | 16:25 |
T42 | <k1gen> daemon specifies EnvironmentFile=-/etc/sysconfig/ngfd, but there is no /etc/sysconfig/ngfd | 16:25 |
mal | first "systemctl --user stop ngfd" and then as defaultuser run "ngfd --verbose" | 16:26 |
T42 | <k1gen> nothing but ERROR: tonegen-ausrv: ausrv: server connection failure: Connection refused | 16:28 |
T42 | <k1gen> there's also one WARNING: canberra: can't connect to canberra! Not available | 16:28 |
T42 | <k1gen> I tried triggering vibro, log doesn't show this, but it works just like last time | 16:29 |
mal | I'm more interested in the early messages to see what it finds | 16:29 |
T42 | <k1gen> https://vomitb.in/raw/il5YzcRwcm | 16:29 |
T42 | <k1gen> same log under root | 16:30 |
mal | hmm | 16:30 |
mal | try ngfd -vvvvvv | 16:31 |
T42 | <k1gen> sure, a second | 16:31 |
T42 | <k1gen> well that's better | 16:31 |
T42 | <k1gen> mal: https://vomitb.in/raw/T1g71TBJm8 | 16:33 |
T42 | <k1gen> I entered the password mid-log, then did echo 0 > /sys/class/leds/vibrator/brightness in other ssh instance | 16:33 |
mal | still not sure why it won't stop, does it start vibrating a second time if you do something? | 16:35 |
mal | just to be sure, do the permissions of brightness path remain correct? | 16:36 |
T42 | <k1gen> didn't understand the question. do you mean that little pause on passcode key presses? | 16:36 |
T42 | <k1gen> -rw-rw-r-- 1 system input 4096 Mar 31 19:32 /sys/class/leds/vibrator/brightness | 16:37 |
mal | how do you test the vibration? | 16:38 |
T42 | <k1gen> by inputting password on lockscreen | 16:39 |
T42 | <k1gen> didn't I explain this already? sorry, if it's my bad english | 16:40 |
mal | so if you press it once it will continue vibrating forever? | 16:47 |
T42 | <elros34> btw do you have /vendor/etc/init/android.hardware.vibra*rc or something like that? | 16:53 |
T42 | <k1gen> @elros34 | 16:54 |
T42 | <k1gen> [defaultuser@flame ~]$ find 2>/dev/null /vendor/etc/init -iname android.hardware.vibra*rc | 16:54 |
T42 | <k1gen> /vendor/etc/init/android.hardware.vibrator-service.cs40l25.rc | 16:54 |
T42 | <elros34> so it has content? | 16:55 |
mal | @elros34 I assume it's this https://github.com/LineageOS/android_hardware_google_pixel/blob/lineage-18.1/vibrator/cs40l25/android.hardware.vibrator-service.cs40l25.rc | 16:57 |
mal | @elros34 wondering if there will be need to do a binder ngfd plugin at some point if we can't fix this | 16:58 |
T42 | <k1gen> mal: let me rephrase what I said earlier: when we started debugging vibro, vibration was constant after trigger-key, for example passcode key. no matter what I pressed after first key - device won't stop vibrating until reboot. now vibration stops when I press second, third and so on passcode keys, but it stops only for milisecond, and then continues until I execute echo 0 > /sys/class/leds/vibrator/brightness | 16:58 |
T42 | <elros34> I think the same but would be nice to get confirmation. Driver IC seems pretty sophisticated | 16:59 |
T42 | <k1gen> @elros34 https://vomitb.in/raw/xDAzjSlcyi | 16:59 |
mal | @k1gen that is what is odd since ngfd writes 0 to that brightness path | 17:00 |
T42 | <TheVancedGamer> did they check it though? | 17:00 |
T42 | <k1gen> mal: it doesn't in my case, I checked | 17:01 |
T42 | <TheVancedGamer> maybe after clicking on passcode prompt check if its 0 or 1 | 17:01 |
T42 | <TheVancedGamer> oh | 17:01 |
T42 | <k1gen> it's 10 when vibrating | 17:01 |
mal | well the code is supported to write 0 | 17:01 |
mal | *supposed to | 17:01 |
T42 | <k1gen> let me check brighness permissions while device is vibrating | 17:01 |
T42 | <elros34> and there is no service running: pgrep -af vibra | 17:02 |
T42 | <k1gen> @elros34 no output | 17:02 |
T42 | <elros34> and you tested manual writing to brightness without ngfd started | 17:02 |
T42 | <k1gen> yes, vibration strength is the same both on 1 and 10 | 17:03 |
mal | @elros34 that vibrator service I linked always writes 3 things when turning vibra on and one write to turn it off | 17:03 |
T42 | <k1gen> also, I get now where's that delay on keypress from, it happens when I write new value to brightness | 17:04 |
T42 | <k1gen> I feel it, it's the same length | 17:04 |
mal | that brightness in that drives is on/off, no other options | 17:04 |
mal | *driver | 17:04 |
mal | so 0 should turn it off and any positive integer turns it on | 17:05 |
T42 | <k1gen> when device is vibrating, the permissions are the same | 17:05 |
T42 | <k1gen> system:input, rw rw | 17:05 |
mal | wondering if broken pulseaudio can do funny things | 17:05 |
mal | it the code in nfgd somehow it not working well in that case | 17:06 |
T42 | <k1gen> well it is mentioned in vvvvvv ngfd a couple times | 17:06 |
T42 | <k1gen> 16 times exactly | 17:06 |
mal | one thing to try is to patch ngfd droid plugin code to print when it's writing to those paths, not sure if that would really help though | 17:07 |
T42 | <k1gen> ¯\_(ツ)_/¯ | 17:09 |
mal | can you check what you have in /sys/class/leds/vibrator/device/cp_trigger_index | 17:15 |
T42 | <k1gen> 0 in rest | 17:16 |
T42 | <k1gen> and 0 while vibrating | 17:16 |
T42 | <k1gen> it's owned by system:system though | 17:16 |
T42 | <elros34> WAVEFORM_LONG_VIBRATION_EFFECT_INDEX = 0 | 17:18 |
T42 | <k1gen> @elros34 ? | 17:19 |
T42 | <elros34> it's from userspace driver | 17:19 |
mal | try writing 32771 to that path | 17:20 |
T42 | <k1gen> nothing changed | 17:21 |
T42 | <k1gen> still max vibration that won't stop | 17:22 |
T42 | <elros34> how do you even test it? | 17:22 |
T42 | <k1gen> https://t.me/sailfishos_porters/158089 | 17:23 |
T42 | <elros34> how about you figure out how to handle it properly manually then you will use ngfd or any other service | 17:23 |
T42 | <elros34> If I get it right and according to driver activation looks like: cp_trigger_index, duration, activate 1 and then to off activate 0. WAVEFORM_LIGHT_TICK_INDEX = 9 looks like good candidate to test | 17:26 |
T42 | <k1gen> there is no duration file | 17:28 |
T42 | <elros34> it was before, maybe some mode changed | 17:28 |
T42 | <k1gen> do I have to follow that btw: https://github.com/mer-hybris/hadk-faq/blob/master/README.rst#issues-with-ngfd-or-ngfd-plugin-droid-or-pulseaudio? | 19:00 |
T42 | <b100dian> My understanding from the discussion above is that no existing pattern to control your device vibra matches a known one | 19:07 |
T42 | <b100dian> sorry, just *matches | 19:08 |
T42 | <k1gen> but it worked once, and worked flawlessly | 19:17 |
T42 | <k1gen> just like haptic touch on an iphone | 19:17 |
T42 | <k1gen> when I had that: https://vomitb.in/raw/EAg7Ge1bxF | 19:18 |
T42 | <k1gen> search for that link in chat history | 19:18 |
T42 | <k1gen> after that all attemps of making that success stay after rebooting failed | 19:19 |
T42 | <elros34> so if you have working configuration then what is the problem? seeting it at boot? | 19:26 |
T42 | <k1gen> it doesn't work anymore | 19:41 |
T42 | <k1gen> with exact same configuration files, it either vibrates non-stop on max power, or doesn't at all | 19:41 |
T42 | <b100dian> so you made some chowns before restarting ngfd? | 19:51 |
mal | @k1gen that link to faq is old, native vibrator is use by default now | 20:01 |
T42 | <k1gen> mal: got it | 20:01 |
T42 | <k1gen> @b100dian: yeah, chown + chmod | 20:02 |
mal | @k1gen one question about that working test you made, did your device have the android vibrator service running when it worked and could have been broken once you tried to setup the chmods and then also disabled the android side service, maybe it does some initialization? | 20:03 |
T42 | <k1gen> maybe. sorry, I don't remember, we debugged a lot of stuff since then | 20:05 |
mal | so try setting up that but don't disable the android service in the .rc, only have the chmods in .rc and then the configs for ngfd | 20:09 |
T42 | <k1gen> mal: it woks fine again when I: delete /usr/share/ngfd/plugins.d/60-droid-vibrator.ini; delete /usr/libexec/droid-hybris/system/etc/init/vibrator.rc; chmod g+rw /sys/devices/platform/soc/c94000.i2c/i2c-4/4-0043/leds/vibrator/activate; chmod g+rw /sys/devices/platform/soc/c94000.i2c/i2c-4/4-0043/leds/vibrator/duration; restart ngfd | 20:22 |
T42 | <k1gen> I didn't even know what .rc and disabled android service were you talking about, just did it by memory | 20:23 |
T42 | <k1gen> vibration works flawlessly now with just enough power and timings | 20:23 |
T42 | <k1gen> mal: once again: how do I persist this? :D | 20:25 |
mal | so try adding the .rc but with only the permission things | 20:26 |
mal | something like this but with correct paths and remove the last two lines https://github.com/mlehtima/droid-config-fp4/blob/devel/sparse/usr/libexec/droid-hybris/system/etc/init/vibrator.rc | 20:27 |
T42 | <k1gen> got it, lemme try | 20:28 |
T42 | <k1gen> only with activate and duration, right? | 20:29 |
mal | yes, those are enough | 20:29 |
T42 | <k1gen> mal: that works: https://vomitb.in/raw/rI164KM1qD | 20:33 |
T42 | <k1gen> only sound and camera left! | 20:34 |
T42 | <k1gen> thank you for getting me this far, mal :D | 20:34 |
mal | remember to add the changes to config repo | 20:40 |
T42 | <k1gen> mal: by the way, when you said to add dummy_netd to patterns, did this mean adding something like | 20:54 |
T42 | <k1gen> # For cellular | 20:54 |
T42 | <k1gen> Requires: dummy_netd | 20:54 |
T42 | <k1gen> to both hybris/droid-configs/patterns/patterns-sailfish-device-adaptation-flame.inc and hybris/droid-configs/patterns/patterns-sailfish-device-configuration-flame.inc? | 20:55 |
mal | to patterns-sailfish-device-adaptation-flame.inc like this https://github.com/mlehtima/droid-config-fp4/blob/devel/patterns/patterns-sailfish-device-adaptation-fp4.inc#L21 | 21:02 |
T42 | <k1gen> thanks | 21:03 |
mal | checking fp4 repo can give some good ideas, same as the official devices like x10 III repos | 21:03 |
mal | although official repos have some things in a bit different way | 21:04 |
T42 | <k1gen> mal: can I wait for ping from you on sound if you have any ideas for me to try/test? | 21:04 |
mal | @k1gen not sure when I will have new ideas for audio, I should also debug my own audio issues | 22:00 |
T42 | <k1gen> mal: do you know anyone else who can help me with pulseaudio segfault? | 22:02 |
mal | @k1gen can you check in the folders under /lib/modules/ what .ko files there are? | 22:18 |
T42 | <k1gen> sure, in the morning. we live in the same timezone, you know it's late :) | 22:20 |
mal | yeah | 22:20 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!