IRC log for #htc-linux on 20080614

00:31.22*** join/#htc-linux mistadman (n=mistadma@adsl-250-197-204.msy.bellsouth.net)
00:54.05Kevin2dcordes: pong
00:54.34Kevin2dcordes: mmutrace wasn't really designed for tracing 4K pages - but I don't think it is broken.
00:55.11mistadmanHey Kevin2: Whats a mmutrace?
00:55.48*** join/#htc-linux surgex (i=surge@pool-71-186-163-107.bflony.fios.verizon.net)
00:56.24Kevin2mistadman: http://www.handhelds.org/moin/moin.cgi/HaRET_20Documentation?action=highlight&value=haret
00:59.33mistadmanKevin2: Thanks dude! This is exactly what I was looking for. Quote: "ability to trap WinCE reads and writes to memory locations"
01:00.21mistadmanI am trying to figure out the DPRAM and WIFI Mem maps on the Athena
01:00.26mistadmanThanks!
01:01.02mistadmanI have been able to make decent progress on my port of Android for the Athena: http://forum.xda-developers.com/showthread.php?t=393389
01:01.59mistadmanJust using the info on the Athena Research page. But some info was missing... The info you gave me should help fill in the gaps. Thanks!
01:02.20Kevin2mistadman: No problem.  The haret tool has lots of hooks for finding info.
01:02.48mistadmanAre you pretty experienced at it?
01:02.57mistadmanmmu tracing that is...
01:03.14Kevin2Yeah.  I wrote the code for it.
01:03.38mistadmanDont I feel like an Idiot!
01:03.42mistadman:-(
01:03.53Kevin2Not at all.
01:18.59mistadmanOk Kevin2. Looks good.
01:19.19mistadmanLooks like my output doesnt match the documentation:
01:19.23mistadman009110: 0297729c: mmutrace 039ffdb0: e1d20cba(ldrh) a9203fca 0000019f (00000000)
01:20.17Kevin2mistadman: You need to use haretconsole.
01:20.27mistadmanOk
01:20.39mistadmanI have it... BRB
01:22.06*** join/#htc-linux dcordes_ (n=dcordes@unaffiliated/dcordes)
01:26.01mistadman018.530(0000020) 03a14e20: e1d230b0(ldrh)        # a9203fca==0000011a
01:26.09mistadmanThere we go. Thanks!
01:27.07*** join/#htc-linux dcordes__ (n=dcordes@f049002040.adsl.alicedsl.de)
01:29.25mistadmanKevin2: Is there a way to script the commands so I would not have to retype all those commands?
01:30.04Kevin2Nothing built in - I just put the commands in a text file and then cut and paste them into haretconsole.
01:30.32mistadmanIf it works, sounds good to me. Let me try... BRB
01:31.46Kevin2Oh, if you want to put the text file on the device, you can tell haret to run a script on the device too.  I don't use that much.
01:32.09*** join/#htc-linux dcordes_1 (n=dcordes@f048034131.adsl.alicedsl.de)
01:32.36mistadmanIs the script basically just a list of command or is it written in python like your console?
01:32.47mistadmans/command/commands/
01:33.51Kevin2Just a text file with a series of haret commands.
01:37.11*** join/#htc-linux dcordes_2 (n=dcordes@g227177223.adsl.alicedsl.de)
01:37.14mistadman009.999(0019285)     IRQS    GEDR1: GPIO35(99)=1
01:37.22dcordes_2Kevin2: so you think the 4K registers should not be a problem?
01:38.21Kevin24k registers?
01:39.28Kevin2Running mmutrace on registers is generally not a problem.  Running mmutrace on 4k pages of system memory can be a bit tricky.
01:39.34dcordes_2pages
01:40.10dcordes_2the big problem in kaiser developement is we can't find out the smem registers
01:40.37Kevin2But, I don't know of any problems with it - you should be able to set "permissivemmutrace" and try it.
01:42.07*** join/#htc-linux dcordes_ (n=dcordes@unaffiliated/dcordes)
01:42.14Kevin2There is a good chance your not watching all of the addresses of the smem stuff - with "dump mmu" not working, you might not be seeing a full picture of the system.
01:45.13dcordes_Kevin2: I will reconstruct right now after a reboot
01:45.18dcordes_maybe you could look at the output
01:53.40*** join/#htc-linux dcordes__ (n=dcordes@g227194027.adsl.alicedsl.de)
01:54.03dcordes__needs a new gateway
01:56.56*** join/#htc-linux mistadman (n=mistadma@adsl-250-197-204.msy.bellsouth.net)
01:57.06dcordes__Kevin2: can you help me testing?
01:59.08dcordes__Kevin2: I'm not sure about what to do
01:59.51*** join/#htc-linux tsdogs (n=tsdogs@62.123.180.130)
02:01.37mistadmanKevin2: Can you decode this: 007277: 0082c200: mmutrace 03a007c0: e7d33009(ldrb) a92001ed 0000002b (00000000)
02:01.50mistadmanWhat does each column mean
02:02.11mistadmanI know ldrb = Load Register Byte
02:02.22mistadmanwhat is the dest reg
02:02.31mistadman00000002b
02:02.33mistadman?
02:03.00mistadmanFirst column = Time
02:03.39dcordes__The first column reports the time of the event, the second column shows the address of the instruction that caused the access, the next section shows an assembler representation of the instruction, and the final section shows the address of the memory accessed along with the value that was either read or written.
02:04.00mistadmanGot it. Thanks
02:05.27Kevin2dcordes__: I'm not sure what I can do to help.
02:09.15dcordes__http://wiki.xda-developers.com/index.php?pagename=KaiserMemoryMap how would I usually trace the complete 1M of smem?
02:10.21Kevin2I don't see "smem" on that page.
02:10.32dcordes__<PROTECTED>
02:10.36dcordes__sorry
02:11.03dcordesI did it with p2v(0x01f00000) 0x? before not sure if that's right
02:11.35Kevin2Sounds like you'd want "addlist mmutrace 0xb5100000 1024*1024".
02:12.53Kevin2The problem is, there may be other memory maps to 0xb5100000 that you aren't watching.  With "dump mmu" not working, you may not have a good description of the Kaiser memory map.
02:13.26dcordes000.157 0b907c38: e5933000(ldr)         # b51fc00c==00000000
02:13.27dcordes000.157 0b907c38: e5933000(ldr)         # b51fc00c==00000000
02:13.43dcordesKevin2: we have the mmu dump
02:14.19dcordesthere are three regions in mmu dump that map to 0x01f00000
02:14.25dcordeswhat are those 3 lines?
02:16.09dcordeswhen I turn the phone on and off (which produces massive AT in/out traffic) they keep reappearing
02:16.13dcordessimilar ones
02:16.48dcordeshttp://rafb.net/p/brrk9D56.html
02:16.53mistadmanHey dcordes... Look like we are both in the same boat.
02:17.10mistadmanI am trying to get the phone working on the Athena under Android
02:17.14dcordesmistadman: yes does athena have similar smem interface?
02:17.27mistadmanIt uses DPRAM
02:17.37mistadmanhttp://wiki.xda-developers.com/index.php?pagename=AthenaMemoryMap
02:18.09dcordesmistadman: looks similar. what is the DP for?
02:18.39mistadmanDual-ported
02:18.42Kevin2dcordes: Those lines are the memory trace reports.  They represent reads and writes to the memory.
02:18.53mistadmanhttp://www.google.com/url?sa=t&ct=res&cd=1&url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FDual-ported_RAM&ei=cSpTSNvzDIPeerm_pO0P&usg=AFQjCNGMRSPV-q--pa867foDTq_smAPkLg&sig2=GI7FmI0AlWXiSmAWOrjzeg
02:18.56dcordesKevin2: sounds like what we were looking for all the time on kaiser?
02:19.03Kevin2If you have three regions, you need to add all three to the "addlist mmutrace" commands.
02:19.46dcordesKevin2: maybe it didn't work before because of the p2v
02:19.50Kevin2dcordes: I don't know what you were looking for - but yes, that report indicates it works.
02:19.50dcordesI never have seen those lines before
02:20.03dcordesalways put the phys address
02:20.31Kevin2If you know the virtual address, you're better off stating it explicitly.  Again, if you have three maps, you need to explicitly state all three maps.
02:20.51Kevin2What does "dump mmu 2 0x01f00000 1024*1024" report?
02:21.12dcordesone second. I'm doing a fresh mmu dump
02:22.46dcordesKevin2: that prints a list with 4K pages
02:23.13dcordeswith physical addresses in the 0x01f* area
02:23.41dcordeshttp://rafb.net/p/n1TYZC20.html
02:25.15dcordesKevin2: here's the full mmu dump http://linuxtogo.org/~lgorris/mmudump.txt
02:26.38dcordes4a20a000->4a30b000 maps to 01f*
02:28.09dcordesthen there is also  4fc00000 | 01f6a000 |  Small (4K) |    AP=3000
02:28.33dcordes<PROTECTED>
02:29.15dcordes95100000  | 01f00000 | 1MB section | D=0    AP=1 ?=7000
02:29.20Kevin2So, you want to add all of those to mmutrace.
02:29.29dcordesb5100000  | 01f00000 | 1MB section | D=0    AP=1 ?=7000
02:29.38dcordesthat's it
02:30.12dcordes1024*1024 <- does that mean 1MB?
02:30.17Kevin2Yes.
02:30.22dcordeswhatis 4K?
02:30.26Kevin24*1024
02:30.40dcordesah ok makes sense :)
02:30.44dcordesI'm stupid
02:31.38mistadmanStill doesnt make sense to me. What does that make me :-p
02:31.58mistadmanNever mind
02:32.00mistadmanI got it
02:32.01Kevin2You can combine 4a20a000 - 4a30b000 into one map.   Something like: addlist mmutrace 0x4a20a000 (0x4a30c000 - 0x4a20a000)
02:34.37dcordesyou read my mind. That's what I wanted to ask
02:35.16dcordesso I have the two 1MB areas, two 4K and that one
02:36.30dcordesok now I have something I had before when I poked around with random values from the mmu dump
02:36.39dcordesafter Replacing windows exception handlers...
02:36.39dcordesFinished installing exception handlers.
02:36.54dcordesI don't get any further output on the console and the phone seems frozen
02:37.18dcordesyes it's locked up
02:37.56dcordesKevin2: could you look if I did a severe mistake? http://rafb.net/p/HpcjlF33.html
02:39.49Kevin2dcordes: Looks okay to me.
02:40.20dcordesI did a softreset now and will try all the 4 areas one boy one
02:40.24dcordess/boy/by/
02:40.57Kevin2dcordes: Oh - it locked up.  Yeah - the "set permissivemmutrace" is in there for a reason.  You might want to pull out the 4fc00000 ones.
02:41.46dcordesokay
02:43.23dcordesKevin2: so I only do the two 1M pages?
02:43.47dcordesor also addlist mmutrace 0x4a20a000 (0x4a30c000 - 0x4a20a000)
02:43.49Kevin2That's the safest.  You might also get the 4a.. ones to work..  Only one way to find out.
02:44.27dcordestried with 0xb5100000 and 0x95100000 in now and that works fine
02:44.46dcordesi.e. no lockup after 10 seconds wirq
02:45.42dcordesKevin2: console mourns about objdump missing here and now. Is that a problem?
02:48.17dcordeswhen I turn on bluetooth it spits so many lines, it's giving up
02:50.18Kevin2dcordes: the objdump thing just means you don't see the instruction disassembled.  Are you running haretconsole on linux?
02:50.26Kevin2What do you mean "it's giving up"?
02:50.35*** join/#htc-linux mistadman (n=mistadma@adsl-250-197-204.msy.bellsouth.net)
02:52.34dcordes.....005.861 800592e4: e5952000(ldr)         # b51fc128==00000004
02:52.34dcordes005.861 80066f68: e1403092(swp?)        # b51fc138 =00000002 (b51fc138)
02:52.34dcordes005861: giving up - clearing mapping
02:52.46Kevin2dcordes: bleh.
02:52.47dcordesKevin2: yes ubuntu
02:53.07dcordesthat giving up is after it got spammed with reads/writes while activating bluetooth
02:53.31dcordesI got several different read/writes now turning phone on/off, initializing audio conenction to the modem
02:53.41Kevin2If you have ubuntu, grab the objdump commands from one of the tars - eg, http://www.handhelds.org/~koconnor/haret/haretconsole-20071216.tar.gz
02:53.44dcordesand accessing sim contacts
02:54.24Kevin2It's giving up because it encountered an unknown instruction.  (It's not related to the number of reports it has.)
02:55.21dcordesbash: /usr/bin/arm-linux-objdump: cannot execute binary file
02:56.44Kevin2Hrmm.  I might have packaged a 64bit binary..
02:57.47dcordesshouarm-angstrom-linux-gnueabi-objdump
02:58.00dcordesorg.openembedded.dev/tmp/cross/bin ;)
02:58.16Kevin2Yeah - that'll work - just copy it into the same directory as haret console.
02:58.27Kevin2(and rename it).
02:59.26dcordesok works
02:59.48Kevin2Can you rerun the command that causes the "giving up".
03:00.12dcordesof course it's just turning on bluetooth
03:00.15dcordes(not turning it off)
03:00.29dcordesKevin2: is it possible to cancel a wirq?
03:01.01Kevin2dcordes: Unfortunately, no.
03:02.38dcordesI'm still tracing with the two 1M areas only
03:02.40Kevin2dcordes: If you have one of the haret logs from a previous case, you can just run "./dis.py < oldlog".  That will reprocess the output.
03:03.02dcordesit's finished now
03:03.12dcordesI have to comment a phone trace one second before I forget
03:04.32dcordesok now to bluetooth
03:05.57dcordesKevin2: http://rafb.net/p/fBR8J660.html
03:06.11dcordesoh I'm still tracing with the two 1M regions only
03:07.53Kevin2dcordes: That doesn't have the assembler insns.
03:09.05Kevin2Doesn't really matter - it's 'swpb   r3, r2, [r0]'
03:09.24Kevin2And yeah - mmutrace doesn't support the swp insn.
03:10.09dcordessorry didn't understand that at all
03:10.27dcordeshow can I make sure haret is able to run the program?
03:10.34dcordesoh I still have the 64 bit one in $PATH
03:11.07Kevin2Copy the program to the same directory as haret and rename it to arm-linux-objdump
03:11.19dcordesalready there
03:11.47dcordes-rwxr-xr-x 1 guybrush guybrush 686538 2008-06-14 04:58 arm-linux-objdump
03:11.47dcordes-rwxr-xr-x 1 guybrush guybrush   4038 2008-05-08 14:43 console
03:12.13Kevin2Hrmm.  That's odd.
03:12.49Kevin2Try installing cegcc - for example:  http://downloads.sourceforge.net/cegcc/mandriva-cegcc-mingw32ce-0.51.0-1.i586.rpm?modtime=1196986548&big_mirror=0
03:13.01Kevin2And then remove the arm-linux-objdump from the haret directory.
03:23.06mistadmanKevin2: bash: ./arm-linux-objdump: cannot execute binary file
03:23.29mistadmanis arm-linux-objdump an executable?
03:23.32Kevin2What does /opt/mingw32ce/bin/arm-wince-mingw32ce-objdump  report?
03:23.42dcordesKevin2: it's only rpm and it fscks around with alien
03:24.12Kevin2Hrmm.  I don't know - you can try grabbing the tar.gz and just extracting objdump.
03:24.36mistadmanIs it an executable?
03:24.54mistadmanLinux executable...
03:28.21dcordesdamn sf ./arm-mingw32ce-objdump
03:28.22dcordesUsage: ./arm-mingw32ce-objdump <option(s)> <file(s)>
03:28.36dcordes(the same as the objdump from angstrom toolchain)
03:28.48dcordesI will replace it with the arm-linux-objdump in ./console folder
03:29.00dcordeserr the other way around of course
03:29.37Kevin2dcordes: Do you have a language other than english set for your computer?
03:30.00dcordesyes german
03:30.52dcordes008.977 0b907d2c: e5933000(ldr)         # b51fc00c==00000001
03:31.09Kevin2dcordes: Sometimes the tools give different output when a different language is in use.
03:31.31Kevin2If you run:  LANG=C ./dis < oldlog
03:31.31Kevin2Does that change things?
03:32.04dcordesoldlog is just any haretconsole log?
03:32.08Kevin2Yes
03:32.39dcordeswell what should it do?
03:32.51mistadmanKevin2, dcordes: Can you make heads or tails out of this? http://rafb.net/p/ItUudg56.html
03:33.26mistadmanThis will probably help: http://wiki.xda-developers.com/index.php?pagename=AthenaMemoryMap
03:33.36dcordes008.977 0b907d2c: ldr    r3, [r3]       # b51fc00c==00000001
03:33.39dcordesKevin2: better?
03:33.44Kevin2dcordes: You should see a full description of the instruction - something like: 'swpb   r3, r2, [r0]'
03:33.50Kevin2dcordes: Yes - that is better.
03:34.04dcordesso it's all about the non c standard locale?
03:34.18Kevin2dcordes: Yeah - I should be able to fix it in the script.
03:35.00dcordesI just tried to trace the funny addlist mmutrace 0x4a20a000 (0x4a30c000 - 0x4a20a000)
03:35.10dcordesthing and now only haret/haretconsole froze
03:35.15dcordesnot the phone itself
03:37.23dcordesalthough I closed haret now, the phone is terrible slow
03:37.52dcordesnot that ce had even been fast.. ^^
03:38.09mistadmanHey dcordes... Do you know how to read this: http://rafb.net/p/ItUudg56.html
03:38.34dcordesmistadman: sorry. I'm not sure what to do with my own output at the moment
03:39.17mistadmanYou seem like you know this stuff.
03:39.28dcordesonly semi everything
03:39.52dcordesare you the person from the forum who has 20 htcs?
03:40.16Kevin2mistadman: You asked haret to trap accesses to 0xa9200000 -- it did that, and the log shows all the reads/writes.
03:40.45mistadmanYeah I know that. Now I have to figure out what it all means
03:40.49dcordesKevin2: so the freeze is wanted in a way? There are no accesses shown
03:41.01dcordesoh that wasn't for me
03:41.33dcordesI will try the two 4K pages now
03:41.42mistadmanHow would I go about figuring out what it means?
03:42.05mistadmanIt has to do with AT commands
03:42.55dcordesmistadman: tell me when you found out :P
03:43.20mistadmanWill do. I gonna hack on it all night.
03:43.43mistadmanI just wish I has someone to nudge me along...
03:43.58mistadmanI'll figure it out though.
03:44.30Kevin2dcordes: You can try http://www.handhelds.org/~koconnor/haret/haret-20080613-swp.exe  -- I tried to implement handling of the 'swp' insn - I don't have a test case though.
03:45.32dcordestracing only 0x4fc0c000 4*1024 I get 024.869 02690460: swpb   r3, r2, [r0]   # 4fc0c0b4 =4fc0c0b4 (4fc0c0b4)
03:45.35dcordes024869: giving up - clearing mapping
03:46.05dcordesit is very sensitive to turning the phone on/off
03:46.23Kevin2Is that with the new haret?
03:46.29dcordesno
03:46.37dcordesI will try that in an instance
03:46.55dcordesyes interesting that's one valid result probably
03:48.59dcordesnormal build gives up always on the 4K registers
03:49.55Kevin2dcordes:  What does "echo $LANG" report?
03:50.11Kevin2(On your ubuntu machine?)
03:50.22dcordesin the terminal I pasted the last output from
03:50.32dcordes$ echo $LANG
03:50.32dcordesde_DE.UTF-8
03:51.00dcordesarm-linux-objdump is arm-mingw32ce-objdump
03:51.23dcordesthanks for poking around with this btw. I'm very happy this is getting forward
03:52.05dcordestrying your special haret now
03:53.33dcordes003.637 02690460: swpb   r3, r2, [r0]   # 4fc0c0b4 =4fc0c0b4 (4fc0c0b4)
03:54.05dcordeswith swp haret
03:54.30Kevin2Does it freeze?  Does it keep on reporting?
03:54.51dcordesI did the case which didn't freeze before
03:55.02dcordesi.e. not the strange value
03:55.11dcordesaddlist mmutrace 0xb5100000 1024*1024
03:55.11dcordesaddlist mmutrace 0x95100000 1024*1024
03:55.11dcordesaddlist mmutrace 0x4fc0c000 4*1024
03:55.11dcordesaddlist mmutrace 0x4fc00000 4*1024
03:55.23Kevin2Good.  Does haret keep or reporting after the swp insn, or does it "give up"?
03:55.34dcordesonly those. but it gives up quick because the 4K registers always print a give up read/write quickly
03:56.01Kevin2The haret-swp shouldn't give up any more..
03:56.07dcordesdarn
03:56.29Kevin2Can you post the full haretlog?
03:56.33dcordes004.646 0b907d2c: ldr    r3, [r3]       # b51fc00c==00000001
03:56.41Kevin2(from haretconsole?)
03:56.51dcordesnow it survived 20 seconds
03:57.00dcordeswait I will do one more with 60 seconds and turn on phone
03:57.59dcordesno it's kind of random I think as soon as smem has reads/writes it gives up when the 4K pages are added
03:58.00Kevin2Wait..  There's a bug in there..
03:58.43Kevin2Hrmm.  Just confusing myself.  It looks okay.
03:59.24Kevin2No, wait, there is a bug..
04:00.42Kevin2dcordes: Can you try http://www.handhelds.org/~koconnor/haret/haret-20080613-swp2.exe
04:01.12dcordesfetching on phone
04:05.27dcordesHaRET(1)# addlist mmutrace 0xb5100000 1024*1024
04:05.28dcordesHaRET(2)# addlist mmutrace 0x95100000 1024*1024
04:05.28dcordesHaRET(3)# addlist mmutrace 0x4fc0c000 4*1024
04:05.28dcordesHaRET(4)# addlist mmutrace 0x4fc00000 4*1024
04:05.28dcordesHaRET(5)# wirq 100
04:05.41dcordes004.295 02690460: swpb   r3, r2, [r0]   # 4fc0c0b4 =4fc0c0b4 (4fc0c0b4)
04:05.41dcordes004295: giving up - clearing mapping
04:05.43dcordes:(
04:09.40Kevin2dcordes: That's really odd - are you sure you're running the new haret?  Can you post the full log?
04:10.17dcordesno therefore I just removed all haret binaries, softresetted and now fetch again
04:12.40dcordesKevin2: ok that was clean now I'm 100% sure that's the correct exe
04:12.45dcordeshttp://rafb.net/p/NWyOu171.html
04:13.23Kevin2dcordes: Can you post the raw haret log?
04:13.30dcordesyes
04:14.47dcordeshttp://linuxtogo.org/~lgorris/haretlog-20080614_061051.log
04:14.54*** join/#htc-linux ltxda (n=ltxda@c-98-201-10-242.hsd1.tx.comcast.net)
04:18.37mistadmanHey dcordes!! I made a slight break through already!!
04:18.45dcordesmistadman: what is it?
04:19.09mistadmanhttp://rafb.net/p/Eqrujv90.html
04:19.29dcordeswhat does it mean?
04:19.32mistadmanThis is the ouput of my mmutrace when I dial a number
04:20.00dcordeswanna see mine :) ?
04:20.19dcordeshttp://rafb.net/p/b85rEk31.html
04:20.24mistadmanThe first six lines setups my dpram for reading
04:20.57mistadmanLine 2 is the ptr to the next read a9203fca==00000088
04:21.04mistadmanoffset
04:21.07dcordesso the output is EVERYTHING which happens on the traced pages?
04:21.15mistadman00000088
04:21.47mistadmanIf you look at line 8:  # a9200089==0000002b
04:21.51dcordeswhat is ptr??
04:22.00mistadmana9200089
04:22.12mistadmanpointer
04:22.19mistadmanpoints to an address
04:23.00mistadmanLine 2 tell the cpu to start fetching at offset 00000088 + 1
04:23.20mistadmanwhich give you: a9200089
04:23.26dcordesaah that makes sense
04:23.34mistadmanIf you look a the value of a9200089
04:23.49mistadmanIts 0000002b
04:24.20mistadmanWhich is hex for 43
04:24.42dcordesah now I get the system
04:25.01mistadmanIf you translate that to ascii: http://www.google.com/imgres?imgurl=http://www.computerhope.com/ascii.gif&imgrefurl=http://www.computerhope.com/jargon/a/ascii.htm&h=600&w=505&sz=20&tbnid=1OaLN53mzc4J::&tbnh=135&tbnw=114&prev=/images%3Fq%3Dascii&hl=en&sa=X&oi=image_result&resnum=1&ct=image&cd=1
04:25.07mistadmanyou get "+"
04:25.24dcordesaha so we have an at instruction here
04:25.42dcordesAT+
04:25.50mistadmannot quite
04:26.07mistadmanNext i did ran command in haret:
04:26.22dcordesaddr2mod
04:26.37mistadmanvdump 0xa9200000 1024
04:26.58mistadmanHere is the output: http://rafb.net/p/tVYqu681.html
04:27.57mistadmanSo if you go to the first link and decode the hex to ASCII you get: +CLCC:
04:28.09mistadmanso on an so forth
04:28.33dcordesI wonder if it works similar in my output
04:28.38mistadmanOf course this is just a small portion of a complex issue.
04:29.36mistadmanBut this will help me determine how to implement the logic behind creating a phone driver for the Athena
04:30.26mistadmanI just looked at your output.
04:30.53dcordesmistadman: I think on the kaiser it's less difficult
04:31.06mistadmanI would have to agree.
04:31.10dcordeswe already have the serial device and we can read the AT commands from it directly from the linux kernel
04:31.22mistadmanSo whats the issue
04:31.25mistadman?
04:31.30dcordeswhat I should do now is confirm the write buffer registers - but I do not know how to
04:31.37dcordeswanna see the code?
04:32.11mistadmanI have already saw it. Actually, I have been following you project very closely
04:32.33dcordeshttp://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=blob;f=arch/arm/mach-msm/kaiser-smd.c;h=713028dce388c27f288c827f1ddb0253b2afa486;hb=4134160a774aad737ac3efadd81366e3c9f27c08 280-282
04:32.36mistadmanI am trying to get the Athena up to where you guys are
04:32.46dcordescool I'm famous
04:32.57Kevin2dcordes: Can you try: http://www.handhelds.org/~koconnor/haret/haret-20080613-swp3.exe
04:32.59dcordesdo you know how I can confirm those registers?
04:33.05dcordesKevin2: sure
04:33.23mistadmandcordes: First you should verify you can trace the reads correctly
04:33.30mistadmanHave you done so?
04:33.36mistadmanUsing MMU Trace
04:34.15mistadmanLet me look at your code. On sec...
04:37.11dcordesKevin2: you're da man it works
04:37.28dcordesno freeze
04:38.26mistadmanYou say you can read the AT commands? Don
04:38.51mistadmanDont you usually send AT commands?
04:39.23mistadmanWhat kind of command are you reading?
04:39.25dcordesno idea how that's called but the modem replies in a way
04:39.30mistadmans/command/commands
04:39.31dcordesin modem lingo
04:39.40dcordeswhich looks similar like the commands you send
04:39.45dcordesyou can read sms :)
04:39.50dcordesand see when somebody calls
04:39.54mistadmanGot it
04:39.55dcordesit prints pages of crap
04:40.12mistadmanAhh... I see.
04:41.02dcordesKevin2: haretlog-20080614_063536.log in my ~
04:42.41*** join/#htc-linux AstainHellbring (n=Administ@unaffiliated/astainhellbring)
04:44.58mistadmandcordes: You are missing something with your mmutrace
04:45.06mistadmanYou need to do a better trace
04:45.54mistadmanCan you post this:
04:45.57dcordesnow I can use the Kevin2 coding magic
04:46.20dcordesmistadman: in the paste with phone call I had only 2x 1MB page areas
04:46.20mistadmanaddlist mmutrace 0xb5100000 0xfc124
04:47.18mistadmancan you try: addlist mmutrace 0xb5100000 0xfc124?
04:47.27mistadmanAnd post the output...
04:47.40dcordesyes. how do you come to that offset?
04:47.52mistadmanhttp://wiki.xda-developers.com/index.php?pagename=KaiserMemoryMap
04:48.13mistadmanWait
04:48.19mistadmanScratch that
04:48.27mistadmanDo this instead...
04:48.36dcordesthe offset is only valid for the physical addresses?
04:49.04mistadmanaddlist mmutrace 0xb5100000 0x545b0
04:49.06mistadmanNo
04:49.20mistadmanIts like saying virt + 0x545b0
04:49.35mistadmanSo it doesnt matter physical or virt
04:49.41dcordescan you remove addlist mmutrace actions?
04:49.55Kevin2clear mmutrace
04:49.57mistadmanWhat do you means
04:50.03dcordesyea thx
04:50.05mistadmanLike removelist
04:50.12mistadmancommand?
04:51.35dcordesmistadman: no accesses
04:52.09mistadmanNo access with this command: addlist mmutrace 0xb5100000 0x545b0 ?
04:52.20dcordesright
04:52.40dcordesturned phone on and made call while tracing
04:52.59mistadmanWould not matter if phone is on or off
04:53.08mistadmanTry this then
04:53.34mistadmanvdump 0xb5100000 0x545b0
04:54.12dcordesKevin2: do you know why "addlist mmutrace 0x4a20a000 (0x4a30c000 - 0x4a20a000)" kills everything on wirq?
04:54.48dcordesmistadman: ok you hit one of the at fifos
04:55.04mistadmanpost your output
04:55.11dcordesstarting at b51041f0
04:55.24dcordesuntil b5106040
04:55.43dcordesrest are zeros
04:56.17mistadmanLet me see the output.
04:56.40Kevin2dcordes: There is a large number of things that could kill it.  In order for haret to trace, it has to trap a full megabyte of virtual memory.  If something else in that megabyte doesn't like being trapped, it could cause everything to break.  Also, if windows tries to change a mapping mid way through a trace, it will cause everything to break.
04:57.18dcordesmistadman: it's still dumping
04:58.17dcordesKevin2: that's why it's getting slow
04:58.35dcordesbecause the mmu is dorky and windows bricks everything writing in all directions
04:58.49mistadmanOpps... Didnt relize I told you to dump 345k
05:00.01mistadmanIf thats the case. We should be able to mmu trace. Unless like keven2 said, something weird is going on the kaiser
05:01.10mistadmanI really believe if you can sort the mmu trace issue, this will be the key to unlocking your issue.
05:01.53dcordesthere is only a problem with addlist mmutrace 0x4a20a000 (0x4a30c000 - 0x4a20a000)
05:02.50dcordesmistadman: what do you expect to see in  addlist mmutrace 0xb5100000
05:02.56dcordes<PROTECTED>
05:03.29mistadmanDcordes: Do you think the memmap page is wrong? It says your write ptrs are located at: 0x041fc and 0x04200,
05:03.52dcordesyes I think so because they do not work
05:03.57dcordesonly read must be correct because read works
05:03.59mistadmanWell it will allow you to trace the logic and verify tail and head ptrs
05:04.30mistadmanCould just be an error in the code. Or...
05:04.48mistadmanWait...
05:05.01mistadmanI just though of something...
05:05.05dcordesthe memory map is nothing sure. it's just the mmu dump combined with observations from reverse engineering dlls or haret traces
05:05.58mistadmanDcordes: Do you know how the read and writes works?
05:06.04mistadmanI think I do now
05:06.11dcordesmistadman: what do you mean exactly?
05:06.38mistadmanDo you understand the logic behind how the Kaiser reads and writes AT commands?
05:07.08dcordessemi. I know it is a circular buffer for each in or out thing
05:07.24dcordesso you have an at send circular buffer and an at read circular buffer for example
05:07.35mistadmanFollow along with me on this page: http://wiki.xda-developers.com/index.php?pagename=KaiserMemoryMap
05:07.44dcordesok
05:08.15mistadman0x041fc and 0x04200 points to the begining and end of data in buffer
05:08.35mistadmanHence "head pos" and "tail pos"
05:08.43mistadmanFollowing me so far?
05:09.17dcordesyea. it writes so long beginning at head until tail is reached and then starts over at head?
05:09.24dcordeslike a snake trying to eat itself :)
05:09.44mistadmanyeap
05:09.48Kevin2Good night.
05:09.52dcordesthat's how martin__ explained it
05:10.07dcordesKevin2: nightey and thanks a thousand times for the help
05:10.45dcordesmistadman: so how do we find out the right values?
05:11.11mistadmanSo in the case when you receive an SMS mgs. The kaiser will set the 0x04200 to point to the beginning of the buffer
05:11.13dcordesin case they are wrong currently
05:11.36mistadmanWait thats backwards
05:11.36dcordeslike a symlink?
05:11.51dcordeswhich makes it 8
05:12.06mistadman0x041fc will point to the begining of the buffer
05:12.13mistadmanYes like a symlink
05:12.20dcordesok
05:12.27mistadmanand 0x04200 will be the end
05:13.15mistadmanSo basically read between the values stored  at 0x041fc <---> 0x04200.
05:13.54mistadmanIf this is the case then
05:14.08mistadman0x32424 will point to the RX buffer head
05:14.31mistadmanand 0x32428 will point to end of the RX buffer
05:14.42dcordesyea that's how it is in the wiki
05:14.56mistadmanSo all you would have to do is:
05:15.31mistadmanvdump 0xb5132424 4
05:15.42mistadmanand see what the value is
05:15.48dcordesb5132424 | 00001755                            | U...
05:16.46mistadmanThat should be the offset to the buffer
05:17.09dcordes1755?
05:17.28mistadmanActually, it would get us somewhere inside the buffer.
05:17.55dcordesI don't quite understand where did you get the virtual b51* address from now?
05:17.59mistadmanIts a circular buffer, so we probably wont read the whole buffer at one time
05:18.18mistadman0xb5000000   0xb5100000   0x01f00000   1   SHARED_MEM A9/A11
05:18.28dcordesyes
05:18.44mistadman0xb5100000 = wince virt
05:18.55dcordesyea I know but what is the offset?
05:19.13mistadmanIm trying to figure it out now.
05:19.17mistadmanLooking...
05:19.19dcordes<PROTECTED>
05:19.33dcordesah now I understand you just grap the virt base and put the phys offset?
05:19.39dcordess/grap/grab/
05:20.10mistadmanIts really not a phy offset. Just offset
05:20.14mistadmanOr size
05:21.34dcordesHaRET(14)# vdump 0xb51041fc 4
05:21.34dcordesb51041fc | 00000362                            | b...
05:22.57mistadmanThat point to the address of your buffer
05:23.02mistadmanwith in your buffer
05:23.15mistadmanLet me look at the code and double check
05:23.17mistadmanon sec
05:23.39dcordesok
05:23.42mistadmanOk
05:23.45mistadmanGot it
05:23.59mistadmanWhat does this equal? MSM_SHARED_RAM_BASE
05:24.09dcordes0xb5100000   0x01f00000
05:24.16dcordesit's correct in the kernel source
05:24.29dcordesof course it is set to the 0x01f* not hte virt
05:24.50dcordesinclude/asm-arm/arch-msm/msm_iomap.h
05:25.01mistadmanWhat is it equal to 0xb5100000? Let me look.
05:25.03mistadmanOn sec
05:26.29mistadmanYour wrong!
05:26.33dcordeshuh?
05:26.38mistadmanIts equal to 0xE0100000
05:26.59mistadman#define MSM_SHARED_RAM_BASE   0xE0100000
05:27.06dcordesare you sure?
05:27.08dcordeswhy?
05:27.31mistadmanCheck for your self: http://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=blob_plain;f=include/asm-arm/arch-msm/msm_iomap.h;hb=4134160a774aad737ac3efadd81366e3c9f27c08
05:27.45mistadmanEasy.
05:28.01dcordeshuh
05:28.11mistadmanDo you see it?
05:28.22dcordesof course linux base is not = wince virt
05:28.27mistadmanLine 100
05:28.34dcordesye
05:28.39mistadmanNope wrong again.
05:28.50dcordeswhy should anything in the kernel match wince virt?
05:28.51mistadmanOk... Here is whats going on.
05:29.13mistadmanI believe that has to do with the MMU.
05:29.23mistadmanMMU controls virt to phys mappings
05:29.33dcordesI don't think wince virt is relevant in linux
05:29.37dcordesit has it's own virtual mapping
05:29.48dcordeswince virt is /dev/null after takeover
05:29.53mistadmanON the athena wince virt matches linux virt (ioremap)
05:30.05dcordeshm
05:30.15mistadmanWait... one sec
05:30.34mistadmanhttp://wiki.xda-developers.com/index.php?pagename=AthenaMemoryMap
05:30.40mistadmanYeah I am right
05:30.46dcordesathena != kaiser
05:30.52mistadmanWell at least on Athena
05:31.03mistadmanI am almost positive
05:31.16mistadmanDoesnt matter now.
05:31.22dcordesmaybe because the msm tree is more specific/ more mature
05:31.34mistadmanCould be... But
05:31.55mistadmanNow back to : 0xE0100000
05:33.07mistadmanSomething is weird
05:33.16dcordeswhy?
05:33.42mistadmanI know the code is wright be cause you can receive sms messages.
05:33.54dcordesyes. that's the odd thing
05:34.01dcordeswhy should write be wrong then??
05:34.13mistadmanIt may not be.
05:34.25mistadmanI believe the answer is in the code.
05:34.26dcordesyes we already discussed possible other problems like irq
05:34.34mistadmanWait...
05:35.21mistadmanI bet after you write to mem you need to set head and tail ptr.
05:35.39dcordesthat would be in the code I guess
05:36.17mistadmanThen you will probably have to send a magic command. Something like IRQ or write to an address. Then this will tell the kasier to process command in buffer
05:36.29mistadmanOr something along that line.
05:36.58mistadmanthats why you need to do mmu trace to see what happens and how
05:37.52dcordesthis is just a dump assumption but: The code is the same on vogue and on vogue, it works.
05:38.01dcordesso why would we need a magic thing but not vogue?
05:38.18dcordesmaybe that is one of the differences between msm7500 and msm7200
05:38.21mistadmanDo they have the same processors?
05:38.32mistadmanCould be
05:38.36dcordesvogue msm7500, kaiser msm7200
05:39.53dcordesso assuming that magic thing is really just on msm7200, how would I ever find out?
05:40.03dcordes(what that thing is)
05:40.05mistadmanI have been looking a lot of hardware and there are small differences between arches of same family.
05:40.23mistadmanLet me take a long look at the code.
05:40.30mistadmanHollar if you need me
05:40.37dcordesok cool
05:41.10dcordesI know there is an irq from arm9, that reports arm11 that there is data to read.
05:41.14dcordesit's in the kaiser-smd.c
05:41.52dcordes438
05:42.08dcordes<PROTECTED>
05:43.23mistadmanRead is ok, is there one for write?
05:44.45dcordesthat is the question
05:45.18dcordesmistadman: can you tell me by the look of the code which interrupt Read is?
05:45.31mistadmanYes.
05:45.35mistadmanLook at line
05:45.43dcordesit was too much maths :D
05:46.29mistadmanActually there are a couple:
05:46.35mistadmanSee lin 402
05:46.40mistadmans/lin/line
05:46.56dcordesint smd_wait_until_writable(smd_channel_t *ch, int bytes)?
05:47.13mistadmanSorry line 401: http://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=blob;f=arch/arm/mach-msm/kaiser-smd.c;h=713028dce388c27f288c827f1ddb0253b2afa486;hb=4134160a774aad737ac3efadd81366e3c9f27c08
05:47.47dcordesoops my local code is complete different. I merged something in there..
05:47.49mistadmanYou see?
05:48.07dcordesyes right that line I tried to figure which is the irq but didn't udnerstand
05:48.13mistadmanOk easy
05:48.20mistadmanThis is a loop
05:48.30mistadmanfor(i=0;i<7;i++) {
05:48.34dcordesyep
05:48.36mistadmanThat goes to 7
05:48.47mistadmani will = 0 thru 7
05:49.08mistadmannext line 402 is where the magic happens
05:49.32mistadmanr = request_irq(INT_A9_M2A_0+i, smd_irq_handler, IRQF_TRIGGER_RISING, "smd_dev", 0);
05:49.49mistadmanINT_A9_M2A_0
05:49.54mistadmanIs your IRQ
05:50.20mistadmanBut because it is added to i: INT_A9_M2A_0+i
05:50.30mistadmanit will be (INT_A9_M2A_0+1
05:50.33mistadman(INT_A9_M2A_0+2
05:50.34mistadman(INT_A9_M2A_0+3
05:50.38mistadman(INT_A9_M2A_0+4
05:50.39mistadman....
05:50.41mistadmanetc
05:50.56mistadmanNow we just need to find the value of INT_A9_M2A_0
05:51.04mistadmanOne sec
05:51.19dcordesok
05:51.48mistadmanLooking at the headers line 16-31
05:53.26dcordeswhich? iomap?
05:53.30mistadmanOk found it: http://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=blob;f=include/asm-arm/arch-msm/irqs.h;h=565430cfaa7e8be779469d609a4c90a7c485b2c8;hb=4134160a774aad737ac3efadd81366e3c9f27c08
05:53.35mistadmanirqs.h
05:54.18dcordesso the irq arm9 thows when it sends something is 0?
05:54.26dcordess/thows/throws/
05:54.32mistadmanExactly
05:54.37mistadmanlook at line 402
05:55.02mistadmanIt calls smd_irq_handler()
05:55.50dcordeshttp://wiki.xda-developers.com/index.php?pagename=Kaiser_IRQ surprise surprise
05:56.12dcordesirq 1 and 2 show visible activity on smem activity in wince
05:56.20mistadmanI was just going to send that link to you. LOL
05:56.33dcordes;)
05:56.41dcordesso why is not 0 visible but only 1 and 2?
05:57.03mistadmanWhat?
05:57.04dcordesmaybe wince handels the irqs different so that it uses 1 or 2 for the receive notify?
05:57.09mistadmanYou lost me
05:57.12dcordesin the irq wiki
05:57.18dcordesok.. sorry
05:57.25mistadmanIm looking at it
05:57.57mistadmanLet compare this with the vouge's irq list
05:58.17dcordesdon't got it
05:59.33mistadmanAnd its not on the wiki either
05:59.55dcordesdzo is a lone warrior
06:00.47mistadmanOn the wiki It says the irq 1 and 2 for the kasier is for cams
06:01.03dcordesnono not only
06:01.14mistadmanHuh?
06:01.29mistadmanWhat do you mean not only?
06:01.32dcordesit is acvite permanently when the phone is on
06:02.01dcordeswhen you have phone of and switch camera on/off you also see them in haret
06:02.10dcordes(I put the Kaiser Function fields)
06:02.57mistadmanI believe you, but if thats the case then your code is wrong...
06:03.06dcordesok
06:03.08mistadmanWait...
06:03.25dcordesyou think we should use 1 and 2 for the notifiers?
06:04.04mistadmanYeah, just as I though. The code is crapped!
06:04.07mistadmanLOL
06:04.27dcordesit's msm7500A code
06:04.31dcordesand I have msm7200
06:04.49dcordesit works on the msm7500 (with the other registers for the fifos of course)
06:05.00dcordesdo we have to invent an at send irq?
06:05.03dcordesfunction
06:05.06mistadmanBasically, your code allocates irq 0 - 7 to check for data
06:05.19mistadmanYou dont need all though IRQs
06:05.34mistadmanProblem is though... Do you know which?
06:05.40mistadmanIs the right one?
06:05.41dcordes:(
06:05.49dcordesbrute force?
06:05.58mistadmanHaret
06:06.04dcordeshow?
06:06.16mistadmanBut thats not our problem though
06:06.29dcordeswhy?
06:06.30mistadmanAt leas I dont think so
06:06.47mistadmanGo to line 402
06:07.11dcordeswe always have to keep in mind that receive works the way it is and on vogue both works so it can't be that wrong
06:07.15dcordesyes
06:07.31mistadmanThis line says:
06:07.59mistadmanAny time irq 0 thru 7 is raised call smd_irq_handler()
06:08.04mistadmanGot it?
06:08.14dcordesnot really
06:08.21dcordeswhat does it mean it's raised?
06:08.45mistadmanevery time a signal is sent over Irq
06:08.52dcordesok
06:09.13mistadmanIrq is basically a simple signal. either high or low
06:09.29dcordesso if irq 0,1,2,3,4,5,6 or 7 are active structure smd_irq_handler() is called?
06:09.40mistadmanJust tells the cpu that a piece of hardware is trying to get its attention
06:09.51dcordesok
06:09.52mistadmanYes
06:10.13dcordesand that raise
06:10.17dcordesit comes from arm9?
06:10.21mistadmanIrq is just like tapping someone on the shoulder to get their attention
06:10.26mistadmanno
06:10.34mistadmanIt come from hardware
06:10.51mistadmanOther hardware
06:10.56dcordesI don't get this
06:10.59mistadmanBut is connect to arm8
06:11.06mistadmanarm9
06:11.07dcordesbut that hardware has drivers
06:11.16dcordesand those drivers rum in arm9
06:11.22mistadmanWrite
06:11.26mistadmanright
06:11.36mistadmanThink of it like this:
06:11.58mistadmanHow does the cpu know when its time to read sms message
06:12.00mistadman?
06:12.07mistadmanEasy IRQ
06:12.40mistadmanwhen the buffer is ready for read, it activates an IRQ line.
06:12.42dcordesyes but this AT bytes come from arm9 so arm9 has to raise the irq doesn't it?
06:12.47mistadmanNo
06:13.05mistadmanAT bytes from from qualcomm modem
06:13.19mistadmanWhich is a piece of hardware
06:13.25dcordeshow does arm11 (smd_irq_handler) know there is data?
06:13.34dcordesqualcomm modem=arm9
06:13.40mistadmanNo
06:13.43dcordessystem processor(kernel)=arm11
06:13.44dcordesyes
06:13.51mistadmanOh
06:13.51dcordestrust me on that one..
06:13.57mistadmanIm sorry
06:14.00dcordesalthough you're the person with the background knowledge
06:14.02mistadmanYour right
06:14.15mistadmantwo separate cpus
06:14.18mistadmanSorry
06:14.21dcordesit's a bit confusing. yes
06:14.31dcordesthat's why you got confused on the irq page:
06:14.42mistadmanI really like to think of the qualcomm as a blackbox
06:14.43dcordesthe arm9 doesn't only have the modem but also cam, gps
06:14.55dcordesright it's a proprietary evil brick
06:15.14mistadmanNot to interested in processor, becuse we are not suppose to play with it
06:15.22mistadmanFCC wouldnt like it
06:15.41mistadmanyes "proprietary evil brick"
06:16.05mistadmanBut back to explanation...
06:16.22dcordeswhatever open source software you run on arm11, you will not so easily see the gps, modem, or camera driver
06:16.39mistadmanWhen its time to read data an IRQ line is triggered
06:16.48mistadmanYou lost me again...
06:17.13dcordesthere is a nice story about a US car manufacturer who was forced by police to access their customer's in car camera over the net to identify badboys
06:17.47mistadmanSounds like myth to me
06:17.48dcordesmistadman: and that one is triggered from the arm9 (modem) now, right?
06:18.21mistadman"That one" = IRQ right?
06:18.27dcordesmistadman: one can believe it or not it's still a nice example of what can you do with blackboxes.
06:18.47dcordesmistadman: yes
06:19.27mistadmangoto line 150
06:19.39dcordesrestate: When there is data to read, we (arm11,kernel) receive an IRQ raise notification from the arm9 (modem)
06:19.45dcordesok
06:19.58mistadmanAwesome!
06:20.01mistadmanThats right
06:20.14mistadmanand line 150 gets called
06:20.36mistadmanor static irqreturn_t smd_irq_handler(int irq, void *data)
06:20.46mistadmanSee that>
06:20.48mistadmanSee that?
06:20.57dcordeswait diggin into it
06:21.26mistadmanhttp://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=blob;f=arch/arm/mach-msm/kaiser-smd.c;h=713028dce388c27f288c827f1ddb0253b2afa486;hb=4134160a774aad737ac3efadd81366e3c9f27c08#l150
06:21.34mistadmanClick here  ^^
06:21.35dcordesyea got it
06:22.02mistadmanThis is a very simple funct that just calls check_for_smd_data();
06:22.45mistadmanNow go to 137
06:22.52dcordesthere is a pritnk. useful will uncomment this
06:23.01mistadmanGo for it
06:23.16mistadmanprintks are your friend
06:23.16dcordeshm my code is modified too much I need to checkout fresh
06:23.42mistadmando you know about "git diff"
06:23.44dcordessmd_channel
06:23.55dcordesmistadman: yes I'm pretty familiar already with it
06:24.01mistadmanok
06:24.09mistadmanAre you at 137
06:24.12dcordesI'm the proud "founder" of this repository :)
06:24.16dcordesyes
06:24.24mistadmanReally!
06:24.31mistadmanLinuxtogo?
06:24.37dcordeshaha no.
06:24.41mistadmanOh
06:24.50dcordesI just had the idea making the htc-msm branch in the repository
06:25.01mistadmanCool
06:25.07dcordesbecause we were fooling around with diffs for weeks
06:25.11dcordesanyway
06:25.16mistadmanI wish I could host my Athena Git There
06:25.23dcordesmistadman: yes feel free
06:25.35dcordesthe more the merrier. It's best when we have everything at one place
06:25.40mistadmanMaybe later you can tell me how.
06:25.52dcordesspeak with pH5 or kevin2 about it
06:25.53mistadmanWould get more exposure there
06:26.12dcordeswhat tree do you base on?
06:26.13mistadmanAlright. Can I tell them you sent me to them
06:26.26elliswaymistadman which model of athena are u working on ?
06:26.26mistadman2.6.24 vanilla
06:26.33mistadmanx7501
06:26.42dcordesyou work from vanilla? Which chipset is athena? pxa?
06:26.49mistadmanyes
06:26.57dcordesit will be easy merging with linuxtogo for you
06:27.00elliswayi`m waiting on tmobile uk to get the x7510
06:27.16dcordesellisway: mistadman where are the differences between the athenas?
06:27.36dcordesellisway: ah you swapped your kaiser for it, right?
06:27.41elliswaygood question
06:27.41mistadmanI believe on the camera between x7501 and x7500
06:27.47elliswayyeh
06:27.52elliswaywell sent kaiser back
06:28.59elliswaycouldn`t work with it the same as on the universal
06:29.23mistadmandcordes: line 137 is probably the most important part of your code
06:29.38dcordesmistadman: the check_for_smd_data(void) function. looks to me like smd channel is relevant there (there are several: AT send/recv, gps recv, modem data send/recv, they all have an id)
06:29.55dcordesI don't know where the channel n is defined
06:30.01dcordescr2 talked about it
06:30.46mistadmanwe need to find: ch, &smd_ch_list, ch_list
06:30.52mistadmanThese are important
06:30.59mistadmanon line 142
06:31.16dcordesthat is the channel ID I talked about above I guess
06:31.28dcordeslet me grep the source
06:31.34mistadmanHey
06:31.36mistadmanwait
06:31.43mistadmanLook for list_for_each_entry
06:32.30mistadmanLooks like a custom loop. Never seen anything like this in C
06:33.10mistadmanI still have a long way to go with this language
06:33.23dcordesclocl.c
06:33.42dcordesyes same here. I hardly know any c
06:33.57mistadmanok ch is a struct
06:33.58dcordesclock.c has list_for_each_entry
06:35.57mistadmanNow I am looking thru code I think i know what it does.
06:36.53mistadmanstatic LIST_HEAD(smd_ch_list)
06:37.04mistadmanCan you grep that
06:37.12mistadmanWhat is LIST_HEAD
06:37.14dcordessecond
06:37.35mistadmanI think it has something to do with defining smd_ch_list
06:38.33dcordeskaiser-smd.c clock.c dma.c and rather irrelevant: smd_rpcrouter.c
06:39.31dcordesmaybe that is a big mistake and rpcrouter is relevant
06:39.40dcordescr2 always say we don't need it but I never asked why
06:40.00dcordesthis is assumption is maybe because the communication done with it is specific to the software on arm9
06:40.03dcordesaka AMSS
06:40.11mistadmanYou could always comment it out
06:40.12mistadman/
06:40.14mistadman//
06:40.42dcordesrpcrouter is much about smd channels though
06:41.20mistadmanYou could always just comment it out and try to compile
06:41.36dcordesthe rpcrouter?
06:41.38mistadmanIf it compiles without errors, then you know its not needed :-)
06:41.42mistadmanYes
06:42.04dcordesI don't think we ever built it for kaiser
06:42.42mistadmanbuilt what?
06:42.42dcordesCONFIG_MSM_ONCRPCROUTER produces smd_rpcrouter.o etc
06:42.57dcordesrpc router. I don't use it and at read works without it
06:42.58elliswayis that static list_head right
06:43.00dcordesso we can ignore this
06:43.19elliswayi`ve never seen list_head done static only ever seen it as a struct
06:44.10mistadmanOk dcordes
06:44.14dcordesI don't know I always assume it's okay because most works on the vogue
06:44.26mistadmanlist_for_each_entry
06:44.34dcordesgrep?
06:44.42mistadmanand ch_list sounds interesting
06:44.54mistadmanWhat is the ch_list
06:45.25dcordesgeneric_gpio.c clock.c kaiser-smd.c have list_for_each_entry
06:45.27mistadmanlist_for_each_entry loop thru ch_list
06:45.34mistadmanWhat is the ch_list
06:46.06mistadmansend channel ? receive channel?
06:46.10dcordesright
06:46.29mistadmanThis is important
06:46.31dcordesat tx/rx, umts data tx/rx, gps rx,
06:46.35dcordesthey all have an ID
06:46.40mistadmanAhh
06:46.41dcordesbut I don't know where that list is
06:46.51dcordesthat's the smd channel number/id/whatsoever
06:46.57dcordesI think gps is 7
06:47.07dcordesit should be somewhere in the logs but I can't find it
06:47.11mistadmanSo how do you know this?
06:47.16dcordescr2 told it :)
06:47.27mistadmanLet me see if I can find
06:47.30mistadmanOne sec
06:47.51dcordesI guess it's specific to chips so we should have a difference to the vogue/halibut code
06:48.07mistadmanpossibly...
06:48.44dcordeshalibut is the device google uses for evaluation with the basic tree. On top of that are the vogue changes, and on top of that the kaiser stuff. that's what we have in the git
06:49.18mistadmangot it
06:49.33dcordesand there was no change to the SMD related stuff expect of the register thing in kaiser-smd.c which is heavily commented
06:49.38mistadmanErr... I mean... I got what you said
06:50.13dcordesall in all there is not too much kaiser specific in the whole tree
06:50.44mistadmanI know, I have been following you progress...
06:51.22mistadmanYou guys basically piggy backed off of DZOs work.
06:51.36dcordesyep
06:51.43dcordeshe enabled booting
06:51.43mistadmanBecause obviously the hardware is related
06:52.00dcordesI poked around with haret months until he did the patches that made the htcs boot
06:54.00dcordesdid you find the channel list?
06:54.46mistadmanYes
06:54.59mistadmanhttp://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=blob;f=include/linux/list.h;h=75ce2cb4ff6ebc92a8fcaa557a9bd7b6b9b9b1b6;hb=4134160a774aad737ac3efadd81366e3c9f27c08
06:55.27mistadmanI found LIST_HEAD_INIT
06:56.01mistadmani mean LIST_HEAD
06:56.09dcordesinclude/linux/list.h sounds kind of general
06:56.21dcordesand not arch specific
06:56.45mistadmanI had reading marcos
07:01.10mistadmandcordes: Do you know how smd_open() gets called?
07:01.16mistadmanline 235
07:01.21dcordesno
07:03.05dcordesthat's the function with the kaiser specific register changes.
07:03.47mistadmanThis could be a clue...
07:03.56mistadmanGo to line 279
07:04.11mistadman<PROTECTED>
07:04.33dcordesirq 0 ??
07:04.58mistadmanNope. Thats channel #
07:05.13mistadmanI dont know what a channel is though.
07:05.26dcordesthe thing between if and else is a channel
07:05.33dcordesthis is the AT channel
07:05.42dcordeswith send and recv circular buffer
07:05.52mistadmanYou lost me again...
07:06.03mistadmanBetween if and then
07:06.07mistadmann==0?
07:06.32dcordesl.280->l.285 is an smd channel
07:06.37dcordesAT
07:06.46mistadmanwhere are you?
07:06.50dcordesthose are the registers for the fchannel
07:06.52dcordeskaiser-smd.c
07:06.58mistadmanwhat line
07:07.06dcordes280-285
07:07.21dcordesafter if(n==0) {
07:07.32mistadmanAhhh... Sorry, I got it now...
07:07.39dcordesthis is what was changed for kaiser
07:07.44mistadmanl.280 threw me off
07:07.54mistadmanI know
07:07.56dcordespretty much the only kaiser specific change in the whole SMD code
07:08.14dcordesand the registers there represent one channel, the AT channel
07:08.23mistadmanWhat I am doing is tracing thru the code in my mind
07:08.40mistadmanstepping thru it to understand how read and writes happen
07:08.53mistadmanMore specifically how writes happen.
07:08.57dcordesyea I see that. unfortunately I can't do this because I don't have any C experience
07:09.19dcordesmakes me notice I got have learned it 10 times in the time I'm dealing with kaiser
07:09.32mistadmanI am guessing channels will end up being GPS, MODEM, Bluetooth, etc
07:09.37mistadmanWhat do you think
07:09.41dcordesno
07:09.43dcordesnot bluetooth
07:09.45dcordesit's uart
07:09.52mistadmanGot it
07:10.03mistadmanSo whats on channels then?
07:10.05dcordeswhat I know is AT, UMTS, CAM
07:10.12mistadmanOk
07:10.26dcordesline 287-292
07:10.30dcordesthat's what dzo uses for umts data
07:10.33dcordes3g data whatsoever
07:10.37dcordesafaik
07:10.45mistadmanLet me look at kasier changes...
07:10.49mistadmanThinking...
07:10.57mistadmanChecking mem address
07:11.07mistadmans/address/adressess
07:11.13dcordesI don't understand it when I compare them vs wiki
07:11.14mistadmans/address/adresses
07:11.30mistadmanwhat dont you understand?
07:12.27dcordesin the code, tx buf is at MSM_SHARED_RAM_BASE+0x041fc
07:12.47dcordesin the wiki, ATCMD tx buf is 0x01f00000  +0x04208
07:13.51dcordesI could also chose recv buf
07:13.52dcordessame there
07:15.49dcordesand except of head and tail there are start and size
07:15.55dcordesin the code
07:17.17mistadmanI see what you mean
07:17.35mistadmanBut we can double check it by stepping thru the code.
07:18.16mistadmanThis portion of the code just setup mem locations. Now we need to find the read and write code
07:18.53dcordesok so let's assume the read and write mem locations to be setup properly
07:21.06mistadmanWe know the read is correct right?
07:21.21mistadmanLook at smd_read(). Line 203
07:21.45dcordesmistadman: well it works. Maybe it's only partially correct or so. I can't proof it's right
07:22.00dcordesbut at least it works
07:22.19dcordesif we get that far on the write it would be fine
07:22.30dcordesI don't think there is data missing in the read though
07:22.34dcordesso ok line 203
07:22.58mistadmanLook at the comment on line 202.
07:23.11mistadmanRead data and then notify arm9
07:23.20dcordesoh that's useful
07:23.42mistadmanline 209
07:24.17dcordesif there is data return -EINVAL?
07:24.18mistadmanline 209 check to make sure data is more than 0
07:24.57mistadman211 says: end of data is located here. Now assign it to mytail.
07:25.19mistadman211 says: end of data is located here (buffer->tail). Now assign it to mytail.
07:25.42mistadman212 will loop until all data is read
07:26.13mistadmanNotification magic happens on line 224
07:26.44mistadmanYeap. Go to line 52
07:27.15dcordesso each time a circular buffer is full, irq is raised so it can be picked up and be filled again?
07:27.30mistadmanNo
07:28.33mistadmanIt does a complete read of the buffer between the head and tail value. The head and tail value is a location with in the Shared Memory space
07:28.46mistadmanOnce it is read...
07:28.46dcordesyea got it
07:29.26mistadmanThen some type of notification is done via: writel(1,MSM_A2M_INT(i)) on line 55
07:30.18dcordeswtf is i?
07:30.38dcordesirq #?
07:30.55mistadmani is 7 - 15
07:31.50mistadmancan you grep for "MSM_A2M_INT"
07:31.54dcordesk
07:32.09mistadmanfind|xargs grep -iv "MSM_A2M_INT"
07:32.57mistadmanI have a feeling it will correspond to IRQs.
07:35.31dcordesthat xargs just prints everything it sees I'm using kfind for this
07:36.47dcordesthe 4 *smd.c files so far
07:38.24dcordesonly the smd files
07:38.45mistadmanhttp://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=blob;f=arch/arm/mach-msm/7x00-smd.c;h=8ea6e46a7f1df253d45ab4f99db008017cc1ab4c;hb=4134160a774aad737ac3efadd81366e3c9f27c08
07:38.49mistadmanFound it
07:40.42dcordesthat's not built for kaiser
07:41.01dcordesonly kaiser-smd.c
07:42.40mistadmanLooks like your write
07:42.44mistadmanright
07:43.45*** join/#htc-linux alex[slx] (n=alex@CPE-58-169-209-120.sa.bigpond.net.au)
07:43.48*** part/#htc-linux alex[slx] (n=alex@CPE-58-169-209-120.sa.bigpond.net.au)
07:43.51*** join/#htc-linux alex[slx] (n=alex@CPE-58-169-209-120.sa.bigpond.net.au)
07:44.36mistadmanMSM_A2M_INT
07:44.41mistadmanWhere is it?
07:44.50dcordesone minute
07:45.07dcordesthat's what I just grpped for
07:45.14dcordesas I said the 4 smd.c
07:45.25dcordeswhich means it's only in kaiser-smd.c effectively
07:45.43dcordesI grepped the complete tree matching case
07:45.59mistadmanCant be
07:46.20alex[slx]Hi everyone. I'm having a little trouble with setting up OpenMoko on my HTC magician (O2 Xda II mini) using this guide: http://www.linuxtogo.org/~htcpxa/htcmagician/ and using image and bootloader from here: http://www.linuxtogo.org/~htcpxa/htcmagician/images/OpenMoko/.
07:46.43mistadmandcordes: I'm sorry... Getting tired
07:46.54mistadmanYes its in kaiser-smd.c
07:47.01dcordesme too
07:47.02mistadmanDidnt see it
07:47.31dcordesbut it's not elsewhere according to kfind
07:47.49mistadmanMSM_CSR_BASE is the memory location that tells the kaiser or the arm9 we have read info
07:48.03mistadmanMSM_CSR_BASE: What does it mean
07:48.04mistadmanCSR
07:48.09alex[slx]I've set up my 2GB SD card with two partitions, vfat and ext3. I put the bootloader on the fat partition, and extracted the root filesystem into the root of the ext3 partition. Then when I run the bootloader, I get the linux boot messages and dropped to a prompt.
07:48.40alex[slx]It says something about can't find root tar. I'm going to try booting again, so I'll be able to get the exact message.
07:49.13dcordesmistadman: no clue. also came across the question before
07:49.28dcordesthere are also other things in msm_iomap.h which I wonder
07:49.28mistadmanGrep MSM_CSR_BASE
07:49.33dcordesok
07:50.09alex[slx]Mounting SD card... No previous root filesystem found... FAIL FAIL FAIL FAIL... Root filesystem tar file not found.
07:50.51mistadmanhey alex
07:51.28alex[slx]mistadman: Hey.
07:51.30mistadmanalex[slx]: What is the name of the tar you extracted
07:51.44alex[slx]mistadman: openmoko.linux.rootfs.tar.bz2
07:52.08mistadmanalex[slx]: What is the name of the .exe
07:52.19alex[slx]Openmoko-Magician-Linux.exe
07:53.08mistadmanalex[slx]: I think all you have to do is drop the exe and the tar (do not extract) on an sd card an run.
07:53.19alex[slx]mistadman: I've done that also.
07:53.29mistadmanalex[slx]: What was the error message
07:53.35mistadmanalex[slx]: ?
07:53.44alex[slx]The one I typed out before.
07:53.52alex[slx]Mounting SD card... No previous root filesystem found... FAIL FAIL FAIL FAIL... Root filesystem tar file not found.
07:54.05alex[slx]Replacing '...' with "\n" ;)
07:55.18alex[slx]mistadman: Oh... do I have to unbzip it and then put the resulting tar on the ext3 partition?
07:55.53mistadmanalex[slx]: One sec
07:56.57dcordesmistadman: clock.h, kaiser-smd.c, pm.c, pm.h, /include/asm-arm/arch-msm/msm_iomap.h
07:57.24mistadmandcordes: ok
07:58.39mistadmanalex[slx]: Alex just drop exe and bz2 on vfat formated sd card
07:58.55mistadmandont worry about ext2 partition
07:58.56alex[slx]mistadman: Ah ok.
07:59.05alex[slx]Ok, I'll give that a shot.
07:59.48mistadman0xE0001000
08:00.07mistadmandcordes: You know what
08:00.14mistadmandcordes: ?
08:00.59dcordesmistadman: nope
08:01.21mistadmandcordes: My theroy is that you have two virts. one for arm9 and the other for arm11
08:01.51dcordesmistadman: KaiserMemoryMap distincts between them
08:01.59mistadmanI am almost positive that 0xE0001000 is the memory location on qualcomm modem
08:02.20alex[slx]mistadman: FAT16/32 or doesn't matter?
08:02.32mistadman0xE0001000 + offset is to tell arm9 your done reading an writing
08:02.36mistadmanalex 32
08:02.52mistadmanbut probably dosent matter
08:03.11dcordesnono can't be
08:03.18dcordesit would be shown in the memory map
08:03.46dcordesI think virt is the arm9 spaces
08:03.49mistadmanCould be wrong.
08:03.56mistadmanJust like on the Athena.
08:04.05mistadmanAll the ATI Regs or wrong
08:04.11dcordessomebody disassembled arm9 code
08:04.33dcordesI really think the 0xe is irrelevant
08:04.54dcordesno sorry I confused it
08:05.00dcordes0xe is the arm11 virtual mapping right?
08:05.02mistadmanI would argue against that and heres why
08:05.08dcordes*BASE in iomap.h
08:05.25dcordesin linux
08:06.43mistadmanDoes CSR == http://en.wikipedia.org/wiki/CSR_plc
08:06.50alex[slx]mistadman: Looks like it's working. Thank you :)
08:07.01mistadmanYou got it buddy! Have fun!
08:07.09alex[slx]mistadman: Oh I will.
08:07.37dcordesno man it is Corporate Social Responsibility
08:07.38dcordeslol
08:07.47mistadmanCheck this out
08:07.48dcordeshttp://www.mallenbaker.net/csr/CSRfiles/page.php?Story_ID=232
08:08.00mistadmanDo you know what smd means?
08:08.04mistadmanSMD?
08:08.21dcordesshared memory dblabla
08:08.26dcordesdevice
08:08.35mistadmanclose "Shared Memory Device"
08:09.24mistadmanIt a way of communicating. Sorta like serial, but I hear its more efficient
08:09.43dcordesit emulates a serial interface
08:09.47dcordeswell
08:09.49mistadmanSorta
08:09.51dcordessmd_tty.c does
08:09.56mistadmanNow look at: http://64.233.169.104/search?q=cache:Q-l8zRNJWgAJ:baliniak.pl/android/kaiser-smd.c+MSM_A2M_INT&hl=en&ct=clnk&cd=1&gl=us
08:10.20dcordesmarbalon's code?
08:10.39dcordeswhat's up with it?
08:10.41mistadmanI am mixed up
08:10.47mistadmanToo may windows open
08:10.51mistadmanone sec
08:11.06dcordesyou don't need to give the link each time
08:11.12mistadmanhttp://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=blob;f=arch/arm/mach-msm/7x00-smd.c;h=8ea6e46a7f1df253d45ab4f99db008017cc1ab4c;hb=4134160a774aad737ac3efadd81366e3c9f27c08
08:11.14mistadmanok
08:11.20dcordesI know the repo well
08:11.32mistadmanOk here goes
08:11.35dcordesI know where's what but don't understand what it does in detail ;)
08:11.39mistadmannotify_other_smd
08:11.47mistadmanGot it
08:11.51mistadmannotify_other_smd()
08:11.59mistadmanLook at the function name
08:12.13mistadmankey word: OTHER
08:12.30dcordesyea what's up with it?
08:12.32mistadmanmultiple shared mem devices
08:12.39dcordesI know
08:13.02dcordeswe talked about that before: at, modem data (eth device in 7x00-smd.c), gps, camera
08:13.41mistadmanYeah but the arm9 mem space is 0xE0001000
08:14.04mistadmanand arm11 0xb5100000
08:14.47mistadmanThats how they communicate and tell each other when they are rdy to send and rec data.
08:14.53dcordesI dout it. I think 0xe is the virtual mapping in the kernel
08:14.53mistadmanWhat do you think?
08:15.08mistadmanIt is
08:15.15dcordeslook at the other registers
08:15.21mistadmanWhich ones
08:15.55dcordesthey all have 0xe. also things that don't flow through a2m (smd) like SD
08:16.19mistadmanThe all?
08:16.27dcordesiomap.h
08:16.44dcordestheres not just smd channels
08:16.56dcordeswhy would the non smd channels have arm9 registers assigned?
08:16.58mistadmanAhh... I see your point
08:18.04mistadmanOk then, why doesnt the wiki reflect this info?
08:18.31dcordeswhich info do you mean?
08:18.56dcordesmy neurons are exhausted
08:18.58mistadman0xE0**** Addresses
08:19.11dcordesgood question
08:19.31mistadmanhttp://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=blob;f=arch/arm/mach-msm/io.c;h=3bb06bf26fc483ec5ba4c9f7eeee3ae81ffbb03c;hb=4134160a774aad737ac3efadd81366e3c9f27c08
08:19.33dcordesmaybe it doesn't require documentation because it is freely defined in the kernel
08:19.38mistadmanI found our devices
08:19.52*** part/#htc-linux alex[slx] (n=alex@CPE-58-169-209-120.sa.bigpond.net.au)
08:19.58dcordeswhere?
08:20.12dcordesI only see the complete IO listing, not the SMD channels
08:20.14dcordessmd ids
08:20.30mistadmanYes smd ids
08:20.42mistadmanVIC
08:20.43dcordesyou mean structure map_desc msm_io_desc
08:20.45mistadmanCSR
08:20.49mistadmanGPT
08:20.53mistadmanDMOV
08:20.55mistadmanUART1
08:20.58mistadmanetc...
08:21.16mistadmanio.c
08:21.28dcordesuart!=smd
08:21.45mistadmanCRS == smd
08:21.51mistadmanCSR == smd
08:22.49dcordesI'm not sure what csr is
08:22.50dcordesand vic
08:22.56dcordesdmov is datamover
08:23.19mistadmanCSR == MSM_CSR_BASE?
08:23.27dcordesyea
08:23.36dcordesI think they belong together
08:26.46dcordespeople who could tell us what all they are, are for example dzo and cr2
08:28.03dcordesI can tell that's not the list we look for
08:28.11dcordesthe smd channels should be about 7
08:28.21dcordesmatches the number of irqs
08:28.25mistadmanI think i solved the mystery: http://64.233.169.104/search?q=cache:8qMLbPUJ8hIJ:boards.fool.co.uk/Message.asp%3Fmid%3D10301840%26sort%3Dpostdate+qualcomm+CSR&hl=en&ct=clnk&cd=27&gl=us
08:29.08dcordesah right now I have an association with bluetooth/csr
08:29.13dcordeswait
08:30.08dcordesthe bluetooth device is TI BRF6300
08:30.19dcordesit's not in smd, it's on uart
08:30.29dcordessmd only has modem, gps, camera
08:30.39dcordess/smd/arm9/
08:30.42mistadmanOk, lets look at this logically
08:31.06dcordeswe want to know what data goes through what smd channel id right?
08:31.06mistadmanWiki says: SHARED_MEM A9/A11
08:31.14dcordesyes
08:31.19dcordesa9/a11=a2m
08:31.22mistadmanAlways memory
08:31.28dcordes=smem=sharedmem
08:31.29mistadmannot channel
08:31.35mistadmanyes
08:31.57mistadmanChannel is a way to group device with mem locations
08:32.04dcordeswhy not channel? the smem is nothing but a row of those data channels
08:32.10dcordesconsisting of the circular buffers
08:32.14dcordesyea
08:32.22mistadmanRight
08:32.22dcordesthat's also my understanding
08:32.28mistadmanYes
08:32.41mistadmanBut it all comes down to address
08:32.45dcordesso we are stuck with the irq issue and identifying those different data channels.
08:32.49dcordesam I right?
08:32.58mistadmanNo
08:33.01dcordeswhat else?
08:33.18mistadmanWe first need to make sure we clearly define memory addresses
08:33.38dcordesok so let's go a step back to the roots, look if the addresses are correctly with haret
08:33.53mistadmanWhen i comes down to it all a computer cares about is i/o addresses not channels
08:34.09dcordesby the way: thank you for all the help. I won't be able to help you like this with my C skills :(
08:34.26mistadmanChannels are what the programmer used to logically group devices and i/o and Rx / TX
08:34.40mistadmanThats ok.
08:34.53mistadmanThis is what open souce is all about
08:35.02mistadmanWe are all learing...
08:35.08mistadmanWe are all learning
08:35.14mistadmanSHARED_MEM A9/A11
08:35.15dcordesbut always let me know if I can return the favor differently
08:35.20mistadmanCool
08:35.23mistadmanThanks
08:35.33mistadmanSHARED_MEM A9/A11 = 0xb5100000
08:35.38mistadmanright?
08:35.40dcordesChannels are what the programmer used to logically group  devices and i/o and Rx / TX => yea that's clear
08:35.57mistadmanSHARED_MEM A9/A11 = 0xb5100000
08:36.04dcordes0xb5100000 is the wince virtual base address of the smem yes
08:36.15mistadmanok
08:36.26dcordesphysical is 0x01f*
08:36.36mistadmanSo whats: 0xE0001000
08:36.38mistadman?
08:36.59mistadmanRemember that from msm_iomap.h
08:37.06dcordeswe know it is in iomap.h
08:37.15dcordeswait I think it'S even commented..
08:37.28mistadmanCheck this out:
08:37.31mistadmanYEs
08:37.38mistadmanI was just looking at that
08:37.47mistadman<PROTECTED>
08:37.47mistadman<PROTECTED>
08:37.47mistadman<PROTECTED>
08:37.47mistadman<PROTECTED>
08:37.57mistadman^ this?
08:38.09dcordesyea right see that's what I mean by kernel internal mapping
08:38.21dcordesit's like linux virt
08:38.23dcordesnot wince virt
08:40.20mistadmanI think you are going to have to first straighten this file and mem i/o out
08:40.39mistadmanI am looking a the wiki: 0xac000000
08:40.59mistadmanWhat at that address according to the wiki?
08:41.57*** part/#htc-linux CVirus (n=GoD@62.135.96.108)
08:41.57mistadmans/What/Whats
08:42.45mistadmanHave you tried poking around with vdump
08:43.05dcordesyes of course.
08:43.22dcordeswhen you dump the complete 1M of smem, you can see where the fifos are
08:43.31dcordesok a new term we didn't use yet in our conversation
08:43.42dcordesfifos=channels
08:44.18mistadmanI can live with that
08:45.38mistadmanOk... Back to kaiser-smd.c
08:45.39mistadmansmd_write()
08:45.48mistadmanLet start there
08:46.01mistadmanThis is the main write function
08:46.10mistadmanMaybe its just brokent
08:46.18mistadmans/brokent/broken
08:46.50mistadmanThere is a printk in the function you might want to play with.
08:47.01dcordesok this is a very good plan
08:47.08dcordesI will fetch the tree so it's not broken anymore
08:47.47mistadmando you know how to reset branch
08:48.10mistadmanto go to an earlier revision?
08:48.15dcordesit's ok
08:48.18dcordeshold on a minute
08:54.07*** join/#htc-linux kiozen (n=kiozen@rgnb-4db1dae8.pool.einsundeins.de)
08:59.16martin__dcordes: hey!
08:59.19martin__mistadman: hey!
08:59.45martin__I have just woken up and spent about half an hour catching up with the last few hours of conversation...
08:59.47dcordesmartin__: aye joining in the fun?
08:59.53martin__yup
09:00.21dcordesI will make use of the smd write printk
09:00.32martin__so, i was really interested in the traces you guys were getting out of haret earlier
09:00.34dcordesmmutrace works just fine martin__
09:00.51dcordesKevin2: even improved it, removed some bugs
09:00.54martin__yeah, with that we should be able to sort this
09:00.59martin__i've downloaded the new haret
09:01.04dcordesgrab the latest build he made.
09:01.07dcordesgood
09:01.17martin__might need some help figuring out the commands
09:01.22dcordesaddlist mmutrace 0xb5100000 1024*1024
09:01.23dcordesaddlist mmutrace 0x95100000 1024*1024
09:01.23dcordesaddlist mmutrace 0x4fc0c000 4*1024
09:01.23dcordesaddlist mmutrace 0x4fc00000 4*1024
09:01.23dcordesaddlist mmutrace 0x4a20a000 (0x4a30c000 - 0x4a20a000)
09:01.30dcordeshere you go
09:01.44martin__which addresses are those?
09:01.44dcordesafter that wirq n will show you all the reads and writes to the smem
09:01.56martin__do i need the permissive mmutrace thing?
09:02.12dcordesmartin__: look into the mmu dump. those are all virtual pages that map to the 0x01f* (smem) area
09:02.19martin__if you guys can help me with the wince/haret stuff, i can deal with the C.
09:02.20dcordesyes it will ask you just do it
09:02.37dcordessounds like a good team
09:02.54dcordeswe have to help mistadman in exchange. he's not a kaiser but athena owner
09:03.01dcordesplus 50 other htcs lol
09:03.05martin__heh
09:03.22dcordesnote that the last 0x4a20a000 (0x4a30c000 - 0x4a20a000) will break everything
09:03.35dcordesat least if you do it that way
09:03.46dcordesKevin2: detailed on why it does that.
09:03.54martin__what i want to do is just look at the at write channel
09:04.21dcordesmartin__: add the first four lines
09:04.33dcordesthen wirq 100
09:04.37dcordesmake a call
09:04.57martin__ok
09:05.01dcordespoke around. also bluetooth shows activity
09:05.39martin__is this your trace of the same addresses? http://rafb.net/p/b85rEk31.html
09:05.41dcordesto only trace the write, maybe look at the mmu dump and only specify the virts that map to the write area
09:05.51dcordesyea
09:05.53dcordesthe first 4
09:06.39dcordesregarding the C everything goes down in kaiser-smd.c
09:08.48martin__okay, trying to decode your trace first
09:09.48dcordesmaybe you can try and figure out how exactly the irq notification process works
09:10.15martin__i suspect it involves writing some of those bits we saw next to the head/tail.
09:10.47martin__also do you want gps read working?
09:10.55martin__cos that's like a 2 line fix i think.
09:11.14dcordesmartin__: yea look at my comment
09:11.37dcordesalso check with msm_tty if you can get the device node setup correctly
09:11.44martin__you'll never get to your code there
09:12.01dcordeswith the comment thing?
09:12.25martin__if (n = 0) { AT } else { data }
09:12.43martin__it assumes only two channels are being used
09:13.00dcordesok let's not get confused again
09:13.09dcordesI'ma put the printk now
09:13.10martin__if you stick "else { GPS }" on the end there without changing the previous else
09:13.22martin__you'll never get to the GPS block
09:13.36dcordesI was 100% sure that was dumb. but it shows my intention quite well I think
09:15.33martin__so channel number 0 is AT
09:15.43martin__channel 2 is rpcrouter
09:15.55martin__channel 5 is qmi
09:15.58martin__whatever that is
09:16.00dcordeshow'd ya figure?
09:16.10martin__grep for smd_open and see where it's called
09:16.15martin__the first argument is the channel number
09:17.07dcordesin which file?
09:17.34martin__grep the whole of arch/arm/mach-msm
09:17.45martin__it's called in three places
09:18.03martin__smd_rpcrouter.c, smd_qmi.c, and smd_tty.c.
09:18.13martin__the first two use channels 5 and 2
09:19.01martin__smd_tty.c will use the minor number of the device node you create
09:19.10dcordesI think the rpc is quite useless to us
09:19.39dcordesbecause it depends on the halibut version of amss
09:19.48dcordesthe arm9 software that google use
09:19.59martin__yeah, i'm just explaining how the channel nos work
09:20.22martin__hang on, i'll write a quick patch to kaiser-smd.c that cleans things up.
09:20.23dcordesk
09:22.34martin__oh!
09:22.36martin__hang on
09:22.43dcordessup?
09:23.07martin__why don't the send.size and recv.size match the comments in smd_open()?
09:23.34dcordesbecause both come from different persons
09:23.57dcordesI think the comment is from a dump dzo had
09:24.02*** join/#htc-linux pH5 (n=ph5@e178198238.adsl.alicedsl.de)
09:24.08martin__hmm
09:24.18dcordesand the actual sizes are either from cr2 or marbalon
09:24.40martin__does at receive work indefinitely?
09:24.50martin__if so the 0x2000 size is probably okay
09:24.53dcordeswot you didn't try yet?
09:25.04dcordesit does. definetly in the current git head
09:28.29dcordeswhat is striking aret he two 4K pages that map to 0x01f* in the mmu dump
09:28.40dcordesthey are so lost in there. looks like something is special about em
09:29.48martin__i tried it but not for very long
09:30.06martin__nearly done with this...
09:36.20martin__ok, compiling
09:43.09martin__dcordes: http://void.printf.net/~martin/smd-open-cleanup.diff
09:43.27martin__tidies things up and adds a gps channel
09:43.44dcordescan you read gps?
09:44.12martin__haven't tested it yet
09:44.58martin__give it a try
09:45.02martin__i'm working on something else...
09:45.57dcordessend?
09:47.18martin__maybe...
09:51.04martin__dcordes: okay, i know what's wrong
09:51.24martin__not 100% sure how to fix it, but i know where to start.
09:52.53martin__dcordes: the smd_buffer_t definition is definitely wrong
09:53.02martin__the head and tail are shorts, not ints.
09:54.08martin__for the at receive we're getting away with that
09:54.55martin__and i suspect the gps will work the same way
09:55.13martin__unless there's a problem with defining a one-way channel
09:57.19martin__but for write it'll fuck things since we'll be writing where we shouldn't
10:01.14martin__dcordes: ping?
10:01.17dcordesyes?
10:04.07martin__i'm rewriting kaiser-smd.c to better fit what we actually know.
10:04.28martin__it'll take me a little while
10:04.49martin__could you test that patch i posted?
10:05.29dcordesbuilding
10:05.33martin__cool
10:05.37dcordesalso added all printks which were commented
10:13.01dcordesmartin__: do you know a simple free application to activate gps?
10:13.14martin__google maps?
10:13.18dcordesdon't like to grab google maps only for purpose of having a fix booting
10:13.27martin__i dunno
10:13.36martin__keep meaning to look for one though
10:13.45dcordesnvm
10:13.49martin__since google maps often doesn't give the gps enough time to start
10:14.17martin__so sometimes i wind up starting an even bigger mapping program
10:14.23martin__just to get the gps going
10:14.28martin__so i can use google maps :)
10:14.44martin__think maybe that's fixed in recent google maps though
10:14.56martin__lemme know what you find though
10:15.12martin__a nice little gps app would be cool to have
10:15.17dcordeslet's see if it boots at all first
10:15.23martin__always a good plan
10:15.29dcordespositive
10:15.41martin__check at receive first
10:15.46martin__that shouldn't have changed
10:15.51martin__all i did was reformat the code
10:16.15martin__if that works, do mknod /dev/smd7 c 254 7
10:16.33martin__and try reading it for gps
10:16.45martin__don't write to it though
10:16.50martin__might crash the kernel
10:17.03dcordesoops it did change
10:17.19martin__?
10:17.25dcordesmknod /dev/smd0 c 254 2 && cat /dev/smd0
10:17.26dcordesno such node
10:17.30dcordesno such device
10:17.34martin__good
10:17.37martin__that's what it should do
10:17.40dcordesah 2
10:17.43dcordesthat should be 0
10:17.46martin__yup :)
10:18.06martin__2 worked before because it was just if (n = 0) { ... } else { ... }
10:18.08dcordesgood worx
10:18.29dcordesit's just fine
10:18.31dcordesgoing for gps now
10:18.37dcordes254 7?
10:18.39martin__y
10:19.57martin__oh, the suspense...
10:21.46martin__what's happening?
10:23.13dcordeskiozen: what's a good program to get a gps fix?
10:23.44kiozenon mobile devices? try gpsd
10:23.58dcordesyes for wince
10:26.40martin__dcordes: http://www.freewarepocketpc.net/ppc-tag-gps.html
10:27.36martin__http://handheld.softpedia.com/catList/190,1,1,1.html
10:27.54dcordesare you sure minor should be 7?
10:28.04martin__yes
10:28.05martin__why?
10:28.59dcordescause the system replis no such device when I try to cat it
10:29.18kiozendcordes: you need it for wince? Isn't there an app on the device if it has gps?
10:29.29martin__hmm.
10:29.44dcordeskiozen: no only the spyware agps updater
10:30.00martin__dcordes: quickgps is spyware?
10:30.33dcordesmartin__: yes
10:30.36martin__lol
10:30.44dcordesa wise guy told me at least
10:30.47martin__who found that out?
10:30.48dcordesI did
10:30.58kiozendcordes: ok, never really tried with wince
10:30.58dcordesmknod /dev/smd0 c 254 7
10:31.00dcordesand
10:31.04dcordesmknod /dev/smd7 c 254 7
10:31.13martin__the node name doesn't matter
10:31.14dcordesbut I guess I could also call it /dev/fubar10
10:31.17martin__yeah
10:31.27martin__but 0 and 1 work?
10:31.33dcordeseverything replies no such file
10:31.39dcordes0 works
10:32.15martin__oh, fuck
10:32.17martin__sorry
10:32.24martin__i missed something further up in smd_open
10:32.28kiozenwith agps the provider cantrck you very precisely if wanted. So don't be surprised if you get a commercial sms from a brand  when passing their store :)
10:32.32martin__<PROTECTED>
10:32.32martin__<PROTECTED>
10:32.51dcordescat /dev/smd1 replies the printk I added which is "[n:1]
10:32.52dcordes"
10:33.48martin__dcordes: just delete those two lines from smd_open.
10:33.58dcordesok
10:35.13dcordes246,247?
10:35.28martin__something like that
10:35.33martin__i'm editing atm
10:35.46martin__should be the only place that appears
10:37.06martin__re: quickgps, by spyware i was thinking it was sending some extra stuff when it requested the new agps data
10:37.31martin__agps location itself i'm not bothered about
10:37.38martin__cell location is accurate enough already
10:37.42dcordesI think it sends extra stuff
10:37.48martin__if i didn't want to be tracked, i wouldn't carry my phone...
10:37.58dcordestrue!
10:38.44martin__i'll update it over my wifi sometime and sniff it
10:39.47martin__ooh, hang on
10:39.53martin__are you building a new kernel yet?
10:39.56martin__something else to change
10:40.22dcordesno I already booted it with the two lines removed.
10:40.29martin__ah, okay
10:40.33martin__well, should be fine
10:40.37dcordeswhat is it?
10:40.51martin__so long as you don't try to create anything other than 0, 1 or 7
10:41.14martin__i forgot to release the smd creation lock before returning -ENODEV.
10:41.50martin__to fix that, replace:
10:41.51martin__default:
10:41.58martin__<PROTECTED>
10:42.02martin__with
10:42.05martin__default:
10:42.10martin__<PROTECTED>
10:42.15martin__<PROTECTED>
10:42.23dcordeswoooha
10:42.24dcordesgps works
10:42.28dcordesI see the nmea data flowing
10:42.34martin__woo!
10:42.37martin__*bows*
10:42.43dcordesapplaudes
10:42.45dcordesnice work
10:43.39martin__okay, that's helpful
10:43.56martin__it confirms the working read isn't just a fluke specific to the at channel
10:44.14dcordesgood
10:44.50dcordesnow get the send working and we have gps working perfectly on the kaiser plus are in command of the modem.
10:45.49martin__working on it!
10:47.37martin__out of interest, what happens if you write to smd 7?
10:49.01dcordesare you familiar with cu?
10:49.20dcordesI already used it to try communicate with the smd but can't recall correct usage
10:50.12dcordesecho lol > /dev/smd7
10:50.24dcordesspams a polite printk
10:50.43martin__cu? no.
10:50.48dcordesrelease_dev: smd7: read/write wait queue active!
10:50.58martin__hmm.
10:51.02dcordesthat message appears about 50 times per second
10:51.07dcordesand doesn't stop
10:51.15martin__better than i expected
10:51.38martin__at some point i'll tidy that up so it just returns permission denied.
10:51.39dcordesI would like to see the head/tail printk so I can check if tail changes
10:52.16martin__in the meantime, don't write to smd 7 :-)
10:56.47*** join/#htc-linux BabelO (n=Fabrice@lun34-2-82-238-28-28.fbx.proxad.net)
10:57.22dcordesmartin__: I need a nap
10:57.25dcordescya
10:57.29kiozenhi BabelO, back from the 100 bugs?
10:57.30martin__you've been up a while :)
10:57.44BabelOhi
10:57.45dcordesyep
10:57.46martin__dcordes: will post something new for you to test in a bit
10:57.48BabelOkiozen: yes :)
10:57.52martin__then i'm off out
10:57.58martin__back at some point...
10:57.59*** join/#htc-linux pikapika (n=pikapika@mar75-8-88-164-227-147.fbx.proxad.net)
10:58.03dcordescool cya
10:58.10pikapikahi
11:24.21*** join/#htc-linux ellisway (n=ellis@80-46-67-47.static.dsl.as9105.com)
11:39.08*** join/#htc-linux regurgitate (n=x1@233.85.220.87.dynamic.jazztel.es)
11:39.11regurgitatehi
11:39.23regurgitateneed help to detect a model of htc running
11:39.32regurgitatefor select an apropiate lcd driver
11:40.55*** join/#htc-linux skodde (n=skodde@unaffiliated/skodde)
12:00.45*** join/#htc-linux rmoravci1 (n=rmoravci@adsl-dyn73.78-98-166.t-com.sk)
12:01.23*** join/#htc-linux goxboxlive (n=goxboxli@208.84-48-176.nextgentel.com)
12:02.48martin__dcordes: http://void.printf.net/~martin/kaiser-smd.c
12:03.01martin__totally untested
12:03.04martin__try if you dare.
12:04.28martin__I need to go out for a bit but may carry on later
12:06.54*** join/#htc-linux Tonny (n=chatzill@set25-1-88-166-169-49.fbx.proxad.net)
12:08.27Tonnylol
12:11.01regurgitatehi guys
12:11.04regurgitatei have an elf
12:11.21regurgitatewhat i need to do for catch keys ?
12:11.26regurgitatedo you have some link to read ?
12:14.42*** join/#htc-linux LordMero (n=Gra@80-218-11-139.dclient.hispeed.ch)
12:21.50LordMeroHi
12:22.10LordMeroi need to talk abut linux on artemis
12:22.24LordMerosmn can help me?
12:29.34BabelOhi LordMero
12:29.41BabelOwhat happen ?
12:30.28regurgitatei need help top
12:30.30regurgitatetoo
12:53.00*** join/#htc-linux regurgitate (n=x1@233.85.220.87.dynamic.jazztel.es)
12:54.46*** part/#htc-linux Tonny (n=chatzill@set25-1-88-166-169-49.fbx.proxad.net)
13:15.10skoddeharet is always the only way to boot a linux kernel on Universal or there are some other options now?
13:17.37regurgitateis there anyway to check what hardware i have using omap registers ?
13:18.13regurgitateskodde, check http://handhelds.org/moin/moin.cgi/Universal
13:20.00skodderegurgitate: that doesn't answer my question, i already know haret and that page
13:21.23regurgitate<PROTECTED>
13:26.43LordMerohi Babel0
13:26.57*** join/#htc-linux regurgitate (n=x1@233.85.220.87.dynamic.jazztel.es)
13:27.24LordMeroi would like to replace win with linux on my p3300
13:27.44LordMeroi was wondering if there are any instructions to follow
13:29.50LordMerosince as i've understood it runs separatelz
13:29.51LordMeroy
13:29.55LordMeroright_
13:30.10LordMero?
13:31.16*** join/#htc-linux andy_js (n=andy_js@AAmiens-152-1-38-8.w83-198.abo.wanadoo.fr)
13:51.08mistadmandcordes: What did i miss?
13:51.23mistadmandcordes: I dozed off waiting for you. Sorry!
13:51.50mistadmandcordes: Looks like martin fixed gps?
13:53.09martin__heh, you two had a pretty late night
13:53.24mistadmanYeah
13:53.31mistadmanBut we had a blast
13:53.45mistadmanmartin__: I see you made some progress
13:53.52martin__yeah
13:53.58mistadmanmartin__: Gps works now?
13:54.02martin__since then i have largely rewritten kaiser-smd.c
13:54.14martin__it was quite a mess
13:54.29mistadmanmartin__: What about phone. He couldnt send mesg to arm9
13:54.38mistadmanmartin__: Fixed?
13:54.47martin__haven't tested the rewrite yet
13:54.57mistadmanCan I look a the patch
13:55.17martin__http://void.printf.net/~martin/kaiser-smd.c
13:55.42mistadmanI wish I could have been more help to dcordes, but I don't have a kaiser!
13:55.45martin__mistadman: which phone are you working on, and what chipset is it?
13:56.05mistadmanAthena and pxa270
13:56.31martin__ah
13:56.45martin__dunno how much help you'll find in my code then
13:57.04martin__but as a generic implementation of shared memory channels it's a bit of a cleaner example now
13:57.21mistadmanHere is the status of my work: http://forum.xda-developers.com/showthread.php?t=393389
13:57.52mistadmanHow did you find what was on what channels?
13:58.15martin__mistadman: looking at dumps of the shared memory after using stuff from wince
13:58.33mistadmanUnfortunately, I cannot grep thru source code.
13:58.46mistadmanI have to brows git online. Very slow...
13:58.56martin__?
13:59.07mistadmans/brows/browse
14:00.48mistadmanWhat calls: int smd_open(int n, smd_channel_t **_ch, void *priv, void (*notify)(void *, unsigned))?
14:00.57martin__smd_tty_open
14:01.22martin__also smd_rpcrouter.c and smd_qmi.c
14:15.54*** join/#htc-linux kiozen_ (n=oeichler@p5492B4CD.dip0.t-ipconnect.de)
14:29.54mistadman<PROTECTED>
14:30.09mistadmanSo the wiki had it wrong?
14:44.36BabelOLordMero: you cannot at the moment
15:32.04*** join/#htc-linux Playdeep (n=Playdeep@65.90.54.218)
15:32.18*** part/#htc-linux Playdeep (n=Playdeep@65.90.54.218)
15:56.42*** join/#htc-linux SmallR2002 (n=SmallR20@c-67-162-60-33.hsd1.il.comcast.net)
16:23.35dcordesmistadman: did you do a complete dump of your athena smem yet?
16:23.56mistadmandcordes: I am going thru it now
16:24.13mistadmanLooks like martin__ hooked you up!
16:24.19mistadmanLooking good
16:25.46dcordesyea it's great we can access the gps now
16:25.53dcordesQlandkarte GT on kaiser
16:26.08mistadmanWhats qlandkarte?
16:26.19dcordeskiozen: I need a qvga armv6 build of qtopia :)
16:26.19mistadmanAnd what about the phone?
16:26.36dcordesit's a nice gps program made by kiozen
16:26.36mistadmanCan you write yet?
16:26.41dcordesno writes
16:47.35dcordesgot your smem dump?
16:48.17mistadmanhttp://rafb.net/p/IOXGCI51.html
16:48.25dcordesmartin__: did you polish the diff so I can commit it?
16:48.40mistadmanGoing thru it now.
16:49.14dcordesno I mean the vdump kind of stuff, not the mmutrace
16:49.39kiozendcordes: ok, tell me if you need support to compile QLandkarte M
16:50.10dcordeskiozen: one openmoko guy suggested to me anyway to try and start into qtopia if X does not work
16:50.17dcordesI wanna show people linux!=android
16:50.26dcordesin the xda forum
16:50.49AstainHellbringlots of dumbasses posting in there about android
16:51.04dcordesAstainHellbring: why dumbasses?
16:51.32lamagoogledroid
16:52.18dcordeslikely many of them don't know there is something else
16:52.46martin__dcordes: no, i want to get the bigger cleanup i did working okay
16:52.51dcordesI need to get a connection working to kaiser in order to debug the edje based interfaces
16:52.58dcordesmartin__: k
16:53.05martin__did you have a look?
16:53.21dcordesyou updated the diff?
16:53.35martin__no, i uploaded a complete file
16:53.52martin__http://void.printf.net/~martin/kaiser-smd.c
16:54.20martin__the code was a hell of a mess so i've cleaned it up
16:54.24martin__added some commentary
16:54.42dcordeswhere did channel 1 go?
16:54.45AstainHellbringjust like to post dumb things that they don't know about
16:54.48martin__might have broken it in the process
16:55.04martin__i didn't have a dump that showed the head and tail of it
16:55.18martin__so i wasn't sure about the addresses
16:55.31AstainHellbringcurious how close you guys to writes on radio? if any idea on that of course
16:55.37martin__has anyone confirmed they can read from it?
16:55.52dcordesmartin__: hmm not in both dumps? I could swear I went online with the umts before I dumped
16:56.11dcordesmartin__: not that I know of
16:56.23dcordesbut it should be the same as AT and GPS
16:56.38martin__it'll be the same structure
16:56.44martin__but i dunno where in meme it is
16:57.02dcordeswe need to make a new dump, making sure umts data is in
16:57.15dcordesnow how in hell did I make those
16:57.20martin__and the dumps i've got don't show anything at the addresses that were there
16:57.35martin__anyway, that channel is useless untill we have at writes
16:57.50dcordeswell the addresses that were there are irrelevant vogue stuff
16:57.54martin__so i'd rather just keep to what we know works
16:58.55dcordesby the way. if we modify smd.c too much, it could probably be hard to stay synced with the others. Dzo integrated msm_proc_comm
16:58.56dcordesmartin__: ok good
16:58.56martin__dcordes: yeah, i realise that
16:59.18martin__it's easy enough for me to shuffle things around once they're working though
16:59.35dcordesok cool just try and not remove the proc comm things
16:59.45dcordesproc comm is mostly updates to clock.c anyway
17:00.02martin__i've shunted that to the end of the file
17:00.12martin__along with smem_alloc which is also just a stub
17:01.02dcordesmartin__: http://rafb.net/p/CNv5Qr91.html
17:01.11dcordesI tried this with the current git but it doesn't boot
17:01.38dcordesit's a sort of rudimentary integration of what dzo done lately to get the sound connection to the modem working
17:01.41martin__when we've got everything working, i can look at what is actually kaiser-specific, or msm7200-specific, and come up with a better organised patch for upstream.
17:01.58dcordesok
17:03.07dcordesmartin__: may I ask what you do about the write?
17:03.35martin__it's possible the version i just posted will work
17:03.44dcordesoh
17:03.53dcordeshave to give that a try
17:03.53martin__there's quite a few changes there
17:04.07martin__i'm having trouble booting again here
17:04.28dcordesflash a 6.1 rom
17:04.56martin__someone broke the ipaq module in 2.6.26-rc5
17:05.13martin__going to boot my old kernel
17:05.18martin__biab
17:06.49dcordesI use a light webserver where I put the things in and download them with internet explorer
17:07.29dcordesa script updates the zImage on the server after build and booting works all the time. very comfy
17:13.09martin__woot
17:13.20martin__it seems to work
17:13.27dcordesno shit?
17:13.29martin__reading at least
17:14.37dcordesdid you try to write?
17:15.01martin__hang on
17:15.18dcordesI just send a ´AT\r´to smd0
17:15.28dcordesit printed smd: irq 6
17:15.32dcordeslike 20 times
17:15.51dcordesthe head/tail printk looks odd
17:15.59dcordesI will write some more bits
17:16.34dcordeshow can I redirect the whole output so I can scroll it?
17:17.18dcordeslooks like the old problem
17:17.28dcordeshead changes, tail not according to the printk
17:17.45martin__how  can you get a > on the keyboard
17:17.51dcordesshift zero
17:18.01dcordesbackslash is camera 1
17:18.20dcordesbrb
17:19.36martin__hmm, interesting
17:19.36martin__the tail did change
17:22.24mistadmanmartain__: strh does this eq read or write command?
17:22.33mistadmanassembly->strh
17:23.45martin__i don't speak assembly :)
17:23.56mistadmangot it
17:31.02dcordesit change only from 0 to 1 at the beginning
17:31.07dcordeswhen I sent AT\r
17:31.15martin__i have some suspicions
17:31.30*** join/#htc-linux ltxda0 (n=ltxda@unaffiliated/ltxda)
17:31.42martin__see how after that, it spams hundreds of irqs on each write but never changes the tail?
17:33.57martin__i reckon that's it running right round the buffer
17:34.10martin__because the head and tail are swapped going the other way
17:34.17martin__rewriting the code to accomodate that.
17:43.54*** join/#htc-linux m4rku5 (n=darkguar@p5B07509A.dip.t-dialin.net)
17:46.01*** part/#htc-linux m4rku5 (n=darkguar@p5B07509A.dip.t-dialin.net)
17:47.45dcordesmartin__: yea noticed the irqs
17:47.53dcordesthe more you write, the more irqs you get
17:50.08martin__dcordes: uploaded a new kaiser-smd.c
17:50.18dcordesok
17:50.25dcordesreplacing old?
17:50.26martin__y
17:50.30dcordeshttp://void.printf.net/~martin/kaiser-smd.c
17:50.35martin__yup
17:55.24martin__hmm, this is promising
17:55.49martin__now when you write to the channel you get some irq 2s as well as irq 6s
17:55.57martin__which suggests a response
17:56.02dcordesbooting
17:56.34dcordeswill investigate the listen
17:56.51dcordess/listen/response/
17:58.21dcordeskiozen: what's the usual replay to AT?
17:58.31dcordesmartin__: I think itworks
17:58.35elliswayok
17:58.40martin__dcordes: yeah?
17:58.52dcordesyea I never seen those messages starting with fatal beofre
17:58.55elliswayat on its own should give the response ok
17:59.39dcordessomebody or something broke the ctrl key gr
18:00.16martin__yeah that's been pissing me off too
18:00.17*** join/#htc-linux Tonny (n=chatzill@set25-1-88-166-169-49.fbx.proxad.net)
18:00.29dcordesmartin__: are you in the console imagE?
18:00.33martin__yeah
18:00.42dcordescan you put commands?
18:00.48dcordescheck if you have miniterm
18:01.03martin__hang on, gotta reboot cos i can't ctrl-c.
18:01.07dcordesok same
18:01.49martin__i don't get why the pointers keep being zeroed though
18:02.57dcordesgotta poke the keyboard guy about ctrl
18:03.15dcordeshm no miniterm
18:04.16martin__could do cat /dev/smd0 & cat > /dev/smd0
18:04.58dcordesthat's what I did above
18:05.06dcordesyou mean echo / cat
18:05.20martin__no i mean literally that command line
18:05.27martin__cat /dev/smd0 & cat > /dev/smd0
18:06.01dcordesI did "echo `AT\r` > /dev/smd0 & cat /dev/smd0"
18:06.08dcordestried?
18:06.12martin__ah, that'd do, yeah
18:06.25martin__use cat and you can keep putting in commands though
18:06.35martin__but we should sort out the ctrl key stuff
18:06.52martin__was there a commit on the keyboard stuff?
18:08.14dcordesah wtf
18:08.29dcordesboard-kaiser-keypad.c
18:09.27dcordescu doesn't work because it says creat /var/lock/TMP000000000000ea:Permission denied
18:09.45martin__is there a /var/lock directory?
18:09.51dcordesyes
18:10.04dcordestry yourself
18:10.09dcordescu -l /dev/smd0 I think
18:10.48dcordesI can create files in /var/lock/ w/o problems
18:11.04martin__is it trying to create a device or a fifo or something?
18:11.57dcordesbecause of the line in use?
18:12.01dcordesmaybe the -l is wrong
18:25.49*** join/#htc-linux Othello (i=Magorium@gateway/tor/x-c8d6a37b839b1f1e)
18:28.07dcordesmartin__: I did a screen /dev/smd0
18:28.41martin__?
18:28.49dcordesyou can use that to communicate
18:29.06dcordesit spams the crap out with  smd: irq6
18:29.20dcordesbetween you can see the AT messages from the modem coming it
18:29.24dcordesI can't tell if I can write
18:29.28dcordestoo much spam
18:29.37dcordesit's also hard to read the head tail printk
18:29.46martin__okay
18:30.00martin__if we think read is working okay, comment out the printk for that
18:30.12martin__and the irq printk
18:30.36dcordesI can see something about ARM9= and ARM11=
18:30.57martin__those are the same as the previous head= and tail=
18:31.08dcordesI see
18:31.27martin__whichever way the data is going, the addresses mean the same thing
18:31.35martin__one is the arm9's pointer into the circular buffer
18:31.40martin__one is the arm11's.
18:32.03dcordeswhich printk produces irq6?
18:32.03martin__for write, the arm11's is head
18:32.04dcordesread?
18:32.19dcordesI see dynamic head/tail printk
18:32.22mistadmanWhat did I tell you dcordes
18:32.34martin__irq 6 seems to be associated with the AT write channel.
18:32.36mistadmanother smd device
18:32.39mistadmanHa!
18:33.08dcordesmartin__: I will just get rid of both irq printks
18:33.16martin__they're both the same printk
18:33.45dcordeswhich line?
18:33.55martin__140
18:36.27martin__the printk's are all done with D(...)
18:36.46martin__which gets defined to either printk or a do-nothing at the top of the file
18:36.54martin__so you can turn on and off debugging
18:37.19martin__at compile time, anyway
18:37.47dcordeshuh don't get it
18:38.04martin__see line 38
18:38.18martin__change it to if 0 if you want no debug messages
18:38.41dcordeswell I want the head and tail
18:39.07martin__yeah, just comment out the bits you want rid of then
18:39.19martin__just explaining why you can't search for printk in the file...
18:41.03dcordesthe homeless stubs are exactly the ones that get used with the proc comm patches
18:41.42martin__yeah, i just wanted to move them out of the way to reduce confusion
18:42.07dcordesI'm a bit confused about the printk
18:42.14martin__since they're not used by the smd code
18:42.18dcordeswhat exactly will I do to turn off debugging entirely?
18:42.34martin__change "if 1" to "if 0" on line 39
18:42.57martin__that was already there
18:43.03martin__in the old versions of the file
18:43.07dcordesdid it
18:43.22martin__i just made the printks people had added use it too
18:48.19dcordesmartin__: I think the modem refuses to work as soon as we write crap
18:48.32dcordesI got the same FATAL messages as before when I wrote the AT\r
18:48.34dcordesanr read
18:48.43dcordesthey terminate any data coming from the modem
18:48.43martin__ok
18:48.56martin__well, at least it's noticed us :)
18:49.11dcordesI think it definetly does
18:49.22martin__what do the msgs say
18:49.24martin__?
18:51.46dcordesthey all begin with
18:51.58dcordes[WCDMA] +FATAL: Task:
18:52.16dcordesand then followed by some id name
18:52.19*** join/#htc-linux andy_js (n=andy@AAmiens-152-1-38-8.w83-198.abo.wanadoo.fr)
18:52.33dcordesI will copy a a complete line
18:53.53martin__dcordes: do you have that trace from wince talking to the modem?
18:54.32dcordesSMD,SP=0x17f6f60, PC=0x2, SP_Limit=0x17f7ee4, State=0xfffff
18:54.41dcordesmartin__: which one?
18:54.48dcordesyou mean the dump or mmutrace?
18:57.07dcordes[WCDMA] +FATAL: Task: SMD,SP=0x17f6f60, PC=0x2, SP_Limit=0x17f7ee4, State=0xfffff (cut off at the end, don't know how to scroll the screen right)
18:59.41dcordesI will try the screen with the modem off
18:59.46dcordesthen I'm off
19:00.04dcordesmartin__: http://rafb.net/p/8tfKso50.html
19:01.40martin__dcordes: yeah, see, that trace is wacky
19:02.02martin__there's all this stuff going on up at smem + fc0xx
19:03.12martin__that's miles away from the head/tail/buffer
19:03.19*** join/#htc-linux LunohoD (n=alex@e180069210.adsl.alicedsl.de)
19:05.06martin__dcordes: that trace suggests there's something else involved in talking to the modem too
19:05.23martin__maybe those writes are something to do with the sound
19:06.38dcordescould be
19:06.46martin__did you do a trace of the AT write channel addresses?
19:07.14martin__does that work with haret now
19:07.15martin__?
19:07.55*** join/#htc-linux cr2 (n=konversa@crpl6.physik.uni-wuppertal.de)
19:08.02martin__hey cr2
19:08.03dcordesmartin__: try
19:08.12cr2hi
19:08.15dcordeshello cr2
19:08.26cr2any (good) news ?
19:08.48dcordeskaiser mmutrace fixed
19:08.54cr2i didn't have time to read the logs
19:09.02cr2of do any hacking recently ;)
19:09.06cr2ok.
19:09.25dcordesand martin__ rewrote whole kaiser-smd.c, enabling gps read
19:09.25cr2so you can see which dlls access the SD, fifos et al. ?
19:09.34cr2does it work ?
19:09.36dcordesI'm not too sure
19:09.48cr2i mean gps.
19:10.06dcordesyes. I see the gps messages when I cat device while gps is active on boot
19:10.21cr2cat /dev/smdX ?
19:10.24dcordesright
19:10.30dcordesjust prints the nmea data I think
19:10.42cr2ok, that't what it should do,
19:11.05cr2is it smd7 ?
19:11.09dcordesyes
19:11.18cr2do you have it documented somewhere ?
19:11.19dcordeshttp://void.printf.net/~martin/kaiser-smd.c
19:11.34dcordescr2: you put the register in the wiki
19:11.41dcordesdon't know what I should document more
19:13.05cr2so you handle 0 and 7 now.
19:13.09cr2what about 1 ?
19:13.28dcordeswe leaved it out because we don't have the net data registers yet
19:13.42cr2net data ?
19:13.52dcordesyes the umts data
19:13.58dcordesor whatsoever that's called
19:14.08cr2whihc data ?
19:14.33cr2the fifo or the umts data access itself ?
19:14.44dcordesno idea
19:14.48martin__if someone's absolutely sure which smem blocks are used for the umts data i'll put that back in
19:14.49dcordesexactly what it is
19:14.54martin__likewise any other smd channels we're sure about
19:15.08martin__but currently the only ones i've seen tested are AT and GPS.
19:15.21cr2ok.
19:15.38cr2i don't have either umts data or msm7200 :)
19:16.29dcordescr2: how did I get the smem-dump-to-file-thing again?
19:18.16cr2pd
19:18.33cr2sorry
19:18.49cr2pwf file addr size
19:19.33cr2mistadman: your dpram trace looks interesting
19:19.37dcordes1M size?
19:19.43cr2dcordes: yes
19:19.49cr2mistadman: still here ?
19:19.53dcordessorry I mean what is the size bit for 1M?
19:22.11cr20x100000
19:28.12martin__dcordes: can't seem to get that to trace
19:28.15martin__can you try?
19:28.35dcordesalmost done..
19:28.47martin__phys 0x01f041f0, wince virt 0xb51041f0, size 8204
19:29.03dcordesI went online using umts, downloaded a 130K file, closed the connection, openned wifi connection, ran haret, dumped
19:29.42dcordesthat should sufice I assume the umts buffer is still filled
19:29.51dcordesor umts fifo, modem data fifo whatsoever
19:29.57martin__okay, that dump will be useful
19:30.01cr2yes
19:30.06cr2it's interesting.
19:30.09dcordesin msm7x00-smd.c it'S called eth0
19:30.19dcordesin the comment
19:30.28martin__but i need a trace of just the at tx buffer
19:30.45dcordesshould be no problem
19:30.55martin__okay, just those addresses above
19:31.18dcordesaddlist mmutrace 0xb51041f0 0x8204
19:31.30martin__yeah i did that
19:31.31*** join/#htc-linux Zoolooc (n=fredsiba@nrbg-4dbfd503.pool.einsundeins.de)
19:31.38martin__and did wirq 60
19:31.49dcordesdid you get reads/writes?
19:31.49martin__but all i got in the output was irq stuff
19:31.58dcordesso no reads writes
19:32.12martin__039116: mmutrace 80065470: e1403092(swp?) b51fc138 00000000 (b51fc138)
19:32.12martin__039116: giving up - clearing mapping
19:32.15dcordestry adding the other virt that points to the 0x01f phys
19:32.21dcordeswith the same size
19:32.24dcordeslook at the mmu
19:32.43dcordes0xb5100000 1MB
19:32.47dcordes0x95100000 1MB
19:32.51dcordes0x4fc0c000 4K
19:32.56dcordes0x4fc00000 4K
19:33.29dcordesand then there is 0x4a20a000 (0x4a30c000 - 0x4a20a000) which freezes the kaiser when you trace it entirely
19:36.34martin__yeah, it may be that the access is happening through the 4K maps
19:37.17martin__50df0000 maps there too
19:37.43martin__wait, no
19:37.51martin__that's 001f0000
19:38.12martin__how do you disable all the irq tracing?
19:38.25dcordescr2: it appears a bit long 0x100000
19:38.27dcordeszero too much?
19:38.33dcordes01fbe760 | 00000000 00000000 00000000 00000000 | ................
19:39.14martin__anyway, i need to go
19:39.19martin__will look at this more later
19:39.25dcordesyes I'm also off
19:39.31martin__progress, though...
19:39.31dcordesI'm emailing you the smem dump
19:39.34martin__cheers
19:42.26dcordescyall later
19:44.44*** part/#htc-linux Tonny (n=chatzill@set25-1-88-166-169-49.fbx.proxad.net)
20:04.20*** join/#htc-linux andy_js_ (n=andy@AAmiens-152-1-38-8.w83-198.abo.wanadoo.fr)
20:29.48cr2hehehe. these nokia people are completely off track.
20:30.27*** join/#htc-linux tsdogs (n=tsdogs@62.123.180.130)
20:32.09cr2hi tsdogs
20:32.26tsdogshi cr2
20:33.29cr2tsdogs: i've seen your link. i think nokia is officially evil now ;)
20:33.45tsdogs:) agreed
20:35.26cr2have you seen that there is an osm2mp now, supporting route planning ?
20:37.17tsdogsnope
20:38.20cr2it's a perl script.
20:38.27lamahttp://news.zdnet.co.uk/hardware/0,1000000091,39432956,00.htm
20:38.38tsdogsthough osm does not have much data for route afair, BTW I mapped my city with merkaartor
20:38.40cr2does not support turn restrictions, but it's easy to add.
20:39.26cr2merkaartor may do some useful things.
20:40.05cr2i'm using it with a geotiff2TMS script.
20:40.08tsdogsneeds improvement on the relation and taggins side, but it's coming the good way
20:41.00tsdogsno idea what TMS is :)
20:41.34cr2'create area' still has 'road - properties'
20:41.49tsdogshmm, I upgraded to Fedora 9, but I'm not sure anymore it was a good idea.
20:42.06cr2256x256 tiles as background.
20:42.44tsdogsyes, I was thinking on proposing some config file to deal with tagging, so it can bind the right ones, and can follow OSM tag changes/additions
20:42.50cr2do oyu know how to change the poi->icon in merkaaartor ?
20:42.51tsdogsho, ok
20:43.23cr2it's the same PITA as with roadmap
20:43.28tsdogsI think it's hardcoded, and the icons are in a qrc file
20:43.45cr2i don't see the tiny town/village 'dots' on the TMS background.
20:44.02cr2and don't know how to change it.
20:44.12tsdogshmm let me check :)
20:44.41cr2thanks.
20:47.04*** join/#htc-linux pikapika (n=pikapika@mar75-8-88-164-227-147.fbx.proxad.net)
20:47.20pikapika:)
20:49.41tsdogscr2: in source Styles/Mapnik.mas
20:50.14elliswayevenin all
20:51.46tsdogsActually you can change the Icons/Places/place_village.png :)
20:52.56tsdogsI think that having this in a qrc (embedded resource file) is not a real good solution
20:53.03tsdogsellisway: evening :)
20:54.57cr2tsdogs: ok.
20:55.49cr2tsdogs: i think i'll need a serious modification to merkaartor before really using the realtions for turn restrictions.
20:56.41tsdogshmm, I'm upgrading to Fedora 9, but I'm not sure it's been a good idea to have KDE4... It's missing so many things, maybe I'll switch to 4.1beta...
20:57.45tsdogscr2: well turn restrictions are pretty basic in merkaartor, but there was a mentioning in ML
20:59.08cr2tsdogs: i think merkaartor needs 2 things: 'verify map' function like gpsmapedit, but it's not a major one.
20:59.32cr2the major one is the function to split the ways in all nodes that have >2 way segments.
21:00.20cr2i don't know how merkaartor stores the nodes/ways internally. maybe this functions will be very simple to implement.
21:01.57*** join/#htc-linux ellisway (n=ellis@80-46-67-47.static.dsl.as9105.com)
21:02.49tsdogscr2: no idea, haven't looked at relations in OSM that much, but wouldn't it be a separate element?
21:04.17cr2relations is a separate element, but it's a different problem.
21:04.45tsdogsaren't they used to specify turn restrictions?
21:06.01cr2yes, but the life will be much easier if you follow the 'roadmap' topology for the "ways"
21:06.23tsdogsok
21:07.16cr2in roadmap each "way" has only 2 "real" nodes.
21:07.30cr2and the start and at the end.
21:08.04cr2all other vertices are only describing the shape.
21:08.23tsdogsok so it actually would need to split the way into segments which start from a connection and end to another connection (if there is one)
21:08.31cr2so you don't care about them for turn restrictions and so.
21:08.41cr2yes.
21:08.45tsdogsthen apply relations to this nodes
21:08.48tsdogsok got it
21:09.12cr2you can count the number of 'incoming' and 'outgoing' lines for each OSM node.
21:09.30cr2if it is =1, then it's an 'end-node'
21:09.40tsdogshmm, don't think it's like that in the code...
21:10.03cr2if it's =2, then it's most likely a simple vertex
21:10.35cr2unless the "left" and "right" tags do not match
21:10.39tsdogsthough turn restrictions should be something like way2 to way2 from x not permitted
21:10.58tsdogsor to x
21:11.05cr2it's not so easy.
21:11.10tsdogsturn restrictions can be nasty
21:11.19cr2if you use the pure OSM model.
21:11.43tsdogsbrb
21:14.18tsdogsreading http://wiki.openstreetmap.org/index.php/Relations/Turn_Restrictions looks pretty clear
21:14.31tsdogsmaking them is not so easy though :)
21:15.21tsdogswhat are psv / hgv ?
21:15.41cr2some vehicles
21:15.45tsdogslol
21:15.47cr2forgot which ones :)
21:16.34tsdogsprobably service or something
21:16.44cr2buses and such
21:17.35tsdogshmm OSM is too much UK centric :)
21:18.10cr2yeah, but nobody prevents you to set your own tags.
21:18.38tsdogsI know, psv = passenger service vehicle
21:18.40cr2with a properly configured configs for osm2mp it'll not be an issue.
21:18.45cr2bus :)
21:19.48tsdogshgv = heavy goods vehicle
21:20.15tsdogstruks :)
21:20.22cr2ok.
21:20.57cr2ok, let's check the simple things instead :)
21:21.09tsdogslol
21:21.31cr2i've modified merkaator a bit, but it segfaulted after that ;)
21:21.39tsdogs:)
21:22.01cr2i wanted to force adding the 'area=yes' tag
21:22.12cr2if you've selected the 'create->area'
21:22.20tsdogshmm, that's a missing one.
21:22.42cr2for some weird reason, creating the area pops up the road properties in the tags.
21:23.00cr2which is a major PITA for lakes and forests.
21:23.21tsdogscr2: you can leave that off, and add your own
21:23.58cr2i hate flash, but potlatch gui (visually) looks the most user-friendly to me of all osm programs. even if it's incomplete and has broken utf8.
21:24.35tsdogsI can't use potlatch it's like beeing a mac user ;)
21:25.02cr2ok, but why does it segfault ?
21:25.04cr2lol.
21:25.14tsdogscr2: no idea.
21:25.25tsdogswhat did u change?
21:25.30cr2it's certainly easier to use for vector ops than merkaartor or josm.
21:26.02cr2i've added the 'area=yes' tag next to ther 'created_by=merkaartor'
21:26.12cr2wait i'll look into the source.
21:27.07cr2./Interaction/CreateAreaInteraction.cpp
21:27.35tsdogsfound it, though I'm not sure setTag is good for a new one...
21:27.46cr2void CreateAreaInteraction::createNewRoad(CommandList* L)
21:27.46cr2{
21:27.47cr2<PROTECTED>
21:27.47cr2<PROTECTED>
21:27.47cr2<PROTECTED>
21:27.48cr2<PROTECTED>
21:28.31cr2hehe. now i see why it's a road
21:28.33cr2theRoad = new Road;
21:29.11tsdogscr2: well basically it does not differ much from a road in the data
21:29.49cr2ok, but popping up the road attribute dialog of a lake/forest is stupid.
21:29.59tsdogsyep
21:29.59cr2s/of /for /
21:32.09tsdogscr2: are u using svn version ?
21:32.22*** join/#htc-linux exco (n=exco@e181099163.adsl.alicedsl.de)
21:35.22cr2tsdogs: yes.
21:35.55tsdogschecking ...
21:36.01cr2tsdogs: i seldomly use released versions for nice software :)
21:36.23tsdogs:)
21:36.45tsdogsok it was a stupid question, I thought it just after I posted it :)
21:37.31tsdogswell merkaartor 1.0 would not be usable that much, I only wish the save stuff gets fixed
21:38.01tsdogscr2: I made it :)
21:38.10cr2?
21:38.39tsdogsYou need to put this:
21:38.55tsdogstheRoad->setTag("area","yes");
21:39.10tsdogson line 114
21:39.23tsdogsafter HaveFirst = false
21:39.37cr2void CreateAreaInteraction::finishRoad(CommandList* L)
21:39.39cr2here ?
21:39.42tsdogsyep
21:39.47cr2ok :)
21:40.13tsdogsstill it pops for the road type, but that's more complicated
21:40.41cr2ok.
21:40.45cr2compiling.
21:40.49tsdogsbrb
21:41.27cr2QMetaObject::connectSlotsByName: No matching signal for on_toolsPreferencesAction_triggered(uint)
21:41.27cr2QMetaObject::connectSlotsByName: No matching signal for on_preferencesChanged()
21:42.37cr2no 'area=yes' tag :(
21:43.03cr2in the properties
21:43.08tsdogshmm it works for me
21:44.53tsdogscr2: u using 4.4?
21:44.56cr2yes.
21:45.02tsdogshmm I have 4.3
21:46.03tsdogsdo u have the undo stack ?
21:46.32cr2how do i check ?
21:46.57tsdogsright click on the toolbar
21:47.06tsdogsdo u have an Undo?
21:47.10cr2i'm downloading a rectangle from OSM, and adding a polygon.
21:47.24cr2no.
21:47.38tsdogsmaybe u only need to svn up then :)
21:47.45cr2ok.
21:48.43cr2Revision 8221.
21:48.59tsdogsyes
21:50.02cr2Undo/Redo icons.
21:50.05tsdogsyour change works for me too
21:50.52tsdogsI mean that making the change you have made to my source worked for me...
21:51.03cr2strange.
21:51.20tsdogsdo you have the undo?
21:51.24cr2yes.
21:51.39tsdogsok, does it still segfault=
21:51.41tsdogs=
21:51.42tsdogs?
21:52.17cr2no.
21:52.27tsdogsbut no are tag?
21:52.34cr2but the 'area=yes' does not show up in the properties.
21:52.36cr2yes
21:53.02cr2i'll do make clean.
21:53.10tsdogsnow it shows up even if I click on select before closing the area
21:53.36tsdogswhat's the rectangle you are downloading?
21:53.41cr2<PROTECTED>
21:53.41cr2+        theRoad->setTag("area", "yes");
21:53.41cr2<PROTECTED>
21:53.44cr2svn diff
21:54.36tsdogscr2: I moved it in the createNewRoad and also works
21:54.48cr2recompiling after make clean.
21:55.20cr2btw, your roadmap qt4 patches seem to go into /dev/null ;)
21:55.57tsdogs;) Paul said he changed work so it'll take some time for him to review
21:56.18tsdogsThough I think it's not on his priorities
21:56.23cr2ok.
21:56.46tsdogsnobody replied though :(
21:57.09cr2i can't compile the latest code by Danny
21:57.33tsdogsI haven't even tryed actually...
21:57.48cr2qt4 is broken there.
21:58.00cr2obviously, because of the missing widget support.
21:58.31cr2hehe.
21:58.44cr2where is the compiled program ???
21:58.54cr212. Apr 22:57 merkaartor
21:58.54tsdogsbinaries/debug/bin
21:59.03tsdogs:)
21:59.06cr2lol
21:59.15cr2in release/merkaartor
21:59.21cr2hehehe
21:59.25tsdogslol
21:59.51cr2and i'm wondering why i don't see any changes :)
22:00.13tsdogs:)
22:00.40tsdogsin roadmap it seems a Makefile problem...
22:00.46tsdogsI'll try myself
22:00.59cr2now the proxy is broken.
22:02.25cr2'host not found'
22:03.07tsdogshmm, I don't use the proxy function
22:03.24cr2the download window over proxy is broken too.
22:03.36cr2it was working with my apr 12 version ;)
22:03.41tsdogscr2: I get the same error with danny source
22:04.03cr2i have a much faster machine behind the proxy.
22:04.08cr2ok.
22:04.33cr2Object::connect: No such signal QWebFrame::loadDone(bool)
22:04.33cr2QNetworkAccess: got HTTP status code 400 which is not expected
22:05.18cr2error while loading shared libraries: libQtWebKit.so.4:
22:05.36cr2don't have 4.4 on this machine.
22:07.49cr2ok, area=yes works.
22:10.02tsdogsgood
22:10.16tsdogsI think you should put back the code where it was :)
22:11.52cr2ok.
22:12.22cr2i still don't understand certain things about this gui.
22:12.36cr2merge nodes and such things.
22:13.04cr2hmm. now i can't edit in merkaartor anymore ;)
22:13.04tsdogs./unix/libosroadmap.a(roadmap_library): In function `roadmap_library_symbol':
22:13.08tsdogsroadmap_library.c:(.text+0x34): undefined reference to `dlsym'
22:13.12tsdogsroadmap_library.c:(.text+0x41): undefined reference to `dlerror'
22:13.13cr2-ldl
22:13.16tsdogsroadmap_library.c:(.text+0x72): undefined reference to `dlclose'
22:13.20tsdogs./unix/libosroadmap.a(roadmap_library): In function `roadmap_library_load':
22:13.20tsdogsroadmap_library.c:(.text+0x17d): undefined reference to `dlopen'
22:13.20tsdogsroadmap_library.c:(.text+0x18a): undefined reference to `dlerror'
22:13.20tsdogscollect2: ld returned 1 exit status
22:13.20tsdogsmake: *** [dumpmap] Error 1
22:13.21tsdogsremoving the navigate_init function
22:13.44cr2ok.
22:15.34cr2proxy is completely broken.
22:17.27cr2LOL
22:17.32cr2#ifdef GOOGLE_ILLEGAL
22:17.32cr2<PROTECTED>
22:17.32cr2#endif
22:18.03cr2it will not work this way.
22:19.44tsdogs:)
22:22.10cr2hmm. how do i repair the proxy...
22:22.50tsdogscr2: no idea (revert back?)
22:23.48*** join/#htc-linux SuN (i=unices@ip5652ade4.speed.planet.nl)
22:23.57*** join/#htc-linux LunohoD_ (n=alex@e180068194.adsl.alicedsl.de)
22:25.29cr2adding printfs
22:29.52cr2tsdogs: apropos nokia: "I suddenly want to throw my N810 out the window, thank jeebus they've debian for it now"
22:30.08tsdogs:)
22:30.22tsdogslet's see what happens first
22:31.33mistadmancr2: Hows everything
22:31.59mistadmancr2: What look interesting about my dpram?
22:32.13cr2tsdogs: yes.
22:32.31cr2mistadman: your trace confirms the head/tail registers.
22:32.46cr2mistadman: what about the command size ?
22:33.20tsdogscr2: I think danny source is bloated it now complains about editor plugin :)
22:33.40cr2tsdogs: yes, that's what he has told in the ML
22:35.11tsdogsok
22:35.31mistadmancr2: Not sure what you mean by command size
22:35.45tsdogsok rebooting...
22:35.47tsdogsbrb
22:36.01mistadmancr2: I am in the process of decoding a dump now
22:36.19mistadmancr2: I have it pretty much figured out
22:36.50mistadmancr2: have have been slowly updating the wiki, but just wanna make sure I got it right
22:37.17cr2mistadman: the dump looks pretty obvious
22:37.28mistadmancr2: I have figured the head and tail for both the rx and tx
22:38.23cr2mistadman: it's only the reset / power missing there. and the soft uart driver. maybe we'd look at the sdio_uart. or blueangel dpram, but this one is an old hack.
22:38.52cr2sdio_uart looks as a most appropriate to me.
22:39.16mistadmancr2: Already a step ahead. I have starting porting the DPRAM code to the Athena
22:40.10mistadmancr2: Look at this new dump: http://rafb.net/p/qBey4d47.html
22:40.23mistadmancr2: I just have one stupid question
22:40.36mistadmancr2: All this stuff is pretty new to me.
22:40.49*** join/#htc-linux tsdogs (n=tsdogs@62.123.180.130)
22:41.41mistadmancr2: Line 31 - 37 (doesnt quit match up):
22:42.18mistadmancr2: Is wince reading the rx buffer or writing to the rx buffer?
22:42.31cr2rx is for reading.
22:42.46cr2tx is for writing.
22:43.24cr2it's only important to get the 3fc* registers right.
22:43.58cr2mistadman: 039ffdb8 <- is it the rilgsm ?
22:44.17mistadmancr2: Ahhh!
22:44.30mistadmancr2: Very good info!
22:45.05mistadmancr2: Thanks! Good to know what whats doing what.
22:45.12dcordesmistadman: hey got progress?
22:45.30mistadmancr2: What command in haret tells you that?
22:45.34cr2mistadman: check 'addr2mod 0x039ffdb8'
22:45.59cr2all the calls are limited to 1 dll. i think it's rilgsm
22:46.28mistadmandcordes: Not really, just making sure my traces or 100% correct. I want to make sure wiki is accurate.
22:46.49cr2dcordes: pxa270 is much easier to deal with.
22:47.02mistadmandcordes: Getting registers documented correctly
22:47.14cr2dcordes: there is even a hardware tracing option.
22:47.17dcordescr2: because it doesn't have * in modem?
22:48.08cr2dcordes: because the msm6275 is a separate chip, and pxa270 has the documented hardware debugging registers.
22:49.12cr2tsdogs: what do you think about submitting the buildmap_simplify(), _ssplit() and _sfree() ?
22:49.26dcordesI see
22:49.52mistadmancr2: Address 039ffdb8 not process specific
22:49.52mistadman<PROTECTED>
22:50.56mistadmancr2: Is that what you expected?
22:51.27cr2mistadman: ok, i'll look.
22:51.57cr2mistadman: what about cmd length?
22:52.24mistadmancr2: I am not sure of what your asking? Whats command length?
22:54.03cr2mistadman: in the wiki -> +0x3fcc   cmd length?
22:56.48tsdogscr2: it's ok for me, no idea what's the use for though :)
22:57.00mistadmancr2: Got it. Well I think its not command length. I believe its the offset to the head of tx buffer.
22:57.45cr2tsdogs: .mp parser, countries/'states/'counties'
22:58.11cr2mistadman: it was just my wild guess after looking at the .dll
22:58.47cr2tsdogs: i'm really using it in the .mp parser.
22:59.12cr2tsdogs: but it may be better to separate the _simplify() and _ssplit()
22:59.25tsdogscr2: is mp better than osm?
22:59.56tsdogsyes probably would clear some things up.
23:00.08cr2tsdogs: mp is much more strict, and it's easy to convert into .rdm
23:00.27cr2tsdogs: the "grammar" is much more strict.
23:00.38cr2parsing .osm is a hell :)
23:00.51cr2with its rather random tags.
23:01.55tsdogsok.
23:01.58cr2and funny way geometry interpretations.
23:02.33tsdogs:)
23:03.04cr2find . -name \*.cpp | xargs grep UseProxy
23:03.16tsdogs:( great, a disk at the office just died..
23:03.33tsdogsho well will replace it on monday, backup should just be running now.
23:04.10cr2ok.
23:05.00tsdogsDownloadOSM ?
23:05.22cr2yes.
23:06.05cr2useproxy=1
23:08.27cr2mistadman: ldrb for reading, and strh for writing. weird.
23:08.30tsdogsdon't see anything strange there...
23:08.53cr2useproxy=1 port=80 proxy_port=3128
23:09.01cr2need to dump host now.
23:09.28mistadmancr: Whats up with that. I thougth we were writing AT commands to the modem?
23:09.44mistadmancr: are we reading AT commands? Why?
23:10.02mistadmancr2: This is what has me confused..
23:10.04cr2#ifdef DEBUG_EVERY_CALL
23:10.24cr2mistadman: you read the AT responses
23:10.38cr2mistadman: and write AT commands.
23:10.55cr2mistadman: sometimes the responses are "unsolicited"
23:11.06mistadmancr2: Whats +CLCC: command.
23:11.40mistadmancr2: This is the response I am getting. Other info left out
23:11.54cr2mistadman: it's not a commands.
23:12.24cr2command is AT+CLCC
23:12.35cr2+CLCC: is the response
23:13.06mistadmancr2: Got it: +CLCC - Request Current Calls
23:21.46cr2tsdogs: host=proxy ?
23:23.19tsdogscr2: shouldn't be like that
23:23.29tsdogshost should be osm server
23:24.00cr2yes, but i set the 'Host:' in the proxy dialog
23:24.16cr2and the printf shows Web = Proxy
23:24.24tsdogsthat should be the ProxyHost then
23:24.41cr2yes.
23:24.52cr2but where does it pick the "Web" from ?
23:25.18tsdogsfrom the Host
23:25.18cr2aah.
23:25.22cr2my bad.
23:25.24tsdogswhich is in Data
23:25.29cr2cut&paste.
23:25.47cr2recompling.
23:26.35cr2hmm.
23:26.42cr2useproxy=1 host=openstreetmap.org:80 proxy http://proxy:3128
23:27.00cr2http is redundant ?
23:28.09cr2UNEXPECTED RESPONSE: [HTTP/1.0 403 Forbidden
23:28.09cr2Server: squid/2.6.STABLE14
23:28.18tsdogsI think so
23:28.44tsdogsproxy should be proxy:3128 and host=www.openstreetmap.org:80
23:30.35cr2yes, edited that, but still get the same error
23:31.37tsdogshmm, no idea how a http proxy request works :/
23:32.22cr2ok.
23:33.37tsdogscr2: printour seems to be ok...
23:33.57tsdogss/printour/printout
23:34.24tsdogsI see Proxy: localhost and Web: www.openstreetmap.org (no http there)
23:35.04cr2X-Squid-Error: ERR_ACCESS_DENIED 0
23:35.10cr2strange.
23:35.25tsdogsthere are many reasons that happens
23:35.35tsdogswhat do you see in the access_log?
23:36.22tsdogsdo you use authentication, or some sort of filtering?
23:37.06cr2access list
23:37.21cr2but it was working with the old merkaartor version
23:37.31tsdogshmm, wa
23:37.36cr2i'll check lynx
23:37.42tsdogs:)
23:37.55cr2can i set proxy with w3m ?
23:39.10tsdogswow they fixed the save stuff :)
23:39.58cr2the {foo-bar-baz} things ?
23:40.00tsdogsHTTP_PROXY
23:40.15tsdogsor o key
23:40.56tsdogsexport HTTP_PROXY=http://proxy:3128/
23:41.10tsdogsI'm starting to think it's a / issue
23:41.39cr2can't load
23:41.55cr2hehe.
23:42.01tsdogschanged IP?
23:42.04cr2the same for google.com
23:42.08tsdogslol
23:42.15cr2but i can use firefox.
23:42.19cr2with proxy.
23:42.23*** join/#htc-linux LunohoD_ (n=alex@e180069210.adsl.alicedsl.de)
23:42.44tsdogscr2: firefox tryes the proxy, if it failes it goes straight
23:42.58cr2i see it in the logs
23:43.07tsdogshmm
23:44.04tsdogsselinux?
23:44.14tsdogsbut that would be pretty strange
23:46.41cr2no
23:47.33cr2works in firefox
23:48.01tsdogsI'm trying with 217.218.121.12:3128 which is an open proxy and it works
23:48.07tsdogsslow but it works
23:49.53cr2strange.
23:50.25cr2w3m does not want to work over proxy at all.
23:51.02tsdogscr2: are u using 0.6 api?
23:51.08tsdogsthat does not work
23:51.09cr2no.
23:52.45tsdogshmm, I'm starting to think it's a problem in the webkit then
23:53.13cr2bizarre
23:53.18cr2only firefox works.
23:53.30cr2lynx and w3m do not want to works
23:53.35cr2over proxy
23:53.52tsdogsthat's strange
23:54.26cr2maybe it's too late ;)
23:54.38tsdogs;) agreed, good night
23:54.55cr2good night

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