IRC log for #neo900 on 20140930

00:00.35DocScrutinizer05awesome
00:00.48jonwilWill we be using Nokia BME as part of NeoFremantle? I am guessing not.
00:02.31xesremoving 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.14DocScrutinizer05jonwil: nope, we need a more stripped-down version. The charger chip basically doesn't need any BME to work
00:04.02DocScrutinizer05you *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.24DocScrutinizer05xes: inded
00:04.32DocScrutinizer05xes: indeed*
00:06.22xesnow it's time to meet the bed... good night!!
00:07.23jonwilmy next job is to play around further with the cellular stuff and document which bits need to be replicated for NeoFremantle :)
00:08.07DocScrutinizer05xes: good night! have a pleasant rest! :-)
00:13.36freemangordonDocScrutinizer05: jonwil: even on n900 BME is no longer a must
00:14.03jonwilyep, I know :)
00:14.16DocScrutinizer05freemangordon: some process doing the bq24150 is a must for N900 or it won't charge
00:14.44freemangordonDocScrutinizer05: i meat with the upstream kernel :)
00:14.51freemangordon*meant
00:14.53DocScrutinizer05on Neo900 you could get away with nothing at all taking care about charging
00:15.18freemangordonI heard the same
00:16.13freemangordonjonwil: http://talk.maemo.org/showpost.php?p=1441010&postcount=27
00:16.32freemangordonI know you know nothing about PA as well
00:16.41DocScrutinizer05check datasheet of bq24297
00:16.53freemangordonbut I still need someone to test the stuff
00:17.03freemangordonDocScrutinizer05: i am not arguing
00:17.12freemangordonjust kidding
00:17.28jonwilI also know nothing about pulseaudio
00:17.28DocScrutinizer05no argument, just a recommended reading
00:17.33freemangordon(/me is a couple of jacks ahead)
00:17.38freemangordonnot now
00:17.48freemangordonit is 3:17 here
00:17.58DocScrutinizer05yeah, and I'm short on that, and it's prolly too late. Got my shoes tied, afk
00:18.16freemangordonand I am still a couple of jacks ahead :)
00:18.37freemangordonyeah, too late to start with our uncle
00:18.51freemangordonthe talk that is
00:19.45freemangordonjonwil: sure, my point is that this is ot a task for asingle person
00:19.51freemangordon*not
00:20.01jonwilyeah
00:20.18freemangordonand I am not afraid of the vfp/neon stuff
00:21.01freemangordonI know I can RE it, but I have NFC how to test it
00:22.00freemangordonjonwil: we (whoever we are) should gather for the more complicated stuff
00:22.39freemangordonnot that I can't RE everything in a matter of 6 months or so
00:23.11jonwilyes we should
00:23.24jonwilI for one am going to focus next on the cellular stack because that's important for the system
00:25.23freemangordonis going to have some rest
00:25.23freemangordonnight
00:27.36jonwiloooh, this might be interesting. http://mirror.thecust.net/harmattan-dev.nokia.com/pool/harmattan/nokia-binaries/41667a5bd857be02f487c2ce806fbf85/nokia-binaries/p/pulseaudio-nokia/
00:27.49jonwilHarmattan SDK repo has debug packages for harmattan version of pulseaudio-nokia
00:28.52DocScrutinizer51~ping
00:28.52infobot~pong
00:29.15freemangordonjonwil: that would makke REing even easier
00:29.21freemangordon*make
00:29.24jonwilyeah
00:29.42DocScrutinizer51it's invaluable to have a decent bar next door that's open at 2:30
00:29.43DocScrutinizer51:!
00:30.06freemangordonbut still, I miss the knwledge on how to test it :(
00:30.17freemangordondoc: cheers
00:30.46freemangordonnaah, i have to take some sleep
00:30.53freemangordonreally, night
00:30.59DocScrutinizer51cheers :)
00:31.17DocScrutinizer51and n8
00:32.47jonwilGoing to see what else that SDK has that might be interesting...
00:33.17DocScrutinizer51dang roaming
00:33.47DocScrutinizer51freemangordon: cheers and n8
00:34.42jonwiloooh its has a dev package for libsysinfo
00:35.16DocScrutinizer51libsysifo prolly a nobrainer
00:35.20jonwilyep
00:35.22jonwilprobably
00:36.28jonwilI wonder if there are rx71 schematics out there and how different the audio systems on both bits of hardware are
00:36.38jonwili.e. N900 vs N9
00:39.06jonwilprobably quite different I suspect
00:39.53DocScrutinizer51there is N9 schematics, yes
00:40.19DocScrutinizer51audio, hmmm
00:40.46DocScrutinizer51sorry can't recall off top of my head
00:41.32DocScrutinizer51must be sufficiently different so Ididn't reference to it so far
00:42.57DocScrutinizer51google for 'nokia n9 schematics', ping me ifyou can't find anyting
00:43.07jonwilyeah I just saw them and they look different
00:43.38jonwilIn 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.48DocScrutinizer51I'm quite sure they don't use 320aic34
00:47.10DocScrutinizer51bug: in simple brightness applet you got a prolly linked in 'slider' with 5 steps, in status menu
00:47.30jonwilI 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.04DocScrutinizer51thisslider switches to N-1 when you click to left halfof N-1
00:49.04DocScrutinizer51it SOULD switch to N wshen touching *anywhere* in N
00:57.20DocScrutinizer51~ping
00:57.20infobot~pong
01:08.15DocScrutinizer05hmm, even that good bar closed now
01:08.45DocScrutinizer05has a short glance at N9 schematics
01:10.23DocScrutinizer05yeah, what I guessed: they are using companion chip (TPS65951) for audio
01:11.22DocScrutinizer05on N900 we have TPS65950 (sufficinetly similar, has kbd matrix scanner) but it's not used for audio
01:11.39DocScrutinizer05a pity
01:12.09DocScrutinizer05we 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.01jonwilHmmm, I wonder which other bits of the system other than PulseAudio care about the 320aixc34
01:41.35jonwilI 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.55jonwilJust a thought, I know not very much about pulseaudio or how it works
01:42.45jonwilthat 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.57DocScrutinizer05that's exactly the problem
01:49.00jonwilok, lets experiment and see who links to libpulse*
01:53.41jonwilhmmm, 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.59jonwilby 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.52jonwilhttp://talk.maemo.org/showthread.php?p=1441077#post1441077
02:58.01DocScrutinizer05sounds good
02:58.10DocScrutinizer05or... correct
03:02.03jonwilNeed some input from people who know more about this stuff than me :)
03:02.30jonwilwe 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.58jonwilThe more I look at it, the more I am convinced the audio idea I had is worth investigating further
08:34.19freemangordon_jonwil: afaik the reason Nokia has preferred aic over twl is the audio quality
08:34.50jonwilbut in the N9 they used the TPS6595x
08:35.00freemangordon_is N9 stereo?
08:35.12freemangordon_the speakers I mean
08:37.42jonwilnot sure, reading schematics is not my strong point
08:40.15freemangordon_hmm, seems n9 is mono
08:40.33jonwilhmmm
08:40.50freemangordon_http://en.wikipedia.org/wiki/Nokia_N9#Audio_and_output
08:41.01jonwilDoes the TPS6595x we are using support stereo?
08:41.10jonwilthe one we have in the Neo900 that is
08:41.43freemangordon_jonwil: wait, afaik neo will use aic. though my info caould be oboleted
08:41.51freemangordon_*could
08:42.04jonwilwhat I meant is that we have a TPS69595x chip in the Neo900 which we could use
08:42.26jonwilbut 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.30jonwilMy 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.52jonwil<PROTECTED>
08:45.58freemangordon_jonwil: wouldn't it be better to use the open-sourced n900 bits in meego and to RE what is needed
08:46.26freemangordon_I still hope we to have one distribution for both n900 and neo900
08:47.03jonwilWe 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.31freemangordon_sure they are not, thus "RE what is needed"
08:47.57freemangordon_but look at this:
08:47.58jonwiland 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.48freemangordon_(just a second, my inet is on 2G :) )
08:49.07jonwil:)
08:49.26enycHangon... single distro?  Will it be posible to have separate base/flash image, but then share most of the extras package repositories ???
08:49.46freemangordon_https://gitorious.org/maemo-multimedia/pulseaudio-modules-meego/source/219b7b06afd2ecc2e2062904582f262a7ebe413c:src/cmtspeech/cmtspeech-connection.c
08:49.56freemangordon_"This file is part of pulseaudio-nokia"
08:50.44freemangordon_jonwil: we have most of the stuff there, with only a couple of bits missing (xprot, xprot-ambient-temp and (maybe) eq)
08:51.49freemangordon_the sourcecode of libcmtspeech (or whatever it was called) is available
08:52.40jonwilyes that is true
08:54.23jonwilIf 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.21jonwilIts 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.39jonwilmeaning we dont know where those blobs fit in terms of matching to what the N900 shipped
09:00.46freemangordon_yep, and we have that closed bit in a binary form :)
09:00.49freemangordon_*bits
09:01.00jonwilyeah we do have the closed bits
09:01.14jonwiland we have the nice bits from the N9 SDK with the debug packages that we can play with
09:01.16freemangordon_oh, sure we know, open your IDA db for the voice module (for example)
09:02.11jonwilok, and?
09:02.36freemangordon_there are lots of assert() calls with filenames and line numbers
09:02.36freemangordon_and even the function names are not stripped
09:02.49jonwilok
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.01freemangordon_It seems I'll have to swith to my backup device soon :(
09:05.30freemangordon_I think the USB port of my primary is getting too loose
09:06.42jonwilI am being careful with my N900 to avoid USB port breakage
09:07.16freemangordon_no, it is not broken(IMO), just loose
09:07.34jonwilI am not sure if mine is loose or not
09:08.32freemangordon_btw do you have n900 meego closed blobs?
09:08.40jonwilthe 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.43freemangordon_I can't find them over the inet
09:08.46jonwiland no I dont think I do
09:12.16jonwilbtw 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.24jonwilat least that's what the changelog I have for it indicates
09:13.02freemangordon_oh, module-nokia algorithm-xprot is 33k .so
09:13.09freemangordon_in harmathan
09:16.04jonwilwhere do you see that?
09:16.13jonwiloh wait
09:16.17jonwilI see now I think
09:17.34freemangordon_http://mirror.thecust.net/harmattan-dev.nokia.com/pool/harmattan/nokia-binaries/41667a5bd857be02f487c2ce806fbf85/nokia-binaries/p/pulseaudio-nokia/
09:18.15jonwilyeah I see
09:19.16jonwilmy "pull the harmattan SDK stuff to see whats interesting" hasn't gotten that far, its still doing free/p/* :)
09:19.39jonwilsomewhere in some python bits by the look of it :)
09:19.58jonwilsome of these packages are huge
09:20.00freemangordon_:)
09:20.20jonwilI expect it will soon hit qt stuff and that is big
09:20.44freemangordon_anyway, I gtg, bye for now
09:20.48jonwilok
09:20.49jonwilcya
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.23DocScrutinizer05((<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.26ShadowJKAt 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.41jonwilI 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.05DocScrutinizer05jonwil: (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.08DocScrutinizer05interfaces, which apart from not being default in dialer should integrate just as well into fremantle as cellular does
14:14.36DocScrutinizer05once 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.29DocScrutinizer05the latter being extremely simple: just use another ALSA device
14:18.28DocScrutinizer05see http://linuxplumbersconf.org/2009/slides/Jyri-Sarha-audio_miniconf_slides.pdf for what libcmtspeech probably does and whet we wouldn't need
14:21.15DocScrutinizer05ignore 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.10DocScrutinizer05the 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.36DocScrutinizer05our modem can do both PCM master and PCM slave, and neither mode needs special timing adjustments
14:33.15DocScrutinizer05so 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.43DocScrutinizer05the 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.48DocScrutinizer05see p.15 of http://linuxplumbersconf.org/2009/slides/Jyri-Sarha-audio_miniconf_slides.pdf , note the "voice module" bubble
14:50.29DocScrutinizer05"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.10DocScrutinizer05"SSI up/down-link" is prolly libcmtspeech
14:53.52DocScrutinizer05I 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.48freemangordonDocScrutinizer05: yes, module voice integrates xprot, xprot-ambient-temperature and eq
15:15.04DocScrutinizer05:-)
15:15.27freemangordonmost probably echo cancelation is there as well, under some cryptic name
15:15.29DocScrutinizer05one or two of my brain's synapses seem to still work
15:16.15DocScrutinizer05cryptic name: *AEC*
15:17.23freemangordonyou're genius :P
15:17.37DocScrutinizer05(Acoustic|Adaptive|automatic) Echo Cancellation
15:17.52freemangordonthere is a function called aec_MainfilterUpdate
15:18.15freemangordonand 2 more starting with aec_
15:19.05freemangordonwhat would be AEP then?
15:19.20DocScrutinizer05ManfilterUpdate sounds like "Adaptive"
15:19.42DocScrutinizer05Acoustic Enhancement Pullsht
15:19.53freemangordonhmm?
15:19.59DocScrutinizer05Processor?
15:20.22freemangordonI gues no, the function is aep_variable_trace
15:20.29DocScrutinizer05all sorts of equalization, compression, noise gate, whatnot else
15:20.51freemangordonanyway
15:20.56DocScrutinizer05Nokia's most valuable IP
15:21.19freemangordonBTW, what I see is that they compiled all that code with armcc, not with gcc
15:21.33freemangordonwith -O3 and auto-vectorization turned on
15:21.51DocScrutinizer05toldya, hexrays might get confused due to that
15:21.59freemangordonno, no, it is fine
15:23.17freemangordonthis explains why the binaries are so big (loop unrollment, etc), besides libcmtspeec being statically linked
15:23.50freemangordonlibcmtspeechdata that is
15:24.14DocScrutinizer05AAH! A 20 bucks on "P"=proprietary ;-D
15:24.43freemangordon:D
15:24.47freemangordonmakes sense
15:25.14freemangordonbtw, what kind of problems we (and me personally) can expect if I RE this
15:25.16freemangordon?
15:26.05freemangordonas I guess this is one of the top Nokia (now M$) secrets
15:26.18freemangordonin the field of mobile phones
15:27.46freemangordonAFAIK REing is not illegal in EU, ain't?
15:28.38DocScrutinizer05they hardly can sue you when they cannot prove you used a machine generated disassembly
15:29.04DocScrutinizer05REing is allowed to "keep stuff working, which you paid for"
15:29.13DocScrutinizer05(long story short)
15:29.30kerio"this algorithm does lots of magic with the audio to make it better" and then 4 pages of asm
15:29.39DocScrutinizer05LOL
15:30.04kerio"i swear i wrote this, your honor"
15:30.27bencoh:D
15:31.12freemangordonkerio: 4 pages?
15:31.24kerioA4 paper, 10pt
15:31.27freemangordonI'd say 40 or even 100
15:31.29DocScrutinizer05we 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.35keriowhatevs
15:31.42kerioit depends on how small you print :P
15:31.50freemangordonhehe
15:32.57freemangordonDocScrutinizer05: won't work with upstream kernel IMO
15:33.07DocScrutinizer05we don't really want to RE AEP, we just might want to use it, right?
15:33.46freemangordontoo much changes in BSP and I am not sure supporting out of tree patches will be easier than REing it
15:34.48freemangordonmaybe I will just slowly start REing that
15:35.05freemangordonjonwil: is there a way to load IDA with function prototypes?
15:35.35DocScrutinizer05when AEP is what I think it is, you will suffer severe headache from trying to RE it
15:36.32freemangordonDocScrutinizer05: well, it is lots of NEON code, but it is not exactly rocket science
15:37.03DocScrutinizer05it's probably huge, complex, nifty, abysmally obfuscated, and not exactly easy to understand the purpose anyway
15:38.03DocScrutinizer05on a completeöly different topic: do we have a touchdown? or bounced it off the asteriod's surface?
15:38.15freemangordonno, for example function aec_MainfilterUpdate is about 20 instructions, including prolog end epilog
15:38.33freemangordonhmm?
15:38.46freemangordonwhat I have missed?
15:39.12DocScrutinizer05touchdown expected for exactly 60 minutes ago. RF transfer time: 20 min
15:39.43DocScrutinizer05(some minor outer space mission)
15:41.58DocScrutinizer05http://www.3sat.de/page/?source=/nano/weltraum/174499/index.html
15:42.27DocScrutinizer05>>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.37DocScrutinizer05oops
15:42.54freemangordonhmm, how a function called a_aec6_af_apply sounds to you? about 100 lines of decompiled code :)
15:42.57DocScrutinizer05why did I think today was Nov.12. ?
15:43.06freemangordonI have NFC doc
15:43.12freemangordonbut it is not :)
15:43.17DocScrutinizer05need more coffee
15:43.47freemangordonwhat about the ^^^ function?
15:44.40DocScrutinizer05*shrug* has AEC in it, hardly more I can say, maybe "sounds like 'inner' function, where stuff happens"
15:46.14DocScrutinizer05actually it's highly questionable if we need all that - P*S8 has its own AEC built in
15:46.57DocScrutinizer05of course for VoIP it's still a "nice to have"
15:47.33DocScrutinizer05there are FOSS AEC algos, twinkle used a (RTP?) lib that came with some echo cancellation
15:47.53DocScrutinizer05never looked into it
15:48.02DocScrutinizer05since I know how it works
15:52.47DocScrutinizer05Aaah! 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.58DocScrutinizer05what 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.42DocScrutinizer05freemangordon: http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Multimedia_Domain#EAP_and_AEP
16:03.59freemangordonI see
16:08.15DocScrutinizer05the whole page is highly recommended to read prior to acquiring headache from RE of any audio blobs
16:08.37freemangordonyeah
16:25.38DocScrutinizer05http://www.webrtc.org/reference/architecture  and *probably* also libccrtp
16:26.21DocScrutinizer05scap webrtc
16:26.36DocScrutinizer05maybe not
16:26.38DocScrutinizer05meh
16:27.07DocScrutinizer05definitely twinklephone offers AEC and it comes with one of the linked libs
16:27.43DocScrutinizer05http://privatepaste.com/44046c8e0a
16:29.58DocScrutinizer05http://twinklephone.com/
16:33.40*** join/#neo900 sixwheeledbeast (~paul@host-78-150-239-48.as13285.net)
16:38.55DocScrutinizer05I'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.53DocScrutinizer05aiui 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.42DocScrutinizer05both*
17:13.41DocScrutinizer05<<subsystem>> core:audio-hw are the alsa soundcards aiui
17:14.18DocScrutinizer05yeah, the <<library>>libalsa suggests that
17:14.36DocScrutinizer05http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Multimedia_Domain#Audio_Subsystem
17:38.57DocScrutinizer05LOL&COUGH @ http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Multimedia_Domain#libplayback and the "documentation" linked in it
17:39.06DocScrutinizer05pathetic
17:40.39bencohwell ...
17:40.57DocScrutinizer05sure, 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.18DocScrutinizer05well rather http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Multimedia_Domain#Policy_Subsystem than *#libplayback
17:44.10DocScrutinizer05>>The policy engine is based on the OHM framework. It is dynamically configurable with scripting and a prolog based rule database.<<  BWAHAAHAA
17:45.23DocScrutinizer05this sounds as if *user* or *developer* could (dynamically) configure that stuff. Prolly pretty hard since it's closed blob and zilch documentation
17:45.59DocScrutinizer05iirc Pali 'disassembled' the prolog rule database
17:46.47Paliohm is open source
17:46.57DocScrutinizer05basically all that is the reason why we want to stay 100% hw-compatible to N900 in Neo900
17:47.02Palibut without proper documentaion
17:47.15Paliand prolog code is without any documentation or comments
17:47.18Paliand also is closed
17:47.39Paliyou need to know internals of swi prolog interpreter if you want to change some prolog code
17:48.02Paliand yes, I disassembled that prolog code, it is in git cssu repository
17:48.12DocScrutinizer05:nod:
19:14.28*** join/#neo900 DougLashz (~dal@gateway/tor-sasl/douglashz)
19:16.46freemangordonDocScrutinizer05: 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.05jonwilok, so all this discussion, what have we figured out?
20:12.06freemangordonjonwil: aiui - we have a couple of options (wrap nokia libs, use meego libs with REed missing parts, RE all)
20:12.39freemangordonI think it is too early to make the final decision
20:13.43freemangordonI *think* that REing stock libs wouldn't be that hard
20:14.42freemangordonas in reality only a couple of function would need to be figured out, most of the code is already FOSS
20:14.48freemangordon*functions
20:15.11jonwilDid you find a copy of the meego blobs?
20:15.42freemangordonno, but I didn't search further
20:16.14freemangordonhmm, lemme check, there should be meego image somewhere here
20:17.15jonwilif 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.46freemangordonI think they are the same
20:19.59jonwilthey 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.42freemangordonthere are tags of the older version
20:20.46freemangordons
20:20.49jonwilyes there are
20:20.56jonwilbut we dont know which version the blobs correspond to
20:21.16jonwilhaving the meego blobs and their version will let us see how that matches to the harmattan blobs
20:22.37jonwilthe harmattan blobs have the debug packages that might help with reing things
20:25.49freemangordonjonwil: 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.15jonwilThe harmattan bits are more open than whats in the MeeGo tree from what I can tell
20:30.54freemangordonwhat is more open?
20:33.41jonwilhmmm 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.15freemangordonit is the tree initial state
20:34.21jonwilyeah that I know
20:34.35jonwilstuff was opened between that tree and the latest tree
20:34.40jonwile.g. parts of parameters
20:34.51jonwiland also sidetone
20:35.42freemangordonhmm, makes sense then to use newer tree
20:35.58freemangordonbut we'll also have to upgrade PA as well
20:38.07jonwilEven the initial meego tree uses a newer pulseaudio
20:38.29freemangordonyep
20:38.31jonwilthe packaging stuff says it needs at least version 0.9.19-1maemo1 of libpulse-dev and pulseaudio-dev
20:38.52freemangordonyes, but I am sure we can downgrade. if we want
20:43.44jonwilwere you able to find the meego blobs?
20:43.51freemangordonstill no
20:53.13freemangordonI found meego image on repository.maemo.org :)
20:56.04jonwilgreat
20:58.19freemangordonjonwil: do we need hardfp or softfp?
20:58.26jonwilnot sure
20:58.36jonwilnot sure which is easier to RE
20:58.49freemangordonI think softfp will be easier
20:59.08freemangordonas parameters are passed through CPU reg, not FPU
20:59.22freemangordonso IDA will be able to grok them
20:59.28kerioisn't softfp slightly slower?
20:59.49freemangordonit is, when it comes to calling Fp function
21:00.06freemangordonbut maemo os softfp, so we have no option
21:00.09freemangordon*is
21:02.58jonwilok, 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.30freemangordonso, that supports my theory that the initial tree is very similar to what we have in fremantle
21:04.59freemangordonminus the closed parts ofc
21:05.13freemangordonhmm, how to mount that image?
21:06.43freemangordonhmm, kpartx
21:06.48jonwilok, so the first changelog entry in pulseaudio-meego (version 0.9.19.0-1) says Sat, 10 Apr 2010
21:07.07freemangordonyep
21:07.21freemangordonthis is the time of the initial commit
21:08.03jonwilreading pulseaudio-nokia changelog from harmattan, we see a 0.9.19.0-1 dated Wed, 18 Nov 2009
21:08.18jonwilwhich says "Divide modules to meego and nokia name spaces"
21:08.30jonwilthen the next entry is 0.9.19.0-2 on Sun, 11 Apr 2010
21:08.38jonwilwhich says "Cut out meego modules, leave nokia modules"
21:09.23jonwilSo 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.37freemangordonyep
21:10.14freemangordonmost of the files have "this file is a part of pulseaudio-modules-nokia" still
21:10.21jonwilthe only question is whether we can find any blobs older than the harmattan SDK 0.9.19.0-24+0m6 version
21:10.37jonwilin case those are easier to RE against that initial tree
21:10.45freemangordonI guess yes, but what is your idea? why do we nned them?
21:10.50freemangordonaah, I see
21:13.24freemangordonok, I mounted that meego image
21:13.29jonwilok, great
21:13.44freemangordonin pulse-0.9.22 there are 3 nokia modules
21:14.07freemangordonbut I guess this is to new for us, will download an older image
21:15.44jonwilyeah grab the oldest image you can find, see how old we can go
21:16.12jonwilharmattan has version 0.9.19.0-24+0m6 of the blobs
21:17.38freemangordonthe oldest is from 18-Apr-2011 :(
21:18.05freemangordonthat is too new IMO
21:21.31freemangordonjonwil: 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.37jonwilok
21:21.42freemangordonnight
21:21.43jonwilI am sure we can figure it out
21:21.58freemangordonyep, just fire up IDA against voice module
21:22.07freemangordonyou'll see what I mean
21:22.21freemangordon(not telling you to RE it :) )
21:23.24bencoh:]
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.15OksanaGood morning.
23:52.52*** join/#neo900 b1101 (~b@fsf/member/b1101)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.