Wizzup | uvos: ok, I have rooted this d3 with sigmakey now, so I can -finally- proceed | 14:04 |
---|---|---|
Wizzup | (also tested, it's network unlocked already) | 14:04 |
arno11 | hi guys, i just compared my Fremantle (cssu kernel v53, no thumb2, light transitions, swappiness=30, 500-805MHz) with Leste (same freqs, same transitions, -devel and same swappiness)...and the feeling is pretty similar now :) | 15:10 |
Wizzup | sweet :) | 15:11 |
arno11 | the feeling is even better with h-d navigation | 15:13 |
arno11 | :) | 15:14 |
Wizzup | I guess we should work on cmt speech integration then | 15:14 |
arno11 | yes indeed, i forgot that :P | 15:14 |
Wizzup | uvos: I am wholly impressed by the razr battery life btw | 15:14 |
arno11 | for cmtspeech (cmt_pulse as user in fact), i think that 'the not too bad moment to start it' is when pin code entry appears (because we are sure that nokia-modem is already loaded) | 15:19 |
Wizzup | maybe it can somehow only be started when modem is online, and shut off when modem is not online | 15:19 |
arno11 | sounds good | 15:20 |
Wizzup | (not sure how to do that ;)) | 15:21 |
arno11 | ok :) | 15:21 |
arno11 | we need chrt prio for PA and sphone as well and we can't use limits.conf for that (only working with rt kernel iirc) | 15:23 |
arno11 | maybe someone has a magic trick for that | 15:27 |
freemangordon | IIRC you said with PA as user no prio change is needed | 15:27 |
arno11 | yes indeed it works | 15:27 |
freemangordon | but? | 15:27 |
arno11 | but not very well if you are running other apps at the same time | 15:27 |
freemangordon | I see | 15:28 |
freemangordon | can't we add some sudoer.d and call it a day? | 15:28 |
freemangordon | also, maybe we can create a cgroup with higher prio | 15:29 |
arno11 | sudoer could work | 15:29 |
arno11 | no idea for cgroup | 15:30 |
freemangordon | yeah, but cgroup shall be better | 15:30 |
arno11 | yes probably | 15:30 |
freemangordon | Wizzup: ^^^ any idea how to tell elogind to move pid into a cgroup? | 15:31 |
freemangordon | we have /sys/fs/cgroup/elogind already | 15:32 |
Wizzup | freemangordon: the point was not about how to elevate the privs but how to start it at the right time | 15:34 |
freemangordon | I wonder if elogind will be happy if we create session dir subdir and move some processes there | 15:34 |
Wizzup | sorry I don't know much about cgroups | 15:34 |
arno11 | Wizzup: we also need to elevate the privs to use chrt (just chrt, no impact on PA or sphone) | 15:44 |
freemangordon | arno11: so, renice does not work? | 15:45 |
arno11 | renice is not enough unfortunately | 15:45 |
freemangordon | hmm, how's that? | 15:45 |
freemangordon | so, you set SCHED_FIFO on PA? | 15:46 |
arno11 | sched RR | 15:46 |
Wizzup | arno11: this is all easily done with sudo | 15:46 |
Wizzup | we just need to figure out how it gets started | 15:46 |
freemangordon | with sudoer | 15:47 |
Wizzup | freemangordon: if we start it as init script on boot, it won't work | 15:47 |
Wizzup | that's the point | 15:47 |
freemangordon | I understand that | 15:47 |
Wizzup | 15:19 < arno11> for cmtspeech (cmt_pulse as user in fact), i think that 'the not too bad moment to start it' is when pin code entry appears (because we are sure that nokia-modem is already loaded) | 15:47 |
Wizzup | so when I say 'how it gets started' I mean which process actually launches it when the modem is online | 15:47 |
freemangordon | what I am saying is that we can change the prio once the process is started by using sudoer | 15:47 |
arno11 | freemangordon: yes | 15:48 |
arno11 | best option imo | 15:48 |
freemangordon | arno11: RR ends up as FIFO on linux, afaik | 15:48 |
freemangordon | RR is notr really supported | 15:48 |
freemangordon | (afaik) | 15:48 |
arno11 | it seems to work well :P anyway FIFO gives similar results | 15:49 |
freemangordon | did you try DEADLINE? | 15:50 |
Wizzup | uvos: my static cpcaprw with armhf just owrks :) | 15:51 |
freemangordon | Wizzup: why not? as soon as you dont; try to use any FP, you should be fine | 15:51 |
freemangordon | FP as in call annother lib | 15:52 |
freemangordon | arno11: OTOH, during call there is no more impotant task that audio, so yeah... | 15:52 |
freemangordon | *important | 15:52 |
Wizzup | freemangordon: because he said it might not work | 15:53 |
freemangordon | ah | 15:53 |
arno11 | freemangordon: didn't try deadline | 15:53 |
Wizzup | uvos: you said this: | 15:57 |
Wizzup | 17:06 < uvos> Wizzup: you can use cpu freq to force the oop | 15:57 |
Wizzup | 17:06 < Wizzup> in android? | 15:57 |
Wizzup | 17:06 < uvos> yes | 15:57 |
Wizzup | 17:06 < uvos> clowboot dose it in the script even | 15:57 |
Wizzup | 17:06 < uvos> just before kexec | 15:57 |
Wizzup | but I don't see it changing the freq anywhere | 15:57 |
uvos__ | Wizzup: hmm its, its missing... | 16:17 |
uvos__ | not good | 16:17 |
uvos__ | https://github.com/tmlind/buildroot/blob/d8c9a4f0fa2cc89f9622ecfee3fbf7da80dfe1ca/board/motorola/droid4/rootfs_overlay/sbin/preinit.sh#L89 | 16:17 |
uvos__ | here it is in kexecboot (to late in droid3 an bionic | 16:17 |
uvos__ | the stock kernel uses totaly normal cpufreq | 16:17 |
uvos__ | i also notices another problem... | 16:17 |
uvos__ | the droid3 dosent have 1.2ghz oop | 16:18 |
uvos__ | since motorola only overclocked the slow omap4 variants with the 4.0 update, which d3 never got | 16:18 |
uvos__ | booting at a low opp but then running at full speed might be causing the crashes | 16:19 |
uvos__ | since the memory will be stuck in a random opp | 16:19 |
uvos__ | then again bionic dosent seem to mind | 16:19 |
uvos__ | hmm | 16:19 |
Wizzup | hi | 16:28 |
Wizzup | I made a script to dump the values on android, I'm about to run it now without usb cable attached | 16:28 |
uvos__ | please fix the opp to 1.005Mhz or what the top oop was again | 16:31 |
uvos__ | and kexec to kexecboot | 16:31 |
Wizzup | there is 300,600,800,1000 | 16:31 |
uvos__ | before wasteing any time on anything else | 16:31 |
Wizzup | hmmm | 16:31 |
uvos__ | oh and limit the max oop in the mainline kernel to the same | 16:33 |
uvos__ | we dont want emif to be in a lower oop than the cpu ever | 16:33 |
uvos__ | this causes stability issues on d4 | 16:33 |
Wizzup | so you want the kexecboot script to set the frequency to 1000 ? | 16:34 |
uvos__ | yeah or just kexec from android by hand | 16:34 |
Wizzup | that line alone won't be enough bt\ | 16:35 |
Wizzup | w | 16:35 |
Wizzup | let me share my current script | 16:35 |
Wizzup | https://bpa.st/LFKA | 16:35 |
Wizzup | wait there is a mistake in the script | 16:35 |
Wizzup | lol | 16:35 |
uvos__ | oh and not the kexecboot script | 16:35 |
uvos__ | you must do it in clownboot before the first kexec | 16:35 |
uvos__ | kexecboot is after the first kexec but before the second | 16:36 |
Wizzup | https://bpa.st/7T2A | 16:36 |
Wizzup | ok, let me figure out how I am going to be able to edit those scripts given that I can't boot to android | 16:36 |
uvos__ | just boot to leste recovery shell and use serial? | 16:37 |
Wizzup | if it is stable enough, that might work | 16:40 |
Wizzup | uvos__: how about this: https://bpa.st/FTDQ | 16:46 |
uvos__ | otherwise reflash system and reinstall clown-boot | 16:46 |
uvos__ | use $BBX ofc | 16:46 |
Wizzup | oh | 16:46 |
Wizzup | the umount -l didn't use $BBX | 16:46 |
uvos__ | oh rihgt | 16:47 |
uvos__ | yeah after $BBX cp $BBX / bbx is in ramfs | 16:47 |
Wizzup | ok, so /busybox is fine then | 16:47 |
uvos__ | since we are about to loose everything else | 16:47 |
uvos__ | not sure why you want to do it there, might as well do it earlier | 16:47 |
uvos__ | but whatever | 16:47 |
Wizzup | right, don't know, just picked a place where it made sense :) | 16:48 |
uvos__ | not sure what the echo and cat is for | 16:49 |
uvos__ | the stock kernel has fbconsole disabled | 16:49 |
Wizzup | I was hoping to see it, but just realised I won't | 16:49 |
uvos__ | you cant ever possibly see any of this | 16:49 |
Wizzup | to confirm that it actually worked, I mean | 16:49 |
Wizzup | yeah I just realised | 16:49 |
uvos__ | and any misake means you have to reflash system | 16:50 |
Wizzup | well it's booting leste atm | 16:50 |
uvos__ | this script is very fun to develop | 16:50 |
uvos__ | if you do it erlier | 16:50 |
uvos__ | before we loose permanent sortage | 16:50 |
uvos__ | you can save the output somewhere in system | 16:50 |
Wizzup | right | 16:50 |
uvos__ | if you also remount that rw | 16:50 |
uvos__ | its ro otherwise | 16:50 |
Wizzup | well, maybe I just toy around in leste for a few minutes, and if it works, then we're done here | 16:50 |
Wizzup | what do you mean with ro/rw, /sys should be rw regardless no? | 16:51 |
Wizzup | oh, right | 16:51 |
uvos__ | system on android is ro | 16:51 |
Wizzup | to store the output | 16:51 |
Wizzup | :) | 16:51 |
Wizzup | well, it still reset it looks like | 16:51 |
Wizzup | -- OMAP 00004430 (version 00000b22) PPA release1.3.5 R2 | 16:51 |
Wizzup | Reset reason = 000379a2 | 16:51 |
Wizzup | Model ID is 0x00000003 | 16:51 |
Wizzup | PPA hash Block:0x9ff00000 Size:260096 Flag:3 | 16:51 |
uvos__ | mbm not happy | 16:52 |
Wizzup | I suppose what I could do is to install just kexecboot without the clown part on the other droid3 that I have, and manually kexec from android | 16:52 |
Wizzup | so make sure it's really in that frequency | 16:52 |
Wizzup | to make sure* | 16:52 |
uvos__ | yes | 16:53 |
uvos__ | but this is a fun procedure | 16:53 |
uvos__ | not | 16:53 |
Wizzup | yeah | 16:53 |
Wizzup | well so I can just run the cpcaprw tool on leste now | 16:53 |
uvos__ | because the uart.ko module distroys the serial port | 16:53 |
Wizzup | hm, the d3 also has 1200000 as available freq | 16:53 |
Wizzup | should it? | 16:53 |
uvos__ | and then it also breaks usb and wifi | 16:53 |
uvos__ | Wizzup: no, yes, maybe | 16:54 |
uvos__ | Wizzup: bionic also has the same omap variant (1.0ghz only) | 16:54 |
uvos__ | but motora decded 1.2 is fine there | 16:54 |
uvos__ | but we tried this allready im sure | 16:54 |
Wizzup | I do remember that we did that, but we did not do it with the freq locked to 1Ghz before kexec | 16:55 |
Wizzup | but if you want maybe I should just run the cpcaprw script now? | 16:55 |
uvos__ | sure you can try | 16:55 |
uvos__ | its hardly hard | 16:55 |
Wizzup | bbiab | 17:00 |
sicelo | arno11: Wizzup: regarding cmtspeech maybe we can create a wrapper that runs at boot ... so it's a normal openrc/dsme service. this wrapper listens for the appearance of ofono's AudioSettings interface. when that shows up (meaning we have voice-capability ready), the wrapper starts the real cmtspeech. | 19:05 |
sicelo | but i think long term, we may need to fix whatever it is that causes cmtspeech to be sensitive about when it's started (tbh, i am not really sure it is, but i haven't done more extensive tests yet, even though i'd like to) | 19:06 |
arno11 | sicelo: hi | 19:18 |
Wizzup | uvos: it does look like locking to 300mhz indeed did not help | 19:19 |
arno11 | cmtspeech itself is not a problem on boot | 19:19 |
Wizzup | maybe the best thing to do at this point is to just do the reg dump and compare | 19:19 |
sicelo | ah, i meant to say `cmt_pulse` | 19:20 |
arno11 | sicelo: a ok | 19:24 |
arno11 | *ah | 19:24 |
Wizzup | so what actually is the problem with starting cmt_speech on boot? it can't find /dev/cmt_speech, or the modem isn't on ofono yet, or? | 19:25 |
arno11 | cmtspeech is not the problem it is already loaded on boot | 19:26 |
Wizzup | what I mean is that is cmt_pulse just iterates over the modems on start and then doesn't listen to modem changes, we just fix that | 19:27 |
Wizzup | is that if* | 19:27 |
freemangordon | :nod: | 19:35 |
arno11 | iirc cmt_pulse returns errors if the modem, ofono and PA are not already loaded | 19:35 |
freemangordon | what is cmt_pulse? | 19:36 |
freemangordon | sorry for the stupid question, but still | 19:36 |
freemangordon | where is the repo? | 19:36 |
arno11 | libcmtspeechdata | 19:36 |
arno11 | cmt_pulse is the binary | 19:37 |
freemangordon | who builds that? libcmtspeechdata? | 19:38 |
freemangordon | I can't find it here https://github.com/maemo-leste/libcmtspeechdata | 19:38 |
arno11 | ? | 19:38 |
arno11 | let me check | 19:39 |
sicelo | freemangordon: yes it's there. utils/pulse.c | 19:39 |
arno11 | yup | 19:39 |
freemangordon | oh | 19:39 |
freemangordon | what the? we have Makefile and Makefile.am?!? | 19:39 |
sicelo | lol | 19:40 |
sicelo | fmg, yes it's super ugly code ... i did mention that it should be refactored some day | 19:40 |
arno11 | indeed... | 19:40 |
sicelo | anyway, the issue is likely in utils/cmtspeech_ofono_test.c | 19:40 |
freemangordon | so, is that PA module? | 19:40 |
freemangordon | how do you start that? | 19:41 |
freemangordon | I see no main | 19:41 |
freemangordon | main() | 19:41 |
arno11 | /usr/bin/cmt_pulse lol | 19:41 |
arno11 | that's not a PA module | 19:41 |
sicelo | fmg, i think it's started by utils/cmtspeech_ofono_test.c | 19:41 |
freemangordon | ok | 19:42 |
freemangordon | tha makes sense | 19:42 |
freemangordon | sicelo: please confirm that if possible while I look into the code | 19:42 |
sicelo | i don't have the N900 handy right now | 19:42 |
freemangordon | ok | 19:43 |
Wizzup | the Makefile should tell you I think | 19:43 |
Wizzup | I will check | 19:43 |
freemangordon | arno11: what is the error when it fails? | 19:43 |
Wizzup | utils/pulse.c | 19:43 |
freemangordon | Wizzup: there is no main() in there :) | 19:43 |
freemangordon | at least I can't see it | 19:43 |
Wizzup | right | 19:44 |
sicelo | anyway, the issue is most likely the dbus side of things, i.e. utils/cmtspeech_ofono_test.c:test_dbus_init or main, which calls this function | 19:44 |
Wizzup | sorry I went through the same steps you did | 19:44 |
Wizzup | haha | 19:44 |
freemangordon | :) | 19:44 |
Wizzup | fprintf(stderr, "NFS sucks, version 0.0.1\n"); | 19:44 |
Wizzup | pretty sure this is the main | 19:44 |
freemangordon | herre? https://github.com/maemo-leste/libcmtspeechdata/blob/master/utils/cmtspeech_ofono_test.c#L661 | 19:44 |
sicelo | utils/cmtspeech_ofono_test.c lines 166-169 ... | 19:44 |
Wizzup | yes | 19:44 |
freemangordon | ok, but I still need the error message | 19:44 |
Wizzup | sorry, I was just confirming that this is the main | 19:45 |
freemangordon | sicelo: arno11: did you ever tried to start that from xsession script? | 19:45 |
freemangordon | ah, it waits for ofono to initi | 19:46 |
Wizzup | blocking? | 19:46 |
freemangordon | no | 19:46 |
Wizzup | sounds like it should just work then | 19:46 |
freemangordon | it does https://github.com/maemo-leste/libcmtspeechdata/blob/master/utils/cmtspeech_ofono_test.c#L164 | 19:47 |
freemangordon | and most-probably there is no 'org.ofono.AudioSettings' interface by that time | 19:47 |
freemangordon | and it just fails | 19:47 |
freemangordon | hmm, that should not fail | 19:48 |
freemangordon | arno11: so, how do you start cmt_pulse on startup when it fails? | 19:49 |
sicelo | i also don't believe it should fail, but yeah, i haven't tested that. | 19:50 |
sicelo | and yes, AudioSettings only shows up once the modem is Powered | 19:51 |
freemangordon | dbus_bus_add_match() hardly fails | 19:51 |
freemangordon | so I need details on the failure | 19:51 |
Wizzup | maybe someone can run it from a xsession script and see if it just works | 19:52 |
Wizzup | I'm not sure if we are 100% sure that it actuall fails | 19:52 |
freemangordon | mhm | 19:52 |
arno11 | freemangordon: back. sorry, what was your main question ? | 20:12 |
freemangordon | what is the error (message ?) when cmt_pulse fails to start properly | 20:13 |
Wizzup | uvos: so how do get the cpcap regs on mainline? | 20:25 |
Wizzup | how do I* | 20:26 |
arno11 | freemangordon: ah ok, sorry no time for me now, i'll have a look a bit later | 20:26 |
Wizzup | uvos: https://wizzup.org/dirlist/maemo-leste/droid3/cpcaprw-no-usb-but-screen-on/ | 20:29 |
Wizzup | this is stock android | 20:29 |
arno11 | freemangordon: having a look @irc logs, i didn't remember i successfuly ran cmt_pulse on boot lol...in july | 21:33 |
arno11 | using a basic init script | 21:33 |
arno11 | adding 'depend() after ofono' | 21:34 |
arno11 | apparently the only issue was the 15 sec latency bug (both ways). should not be a problem now | 21:38 |
arno11 | so if you want me to try a cleaner method to start cmt_pulse on boot, let me know | 21:40 |
sicelo | yes, we do :-) | 21:48 |
arno11 | :) | 21:50 |
Wizzup | xsession sounds like a good way | 22:02 |
arno11 | ok, using /etc/X11/Xsession.d ? | 22:09 |
arno11 | and adding for example 99cmt_pulse sh script with /usr/bin/cmt_pulse inside ? | 22:17 |
Wizzup | yeah, maybe look at the other scripts on how it should work exactly | 22:22 |
arno11 | yeah seems to be trivial. i'll try tomorrow | 22:23 |
freemangordon | arno11: have a look at dh_installxsession | 22:44 |
Generated by irclog2html.py 2.17.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!