00:00.35 | DocScrutinizer05 | awesome |
00:00.48 | jonwil | Will we be using Nokia BME as part of NeoFremantle? I am guessing not. |
00:02.31 | xes | removing the usb shiels and attaching some kind of pcb2pcb connector would make it easy to fit while already providing a good antenna socket |
00:03.14 | DocScrutinizer05 | jonwil: nope, we need a more stripped-down version. The charger chip basically doesn't need any BME to work |
00:04.02 | DocScrutinizer05 | you *may* control it with keepalive and all that, like BME does with bq24150a, but you don't have to. It has autonomous mode |
00:04.24 | DocScrutinizer05 | xes: inded |
00:04.32 | DocScrutinizer05 | xes: indeed* |
00:06.22 | xes | now it's time to meet the bed... good night!! |
00:07.23 | jonwil | my next job is to play around further with the cellular stuff and document which bits need to be replicated for NeoFremantle :) |
00:08.07 | DocScrutinizer05 | xes: good night! have a pleasant rest! :-) |
00:13.36 | freemangordon | DocScrutinizer05: jonwil: even on n900 BME is no longer a must |
00:14.03 | jonwil | yep, I know :) |
00:14.16 | DocScrutinizer05 | freemangordon: some process doing the bq24150 is a must for N900 or it won't charge |
00:14.44 | freemangordon | DocScrutinizer05: i meat with the upstream kernel :) |
00:14.51 | freemangordon | *meant |
00:14.53 | DocScrutinizer05 | on Neo900 you could get away with nothing at all taking care about charging |
00:15.18 | freemangordon | I heard the same |
00:16.13 | freemangordon | jonwil: http://talk.maemo.org/showpost.php?p=1441010&postcount=27 |
00:16.32 | freemangordon | I know you know nothing about PA as well |
00:16.41 | DocScrutinizer05 | check datasheet of bq24297 |
00:16.53 | freemangordon | but I still need someone to test the stuff |
00:17.03 | freemangordon | DocScrutinizer05: i am not arguing |
00:17.12 | freemangordon | just kidding |
00:17.28 | jonwil | I also know nothing about pulseaudio |
00:17.28 | DocScrutinizer05 | no argument, just a recommended reading |
00:17.33 | freemangordon | (/me is a couple of jacks ahead) |
00:17.38 | freemangordon | not now |
00:17.48 | freemangordon | it is 3:17 here |
00:17.58 | DocScrutinizer05 | yeah, and I'm short on that, and it's prolly too late. Got my shoes tied, afk |
00:18.16 | freemangordon | and I am still a couple of jacks ahead :) |
00:18.37 | freemangordon | yeah, too late to start with our uncle |
00:18.51 | freemangordon | the talk that is |
00:19.45 | freemangordon | jonwil: sure, my point is that this is ot a task for asingle person |
00:19.51 | freemangordon | *not |
00:20.01 | jonwil | yeah |
00:20.18 | freemangordon | and I am not afraid of the vfp/neon stuff |
00:21.01 | freemangordon | I know I can RE it, but I have NFC how to test it |
00:22.00 | freemangordon | jonwil: we (whoever we are) should gather for the more complicated stuff |
00:22.39 | freemangordon | not that I can't RE everything in a matter of 6 months or so |
00:23.11 | jonwil | yes we should |
00:23.24 | jonwil | I for one am going to focus next on the cellular stack because that's important for the system |
00:25.23 | freemangordon | is going to have some rest |
00:25.23 | freemangordon | night |
00:27.36 | jonwil | oooh, this might be interesting. http://mirror.thecust.net/harmattan-dev.nokia.com/pool/harmattan/nokia-binaries/41667a5bd857be02f487c2ce806fbf85/nokia-binaries/p/pulseaudio-nokia/ |
00:27.49 | jonwil | Harmattan SDK repo has debug packages for harmattan version of pulseaudio-nokia |
00:28.52 | DocScrutinizer51 | ~ping |
00:28.52 | infobot | ~pong |
00:29.15 | freemangordon | jonwil: that would makke REing even easier |
00:29.21 | freemangordon | *make |
00:29.24 | jonwil | yeah |
00:29.42 | DocScrutinizer51 | it's invaluable to have a decent bar next door that's open at 2:30 |
00:29.43 | DocScrutinizer51 | :! |
00:30.06 | freemangordon | but still, I miss the knwledge on how to test it :( |
00:30.17 | freemangordon | doc: cheers |
00:30.46 | freemangordon | naah, i have to take some sleep |
00:30.53 | freemangordon | really, night |
00:30.59 | DocScrutinizer51 | cheers :) |
00:31.17 | DocScrutinizer51 | and n8 |
00:32.47 | jonwil | Going to see what else that SDK has that might be interesting... |
00:33.17 | DocScrutinizer51 | dang roaming |
00:33.47 | DocScrutinizer51 | freemangordon: cheers and n8 |
00:34.42 | jonwil | oooh its has a dev package for libsysinfo |
00:35.16 | DocScrutinizer51 | libsysifo prolly a nobrainer |
00:35.20 | jonwil | yep |
00:35.22 | jonwil | probably |
00:36.28 | jonwil | I wonder if there are rx71 schematics out there and how different the audio systems on both bits of hardware are |
00:36.38 | jonwil | i.e. N900 vs N9 |
00:39.06 | jonwil | probably quite different I suspect |
00:39.53 | DocScrutinizer51 | there is N9 schematics, yes |
00:40.19 | DocScrutinizer51 | audio, hmmm |
00:40.46 | DocScrutinizer51 | sorry can't recall off top of my head |
00:41.32 | DocScrutinizer51 | must be sufficiently different so Ididn't reference to it so far |
00:42.57 | DocScrutinizer51 | google for 'nokia n9 schematics', ping me ifyou can't find anyting |
00:43.07 | jonwil | yeah I just saw them and they look different |
00:43.38 | jonwil | In particular it looks like you dont have the situation of N900 with a separate audio chip even though that other chip has audio bits in it |
00:43.48 | DocScrutinizer51 | I'm quite sure they don't use 320aic34 |
00:47.10 | DocScrutinizer51 | bug: in simple brightness applet you got a prolly linked in 'slider' with 5 steps, in status menu |
00:47.30 | jonwil | I recon we should use all 3 pulseaudio binary sets we have (stock N900 ones, meego-on-N900 ones and these harmattan ones that have debug bits) |
00:48.04 | DocScrutinizer51 | thisslider switches to N-1 when you click to left halfof N-1 |
00:49.04 | DocScrutinizer51 | it SOULD switch to N wshen touching *anywhere* in N |
00:57.20 | DocScrutinizer51 | ~ping |
00:57.20 | infobot | ~pong |
01:08.15 | DocScrutinizer05 | hmm, even that good bar closed now |
01:08.45 | DocScrutinizer05 | has a short glance at N9 schematics |
01:10.23 | DocScrutinizer05 | yeah, what I guessed: they are using companion chip (TPS65951) for audio |
01:11.22 | DocScrutinizer05 | on N900 we have TPS65950 (sufficinetly similar, has kbd matrix scanner) but it's not used for audio |
01:11.39 | DocScrutinizer05 | a pity |
01:12.09 | DocScrutinizer05 | we need that damn 320aixc34 just for staying compatible with N900 |
01:12.14 | *** join/#neo900 MonkeyofDoom (~MonkeyofD@2601:d:3080:f8a:6ef0:49ff:fee1:a332) |
01:40.01 | jonwil | Hmmm, I wonder which other bits of the system other than PulseAudio care about the 320aixc34 |
01:41.35 | jonwil | I wonder whether we could drop the 320aixc34, use the open pulseaudio bits from Harmattan along with reverse engineered closed bits from Harmattan and talk to the TPS65950 |
01:41.55 | jonwil | Just a thought, I know not very much about pulseaudio or how it works |
01:42.45 | jonwil | that said, I suspect upgrading to a newer pulse version would break things that use it unless we had a hack translation layer to make it work |
01:46.54 | *** join/#neo900 rax_ (48b76434@gateway/web/freenode/ip.72.183.100.52) |
01:47.57 | DocScrutinizer05 | that's exactly the problem |
01:49.00 | jonwil | ok, lets experiment and see who links to libpulse* |
01:53.41 | jonwil | hmmm, interesting, a quick grep suggests that there aren't as many things linking to libpulse* as I thought |
01:54.40 | *** join/#neo900 gryAway (~noone@freenode/staff/gry) |
02:07.59 | jonwil | by far the biggest/hardest to replicate pulseaudio users would be the flash player plugin and the media player |
02:08.26 | *** join/#neo900 Svetlana (noone@freenode/staff/gry) |
02:54.52 | jonwil | http://talk.maemo.org/showthread.php?p=1441077#post1441077 |
02:58.01 | DocScrutinizer05 | sounds good |
02:58.10 | DocScrutinizer05 | or... correct |
03:02.03 | jonwil | Need some input from people who know more about this stuff than me :) |
03:02.30 | jonwil | we need someone who knows pulseaudio on the team... |
05:36.42 | *** join/#neo900 Zero_Chaos (~zerochaos@gentoo/developer/pentoo/zerochaos) |
07:55.37 | *** join/#neo900 freemangordon_ (~ivo@213.226.63.41) |
08:30.57 | *** join/#neo900 freemangordon_ (~ivo@213.226.63.41) |
08:32.58 | jonwil | The more I look at it, the more I am convinced the audio idea I had is worth investigating further |
08:34.19 | freemangordon_ | jonwil: afaik the reason Nokia has preferred aic over twl is the audio quality |
08:34.50 | jonwil | but in the N9 they used the TPS6595x |
08:35.00 | freemangordon_ | is N9 stereo? |
08:35.12 | freemangordon_ | the speakers I mean |
08:37.42 | jonwil | not sure, reading schematics is not my strong point |
08:40.15 | freemangordon_ | hmm, seems n9 is mono |
08:40.33 | jonwil | hmmm |
08:40.50 | freemangordon_ | http://en.wikipedia.org/wiki/Nokia_N9#Audio_and_output |
08:41.01 | jonwil | Does the TPS6595x we are using support stereo? |
08:41.10 | jonwil | the one we have in the Neo900 that is |
08:41.43 | freemangordon_ | jonwil: wait, afaik neo will use aic. though my info caould be oboleted |
08:41.51 | freemangordon_ | *could |
08:42.04 | jonwil | what I meant is that we have a TPS69595x chip in the Neo900 which we could use |
08:42.26 | jonwil | but we decided to copy the N900 audio system instead to be binary compatible with existing bits |
08:44.21 | *** join/#neo900 freemangordon_ (~ivo@213.226.63.41) |
08:44.30 | jonwil | My question is whether or not its possible to get the TPS69595x chip we already have anyway to do what the Neo900 needs (stereo output or otherwise) and whether we can make the existing PulseAudio bits for N9 (including reverse engineered copies of the nokia blobs with the debug packages) work with that setup and still work with all the bits of software on the N900 that use pulseaudio. |
08:45.52 | jonwil | <PROTECTED> |
08:45.58 | freemangordon_ | jonwil: wouldn't it be better to use the open-sourced n900 bits in meego and to RE what is needed |
08:46.26 | freemangordon_ | I still hope we to have one distribution for both n900 and neo900 |
08:47.03 | jonwil | We dont know if the Meego bits (closed and open) are feature-complete with respect to Fremantle and its closed bits (a number of other things in Meego aren't feature complete e.g. MCE) |
08:47.31 | freemangordon_ | sure they are not, thus "RE what is needed" |
08:47.57 | freemangordon_ | but look at this: |
08:47.58 | jonwil | and its definatly not going to be possible to have a single distro for N900 and Neo900, the cellular modem alone rules that out |
08:48.48 | freemangordon_ | (just a second, my inet is on 2G :) ) |
08:49.07 | jonwil | :) |
08:49.26 | enyc | Hangon... single distro? Will it be posible to have separate base/flash image, but then share most of the extras package repositories ??? |
08:49.46 | freemangordon_ | https://gitorious.org/maemo-multimedia/pulseaudio-modules-meego/source/219b7b06afd2ecc2e2062904582f262a7ebe413c:src/cmtspeech/cmtspeech-connection.c |
08:49.56 | freemangordon_ | "This file is part of pulseaudio-nokia" |
08:50.44 | freemangordon_ | jonwil: we have most of the stuff there, with only a couple of bits missing (xprot, xprot-ambient-temp and (maybe) eq) |
08:51.49 | freemangordon_ | the sourcecode of libcmtspeech (or whatever it was called) is available |
08:52.40 | jonwil | yes that is true |
08:54.23 | jonwil | If you look at https://gitorious.org/maemo-multimedia/pulseaudio-modules-meego/commit/5ba46c1e71cfc4b309a42b0ac69fe018d5f40837 though you can see that it removes references to a number of bits (which must therefore be in the closed blobs) |
09:00.21 | jonwil | Its a pitty that the closed blobs for N900 MeeGo have no changelog attached (and the open stuff has no changelog matching back to what came before) |
09:00.39 | jonwil | meaning we dont know where those blobs fit in terms of matching to what the N900 shipped |
09:00.46 | freemangordon_ | yep, and we have that closed bit in a binary form :) |
09:00.49 | freemangordon_ | *bits |
09:01.00 | jonwil | yeah we do have the closed bits |
09:01.14 | jonwil | and we have the nice bits from the N9 SDK with the debug packages that we can play with |
09:01.16 | freemangordon_ | oh, sure we know, open your IDA db for the voice module (for example) |
09:02.11 | jonwil | ok, and? |
09:02.36 | freemangordon_ | there are lots of assert() calls with filenames and line numbers |
09:02.36 | freemangordon_ | and even the function names are not stripped |
09:02.49 | jonwil | ok |
09:03.03 | *** join/#neo900 freemangordon_ (~ivo@213.226.63.41) |
09:04.06 | *** join/#neo900 jonwil (~jonwil@27-33-80-219.tpgi.com.au) |
09:05.01 | freemangordon_ | It seems I'll have to swith to my backup device soon :( |
09:05.30 | freemangordon_ | I think the USB port of my primary is getting too loose |
09:06.42 | jonwil | I am being careful with my N900 to avoid USB port breakage |
09:07.16 | freemangordon_ | no, it is not broken(IMO), just loose |
09:07.34 | jonwil | I am not sure if mine is loose or not |
09:08.32 | freemangordon_ | btw do you have n900 meego closed blobs? |
09:08.40 | jonwil | the one I am using now is my third N900 after 2 of em were replaced under warranty (one for broken front flex cable, the one that powers LED and front camera and one for broken USB) |
09:08.43 | freemangordon_ | I can't find them over the inet |
09:08.46 | jonwil | and no I dont think I do |
09:12.16 | jonwil | btw it looks like pulseaudio-meego in the N9 SDK repo is matching to version 0.9.19.0-27 from the Meego GIT repo |
09:12.24 | jonwil | at least that's what the changelog I have for it indicates |
09:13.02 | freemangordon_ | oh, module-nokia algorithm-xprot is 33k .so |
09:13.09 | freemangordon_ | in harmathan |
09:16.04 | jonwil | where do you see that? |
09:16.13 | jonwil | oh wait |
09:16.17 | jonwil | I see now I think |
09:17.34 | freemangordon_ | http://mirror.thecust.net/harmattan-dev.nokia.com/pool/harmattan/nokia-binaries/41667a5bd857be02f487c2ce806fbf85/nokia-binaries/p/pulseaudio-nokia/ |
09:18.15 | jonwil | yeah I see |
09:19.16 | jonwil | my "pull the harmattan SDK stuff to see whats interesting" hasn't gotten that far, its still doing free/p/* :) |
09:19.39 | jonwil | somewhere in some python bits by the look of it :) |
09:19.58 | jonwil | some of these packages are huge |
09:20.00 | freemangordon_ | :) |
09:20.20 | jonwil | I expect it will soon hit qt stuff and that is big |
09:20.44 | freemangordon_ | anyway, I gtg, bye for now |
09:20.48 | jonwil | ok |
09:20.49 | jonwil | cya |
09:20.57 | *** part/#neo900 freemangordon_ (~ivo@213.226.63.41) |
10:34.25 | *** join/#neo900 e2718 (~hdesk@p4FD3703A.dip0.t-ipconnect.de) |
10:44.21 | *** join/#neo900 mvaenskae (~mvaenskae@unaffiliated/mvaenskae) |
12:26.42 | *** join/#neo900 paulk-collins (~paulk@gagarine.paulk.fr) |
13:04.45 | *** join/#neo900 Kabouik (~quassel@147.99.218.243) |
13:09.59 | *** join/#neo900 b1101 (~b@64.237.51.166) |
13:09.59 | *** join/#neo900 b1101 (~b@fsf/member/b1101) |
13:37.23 | *** join/#neo900 lexik (lexik@nat.brmlab.cz) |
13:40.23 | DocScrutinizer05 | ((<enyc> Hangon... single distro? Will it be posible to have separate base/flash image, but then share most of the extras package repositories ???)) yes, exactly that is the plan |
13:44.26 | ShadowJK | At one point I thought I'd finally encounter the usb issue, but it turned out the cable on the charger had gone bad instead |
13:45.41 | jonwil | I do sort of see the point of not wanting pulseaudio-0.9.15 on the N900 and then having pulseaudio-0.9.19 (Harmattan version) on the Neo900 |
14:11.05 | DocScrutinizer05 | jonwil: (modem in Neo900) you could attach a USB hub and a USB 3G dongle and audio dongle to N900, then replace libisi(?) and libcmtspeech(?) by something to talk to those 3G and audio devices. AIUI libcmtspeech isn't dynamically linked but part of the code (statically linked?), at least that's what I seem to recall you told me long time ago. In this case maybe create a pseudo-VoIP (SIP) interface for the aforementioned 3G and audio |
14:11.08 | DocScrutinizer05 | interfaces, which apart from not being default in dialer should integrate just as well into fremantle as cellular does |
14:14.36 | DocScrutinizer05 | once this works, we easily can change the USB details for the different USB we use on Neo900, and switch the USB audio card to the even simpler PCM audiocard we will have with Neo900 modem |
14:15.29 | DocScrutinizer05 | the latter being extremely simple: just use another ALSA device |
14:18.28 | DocScrutinizer05 | see http://linuxplumbersconf.org/2009/slides/Jyri-Sarha-audio_miniconf_slides.pdf for what libcmtspeech probably does and whet we wouldn't need |
14:21.15 | DocScrutinizer05 | ignore p.4 it's not very clear that those are alternatives NOT chosen in N900 |
14:22.37 | *** join/#neo900 kolp (~quassel@55d4562c.access.ecotel.net) |
14:27.10 | DocScrutinizer05 | the whole >>Synchronize * link audio buffering with Cellular Modem<< is something I still think is not needed and not even applicable with a decent modem PCM interface, it's a quirk of BB5 modem |
14:28.36 | DocScrutinizer05 | our modem can do both PCM master and PCM slave, and neither mode needs special timing adjustments |
14:33.15 | DocScrutinizer05 | so ideally we use a config of APE being master and using same clock for both the modem PCM and the codec PCM, resp brute force Procrustes adjust audio chunks while moving them from one audio card to the other |
14:34.43 | DocScrutinizer05 | the clocks should be precise enough so not more than maybe every 1000th sample gets dropped or is duplicated |
14:38.01 | *** join/#neo900 paulk-collins_ (~paulk@gagarine.paulk.fr) |
14:48.48 | DocScrutinizer05 | see p.15 of http://linuxplumbersconf.org/2009/slides/Jyri-Sarha-audio_miniconf_slides.pdf , note the "voice module" bubble |
14:50.29 | DocScrutinizer05 | "transducer processing" most likely is XPROT, and the diagram makes me think that PA module "Nokia-voice" (or whatsitcalled) is linking in XPROT and echo-cancellation and mic-EQ |
14:51.10 | DocScrutinizer05 | "SSI up/down-link" is prolly libcmtspeech |
14:53.52 | DocScrutinizer05 | I guess we could contact Jyri Sarha and ask him to tell us how the real existing binary blobs on fremantle map onto this diagram on p.15 |
15:14.48 | freemangordon | DocScrutinizer05: yes, module voice integrates xprot, xprot-ambient-temperature and eq |
15:15.04 | DocScrutinizer05 | :-) |
15:15.27 | freemangordon | most probably echo cancelation is there as well, under some cryptic name |
15:15.29 | DocScrutinizer05 | one or two of my brain's synapses seem to still work |
15:16.15 | DocScrutinizer05 | cryptic name: *AEC* |
15:17.23 | freemangordon | you're genius :P |
15:17.37 | DocScrutinizer05 | (Acoustic|Adaptive|automatic) Echo Cancellation |
15:17.52 | freemangordon | there is a function called aec_MainfilterUpdate |
15:18.15 | freemangordon | and 2 more starting with aec_ |
15:19.05 | freemangordon | what would be AEP then? |
15:19.20 | DocScrutinizer05 | ManfilterUpdate sounds like "Adaptive" |
15:19.42 | DocScrutinizer05 | Acoustic Enhancement Pullsht |
15:19.53 | freemangordon | hmm? |
15:19.59 | DocScrutinizer05 | Processor? |
15:20.22 | freemangordon | I gues no, the function is aep_variable_trace |
15:20.29 | DocScrutinizer05 | all sorts of equalization, compression, noise gate, whatnot else |
15:20.51 | freemangordon | anyway |
15:20.56 | DocScrutinizer05 | Nokia's most valuable IP |
15:21.19 | freemangordon | BTW, what I see is that they compiled all that code with armcc, not with gcc |
15:21.33 | freemangordon | with -O3 and auto-vectorization turned on |
15:21.51 | DocScrutinizer05 | toldya, hexrays might get confused due to that |
15:21.59 | freemangordon | no, no, it is fine |
15:23.17 | freemangordon | this explains why the binaries are so big (loop unrollment, etc), besides libcmtspeec being statically linked |
15:23.50 | freemangordon | libcmtspeechdata that is |
15:24.14 | DocScrutinizer05 | AAH! A 20 bucks on "P"=proprietary ;-D |
15:24.43 | freemangordon | :D |
15:24.47 | freemangordon | makes sense |
15:25.14 | freemangordon | btw, what kind of problems we (and me personally) can expect if I RE this |
15:25.16 | freemangordon | ? |
15:26.05 | freemangordon | as I guess this is one of the top Nokia (now M$) secrets |
15:26.18 | freemangordon | in the field of mobile phones |
15:27.46 | freemangordon | AFAIK REing is not illegal in EU, ain't? |
15:28.38 | DocScrutinizer05 | they hardly can sue you when they cannot prove you used a machine generated disassembly |
15:29.04 | DocScrutinizer05 | REing is allowed to "keep stuff working, which you paid for" |
15:29.13 | DocScrutinizer05 | (long story short) |
15:29.30 | kerio | "this algorithm does lots of magic with the audio to make it better" and then 4 pages of asm |
15:29.39 | DocScrutinizer05 | LOL |
15:30.04 | kerio | "i swear i wrote this, your honor" |
15:30.27 | bencoh | :D |
15:31.12 | freemangordon | kerio: 4 pages? |
15:31.24 | kerio | A4 paper, 10pt |
15:31.27 | freemangordon | I'd say 40 or even 100 |
15:31.29 | DocScrutinizer05 | we might simply rip out the bloc from fremantle fiasco and warp it up into some wrapper code, then use it. As lonmg as we don't ship the original binary but only the wrapper code, we're safe |
15:31.35 | kerio | whatevs |
15:31.42 | kerio | it depends on how small you print :P |
15:31.50 | freemangordon | hehe |
15:32.57 | freemangordon | DocScrutinizer05: won't work with upstream kernel IMO |
15:33.07 | DocScrutinizer05 | we don't really want to RE AEP, we just might want to use it, right? |
15:33.46 | freemangordon | too much changes in BSP and I am not sure supporting out of tree patches will be easier than REing it |
15:34.48 | freemangordon | maybe I will just slowly start REing that |
15:35.05 | freemangordon | jonwil: is there a way to load IDA with function prototypes? |
15:35.35 | DocScrutinizer05 | when AEP is what I think it is, you will suffer severe headache from trying to RE it |
15:36.32 | freemangordon | DocScrutinizer05: well, it is lots of NEON code, but it is not exactly rocket science |
15:37.03 | DocScrutinizer05 | it's probably huge, complex, nifty, abysmally obfuscated, and not exactly easy to understand the purpose anyway |
15:38.03 | DocScrutinizer05 | on a completeöly different topic: do we have a touchdown? or bounced it off the asteriod's surface? |
15:38.15 | freemangordon | no, for example function aec_MainfilterUpdate is about 20 instructions, including prolog end epilog |
15:38.33 | freemangordon | hmm? |
15:38.46 | freemangordon | what I have missed? |
15:39.12 | DocScrutinizer05 | touchdown expected for exactly 60 minutes ago. RF transfer time: 20 min |
15:39.43 | DocScrutinizer05 | (some minor outer space mission) |
15:41.58 | DocScrutinizer05 | http://www.3sat.de/page/?source=/nano/weltraum/174499/index.html |
15:42.27 | DocScrutinizer05 | >>Das Landemodul "Philae" soll am 12. November 2014 um 9.35 Uhr starten und nach sieben Stunden Reise auf dem Kometen "67P/Tschurjumow-Gerassimenko" aufsetzen.<< |
15:42.37 | DocScrutinizer05 | oops |
15:42.54 | freemangordon | hmm, how a function called a_aec6_af_apply sounds to you? about 100 lines of decompiled code :) |
15:42.57 | DocScrutinizer05 | why did I think today was Nov.12. ? |
15:43.06 | freemangordon | I have NFC doc |
15:43.12 | freemangordon | but it is not :) |
15:43.17 | DocScrutinizer05 | need more coffee |
15:43.47 | freemangordon | what about the ^^^ function? |
15:44.40 | DocScrutinizer05 | *shrug* has AEC in it, hardly more I can say, maybe "sounds like 'inner' function, where stuff happens" |
15:46.14 | DocScrutinizer05 | actually it's highly questionable if we need all that - P*S8 has its own AEC built in |
15:46.57 | DocScrutinizer05 | of course for VoIP it's still a "nice to have" |
15:47.33 | DocScrutinizer05 | there are FOSS AEC algos, twinkle used a (RTP?) lib that came with some echo cancellation |
15:47.53 | DocScrutinizer05 | never looked into it |
15:48.02 | DocScrutinizer05 | since I know how it works |
15:52.47 | DocScrutinizer05 | Aaah! I know where the bug crept in: >> Der Fahrplan steht: "Philae" wird morgens zum Kometen starten<< I read that as "morgen" (tomorrow), not "morgens" (in the morning) |
15:53.58 | DocScrutinizer05 | what an idiotic statement! what is "morning" "evening", "day" or "night" for a satellite that's 20 light minutes away from earth in deep space? |
16:00.42 | DocScrutinizer05 | freemangordon: http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Multimedia_Domain#EAP_and_AEP |
16:03.59 | freemangordon | I see |
16:08.15 | DocScrutinizer05 | the whole page is highly recommended to read prior to acquiring headache from RE of any audio blobs |
16:08.37 | freemangordon | yeah |
16:25.38 | DocScrutinizer05 | http://www.webrtc.org/reference/architecture and *probably* also libccrtp |
16:26.21 | DocScrutinizer05 | scap webrtc |
16:26.36 | DocScrutinizer05 | maybe not |
16:26.38 | DocScrutinizer05 | meh |
16:27.07 | DocScrutinizer05 | definitely twinklephone offers AEC and it comes with one of the linked libs |
16:27.43 | DocScrutinizer05 | http://privatepaste.com/44046c8e0a |
16:29.58 | DocScrutinizer05 | http://twinklephone.com/ |
16:33.40 | *** join/#neo900 sixwheeledbeast (~paul@host-78-150-239-48.as13285.net) |
16:38.55 | DocScrutinizer05 | I'm not able to find out which lib implements AEC in twinkle, without analysis of sourcecode |
17:00.35 | *** join/#neo900 DougLashz (~dal@gateway/tor-sasl/douglashz) |
17:11.53 | DocScrutinizer05 | aiui AEP and EAP are pretty standard PA plugins. They should not depend on anything but PA daemon and the API/ABI defined for that interface. When a new kernel needs new PA daemon, why can't we wrap up those old-PA closed plugins into a compatibility wrapper, or simply make PA daemon compliant with bot old and new API/ABI? |
17:12.42 | DocScrutinizer05 | both* |
17:13.41 | DocScrutinizer05 | <<subsystem>> core:audio-hw are the alsa soundcards aiui |
17:14.18 | DocScrutinizer05 | yeah, the <<library>>libalsa suggests that |
17:14.36 | DocScrutinizer05 | http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Multimedia_Domain#Audio_Subsystem |
17:38.57 | DocScrutinizer05 | LOL&COUGH @ http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Multimedia_Domain#libplayback and the "documentation" linked in it |
17:39.06 | DocScrutinizer05 | pathetic |
17:40.39 | bencoh | well ... |
17:40.57 | DocScrutinizer05 | sure, no sourcecode, no proper docs, "Licence: Nokia" http://maemo.org/packages/package_instance/view/fremantle_nokia-binaries_explicit_armel/libplayback-1-0/0.5-21+0m5/ |
17:43.18 | DocScrutinizer05 | well rather http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Multimedia_Domain#Policy_Subsystem than *#libplayback |
17:44.10 | DocScrutinizer05 | >>The policy engine is based on the OHM framework. It is dynamically configurable with scripting and a prolog based rule database.<< BWAHAAHAA |
17:45.23 | DocScrutinizer05 | this sounds as if *user* or *developer* could (dynamically) configure that stuff. Prolly pretty hard since it's closed blob and zilch documentation |
17:45.59 | DocScrutinizer05 | iirc Pali 'disassembled' the prolog rule database |
17:46.47 | Pali | ohm is open source |
17:46.57 | DocScrutinizer05 | basically all that is the reason why we want to stay 100% hw-compatible to N900 in Neo900 |
17:47.02 | Pali | but without proper documentaion |
17:47.15 | Pali | and prolog code is without any documentation or comments |
17:47.18 | Pali | and also is closed |
17:47.39 | Pali | you need to know internals of swi prolog interpreter if you want to change some prolog code |
17:48.02 | Pali | and yes, I disassembled that prolog code, it is in git cssu repository |
17:48.12 | DocScrutinizer05 | :nod: |
19:14.28 | *** join/#neo900 DougLashz (~dal@gateway/tor-sasl/douglashz) |
19:16.46 | freemangordon | DocScrutinizer05: maybe we can try to wrap nokia modules, though I have no idea how to test those |
19:26.15 | *** join/#neo900 norly (~norly@enpas.org) |
20:07.05 | jonwil | ok, so all this discussion, what have we figured out? |
20:12.06 | freemangordon | jonwil: aiui - we have a couple of options (wrap nokia libs, use meego libs with REed missing parts, RE all) |
20:12.39 | freemangordon | I think it is too early to make the final decision |
20:13.43 | freemangordon | I *think* that REing stock libs wouldn't be that hard |
20:14.42 | freemangordon | as in reality only a couple of function would need to be figured out, most of the code is already FOSS |
20:14.48 | freemangordon | *functions |
20:15.11 | jonwil | Did you find a copy of the meego blobs? |
20:15.42 | freemangordon | no, but I didn't search further |
20:16.14 | freemangordon | hmm, lemme check, there should be meego image somewhere here |
20:17.15 | jonwil | if we can find the meego blobs AND the matching pulseaudio-modules-meego version, that would be nice, we could compare those version numbers to the harmattan blobs and harmattan pulseaudio-modules-meego |
20:17.46 | freemangordon | I think they are the same |
20:19.59 | jonwil | they are not, harmattan SDK has version 0.9.19.0-27 of pulseaudio-meego, meego repo has version 0.9.19.0-34 |
20:20.42 | freemangordon | there are tags of the older version |
20:20.46 | freemangordon | s |
20:20.49 | jonwil | yes there are |
20:20.56 | jonwil | but we dont know which version the blobs correspond to |
20:21.16 | jonwil | having the meego blobs and their version will let us see how that matches to the harmattan blobs |
20:22.37 | jonwil | the harmattan blobs have the debug packages that might help with reing things |
20:25.49 | freemangordon | jonwil: we don;t need that IMO, the best is to take https://gitorious.org/maemo-multimedia/pulseaudio-modules-meego/source/219b7b06afd2ecc2e2062904582f262a7ebe413c: as a base and add the missing parts by REing |
20:30.15 | jonwil | The harmattan bits are more open than whats in the MeeGo tree from what I can tell |
20:30.54 | freemangordon | what is more open? |
20:33.41 | jonwil | hmmm seems like no the open bits aren't more open than the latest MeeGo tree, just more open than the tree you linked to just there |
20:34.15 | freemangordon | it is the tree initial state |
20:34.21 | jonwil | yeah that I know |
20:34.35 | jonwil | stuff was opened between that tree and the latest tree |
20:34.40 | jonwil | e.g. parts of parameters |
20:34.51 | jonwil | and also sidetone |
20:35.42 | freemangordon | hmm, makes sense then to use newer tree |
20:35.58 | freemangordon | but we'll also have to upgrade PA as well |
20:38.07 | jonwil | Even the initial meego tree uses a newer pulseaudio |
20:38.29 | freemangordon | yep |
20:38.31 | jonwil | the packaging stuff says it needs at least version 0.9.19-1maemo1 of libpulse-dev and pulseaudio-dev |
20:38.52 | freemangordon | yes, but I am sure we can downgrade. if we want |
20:43.44 | jonwil | were you able to find the meego blobs? |
20:43.51 | freemangordon | still no |
20:53.13 | freemangordon | I found meego image on repository.maemo.org :) |
20:56.04 | jonwil | great |
20:58.19 | freemangordon | jonwil: do we need hardfp or softfp? |
20:58.26 | jonwil | not sure |
20:58.36 | jonwil | not sure which is easier to RE |
20:58.49 | freemangordon | I think softfp will be easier |
20:59.08 | freemangordon | as parameters are passed through CPU reg, not FPU |
20:59.22 | freemangordon | so IDA will be able to grok them |
20:59.28 | kerio | isn't softfp slightly slower? |
20:59.49 | freemangordon | it is, when it comes to calling Fp function |
21:00.06 | freemangordon | but maemo os softfp, so we have no option |
21:00.09 | freemangordon | *is |
21:02.58 | jonwil | ok, so Fremantle shipped version 0.9.15.0-49+0m5 of the blobs. The changelog for the Harmattan SDK blobs indicates that it went from 0.9.15.0-44 to 0.9.19.0-1 (with 0.9.19.0-1 being where the work to separate the blobs out into closed and open began) |
21:04.30 | freemangordon | so, that supports my theory that the initial tree is very similar to what we have in fremantle |
21:04.59 | freemangordon | minus the closed parts ofc |
21:05.13 | freemangordon | hmm, how to mount that image? |
21:06.43 | freemangordon | hmm, kpartx |
21:06.48 | jonwil | ok, so the first changelog entry in pulseaudio-meego (version 0.9.19.0-1) says Sat, 10 Apr 2010 |
21:07.07 | freemangordon | yep |
21:07.21 | freemangordon | this is the time of the initial commit |
21:08.03 | jonwil | reading pulseaudio-nokia changelog from harmattan, we see a 0.9.19.0-1 dated Wed, 18 Nov 2009 |
21:08.18 | jonwil | which says "Divide modules to meego and nokia name spaces" |
21:08.30 | jonwil | then the next entry is 0.9.19.0-2 on Sun, 11 Apr 2010 |
21:08.38 | jonwil | which says "Cut out meego modules, leave nokia modules" |
21:09.23 | jonwil | So I suspect that the initial tree we have for pulseaudio-meego is pulseaudio-nokia 0.9.19.0-1 minus the closed code |
21:09.37 | freemangordon | yep |
21:10.14 | freemangordon | most of the files have "this file is a part of pulseaudio-modules-nokia" still |
21:10.21 | jonwil | the only question is whether we can find any blobs older than the harmattan SDK 0.9.19.0-24+0m6 version |
21:10.37 | jonwil | in case those are easier to RE against that initial tree |
21:10.45 | freemangordon | I guess yes, but what is your idea? why do we nned them? |
21:10.50 | freemangordon | aah, I see |
21:13.24 | freemangordon | ok, I mounted that meego image |
21:13.29 | jonwil | ok, great |
21:13.44 | freemangordon | in pulse-0.9.22 there are 3 nokia modules |
21:14.07 | freemangordon | but I guess this is to new for us, will download an older image |
21:15.44 | jonwil | yeah grab the oldest image you can find, see how old we can go |
21:16.12 | jonwil | harmattan has version 0.9.19.0-24+0m6 of the blobs |
21:17.38 | freemangordon | the oldest is from 18-Apr-2011 :( |
21:18.05 | freemangordon | that is too new IMO |
21:21.31 | freemangordon | jonwil: I have to to to sleep, will continue tomorrow. However, I still think we can base our work on that initial tree state and simply RE what is missing. it is not that much, iiuc |
21:21.37 | jonwil | ok |
21:21.42 | freemangordon | night |
21:21.43 | jonwil | I am sure we can figure it out |
21:21.58 | freemangordon | yep, just fire up IDA against voice module |
21:22.07 | freemangordon | you'll see what I mean |
21:22.21 | freemangordon | (not telling you to RE it :) ) |
21:23.24 | bencoh | :] |
21:33.00 | *** join/#neo900 menesas (~newsbeute@ctv-217-147-37-37.vinita.lt) |
22:34.36 | *** join/#neo900 mvaenskae (~mvaenskae@unaffiliated/mvaenskae) |
22:47.15 | Oksana | Good morning. |
23:52.52 | *** join/#neo900 b1101 (~b@fsf/member/b1101) |