IRC log for #maemo-ssu on 20121121

01:38.28*** join/#maemo-ssu infobot (~infobot@rikers.org)
01:38.28*** topic/#maemo-ssu is Maemo Community Seamless Software Update "CSSU" channel, http://wiki.maemo.org/Community_SSU | Known bugs: http://j.mp/communityssu-bugs | Channel logs: http://mg.pov.lt/maemo-ssu-irclog/ | Sources: http://gitorious.org/community-ssu/ | Latest version (testing): 21.2011.38-1Tmaemo5.1; (stable): 21.2011.38-1Smaemo4.1
01:38.28*** mode/#maemo-ssu [+v infobot] by ChanServ
01:47.03*** join/#maemo-ssu dhbiker (~dhbiker@95.87.145.172)
01:50.00*** join/#maemo-ssu Sicelo (Sicelo@gets.high.on.ircspeed.net)
08:12.00*** join/#maemo-ssu infobot (~infobot@rikers.org)
08:12.00*** topic/#maemo-ssu is Maemo Community Seamless Software Update "CSSU" channel, http://wiki.maemo.org/Community_SSU | Known bugs: http://j.mp/communityssu-bugs | Channel logs: http://mg.pov.lt/maemo-ssu-irclog/ | Sources: http://gitorious.org/community-ssu/ | Latest version (testing): 21.2011.38-1Tmaemo5.1; (stable): 21.2011.38-1Smaemo4.1
08:12.00*** mode/#maemo-ssu [+v infobot] by ChanServ
08:55.28*** join/#maemo-ssu Pali (~pali@unaffiliated/pali)
09:02.58*** join/#maemo-ssu M4rtinK (~M4rtinK@ip-89-102-207-166.net.upcbroadband.cz)
09:04.23*** join/#maemo-ssu BCMM (~BCMM@unaffiliated/bcmm)
09:08.25freemangordonmerlin1991: http://pastebin.com/1V7KmVFj
09:08.40freemangordonthe code is at the end
09:09.45merlin1991hm and what should I do now? :D
09:09.55freemangordonNFC
09:10.08freemangordon:D
09:10.38freemangordonruns away
09:10.43freemangordon:P
09:11.02freemangordonmerlin1991: anyway, latest valgrind works almost like charm
09:11.42freemangordonso we can check all of the stuff in CSSU
09:11.45tadzikwell, valgrind is usually going crazy on glib/gtk
09:11.52tadzikbut yeah, this is exceptinoal :)
09:12.10freemangordontadzik: hmm, this one is 3.81
09:12.33luffreemangordon: where you get the code?
09:12.40tadzikI remember debugging my xmpp client with it. Gtk throwing up its own errors, glib its own, loudmouth and openssl as well...
09:12.40freemangordonand excluding the fact i had to revert libpuls0 to non-thumb, everything else works
09:12.48freemangordonluf: from their site
09:12.57tadzikeven hello worlds from gnome site weren't free of valgrind errors :)
09:13.06tadzikI guess that has something to do with custom memory allocators that glib uses
09:13.25freemangordonG_SLICE=always-malloc G_DEBUG=gc-friendly
09:13.42tadzikoh, TIL :)
09:13.52freemangordonluf: ./configure, make
09:14.28freemangordonluf: though configure needs some trickery. I'll tar.gz and upload it later. /opt/valgrind that is
09:15.15jon_yfreemangordon: cool, you have valgrind on the n900 working?
09:15.43tadzikhah. That'd be "slow" redefined :)
09:16.42lufjon_y: it's not so big problem.
09:17.07lufjon_y: I have also working valgrind on n900.
09:19.52freemangordonluf: 3.61?
09:20.15freemangordonthe one in extras-devel?
09:20.28lufI don't remember the version. But I don't compile it. I find some leaks in obexd ...
09:20.52lufI'm sorry I don't remember. I think some newer. But maybe from repository.
09:20.54freemangordonwhen I find some time i'll fire it agains h-d and h-h
09:21.30freemangordonluf: it is 3.6.1 in repos
09:21.59luffreemangordon: and yes obexd and bluez is very slow under valgrind on N900 :)
09:22.07merlin1991freemangordon: better prepare yourself for serious mindfuck when you do that :D
09:22.23freemangordonluf: I am sure it is
09:22.44lufI have valgrind 3.6.0
09:22.45freemangordonmerlin1991: didn't we have some bug raised agains pixman?
09:22.56*** join/#maemo-ssu Timo (~timo@unaffiliated/tiempjuuh)
09:22.57lufSorry 3.6.1
09:23.06lufSo from repos.
09:23.12merlin1991freemangordon: lemme check
09:23.35freemangordonmerlin1991: I am on my way to office, bbl
09:25.59merlin1991freemangordon: couldn't find a bug on that
09:27.05*** join/#maemo-ssu arcean (~arcean@aadb66.neoplus.adsl.tpnet.pl)
09:30.20*** join/#maemo-ssu andre__ (~andre@ip-84-42-203-5.net.upcbroadband.cz)
09:30.20*** join/#maemo-ssu andre__ (~andre@wikimedia/aklapper)
09:44.42*** join/#maemo-ssu dafox (~dafox@ip51cc571d.speed.planet.nl)
10:19.48freemangordonmerlin1991: is pixman in CSSU at all?
10:20.39merlin1991err I don't even know what pixam exactly is
10:20.44merlin1991*pixman*
10:21.02freemangordonoops, sorry, libpixman
10:23.31freemangordonmerlin1991: http://maemo.org/packages/package_instance/view/fremantle_sdk_free_i386/libpixman-1-0/0.16.2-5+0m5/
10:24.04merlin1991hm afaik we have no source package pixman
10:24.37freemangordonwell, we'd better have one then :D
10:25.39freemangordonlemme try to find some repo
10:27.08DocScrutinizer05mooo
10:31.02merlin1991freemangordon: what's the bug to fix?
10:31.10merlin1991DocScrutinizer05 aka "the cow"
10:32.15merlin1991thinks new -testing will go out tonight
10:32.22DocScrutinizer05~moo
10:32.22infobotACTION mooooooooo! I am cow, hear me moo, I weigh twice as much as you. I am cow, eating grass, methane gas comes out my ass
10:32.51freemangordonLOL
10:33.03freemangordonmerlin1991: Invalid read of size 1
10:33.14freemangordonat 0x48344E8: strncmp (mc_replace_strmem.c:547)
10:33.25merlin1991DocScrutinizer05: isn't there a cow joke in apt aswell?
10:33.52merlin1991yep apt-get moo exists :D
10:34.02tadzikand aptitude moo :)
10:36.29Paliaptitude moo
10:36.31Paliaptitude moo -v
10:36.33Paliaptitude moo -vv
10:36.39Paliaptitude moo -vvv
10:36.49Paliand add more 'v' :D
10:37.30*** join/#maemo-ssu lizardo (lizardo@nat/indt/x-nbkuszczgmphfxkm)
10:37.57merlin1991anybody know the origin of the moo joke?
10:38.06merlin1991is too young to know
10:41.42*** join/#maemo-ssu Martix (~martix@eduroam-183.fi.muni.cz)
10:42.23freemangordonmerlin1991: pixman seems like upstream animal
10:42.42freemangordonhttp://cgit.freedesktop.org/pixman/refs/tags
10:44.42merlin1991now we just have to compare the source from the sdk with the 0.16.2 tag
10:46.49*** join/#maemo-ssu Martix (~martix@eduroam-183.fi.muni.cz)
10:57.35*** join/#maemo-ssu Martix (~martix@eduroam-183.fi.muni.cz)
10:58.11freemangordonmerlin1991: yeah
10:59.12merlin1991and pray that it isn't a tarball + patches like some other packages in fremantle
10:59.30merlin1991looks @ sqlite
10:59.42freemangordonmerlin1991: I got the sources from maemo SDK repo, there is no debian/patches dir
11:00.16freemangordonhmm, maybe we can upgrade to lates
11:00.18freemangordont
11:01.32merlin1991hm if you're willing to check everything for regessions/api changes ;)
11:04.26freemangordonwell, at least we can upgrade to 16.6
11:04.54merlin1991freemangordon: well basically, why?
11:05.26freemangordoni bet there is a bunch of NEON optimizations
11:06.17merlin1991goes over the log
11:06.25merlin1991or rather watches git clone
11:06.37freemangordonaah
11:06.58merlin1991fsckd ath9k driver keeps failing hrere
11:07.02merlin1991s/hrere/here/
11:10.07merlin1991hm apart from the assertion change the diff from 0.16.2 to 0.16.6 is minimal
11:12.43freemangordonmerlin1991: is our bug fixed?
11:13.05merlin1991I still didn't grasp what our bug is
11:13.21freemangordonmerlin1991: invalid memory acces
11:13.23freemangordons
11:13.52merlin1991I've seen no changes related to that
11:14.29merlin1991all there is is a change on handling of alphamaps
11:16.23freemangordonmerlin1991: if (strncmp (plat, "v7l", 3) == 0)
11:17.56freemangordonthat one makes an invalid memory access according to valgrind
11:18.35merlin1991well that looks ok depending on where the fuck "plat" points
11:26.49freemangordonmerlin1991: could be false alarm
11:28.23freemangordonhttp://old.nabble.com/valgrind%3A-r13019%3A-Implement-a-fake--proc-self-auxv-file-for-linux-systems.-td34515798.html
11:32.43Palifreemangordon, where is git repo of linux kernel for n900?
11:33.23PaliI want to boot some upstream kernel for maemo5 and test bme replacement
11:38.40PaliDocScrutinizer05, merlin1991, freemangordon, in /etc/event.d/rcS-late is code which writing some info to /sys/kernel/debug/panic_info_buff which is written to mtdoops when kernel crash
11:39.01Paliwhat do you think to patch it to write also 1) kernel version string and 2) CSSU version ?
11:39.14Palinow it writing only output of osso-product-info
11:40.47*** join/#maemo-ssu Martix (~martix@ip-62-245-106-78.net.upcbroadband.cz)
11:46.40freemangordonPali: what git repo?
11:47.05Palifreemangordon, 3.x kernel for maemo5
11:49.47freemangordonPali: have to ask Skry
11:49.51SkryI have 3.5 in github but that's not intended for maemo but the device itself for other os
11:49.59freemangordonSkry: yeah
11:50.18freemangordonPali: my patches are on merlin1991's server
11:50.32freemangordonbut maybe you don;t need them
11:50.56freemangordonssi and sgx
11:51.07Paliok
11:51.50freemangordonaiui you don't need X to test bqxxx
11:52.08PaliX will be good too :-)
11:52.19Palihildon-status-menu for battery applet
11:53.16Palifreemangordon, what do you think about adding kernel & cssu version to panic info buffer?
11:54.02freemangordonPali: well, not a bad idea. though i'll prefer kernel in CSSU first :)
11:54.14Paliok
11:55.52Palifreemangordon, do you know how to get CSSU version string?
11:56.16Palimaybe that which is in about cssu dialog in control panel
11:57.33freemangordonPali: NFC
11:58.04merlin1991Pali: well cssu version is in mp-fremantle-community-pr
11:58.24merlin1991you could ie use dpkg, though is /var/ mounted at that point?
11:58.24Paliok, I found it: https://gitorious.org/community-ssu/libcpaboutcssu/blobs/master/src/libcpaboutcssu.c#line26
11:58.53Pali/var/ ... /dpkg is in rootfs
11:59.17merlin1991Pali: that call is overly complex xD
11:59.48Paliany other idea how to get that version string?
12:00.04merlin1991I did find a call to dpkg to get the version
12:00.08merlin1991checks logs
12:00.17SkryPali: if you get charger working with upstream kernel could you notify me and perhaps send me some patches? I did try it something like a month ago and got it to a point where driver reports it's charging and something is definetely happening in background, but bq27xxx reports that battery is still discharging.
12:00.51PaliSkry, now charging and battery drivers was pushed to battery git tree
12:01.13PaliI need to write proper glue between isp and bq2415x drivers for charger type detection
12:01.24Paliand sent that patch to upstream kernel too
12:01.53PaliSkry, I will write to you
12:03.15DocScrutinizer05Pali: ((write also 1) kernel version string and 2) CSSU version)) all thumbs up for that
12:03.15SkryPali: ok, thanks. And in case you would like to test it out yourself I have some patches and .config for 3.7 if you happen to need such.
12:03.17Palimerlin1991, maybe this? $ dpkg-query -W -f \${Version} mp-fremantle-community-pr
12:03.33merlin1991Pali: yep
12:03.36merlin1991just found it myself :D
12:04.12PaliSkry, yes I'd like to use new version :-)
12:04.21Palido you have git tree for that?
12:05.43DocScrutinizer05sweet: cat /sys/kernel/debug/omap_gpio
12:06.12Paliand for kernel version, should I use? $ uname -a
12:06.56DocScrutinizer05uname -a sounds like a good choice
12:06.57SkryPali: only local for now, but it follows linux-omap. I have tested it with arch linux, it works but musb is currently not working, though I think it is fixed in upstream already.
12:07.44SkryI've had quite some lost of interest lately so haven't been that active with it
12:08.22DocScrutinizer05Pali: please don't expect /var/*/dpks to be in rootfs
12:08.40DocScrutinizer05users may and actually do optify it
12:09.13DocScrutinizer05so at very least have a fallback for gentle fail-over
12:09.21PaliDocScrutinizer05, I will call dpkg-query command. if it fails (e.g. optified) then it will write empty string to panic buf
12:09.31DocScrutinizer05fair enough
12:09.42SkryPali: I'll rebase my tree to latest in linux-omap master and see if there's anything new, adapt my few patches and send them to you with config later today, ok?
12:09.43Palibut now I see that panic buf is filled after MOUNTS_OK
12:09.58PaliSkry, ok
12:10.05DocScrutinizer05Pali: just make sure that script doesn't throw error in that case
12:10.12PaliSkry, can you merge your tree with battery tree?
12:10.35PaliDocScrutinizer05, now I'm going to fix that rcS-late script to work also on upstream kernel
12:10.49Pali(adding maemo-command || true)
12:11.05DocScrutinizer05good :-)
12:11.11Paliwe have upstart in cssu and rcS-late is in upstart
12:11.16DocScrutinizer05use ||:
12:11.30DocScrutinizer05shorter ;)
12:12.06DocScrutinizer05(I hope that's no bash'ism
12:12.07DocScrutinizer05)
12:12.34SkryPali: I'll try it out later today
12:12.50PaliSkry: http://git.infradead.org/battery-2.6.git/shortlog/HEAD
12:12.55DocScrutinizer05well, messybox 'knows' `:`
12:13.03DocScrutinizer05checked it
12:13.16PaliSkry, see patches for rx51_battery and bq2415x_charger and bq27x00_battery
12:13.18DocScrutinizer05the totally empty command
12:13.43Palinice :-)
12:18.23DocScrutinizer05of course you could do sth like >>   (dpk-query ... || echo "dpk faled, no info on cssu version. user optified /var/*/dpkginfo?") >>/sys/kernel/debug/panic_info_buff
12:20.07PaliDocScrutinizer05, that script is called after MOUNTS_OK
12:20.12Paliso when /opt is mounted
12:20.37Paliso if dpkg fail then system is in very very broken state or cssu is not installed
12:20.50DocScrutinizer05you're free to edit the || echo string anyway
12:20.56Palis/cssu/cssu metapackage/
12:21.52DocScrutinizer05or simply do dpkg 2>&1 ||:
12:22.10Paliwe do not want very very long string in panic info buffer
12:22.21DocScrutinizer05we don't?
12:22.25DocScrutinizer05why notß
12:22.29DocScrutinizer05?
12:22.33Paliyes, because buffer is small
12:22.46Paliand it is written to mtdlog
12:22.50DocScrutinizer05well, dunno it might have some 16k or sth
12:23.05DocScrutinizer05and mtdlog is huuuge
12:23.09PaliI think "<unknown>" is ok
12:23.20DocScrutinizer05whatever you like
12:23.56PaliI think that osso-product-info also write <unknown> when SW version in CAL is removed
12:24.41DocScrutinizer05sure
12:25.39DocScrutinizer05btw I gave a rant about a related topic in here, some weeks ago
12:25.44DocScrutinizer05can't recall
12:26.07DocScrutinizer05some file in /etc/* we ought fill with cssu-product-info
12:26.53DocScrutinizer05found some reference to it in rcs-late or sth
12:27.52Pali/etc/event.d/rcS-late
12:29.36DocScrutinizer05dafaq, seems busybox froze on :<cr> ??
12:29.36Palicommited: https://gitorious.org/community-ssu/upstart/commits/master
12:29.58DocScrutinizer05or my wifi ssh lags like hell
12:30.59DocScrutinizer05sth odd with my iron900 wifi connection
12:31.06PaliAAAA, busybox grep does not have -R
12:32.20Palionly (small) -r
12:32.32*** join/#maemo-ssu kolp (~quassel@212.255.44.208)
12:34.37DocScrutinizer05preinit, line 197
12:34.48merlin1991Pali: why do we need the lowmem fix?
12:34.49DocScrutinizer05release=`cat /etc/osso_software_version`
12:35.28Palimerlin1991, because lowmem is maemo extension
12:35.59PaliI want to boot some upstream kernel and that rcS-late script failing here...
12:37.17Pali/etc/osso_software_version -> I do not have this file
12:37.17DocScrutinizer05I *think* every CSSU update should `echo 2011.38.1Tmaemo5 >/etc/osso_software_version`
12:37.27DocScrutinizer05Pali: that's the point
12:38.31DocScrutinizer05Pali: so it's relatively low risk to create it, with proper content
12:38.32Paliand there is something other: every cssu upgrade calling: osso-product-info -s OSSO_VERSION="RX-51_2009SE_21.2011.38-1_PR_MR0" 2> /dev/null || exit 0
12:38.48Paliand it always write new string to CAL
12:39.02Paliand if is same, it write it too
12:39.06Palithis is bad
12:39.49DocScrutinizer05no issues here with  osso-product-info -s
12:39.54DocScrutinizer05why do you think it'
12:39.57DocScrutinizer05s bad?
12:40.14Paliuseless CAL write
12:40.39kerioPali: fix osso-product-info then :)
12:40.40DocScrutinizer05hmmm
12:40.53Palikerio, osso-procuct-info is closed
12:40.58DocScrutinizer05I don't think it's useless
12:41.05PaliI will fix it in postinst
12:41.15Pali$ if test "$(osso-product-info -q OSSO_VERSION)" = "RX-51_2009SE_21.2011.38-1_PR_MR0"; then exit 0; fi
12:41.48DocScrutinizer05actually I love 'history' in CAL
12:42.42DocScrutinizer05I don't see why we're concerned about it
12:42.53Paliso above "if" fix writing to CAL same version string
12:43.26DocScrutinizer05I love it writing even same string to CAL, where's the problem in it doing that?
12:43.51Palimess in CAL
12:43.57DocScrutinizer05lol
12:44.17DocScrutinizer05your fix will only change that to another kind of mess
12:44.32Paliand also wear leveling...
12:44.37DocScrutinizer05I don't see how's that new mess any better than the old
12:44.45DocScrutinizer05oh well, wear leveling
12:44.54Paliif you upgrade CSSU metapackage for testing 1000000x cal can be damaged
12:45.07DocScrutinizer05not really
12:45.19DocScrutinizer05you need at least 10^5 times that
12:45.36kerioa million erases doesn't sound like much, over the whole mtd partition
12:45.41DocScrutinizer05since not every write to CAL already does a page erase
12:45.57Palido you trust libcal??
12:46.12PaliI not
12:46.28kerioi trust libcal
12:46.33DocScrutinizer05not a good rationale for a "fix"
12:46.50keriocan the onenand be repartitioned?
12:47.04kerioor is the layout static from something closed?
12:47.07DocScrutinizer05yes. but NOLO and flasher can't
12:47.18DocScrutinizer05the latter, kerio
12:47.35DocScrutinizer05afaik
12:47.40kerioDocScrutinizer05: use initfs as cal from the kernel side, or something
12:48.04kerioNOLO only *reads* from cal, right?
12:48.22DocScrutinizer05well, nope
12:48.30DocScrutinizer05it writes flags there
12:48.41keriooh, heh
12:49.01kerioi'm not sure i trust *that* actually
12:49.24DocScrutinizer05anyway, there's no demand for any fixing regarding CAL yet
12:49.48DocScrutinizer05neither for waer leveling nor for any other reason
12:50.22DocScrutinizer05it's absolutely fine the way it works right now, in my book
13:02.04PaliNOLO has own mtd layout. it using CAL, kernel and initfs
13:02.15freemangordonPali: we have libcal REed, look at it for how writes are handled
13:02.26Palibut kernel can use other layout
13:02.42Paliif you replace NOLO you can reparition as you want
13:15.40DocScrutinizer05actually a NOLO binary patcher "repartitioner" would be a rather nice tool
13:21.25PaliDocScrutinizer05, I forgot that partition layout is stored in CAL
13:21.40Palibut problem is that format of layout is unknown
13:21.43DocScrutinizer05really?
13:21.46Paliyes
13:22.08Palibut I do not know if NOLO using it
13:22.11DocScrutinizer05that's kinda weird since CAL already starts at $random-addr in MTD
13:22.38Paliwhen I booted NOLO in qemu without kernel it shown me serial console
13:22.39DocScrutinizer05so the partition with CAL contains info about own starting addr
13:22.44Paliand there is command to show mtdparts
13:23.02Paliand in nolo there was separate partitin for xloader and separate for nolo
13:23.23Palibut in /proc/mtd is only ONE partition for bootloader
13:24.05Pali$ calvaria -d mtd1dump -n part_table
13:24.25PaliCAL key for partition is "part_table"
13:29.46kolpJust curious, what's CAL?
13:29.56*** join/#maemo-ssu Raimu-X (rmaunula@tuomi.oulu.fi)
13:30.02*** join/#maemo-ssu mickname_ (luodemm1@lyta.org.aalto.fi)
13:33.19*** join/#maemo-ssu chainsawbike_ (~chainsawb@unaffiliated/chainsawbike)
13:33.46DocScrutinizer05~cal
13:33.46infobotwell, cal is a calendar. try $(cal 1752)
13:33.52DocScrutinizer05dang
13:34.16DocScrutinizer05IroN900:~# cat /proc/mtd
13:34.18DocScrutinizer05dev:    size   erasesize  name
13:34.19DocScrutinizer05mtd0: 00020000 00020000 "bootloader"
13:34.21DocScrutinizer05mtd1: 00060000 00020000 "config"
13:34.28DocScrutinizer05config=CAL
13:34.57DocScrutinizer05http://talk.maemo.org/showthread.php?t=20465
13:36.33DocScrutinizer05~$(cal 1752)
13:37.11DocScrutinizer05~factinfo cal
13:37.11infobotcal -- created by cafuego <cafuego@caffeine.ipv6.cafuego.net> at Tue Jun 10 07:37:04 2003 (3452 days); it has been requested 9 times, last by DocScrutinizer05, 3m 25s ago.
13:38.45DocScrutinizer05kolp: less -f /dev/mtd1ro
13:39.21DocScrutinizer05part-table is very first entry
13:40.22DocScrutinizer05alas quite obscure, and we know fremantle boots even when CAL got nuked (nandtester checked that for us ;-D )
13:41.20*** join/#maemo-ssu dafox (~dafox@ip51cc571d.speed.planet.nl)
13:41.23merlin1991I've got one n900 where cal seems to be fsckd
13:41.31DocScrutinizer05strings /dev/mtd1ro|less; for beginners
13:42.26kolpDocScrutinizer05: ty
13:42.30DocScrutinizer05yw
13:42.53DocScrutinizer05kolp: NEVER think of writing to CAL!
13:43.00DocScrutinizer05it's not restorable
13:43.16DocScrutinizer05(first approach)
13:43.39DocScrutinizer05(now for 2nd, advanced approach:)
13:43.48kolpMkay, though I didn't intend to :)
13:44.05DocScrutinizer05merlin1991: so why don't you try and nandwrite a copy of some other N900 to your nuked CAL?
13:44.30DocScrutinizer05kerio will love to assist
14:00.29*** join/#maemo-ssu Skry (~skry@81-175-148-124.bb.dnainternet.fi)
14:10.41*** join/#maemo-ssu arcean (~arcean@aadb66.neoplus.adsl.tpnet.pl)
14:39.48*** join/#maemo-ssu Timo (~timo@unaffiliated/tiempjuuh)
14:54.34*** join/#maemo-ssu Pali (~pali@unaffiliated/pali)
14:56.59*** join/#maemo-ssu arcean_ (~arcean@aadb66.neoplus.adsl.tpnet.pl)
14:57.20*** join/#maemo-ssu FIQ (~fiq@unaffiliated/fiq)
15:05.10merlin1991hm actually I have 2 devices where osso-product-info mostly says "<unkown>"
15:06.57*** join/#maemo-ssu Skry (~skry@81-175-148-124.bb.dnainternet.fi)
15:28.40*** join/#maemo-ssu arcean (~arcean@aadb66.neoplus.adsl.tpnet.pl)
15:35.13*** join/#maemo-ssu tg (~tg@irc.tgbit.net)
15:49.48*** join/#maemo-ssu myuu_- (~miku@pool-108-27-193-212.nycmny.fios.verizon.net)
15:51.34*** join/#maemo-ssu dhbiker (~dhbiker@95.87.145.172)
16:32.00kerioDocScrutinizer05: i'll most likely not love to assist >:c
16:32.11keriomoving a CAL from a n900 to another is probably a road to bricking
16:32.49keriounless there are 0 bad blocks in the same partition on both N900s, and they have the same hw rev
16:33.27kerioi think that once you have a copy of cal, you can dump the *contents* and write them on the device to a brand-new CAL with libcal or the reverse engineered one
16:34.42*** join/#maemo-ssu iDont (~iDont@dhcp-077-250-143-002.chello.nl)
16:43.53DocScrutinizer05kerio: that's BS, we sorted that out, with nandwrite
16:44.37DocScrutinizer05nadwrite is made to deal with bad blocks
16:45.11DocScrutinizer05you're right about hw-rev though, would be nice if they'd match
16:47.43DocScrutinizer05if your destination mtd partition has more bad blocks than your origin partition, then nandwrite will spit out a warning/error about image to write exceeds available space, that's all
16:57.41*** join/#maemo-ssu NIN101 (~NIN@p5DD29401.dip0.t-ipconnect.de)
17:08.29kerioDocScrutinizer05: what's a bad block there, btw?
17:08.39kerioa full eraseblock?
17:08.45kerioif so, i doubt libcal will handle it
17:09.55kerioi mean, cal is a linked list, you have pointers to the next item
17:10.02kerioif you have a bad block and you skip that block...
17:16.30*** join/#maemo-ssu NIN102 (~NIN@p5DD293C4.dip0.t-ipconnect.de)
17:20.05*** join/#maemo-ssu corepl (~NIN@p5DD293F0.dip0.t-ipconnect.de)
17:22.33*** join/#maemo-ssu toxaris (~toxaris@s83-180-246-172.cust.tele2.se)
17:24.22*** join/#maemo-ssu toxarisswe (~toxaris@s83-180-246-172.cust.tele2.se)
17:25.46*** join/#maemo-ssu l4m3rx (~l4m3rx@darknet.escom.bg)
17:44.27DocScrutinizer05you can bet on libcal handling bad blocks
17:45.38kerioyeah but it *handles* bad blocks
17:46.00kerioit doesn't necessarily handle a nanddump of a written cal partition nandwritten on a different partition
17:46.30keriofreemangordon: would libcal handle that?
17:46.30DocScrutinizer05hmm, valid concern
17:49.01DocScrutinizer05btw a linked list would be about the worst data structure for CAL you could possibly think of
17:49.24DocScrutinizer05I guess it's rather just scanning for labels, basically a grep
17:50.16DocScrutinizer05since there's absolutely no use in changing the forward pointer in an existing record, on NAND
17:51.41DocScrutinizer05unless, well... you could define all zeroes or all ones as a void pointer marking last element, and overwrite that with a pointer to new element on a rewrite
17:51.47*** join/#maemo-ssu NIN101 (~NIN@p5DD293F0.dip0.t-ipconnect.de)
17:52.17DocScrutinizer05still hardly any useful data structure
17:53.00DocScrutinizer05simply have tags with magic numbers, grep for those, get the one with newest date, highest index, or whatever
17:53.44DocScrutinizer05I mean, libcal isn't meant to be speed optimized
17:54.11DocScrutinizer05check calvaria code if you're interested in details. I didn't
17:54.31*** join/#maemo-ssu NIN102 (~NIN@p5DD2915A.dip0.t-ipconnect.de)
18:00.30DocScrutinizer05kerio: see https://dev.openwrt.org/browser/packages/utils/calvaria/files/src/calvaria.c#L25, much like I expected
18:01.19DocScrutinizer05#define HDR_MAGIC       "ConF"
18:01.31DocScrutinizer05already thought as much :-P
18:02.04DocScrutinizer05actually that's how I manually parsed less -f /dev/mtd1 so far
18:02.22kerioDocScrutinizer05: i suppose they wanted to reduce writes as much as they could? idk
18:02.24DocScrutinizer05without reading any calcaria.c code
18:04.07keriohow do they figure out where to write once the space is filled?
18:06.14kerioDocScrutinizer05: when do blocks become invalid?
18:07.05DocScrutinizer05libcal will scan for an erase page that has no valid records, then erase  that
18:07.18keriooh so they're marked invalid at some point
18:07.29keriowhen they're skipped
18:07.37DocScrutinizer05well, for whatever 'marked as invalid' means
18:07.51kerioDocScrutinizer05: deleted record, or overwritten record
18:08.55DocScrutinizer05https://dev.openwrt.org/browser/packages/utils/calvaria/files/src/calvaria.c#L279
18:09.23DocScrutinizer05basically a record is invalid if there's another more valid record for same label
18:10.46DocScrutinizer05you could also purge a record by overwriting it without prior page erase
18:11.12DocScrutinizer05mind you, writing 1s is possible while writing 0s needs page erase (or other way round)
18:11.46keriowhat's wrong about erasing the page and rewriting it?
18:12.03DocScrutinizer05takes time and wears out NAND
18:12.16DocScrutinizer05takes really loooooooooong
18:12.32kerioreally? :o
18:12.41DocScrutinizer05like 20ms
18:12.46DocScrutinizer05or 100
18:12.48DocScrutinizer05or 1
18:13.16DocScrutinizer05a time you could grep like 10000 CAL partitions for a label
18:14.06DocScrutinizer05and actually it's the page erase that wears out NAND the most
18:14.52DocScrutinizer05it's a really brute force physical event that clears nand ersase pages
18:15.42keriooic
18:16.14keriois it really a good idea to use a full eraseblock for each element then?
18:16.43DocScrutinizer05do they do that?
18:16.50kerioidk, i hope not
18:17.00DocScrutinizer05I wouldn't think they do
18:17.30DocScrutinizer05I'd guess they pack some 10s to 100s of elements into one erase page
18:19.18DocScrutinizer05btw they could as well do something nifty: if only two more erase pages left, they copy all valid elements from a completely filled erase page to an empty one, then erase that page as it's now free
18:20.10DocScrutinizer05s/an empty one/ empty slots on partially used erase pages/
18:20.56DocScrutinizer05avoids fragmentation, and simplifies picking a erase page to free
18:20.58kerioDocScrutinizer05: i wonder what's the best way of implementing a nand-friendly hashtable
18:21.53DocScrutinizer05I bet there are implementations for that already, probably done as master thesis
18:22.08DocScrutinizer05I'd say: don't
18:22.25kerioat a phd level? :o
18:22.28DocScrutinizer05you don't wanna use a hash table on NAND
18:22.55kerioit doesn't seem that difficult, you just have to minimize the writing of zeros everywhere
18:23.26keriotoday's key word is UNDERSTATEMENT
18:23.40DocScrutinizer05however with my initial suggestion of late writing of forward pointers, you could do. If you also implement a "deleted" flag for late tagging as purged
18:25.18kerioDocScrutinizer05: i suppose that the big problem here is that you have to be able to parse and write that format from NOLO
18:25.33kerioso you probably want to keep it simple
18:25.47DocScrutinizer05at some level however, you'll have to revert to brute force forward scan/grep, as every hash table is incomplete at some point, and then you get no sort order for elements you add later on
18:26.54DocScrutinizer05kerio: keep in mind NOLO even could load a complete linux to RAM to delegate some tasks like these
18:27.02DocScrutinizer05depends on flasher only
18:28.47DocScrutinizer05NOLO as well could expose a *very* basic API to handle NAND (CAL) rewrites, something like word read(addr), write(addr, word), erasepage(pagenumber)
18:29.00DocScrutinizer05all the rest again up to flasher
18:29.23DocScrutinizer05so... no problem with complexity of handling CAL rewrites in NOLO
18:30.38DocScrutinizer05hell, NOLO could even export a simulated JTAG
18:31.00kerioDocScrutinizer05: usb mtd!
18:31.04DocScrutinizer05JTAG has 4 pins
18:31.54DocScrutinizer05flasher would implement an embedded JTAG programmer then
18:32.16DocScrutinizer05we simply don't know
18:35.52DocScrutinizer05~wiki jtag
18:38.55DocScrutinizer05actually JTAG is the smartest invention since intersil 4004
18:42.59DocScrutinizer05ooops, s/intersil/intel/
18:43.40DocScrutinizer05or rather, s/4004/IM6100/
18:57.30*** join/#maemo-ssu Martix (~martix@ip-62-245-106-78.net.upcbroadband.cz)
19:22.05*** join/#maemo-ssu dafox (~dafox@ip51cc571d.speed.planet.nl)
19:23.21*** join/#maemo-ssu arcean (~arcean@aadb66.neoplus.adsl.tpnet.pl)
20:21.53*** join/#maemo-ssu Pali (~pali@unaffiliated/pali)
20:49.02*** join/#maemo-ssu arcean (~arcean@aadb66.neoplus.adsl.tpnet.pl)
21:29.05*** join/#maemo-ssu nox- (noident@freebsd/developer/nox)
21:29.12*** join/#maemo-ssu M4rtinK (~M4rtinK@ip-89-102-207-166.net.upcbroadband.cz)
21:32.58*** join/#maemo-ssu arcean (~arcean@aadb66.neoplus.adsl.tpnet.pl)
21:45.21*** join/#maemo-ssu freemangordon (~freemango@130-204-50-168.2074221835.ddns.cablebg.net)
21:57.59*** join/#maemo-ssu peetah (~peetah@cha92-9-82-236-202-86.fbx.proxad.net)
22:10.23kerioanyway, weird idea: add /var/lib/apt, /var/cache/apt, /var/cache/dpkg to maemo-optify-whatever.conf
23:18.10*** join/#maemo-ssu dedis6 (~dedis6@akw403.cs.yale.edu)
23:23.41*** join/#maemo-ssu ekze (~nyan@bakaekze.ru)
23:35.16*** join/#maemo-ssu wumpwoast (~jcassidy@63.251.248.156)

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