*** nox- has joined #maemo-ssu | 00:02 | |
freemangordon | Pali: do you have whole atags gpio data? | 00:11 |
---|---|---|
Pali | it is in uboot | 00:11 |
freemangordon | link? | 00:11 |
Pali | http://git.denx.de/?p=u-boot.git;a=blob;f=board/nokia/rx51/rx51.c;h=3e419efe395fdd777447f53799b1df8828f7f476;hb=HEAD | 00:11 |
freemangordon | thanks | 00:12 |
FatPhil | woh - I just tried building the kernel from kernel-source_2.6.28-20103103+0m5_all.deb and it FTB! | 00:12 |
freemangordon | Pali: hmm, seems u-boot doesn;t do much | 00:14 |
freemangordon | I guess it is NOLO that sets SSI lines | 00:14 |
Pali | and 3.x kernel resets them? | 00:15 |
freemangordon | most probably | 00:15 |
Pali | ah :-( | 00:15 |
freemangordon | makes sense :) | 00:16 |
*** dos11 is now known as dos1 | 00:27 | |
*** MrPingu has joined #maemo-ssu | 00:34 | |
DocScrutinizer05 | freemangordon: yep, definitely NOLO talking to BB% already | 00:36 |
DocScrutinizer05 | BB5 | 00:36 |
Sicelo | ~ftb | 00:37 |
infobot | F The But | 00:37 |
freemangordon | hmm, maybe I should hack in the mux code and printk if there is a difference in what it tries to set compared to what is already thre | 00:38 |
freemangordon | *there | 00:38 |
freemangordon | I bet it will be fun :) | 00:38 |
freemangordon | oh, we already have that CONFIG_OMAP_MUX_WARNINGS | 00:40 |
FatPhil | FTB = fails to build | 00:43 |
FatPhil | CC [M] drivers/dsp/bridge/dynload/cload.o | 00:44 |
FatPhil | drivers/dsp/bridge/dynload/cload.c: In function 'copy_tgt_strings': | 00:44 |
FatPhil | drivers/dsp/bridge/dynload/cload.c:1478: warning: "dlthis" is not defined | 00:44 |
FatPhil | drivers/dsp/bridge/dynload/cload.c:1478: error: token "->" is not valid in preprocessor expressions | 00:44 |
FatPhil | drivers/dsp/bridge/dynload/cload.c:1489: warning: "dlthis" is not defined | 00:44 |
FatPhil | drivers/dsp/bridge/dynload/cload.c:1489: error: token "->" is not valid in preprocessor expressions | 00:44 |
FatPhil | make[2]: *** [drivers/dsp/bridge/dynload/cload.o] Error 1 | 00:44 |
FatPhil | drivers/dsp/bridge/dynload/cload.c:#elif TARGET_ENDIANNESS_DIFFERS(TARGET_BIG_ENDIAN) | 00:47 |
FatPhil | drivers/dsp/bridge/dynload/dload_internal.h:#define TARGET_BIG_ENDIAN (dlthis->big_e_target) | 00:47 |
freemangordon | FatPhil: what do you try to build? | 00:48 |
freemangordon | and where, in SB? | 00:48 |
freemangordon | also, make sure you use FREMANTLE_ARMEL target, not 386 | 00:49 |
freemangordon | (if in SB) | 00:49 |
FatPhil | Just using cross compiler, no scratchbox | 00:51 |
freemangordon | oh | 00:51 |
freemangordon | never tried that | 00:51 |
FatPhil | might be using the wrong compiler... | 00:53 |
FatPhil | fuck, yeah | 01:07 |
FatPhil | CC [M] drivers/dsp/bridge/dynload/cload.o | 01:07 |
FatPhil | no problems using cs2007q3-glibc2.5-arm7 toolchain | 01:08 |
freemangordon | Pali: http://git.denx.de/?p=u-boot.git;a=blob;f=board/nokia/rx51/rx51.h;h=4a230dd596e8b1662c6e6b4b1e9a49559479ab1e;hb=HEAD | 01:22 |
freemangordon | /* Modem Interface */ | 01:22 |
Pali | hm | 01:23 |
freemangordon | ;) | 01:24 |
Pali | but this needs to be fixed in kernel, right? | 01:24 |
freemangordon | I think we should put that table in the board data. Someday. | 01:24 |
freemangordon | yep | 01:24 |
freemangordon | I'll try to run the modem first | 01:24 |
*** int_ua has joined #maemo-ssu | 01:28 | |
*** Martix_ has quit IRC | 01:37 | |
freemangordon | Pali: where did you get that mux config in u-boot from? | 01:49 |
Pali | it is not mine | 01:49 |
Pali | it wrote ali | 01:49 |
freemangordon | oh, yes, I remember | 01:49 |
Pali | maybe only copied from some TI board | 01:50 |
freemangordon | :nod: | 01:50 |
freemangordon | Pali: can you quickly patch KP to dump MUX config? | 01:53 |
Pali | not now :-( | 01:54 |
freemangordon | sure | 01:54 |
freemangordon | :) | 01:54 |
freemangordon | but we'll need that, I suspect camera problem might be caused by wrong MUC config too | 01:54 |
freemangordon | *MUX | 01:55 |
int_ua | freemangordon, can you please suggest any good way to detect -thumb installation from bash? | 02:01 |
*** oldtopman has joined #maemo-ssu | 02:07 | |
freemangordon | int_ua: hmm can't think of any easy way. but I am too tired now anyway :) | 02:08 |
int_ua | ok, me too. Thanks :) | 02:09 |
FatPhil | proc/cpuinfo | 02:18 |
FatPhil | Features. | 02:18 |
freemangordon | FatPhil: hmm, won't work | 02:18 |
FatPhil | Or at least my stock device doesn't say "thumb", and my CSSU-thumb device does. | 02:18 |
freemangordon | he wants to check if cssu-thumb is installed iiuc | 02:19 |
FatPhil | package names have "thumb" in them in dpkg? | 02:23 |
int_ua | FatPhil, yes, but what package to check? I've deleted mp-fremantle... myself long ago | 02:33 |
FatPhil | first one from dpkg -l with cssu.*thumb is alarmd | 02:36 |
int_ua | FatPhil, deleting which package is impossible without completely destructing the system? | 02:41 |
int_ua | looking into it too | 02:42 |
int_ua | apt? | 02:42 |
int_ua | Can't imagine maemo without apt | 02:43 |
*** LauRoman has quit IRC | 02:45 | |
int_ua | FatPhil, thanks for the help :) | 02:48 |
*** xes has quit IRC | 02:50 | |
*** mkaindl has joined #maemo-ssu | 02:53 | |
*** int_ua has quit IRC | 03:06 | |
Pali | freemangordon: about camera problems, sailus is online here | 03:07 |
*** jonwil has joined #maemo-ssu | 03:48 | |
*** mkaindl has left #maemo-ssu | 03:52 | |
*** nox- has quit IRC | 03:56 | |
*** dos1 has quit IRC | 04:25 | |
*** Pali has quit IRC | 04:46 | |
*** amiconn_ has joined #maemo-ssu | 05:58 | |
*** amiconn has quit IRC | 05:58 | |
*** amiconn_ is now known as amiconn | 05:58 | |
*** M4rtinK has quit IRC | 06:54 | |
*** oldtopman has quit IRC | 07:40 | |
*** MrPingu has quit IRC | 07:45 | |
*** Vlad_on_the_road has joined #maemo-ssu | 08:27 | |
*** Vlad_on_the_road has quit IRC | 08:47 | |
*** Vlad_on_the_road has joined #maemo-ssu | 08:49 | |
*** Vlad_on_the_road has quit IRC | 08:54 | |
*** luf has joined #maemo-ssu | 08:57 | |
*** discopig has quit IRC | 08:58 | |
*** LauRoman has joined #maemo-ssu | 09:07 | |
*** DrCode has quit IRC | 09:09 | |
*** amizraa4 has quit IRC | 09:09 | |
*** aap__ has joined #maemo-ssu | 09:14 | |
*** Sc0rpius_ has joined #maemo-ssu | 09:14 | |
*** T_X_ has joined #maemo-ssu | 09:15 | |
*** aap has quit IRC | 09:18 | |
*** nedko has quit IRC | 09:18 | |
*** freemangordon has quit IRC | 09:18 | |
*** sailus has quit IRC | 09:18 | |
*** T_X has quit IRC | 09:18 | |
*** Sc0rpius has quit IRC | 09:19 | |
*** LauRoman has quit IRC | 09:19 | |
*** LauRoman has joined #maemo-ssu | 09:19 | |
*** Sc0rpius_ is now known as Sc0rpius | 09:19 | |
*** FatPhil_ has joined #maemo-ssu | 09:21 | |
*** nedko has joined #maemo-ssu | 09:21 | |
*** sailus has joined #maemo-ssu | 09:23 | |
*** FatPhil has quit IRC | 09:23 | |
*** scoobertron has quit IRC | 09:26 | |
*** aap__ has quit IRC | 09:38 | |
*** scoobertron has joined #maemo-ssu | 09:53 | |
*** aap has joined #maemo-ssu | 09:56 | |
*** DrCode has joined #maemo-ssu | 09:56 | |
*** DrCode has quit IRC | 10:22 | |
*** DrCode has joined #maemo-ssu | 10:28 | |
*** DrCode has quit IRC | 10:36 | |
*** DrCode has joined #maemo-ssu | 10:37 | |
*** freemangordon has joined #maemo-ssu | 10:44 | |
*** dos1 has joined #maemo-ssu | 10:47 | |
*** dos1 has quit IRC | 10:52 | |
*** Martix_ has joined #maemo-ssu | 11:23 | |
*** sunny_s has joined #maemo-ssu | 11:52 | |
*** jonwil has quit IRC | 11:53 | |
*** DrCode has quit IRC | 12:12 | |
*** jonwil has joined #maemo-ssu | 12:19 | |
*** DrCode has joined #maemo-ssu | 12:23 | |
*** Pali has joined #maemo-ssu | 12:30 | |
*** Martix_ has quit IRC | 12:51 | |
*** dos1 has joined #maemo-ssu | 12:58 | |
*** RST38h has quit IRC | 13:45 | |
*** RST38h has joined #maemo-ssu | 13:45 | |
*** sunny_s has quit IRC | 13:59 | |
*** sunny_s has joined #maemo-ssu | 14:01 | |
DocScrutinizer05 | FatPhil_: ((<FatPhil> Peter Ujfalusi once gave a presentation on the functionality of the TI sound core.)) would you happen to know about a keyword searchstring or even a link to that presentation? Aunt google was a bitch | 14:12 |
*** psycho_oreos has quit IRC | 14:18 | |
*** psycho_oreos has joined #maemo-ssu | 14:26 | |
FatPhil_ | DocScrutinizer05: that was 100% internal, at a inter-team team-building event. | 14:35 |
DocScrutinizer05 | mhm | 14:37 |
DocScrutinizer05 | thanks | 14:37 |
DocScrutinizer05 | FatPhil_: so what's your personal notion on this - shall we try to get audio working with twl4030 and the reference design, or should we try to get a copy of N900 (AIC34xxxx etc)? | 14:39 |
DocScrutinizer05 | s/get a copy/implement a clone/ | 14:40 |
infobot | DocScrutinizer05 meant: FatPhil_: so what's your personal notion on this - shall we try to get audio working with twl4030 and the reference design, or should we try to implement a clone of N900 (AIC34xxxx etc)? | 14:40 |
DocScrutinizer05 | tlv320aix34 is ~USD10, and a lot of (re)work to change the sound we already got in GTA04 | 14:47 |
*** ujfalusi has joined #maemo-ssu | 14:48 | |
DocScrutinizer05 | OTOH I think we hardly can make maemo audio work without that particular codec | 14:48 |
ujfalusi | DocScrutinizer05: FatPhil_ asked me to join the channel to help with audio something. | 14:53 |
DocScrutinizer05 | HEY! :-) | 14:54 |
DocScrutinizer05 | hi ujfalusi! | 14:54 |
DocScrutinizer05 | lemme quote myself... | 14:54 |
DocScrutinizer05 | [2013-09-12 13:58:30] <DocScrutinizer05> jonwil: audio is the most annoying subject in Neo900, and not yet finalized. But most definitely will _not_ use identical chipset like N900 | 14:56 |
DocScrutinizer05 | [2013-09-12 13:59:56] <DocScrutinizer05> we're still about to wonder why the heck nobody else (pandora, N900... etc) used twl4030 audio function blocks | 14:56 |
DocScrutinizer05 | [2013-09-12 13:59:59] <FatPhil> Peter Ujfalusi once gave a presentation on the functionality of the TI sound core. He explained that every single possible mode of operation it had was either fundamentally flawed by design, or just plain buggy. | 14:56 |
*** dhbiker has quit IRC | 14:57 | |
ujfalusi | Yeah, it has it's quirks for sure ;) | 14:57 |
DocScrutinizer05 | ujfalusi: what are the major pitfalls we should know about with twl4030 audio? | 14:57 |
DocScrutinizer05 | do you think we could get working audio for a N900-alike phone at all, when using it? | 14:58 |
ujfalusi | It is working perfectly. I have added support for all the functionality in the driver, so routing to any of the output/input should be fine. | 14:59 |
ujfalusi | The reason Nokia products choosen different codecs comes down to audio performance. | 14:59 |
ujfalusi | The dedicated codecs have better SNR and better overal performance | 15:00 |
DocScrutinizer05 | like in...? | 15:00 |
DocScrutinizer05 | aah SNR | 15:00 |
DocScrutinizer05 | killer argument already | 15:00 |
DocScrutinizer05 | we want to use the device as mp3 player occasionally | 15:01 |
ujfalusi | Like in n900 we have tlv320aic34 (?) in n9 we have tlv320dac33 (for headset only) + twl5030 (for Handsfree + earpiece + recording) | 15:01 |
DocScrutinizer05 | yep, tlv320aic34 | 15:01 |
jonwil | Its a pitty the interesting parts (pulseaudio-modules-nokia-* etc) are closed source | 15:02 |
DocScrutinizer05 | indeed | 15:02 |
DocScrutinizer05 | gives us little options to rather no choice at all regarding how to implement compatible resp working audio in hw, when we want to port fremantle | 15:03 |
DocScrutinizer05 | now add to that the SNR issue | 15:03 |
DocScrutinizer05 | and the generally differing feature set (buzzword digital filters in tlv320xxx) | 15:04 |
ujfalusi | Not sure what's inside of that module to be honest. But if it is also fiddling with mixer controls for route selection than you need to pick the same codec as well. | 15:04 |
DocScrutinizer05 | yep, that's what been my conclusion as well | 15:05 |
DocScrutinizer05 | ujfalusi: we have that XPROT blob | 15:05 |
DocScrutinizer05 | that nobody knows exactly what it does, possibly entangled with tlv320aic34 filters | 15:06 |
DocScrutinizer05 | then we have that "magic" on kernel cmdline :-o | 15:06 |
DocScrutinizer05 | snd-soc-rx51.hp_lim=42 snd-soc-tlv320aic3x.hp_dac_lim=6 | 15:07 |
DocScrutinizer05 | NFC | 15:07 |
DocScrutinizer05 | just feels like it won't work that nicely on a system that does not even have snd-soc-tlv320aic3x | 15:08 |
ujfalusi | DocScrutinizer05: those are for speaker or ear protection. To limit the gain control so user can not set it too high | 15:08 |
DocScrutinizer05 | yep | 15:08 |
ujfalusi | we had similar things for n9, but it was not via cmdline but via pdat from the board file | 15:08 |
jonwil | We should find out what the people doing meego/mer/nemo/etc on N900 are doing with PulseAudio these days, that might help us out | 15:09 |
DocScrutinizer05 | highpass to cut off <~50Hz or whatever, dynamic compression and maybe adding harmonics to make the speakers "sound" louder, plus limiter | 15:09 |
DocScrutinizer05 | jonwil: seems they ignore the problem | 15:09 |
nedko | what is the problem? | 15:10 |
DocScrutinizer05 | ujfalusi: XPROT even talks to dsme about "temperature" :-o | 15:11 |
ujfalusi | DocScrutinizer05: yep | 15:11 |
DocScrutinizer05 | nedko: audio | 15:11 |
nedko | DocScrutinizer05: what is the problem with audio? | 15:12 |
jonwil | the closed source pa blobs also talk to BME for something | 15:13 |
DocScrutinizer05 | the general design, the quality and other flaws in twl4030, the closed blobs in PA | 15:13 |
DocScrutinizer05 | jonwil: that *could* be just for yelling an alarm when battery low | 15:14 |
DocScrutinizer05 | or for cell temperature, or both, or sth completely different | 15:14 |
DocScrutinizer05 | :-S | 15:14 |
jonwil | aha, found the ml post I made on the issue | 15:16 |
jonwil | modules-nokia-voice.so is the one using it | 15:16 |
DocScrutinizer05 | tzzz | 15:16 |
jonwil | both that module and dsme-thermalobject-surface.so are using it only for the battery temprature | 15:16 |
DocScrutinizer05 | this stuff gives me terrible headache | 15:16 |
jonwil | It may be that the simple answer is to use the same hardware as the N900, keep using the binary blobs and forget about audio beyond that,,, | 15:17 |
DocScrutinizer05 | prolly best approach | 15:18 |
DocScrutinizer05 | the tlv320aic34 is available at digikey for $10 | 15:18 |
ujfalusi | or try to get hints from former developers and have own modules replacing the blobs with similar functionality? | 15:18 |
DocScrutinizer05 | hard to get help, but if we could get that would for sure be a nice alternative - even when keeping the BOM for audio | 15:19 |
DocScrutinizer05 | I asked $Nokia maybe 20 times during last 4 years to at *least* releast the technical specs of XPROT | 15:20 |
DocScrutinizer05 | release* | 15:21 |
DocScrutinizer05 | like cutoff of highpass | 15:21 |
DocScrutinizer05 | limiter threshold, or what the heck you need to describe the technical function of the blob | 15:22 |
DocScrutinizer05 | and as well of the hardware | 15:22 |
jonwil | Even having a list of the features the module does (i.e. "it contains algorithms for sidetone, volume limiter, high-pass filter, x,y,z") would be helpful | 15:24 |
DocScrutinizer05 | we don't even know about RMS Watts of speakers | 15:24 |
jonwil | Are N900 speakers easy to get on the open market? | 15:24 |
DocScrutinizer05 | relatively easy, yeah | 15:24 |
jonwil | ok, so we could keep the same audio chip, same speakers etc without problems | 15:25 |
jonwil | if we wanted to do that | 15:25 |
DocScrutinizer05 | we probably have to do that | 15:25 |
*** oooaaaooo1 has joined #maemo-ssu | 15:25 | |
jonwil | yeah unless we can get some info on the closed blobs from somewhere... | 15:25 |
DocScrutinizer05 | though I already hear Nikolus shouting "not it!" | 15:26 |
oooaaaooo1 | how do i know if cssu is installed? | 15:26 |
oooaaaooo1 | is there a command line to check | 15:26 |
DocScrutinizer05 | check "about" in settings | 15:26 |
oooaaaooo1 | cool it says cssu installed | 15:28 |
DocScrutinizer05 | FatPhil_: how much help from former audio developers could you possibly get? do we have a chance to free up audio? | 15:28 |
oooaaaooo1 | how do i "test" it | 15:28 |
DocScrutinizer05 | oooaaaooo1: enable rotation | 15:28 |
DocScrutinizer05 | when you're on CSSU-Testing | 15:29 |
oooaaaooo1 | i am | 15:29 |
oooaaaooo1 | how do i enable rotation | 15:29 |
jonwil | Do we know who did the pulseaudio stuff? | 15:29 |
DocScrutinizer05 | then you can install rotatation lock applet (or similar name), get an icon in status area and a menu button in status menu | 15:30 |
oooaaaooo1 | alrighty | 15:30 |
DocScrutinizer05 | jonwil: good question | 15:30 |
DocScrutinizer05 | oooaaaooo1: see | 15:30 |
jonwil | the maintainer in the repo packages file is just listed as multmedia@maemo.org | 15:31 |
DocScrutinizer05 | ~jrtools | 15:31 |
infobot | well, jrtools is http://wiki.maemo.org/User:Joerg_rw/tools | 15:31 |
DocScrutinizer05 | it has instructions on how to *block* rotation, you should be clever enough to invert those | 15:31 |
DocScrutinizer05 | jonwil: great :-P | 15:31 |
DocScrutinizer05 | (audio) I think cmt_speech will become another PITA to put to work on a new modem | 15:34 |
jonwil | yeah that ties into the closed audio blobs I suspect :( | 15:34 |
DocScrutinizer05 | we had our share of fun to make BB5 audio work with/in/under SHR | 15:34 |
DocScrutinizer05 | we had sourcecode for cmt_speech cmdline tool(?), so it wasn't too hard | 15:35 |
DocScrutinizer05 | the other way round is probably magnitudes harder: we know how to talk to modem but no clue about the "upstream" ABI into maemo-audio | 15:36 |
jonwil | https://gitorious.org/meego-cellular/libcmtspeechdata might be interesting | 15:37 |
DocScrutinizer05 | but then, I guess we could even hack that on kernel level, converting the Option audio to the waird ISI.... err *cough* | 15:37 |
jonwil | https://gitorious.org/maemo-multimedia/pulseaudio-modules-meego might also help | 15:39 |
DocScrutinizer05 | jonwil: "Kai Vehmanen", eh? | 15:39 |
jonwil | and maybe stuff under https://gitorious.org/maemo-multimedia/ | 15:39 |
DocScrutinizer05 | jonwil: sounds good, I haven't lloked into it though, thus dunno if it's sufficient to get our freemantle audio to work | 15:40 |
DocScrutinizer05 | looked* | 15:40 |
jonwil | I think we need to look firstly at what meego/mer/nemo/etc are using on the N900 (they may not have all the algorithms but they appear to have enough for functioning system, secondly we should look at audio code as it was when it was first released for meego (i.e. older revisions in https://gitorious.org/maemo-multimedia/pulseaudio-modules-meego and matching meego blobs) and also see if we... | 15:47 |
jonwil | ...can find someone who can share info | 15:47 |
jonwil | of course a nice copy of pulseaudio-nokia-0.9.15.0-49+0m5.tar.gz would be the ideal solution but that's never gonna happen :( | 15:54 |
jonwil | That is probably the #1 piece of source code that I would have if I could have any one source package from the N900 :) | 15:57 |
jonwil | That and the wirelessmodemapi docs for the N900 cellmo | 16:08 |
Pali | "[14:07:20] <DocScrutinizer05> snd-soc-rx51.hp_lim=42 snd-soc-tlv320aic3x.hp_dac_lim=6" this cmdline is not needed anymore in last PR1.3 kernel all that values are in board rx51 files | 16:11 |
Pali | "[14:13:02] <jonwil> the closed source pa blobs also talk to BME for something" closed PA blobs only asking BME battery temperature every minute | 16:12 |
Pali | DocScrutinizer05 should rememeber that we already RE battery temperature ADCIN formula and we already have kernel driver for it | 16:13 |
Pali | DocScrutinizer05, jonwil: Nokia moved all closed PA bits into some PA nokia algo package and after that they opened closed PA modules | 16:18 |
Pali | so what is needed is to RE that one closed pa algo library | 16:18 |
Pali | other sources are on gitorious | 16:19 |
Pali | closed modules are: libnokia-common.so, module-nokia-audiots.so, module-nokia-algorithm-agc.so, module-nokia-algorithms.so | 16:20 |
Pali | other PA modules are open (and/or) using these closed modules | 16:21 |
jonwil | yeah figuring out what algorithims and other things are in those blobs would help | 16:23 |
DocScrutinizer05 | great, Nokia developed a ubercool own proprietary AGC algo :-S PFFFF | 16:25 |
Pali | it looks like that code which is in above libraries is somehow linked in closed fremantle modules too... | 16:26 |
DocScrutinizer05 | and it has so extremely valuable precious intelectual property that they had to do it in a closed source blob | 16:26 |
Pali | there is also one closed module pulseaudio-modules-nokia-parameters but somehow in lasts git commits there is source code drop :D | 16:27 |
DocScrutinizer05 | ¡¡¡¡¡¡¡¡¡ (if that wasn't clear) | 16:27 |
Pali | (in meego pa modules repo) | 16:27 |
DocScrutinizer05 | ¡ == sarcasm tag | 16:27 |
Pali | author of closed pa modules can be Jyri Sarha | 16:30 |
jonwil | I note that oldest pulseaudio in meego code drop is a fair few versions newer than Fremantle version | 16:31 |
jonwil | looking at main pulseaudio tree that is | 16:31 |
*** NIN101 has joined #maemo-ssu | 16:32 | |
jonwil | Juho Hämäläinen may also be someone who would know about pulseaudio nokia stuffs | 16:33 |
DocScrutinizer05 | yeah, "our" PA is not even API/ABI compatible to recent versions, so we can't recompile PA since the Nokia blobs wouldn't match anymore - or so I heard | 16:33 |
DocScrutinizer05 | I bet there's an AEC (echo cancellation) cloded blob as well, somewhere | 16:34 |
DocScrutinizer05 | closed* | 16:35 |
jonwil | https://gitorious.org/maemo-multimedia/pulseaudio-modules-meego/commit/5ba46c1e71cfc4b309a42b0ac69fe018d5f40837 is very interesting | 16:35 |
jonwil | Its close to the oldest revision in pulseaudio-modules-meego | 16:36 |
jonwil | and it shows options for linking in certain algorithims that weren't opened up | 16:36 |
jonwil | in this case something called "audio tuning support" | 16:37 |
jonwil | and "music module DRC" | 16:37 |
jonwil | and "music module STW" | 16:37 |
jonwil | and "xprot" | 16:37 |
jonwil | and "xprot-ambient-temprature" (which is what needs BME temp) | 16:37 |
jonwil | and also "equalizers" | 16:38 |
jonwil | and "AEP algorithm" | 16:38 |
jonwil | bearing in mind that pulseaudio on MeeGo will have been changed a lot to talk to ofono rather than CSD | 16:40 |
Pali | jonwil: not, it has support for both ofono and csd | 16:41 |
jonwil | ok | 16:41 |
Pali | jonwil: above repo is harmattan | 16:41 |
Pali | not generic meego | 16:41 |
jonwil | ok | 16:41 |
jonwil | looks like there is a sidetone lib in there somewhere too | 16:41 |
jonwil | it will support harmattan flavor of CSD which is quite possibly different from Fremantle flavor | 16:44 |
jonwil | not that reverse engineering how pulseaudio-* talks to CSD is hard | 16:44 |
kerio | why does pulseaudio have to talk to csd? | 16:46 |
kerio | shouldn't it be the reverse? | 16:46 |
jonwil | well module-nokia.voice on N900 listens to signal com.nokia.csd.Call.Instance.AudioConnect | 16:48 |
kerio | oh, so it's not just a normal client like any other program that uses audio | 16:49 |
Pali | here is some info about that closed modules: http://marc.info/?l=meego-commits&m=129651840007755 | 16:51 |
Pali | because meego servers are already down we do not have anything else... | 16:51 |
Pali | source code of parameters package is already in git | 16:52 |
Pali | hm, I have downloaded copy of that libraries | 16:52 |
jonwil | the cellular voice parts of the system need to talk to both the cellular services daemon and the system syncronization controller daemon (which handles cellular modem state) | 16:52 |
Pali | so are not lost forever | 16:52 |
jonwil | ok, so on the N900, the only closed-module that needs to talk to a com.nokia.* dbus interface is module-nokia-voice.so | 16:53 |
jonwil | it is wired up to signal com.nokia.csd.Call.Instance.AudioConnect | 16:54 |
jonwil | com.nokia.csd.Call.ServerStatus | 16:54 |
jonwil | and com.nokia.phone.SSC.modem_state_changed_ind | 16:54 |
jonwil | all 3 of those make sense for it to be wired up to | 16:55 |
jonwil | AudioConnect is likely to tell it to activate cellular audio | 16:55 |
jonwil | modem state is so it knows if the modem is up or down | 16:55 |
jonwil | and server status not sure about but probably related to call state | 16:55 |
jonwil | AudoConnect signal ends up in cmtspeech_state_change_call_connect | 16:57 |
*** freemangordon_ has joined #maemo-ssu | 16:57 | |
*** freemangordon has quit IRC | 16:57 | |
jonwil | ServerStatus ends up in cmtspeech_state_change_call_status | 16:57 |
jonwil | modem state change ends up calling cmtspeech_protocol_state and pa_asyncmsgq_post | 16:58 |
jonwil | I am currently checking out the earliest tree of pulseaudio-modules-meego to analyze | 16:58 |
DocScrutinizer05 | jonwil: great analysis, please convert it into some ascii-graphics and publish it on wiki | 17:01 |
jonwil | I am too tired to write wiki posts right now :P | 17:01 |
DocScrutinizer05 | then throw a copy of chanlog there. so it won't get lost again | 17:02 |
DocScrutinizer05 | you can edit and beautify it later | 17:02 |
*** oooaaaooo1 has quit IRC | 17:04 | |
jonwil | great, looks like the oldest tree of pulseaudio-modules-meego is talking to the right CSD interfaces | 17:04 |
jonwil | i.e. the maemo ones | 17:04 |
jonwil | that helps | 17:04 |
jonwil | great, that means we now have documentation of all 3 of those dbus calls I just mentioned :) | 17:06 |
*** freemangordon has joined #maemo-ssu | 17:06 | |
*** freemangordon has left #maemo-ssu | 17:07 | |
jonwil | or at least something about what those do | 17:07 |
DocScrutinizer05 | \o/ | 17:07 |
DocScrutinizer05 | AEP is very important - well the other ones as well | 17:08 |
jonwil | what is AEP? | 17:11 |
DocScrutinizer05 | err Audio Enhancement Processing sth | 17:11 |
jonwil | so where would the echo cancellation be? | 17:12 |
DocScrutinizer05 | AEP (Audio Enhancements Packag http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Multimedia_Domain#EAP_and_AEP | 17:12 |
DocScrutinizer05 | >>AEP (Audio Enhancements Package) is a full duplex speech audio enhancement package including echo cancellation, background noise suppression, DRC, AGC, etc. Both EAP and AEP are implemented as a PulseAudio module.<< | 17:13 |
jonwil | ok | 17:14 |
Pali | ah that graph is too compilacted | 17:14 |
*** ujfalusi has quit IRC | 17:14 | |
DocScrutinizer05 | ~wtf drc | 17:14 |
infobot | Gee... I don't know what drc means... | 17:14 |
jonwil | ok, so do we know what STW is? | 17:17 |
jonwil | stw might be stereo widening | 17:17 |
jonwil | probably something to make stereo output sound better | 17:18 |
Pali | btw nemo n900 port totally dropped all closed nokia pa modules | 17:19 |
DocScrutinizer05 | jonwil: stereo widening R'=R-n*L, L'=L-n*R | 17:24 |
DocScrutinizer05 | or in plain english: add inverted other side channel a bit | 17:25 |
DocScrutinizer05 | 0<=n<=1 | 17:25 |
DocScrutinizer05 | 0= normal stereo, 1=nonsense, basically momo | 17:26 |
DocScrutinizer05 | mono* | 17:26 |
jonwil | seems like a few things were opened (like parameters and sidetone) then they dropped all the rest presumably as not 100% essential for working usable phone | 17:27 |
DocScrutinizer05 | for a start it seems we need libcmtspeech working with new modem, and ALSA working with new audio codec exactly same way it did with old one - otherwise PED policies will fail miserably | 17:28 |
jonwil | I do note that the HEAD of pulseaudio-modules-meego has files speech_src_neon_hardfp.a and speech_src_neon.a | 17:29 |
DocScrutinizer05 | the rest should "just work(TM)" | 17:29 |
freemangordon_ | DocScrutinizer05: camera interface is pretty much different | 17:29 |
DocScrutinizer05 | errr | 17:29 |
DocScrutinizer05 | sure, but that's not audio, eh? And btw camera will see *major* rework to look like N900 100% | 17:30 |
freemangordon_ | sure, just saying | 17:31 |
DocScrutinizer05 | down to the mux between front and back | 17:31 |
freemangordon_ | BTW I meant from the SW side | 17:31 |
freemangordon_ | kernel ifaces are different/non-existing | 17:31 |
DocScrutinizer05 | so different between which two entites? | 17:31 |
freemangordon_ | 2.6.28 and 3.x | 17:32 |
DocScrutinizer05 | oh, you and your 3.x :-P | 17:32 |
freemangordon_ | I don;t hink we have a choice for neo900 | 17:32 |
freemangordon_ | ;) | 17:32 |
freemangordon_ | well, ok | 17:32 |
DocScrutinizer05 | you say this to get your beloved contemporary kernel :-> | 17:33 |
freemangordon_ | :D | 17:33 |
freemangordon_ | no | 17:33 |
DocScrutinizer05 | I don't see why we can't build KP52 for Neo900 | 17:34 |
DocScrutinizer05 | tiny adjustments to board file | 17:35 |
jonwil | Camera shouldn't be a problem as its fairly well separated from the rest of the system | 17:35 |
jonwil | btw http://mirror.yandex.ru/mirrors/meego/releases/1.1/non-oss/repos/armv7l/packages/armv7l/ contains the binary bits for the Meego PulseAudio blobs | 17:35 |
DocScrutinizer05 | courtesy Nokia, meh! | 17:35 |
jonwil | courtesy Nokia what? | 17:36 |
DocScrutinizer05 | where else would meego aka stskeeps have gotten the closed blobs for meego from? | 17:36 |
jonwil | yeah | 17:37 |
freemangordon_ | sailus: ping | 17:37 |
DocScrutinizer05 | and "meh!" because Nokia gave meego all they asked for, while maemo community not even got an answer when asking for exactly same | 17:37 |
kerio | DocScrutinizer05: wait, n=1 should be no sound whatsoever | 17:44 |
DocScrutinizer05 | only for mono signals | 17:44 |
kerio | R' and L' are exactly the opposite | 17:44 |
kerio | if you're in the middle of the speakers, there's no sound | 17:44 |
DocScrutinizer05 | for any stereo component L=-R | 17:44 |
DocScrutinizer05 | for n=1 | 17:45 |
kerio | yeah, and that means that you get no sound :D | 17:45 |
DocScrutinizer05 | basically no sound, that's right. Though sometimes this is used for karaoke, since the vocals are supposed to be mono and thus "filtered out" while instruments have larger stereo component | 17:46 |
DocScrutinizer05 | and L=-R doesn't mean no sound at all | 17:47 |
jonwil | If we have any contacts inside nokia that might be able to share anything at all about pulseaudio blobs, NOW is the time to exercise those contacts and do whatever we can :P | 17:47 |
DocScrutinizer05 | it just means the sound is not at all located in middle between the speakers | 17:47 |
kerio | well ok it's no sound if you only have one ear and that ear is in the middle of the speakers | 17:47 |
DocScrutinizer05 | FatPhil_: ^^^ | 17:49 |
DocScrutinizer05 | unclouded: ( jonwil ) | 17:49 |
DocScrutinizer05 | ETAB | 17:49 |
DocScrutinizer05 | FatPhil_: ( jonwil ) | 17:49 |
DocScrutinizer05 | didn't even notice ujfalusi left channel | 17:50 |
DocScrutinizer05 | kerio: in an ideal world with singularity ear, yes | 17:51 |
kerio | damn real world screwing up with my maths >:( | 17:51 |
DocScrutinizer05 | Van Gogh listening to a hole in the wall that is exactly in the middle of two ideal speakers, might have no sound at all | 17:52 |
FatPhil_ | L-R means remove all mono components. | 17:52 |
DocScrutinizer05 | exactly | 17:52 |
FatPhil_ | Some high end turntables have that as an output option, so that you can balance the stylus properly | 17:52 |
DocScrutinizer05 | but L=-R doesn't mean no sound | 17:52 |
DocScrutinizer05 | actually a lot of incorrectly installed home stereo do L=-R | 17:53 |
DocScrutinizer05 | it's not even easy to notice when you listen to such home stereo | 17:54 |
DocScrutinizer05 | well, for Joe Average at least | 17:54 |
FatPhil_ | It's pretty much the same as L=R, but with the cancellation/reinforcement regions moved around | 17:55 |
FatPhil_ | jonwil: there are no contacts inside nokia with any connections to maemo or even meego any more | 17:56 |
jonwil | After this nice discussion, I am now going to label audio as the most difficult piece of the jigsaw puzzle with cellular modem being bumped down to second most difficult | 17:57 |
FatPhil_ | we all got given the boot, or moved to meltemi. And those then got given the boot! | 17:57 |
jonwil | cellular modem is just a matter of dbus calls, audio is a LOT harder | 17:57 |
jonwil | even if we copy nokia Audio circutry and chips and parts (speakers and microphone included) exactly | 17:58 |
jonwil | camera I dont think will be a major issue | 18:00 |
*** dos1 has quit IRC | 18:00 | |
DocScrutinizer05 | jonwil: how can audio be any hard on an identical hw platform with an identical kernel? | 18:02 |
DocScrutinizer05 | (libcmtspeech for Option) https://gitorious.org/meego-cellular/libcmtspeechdata/source/7f8f3ce357513e4849e1bf6d657980a514529c1a:doc/README-devel.txt#L62 | 18:06 |
jonwil | Do we want to be 100% compatible with the closed-source upstream consumers of pulseaudio (including things like flashplayer, skype and others)? | 18:07 |
jonwil | I assume we do | 18:08 |
DocScrutinizer05 | sure | 18:09 |
DocScrutinizer05 | absolutely | 18:09 |
jonwil | In that case we will likely need to use the same pulseaudio bits the N900 is using since there is no gaurantee that whatever Harmattan is using (i.e. whatever is currently in https://gitorious.org/maemo-multimedia/pulseaudio-modules-meego/ https://gitorious.org/maemo-multimedia/pulseaudio/ etc) will be API or ABI compatible with the Maemo version | 18:10 |
jonwil | Or do we have evidence showing that whats in those repos IS ABI compatible with Fremantle PulseAudio bits? | 18:11 |
DocScrutinizer05 | I think we rather have indications that it is _not_ | 18:13 |
jonwil | ok | 18:13 |
DocScrutinizer05 | so I think it's TLV320aic34 plus other gear, in Neo900 | 18:14 |
DocScrutinizer05 | or project dies | 18:15 |
jonwil | The way I see it our options are: | 18:15 |
jonwil | 1.Try to get code for pulseaudio-nokia on fremantle (wont happen so lets ignore this) | 18:15 |
jonwil | 2.Use pulseaudio-modules-meego and other bits in those GIT repos and make them ABI compatible with Fremantle (and also port libcmtspeech to Neo900 modem). This would mean we miss out on AGC and whatever other algos are in the MeeGo Nokia blobs that were dropped | 18:17 |
DocScrutinizer05 | 3. throw another ~20EUR at audio hw in Neo900 to make it clone of N900 | 18:18 |
jonwil | 3.Like #2 except that we use the older versions of those git repos back when they were still using the pulseaudio-modules-nokia MeeGo blobs | 18:18 |
jonwil | 4.Use the Fremantle PulseAudio bits and modify the cmtspeech kernel driver to talk the right ABI to the Fremantle pulseaudio bits but to then translate to whatever the Neo900 modem needs | 18:19 |
DocScrutinizer05 | 4. it is | 18:20 |
DocScrutinizer05 | https://gitorious.org/meego-cellular/libcmtspeechdata/source/7f8f3ce357513e4849e1bf6d657980a514529c1a:doc/README-devel.txt#L62 | 18:20 |
DocScrutinizer05 | seems option GTM601 has a simple PCM audio that is connected to SoC via McBSP as usual | 18:23 |
jonwil | or 5.Reverse engineer libcmtspeech in the Fremantle module-nokia-voice.so and turn what we have in https://gitorious.org/meego-cellular/libcmtspeechdata/ into a copy of the Fremantle bits (or at the very least, the nokiamodem specific bits) then having done that, write a fremantle-libcmtspeech-compatible backend for the Neo900 modem and use some mods/hacks/whatever to replace the relevant... | 18:26 |
jonwil | ...parts of libcmtspeech in module-nokia-voice.so of Fremantle with our new compile | 18:26 |
jonwil | The fact that libcmtspeech is a static library and not a .so doesn't help us :( | 18:26 |
*** oldtopman has joined #maemo-ssu | 18:33 | |
*** dos1 has joined #maemo-ssu | 18:36 | |
DocScrutinizer05 | it's STATIC?? | 18:38 |
DocScrutinizer05 | FFS | 18:38 |
jonwil | yes it is | 18:38 |
jonwil | looks like Fremantle is using version 1.6.2.1 | 18:38 |
jonwil | oldest we have in repo is 2.0.5 | 18:38 |
* DocScrutinizer05 headdesks | 18:39 | |
jonwil | now you see why I said "audio is going to be hard" | 18:41 |
jonwil | :) | 18:41 |
DocScrutinizer05 | so what's next API stack-upwards? | 18:41 |
DocScrutinizer05 | PA shit? | 18:42 |
jonwil | yes | 18:42 |
DocScrutinizer05 | :-(( | 18:42 |
DocScrutinizer05 | well, I guess we can RE this | 18:43 |
DocScrutinizer05 | prolly an extremely thin PA interface layer over a heavy libcmtspeech | 18:44 |
jonwil | no its not that simple, libcmtspeech is linked into fremantle module-nokia-voice.so with a LOT of other code | 18:47 |
jonwil | some of which ended up in pulseaudio-modules-meego | 18:48 |
jonwil | and some of which ended up in the nokia blobs | 18:48 |
DocScrutinizer05 | OMG | 18:49 |
jonwil | OMG what? | 18:49 |
DocScrutinizer05 | Nokia actually did *everything* to counteract RE and re-use | 18:50 |
jonwil | no they did what they needed to do to make things work whilst minimizing the amount of code they needed to actually open up | 18:50 |
DocScrutinizer05 | I wish speedevil's statement on this was on a infobot factoid | 18:50 |
DocScrutinizer05 | yep, and when they opened up code, they made sure it depends on another glue-bit that is closed so you can't use the open stuff for anything anywhere else | 18:52 |
jonwil | The closed glue no doubt contains those algorithms that Nokia considers important | 18:53 |
jonwil | i.e. those which are special to them and that they dont want their competitors to see | 18:53 |
DocScrutinizer05 | yes, but why did they link statically?? | 18:54 |
DocScrutinizer05 | just to show *us* the finger | 18:54 |
DocScrutinizer05 | and on "special to them" see at least my comment about AGC above. AGC is so silly simple, it's ridiculous to have an own algo in a blob | 18:55 |
*** luf has quit IRC | 18:57 | |
jonwil | they probably linked libcmtspeech statically because it was easier and meant one less shared library (and less code duplication) | 19:01 |
jonwil | Now do you agree with me that audio is hardest part of Neo900 work (harder than cell modem, harder than GPS, harder than camera)? | 19:02 |
jonwil | short of a miracle occurring our best hope is to rewrite the N900 kernel cmtspeech driver to talk to the Neo900 modem and translate whatever Nokia proprietary info is sent down as appropriate | 19:14 |
*** amizraa has joined #maemo-ssu | 19:14 | |
jonwil | and even then doing that will be HARD :) | 19:14 |
*** jonwil has quit IRC | 19:17 | |
Pali | freemangordon: something new? | 19:28 |
freemangordon_ | Pali: no :( | 19:28 |
freemangordon_ | besides just enabled clock and gpio debug | 19:29 |
freemangordon_ | hoping it will give me some more info | 19:29 |
Pali | ok | 19:31 |
freemangordon_ | nice: ssi_sst_fck_3430es2 0 0 110666666 | 19:31 |
freemangordon_ | 0 0 is prepare/enable count | 19:31 |
freemangordon_ | this is ssi transmit clk aiui | 19:31 |
freemangordon_ | no wonder it doesn;t work | 19:32 |
*** Vlad_on_the_road has joined #maemo-ssu | 19:41 | |
*** kerio has quit IRC | 19:41 | |
*** kerio has joined #maemo-ssu | 19:43 | |
*** xes has joined #maemo-ssu | 20:30 | |
*** bsdmaniak has joined #maemo-ssu | 20:53 | |
*** arcean has joined #maemo-ssu | 21:18 | |
*** nox- has joined #maemo-ssu | 21:23 | |
*** arcean has quit IRC | 21:27 | |
*** arcean has joined #maemo-ssu | 21:28 | |
*** freemangordon_ has quit IRC | 21:45 | |
*** NIN101 has quit IRC | 22:00 | |
*** freemangordon has joined #maemo-ssu | 22:16 | |
*** M4rtinK has joined #maemo-ssu | 22:18 | |
*** Martix_ has joined #maemo-ssu | 22:19 | |
*** mkaindl has joined #maemo-ssu | 22:21 | |
*** LauRoman has quit IRC | 22:54 | |
*** arcean has quit IRC | 22:59 | |
*** sunny_s has quit IRC | 23:10 | |
*** bsdmaniak has quit IRC | 23:23 | |
*** xes_ has joined #maemo-ssu | 23:42 | |
*** xes_ has quit IRC | 23:42 | |
*** oldtopman has quit IRC | 23:44 | |
*** xes has quit IRC | 23:45 | |
*** xes has joined #maemo-ssu | 23:47 | |
*** Vlad_on_the_road has quit IRC | 23:55 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!