#qi-hardware IRC log for Friday, 2013-01-04

DocScrutinizer05and I still think OE was the birth defect in OM02:13
DocScrutinizer05afaik SHR has no proper non-root user accounts (or even any accounts) til this very day02:14
DocScrutinizer05I still like to think of OE as "linux for fridges"02:15
DocScrutinizer05while you could define a usual phone as an embedded device (= only custom UI with limited clearly defined functionality), a smartphone already boldly fails on that definition. Even more a pocket computer with attached modem, like Freerunner02:18
wpwrakwell, i don't exactly like OE. but with jlime, we had a pretty much hassle-free variant of OE for the ben. not only by technical merits but by having the proper division between development and distribution we never had at openmoko.02:21
wpwrakalso with openwrt, we have that. only that openwrt is a weaker basis, so the work of the distribution maintainers is harder.02:22
DocScrutinizer05I'm more a fan of the downsizing approach, rather than nuking everything to a bare fridge controller level and then re-adding ~90% of mainline stuff again02:23
wpwrakat OM, for most of the time, you basically had nobody who would take care of OE for you. so each developer somehow had to get involved.02:25
wpwrakwell, that burn-to-the-ground-then-rebuild is kinda what we're doing with owrt ;-)02:25
wpwrakOE is a lot better i this regard02:25
DocScrutinizer05I'd probably not need anybody to take care of debian for me02:25
wpwrakDocScrutinizer05: are you sure ? :)02:25
wpwrakhow often do you compile debian packages from source ?02:26
wpwrakwhen i do, it's from sources that are themselves upstream to debian02:26
DocScrutinizer05actually not that often, but I did a few years ago, for maemo02:26
wpwrakall i want from debian/ubunto are packages. and my work is not debian-specific but gets packaged by someone (in our case often xiangfu) into debian. that someone knows the rules/rituals, chain of command, etc., of debian. so "debianizing" code is more or less transparent to me.02:28
DocScrutinizer05sure. What more do I need?02:29
wpwraksame for fedora and whatever. they do their work, i do mine. i keep my makefiles clean, so they won't have too much of a headache, and i never even hear from them. and that's just as it should be :)02:29
wpwrakDocScrutinizer05: precisely. get the process right and things all of a sudden get very simple02:30
DocScrutinizer05well, porting pkgs from debian/other-mainline to an "embedded" system is a oneway thing in my book anyway02:30
DocScrutinizer05I for sure wouldn't bother to upstream maemo-specific patches02:31
DocScrutinizer05after all that's why maemo exists, and it's not just an OMAP build of devian02:32
DocScrutinizer05debian even02:32
DocScrutinizer05I've seen epic fail of mer etc, which tried to stay on main too much02:33
wpwraki think upstreaming is good. but you don't need to be in a great hurry to do it.02:34
DocScrutinizer05oooh sensor-fw not IRQ event driven, rather polling? Don't worry we'll deal with powersaving later, for now we need something that *works* X-P02:34
wpwraksuch is life :)02:35
wpwrakeverybody knows battery life sucks anyway ;-)02:35
DocScrutinizer05exactly, and that will never change for mer02:35
DocScrutinizer05since for them, if it's not upstream, it doesn't exist02:36
DocScrutinizer05and, like it or not, main is not exactly built for "embedded", they every now and then took design decisions that are fine for servers or even laptops02:37
wpwrakyes, that's the main challenge for making an embedded version of a major distro02:38
wpwraktjat02:38
wpwrakgrr02:38
wpwrakthat's also why i didn't consider debian embeddable for a long time. it seems they now worked / are working on that. but i don't know the status02:38
wpwrakit's basically a question of having more flexible dependencies, and the config options that allow such flexibility02:39
wpwrake.g., bad: installing a package for "/bin/true" pulls in the gnome desktop because the package also contains /bin/ls and someone added a --beep option for whatever, which in turn needs some audio subsystem and the gnome desktop has the volume control utility.02:41
wpwrakgood: /bin/true will come alone. and if some genius invented a --beep option for it too, then you'll be able to install without it02:41
DocScrutinizer05ack02:44
DocScrutinizer05on maemo we got friggin PITA called metapackages02:44
DocScrutinizer05actually ONe metapackage02:44
DocScrutinizer05that contains virtually all02:44
wpwraknice ;-)02:44
DocScrutinizer05indeed >:-(02:45
wpwrakapt-get install maemo # nice and simple :)02:45
DocScrutinizer05exactly02:46
wpwrakwell, it's not a bad idea if a lot of people actually want the "standard system". depends on whether such a standard system really exists02:46
DocScrutinizer05even apt-get install mp-fremantle-community-pr02:47
DocScrutinizer05*blush*02:47
wpwrakwhatever that is :)02:47
DocScrutinizer05I'm fighting since 2 years against it02:47
DocScrutinizer05it's the continuation of the original metapackage from nokia, by community (incl me)02:48
DocScrutinizer05 http://wiki.maemo.org/Community_SSU02:48
DocScrutinizer05wpwrak: the torture starts when you want to get rid of, or replace, one of the "standard" components - like camera03:01
DocScrutinizer05apt-get will suggest to remove the mp and roundabout 400 other pkgs ;-P03:03
DocScrutinizer05same happens when you get pissed by messybox and simply want to install procps03:04
DocScrutinizer05to finally get an idea of what your processes do and look like03:04
DocScrutinizer05procps conflicts with busybox, busybox tears down the fremantle-mp, the mp uninstalls ~80% of your system03:06
wpwrakinteresting .. urjtag has a configure that ignores cross-compilation. how sweet is that ?03:06
DocScrutinizer05well, the latter not instantly, actually I failed to understand when *that* happens03:06
wpwraksounds as if someone has implemented some creative new thoughts about the metaphysical reality of dependencies ;-)03:08
DocScrutinizer05yep, the one been Nokia03:08
DocScrutinizer05and my maintainer freaks explain to me we can't get rid of this abomination03:08
wpwraklab diary notice: the lobotomy was successful beyond our wildest expectations03:10
DocScrutinizer05http://maemo.org/packages/view/mp-fremantle-community-pr/03:10
DocScrutinizer05http://maemo.org/packages/package_instance/view/fremantle_extras-devel_free_armel/mp-fremantle-community-pr/20.2010.36-2maemo16/03:12
DocScrutinizer05"Depends:" :-o03:12
wpwrakthere ain't no "depends" on that page03:15
wpwrak(ujtag) naw, my mistake - it seems to support cross-compilation just fine. now, dumbing it down for ben compatibility ...03:31
wpwrakxiangfu: hmm, is there a quick way to build just the kernel in openwrt ? kinda like "make kernel_menuconfig"05:48
wpwrak(i already tried "make kernel" but there's no such target. would have been too easy :)05:49
Action: wpwrak praises XTerm.*.colorMode: false05:56
xiangfuwpwrak: make target/linux/{clean,compile} V=s 06:01
Last message repeated 2 time(s).06:03
xiangfuit will delete the linux folder. compile it again. 06:03
xiangfuor just make target/linux/compile V=s06:03
xiangfu(network problem...)06:03
wpwrakkewl. thanks a lot !06:03
hellekinsometimes, I just feel stupid not knowing stuff like that: http://bookos.org/Computers-%26-Internet-Hardware-cat8406:23
wpwrakhellekin: what's special about a page full of errors ?06:29
xiangfuwpwrak: have you receive my message?06:39
xiangfumake target/linux/{clean,compile} V=s or make target/linux/compile V=s 06:39
wpwrakyes, thanks !06:47
wpwrakseems that it doesn't quite work, though. first, i had to build "install" to get it to actually compile, and then then it failed because it had not made uImage06:48
wpwraknow running that regular build ...06:48
wpwraknow .. let's see if it still boots06:51
wpwrakyay. victory !06:51
wpwraknow, why didn't it accept my config change ...06:52
wpwrakah no, it did. good :)06:52
kyakwpwrak: yeah, make target/linux/install V=s will actually build the uImage06:52
wpwrakkewl. configure silently defaults to the build host architecture in case the specified cross-toolchain isn't around. autocrap indeed.07:25
qi-bot[commit] kyak: w3m: fix build (master) http://qi-hw.com/p/openwrt-packages/a6504b807:42
hellekinwpwrak: oh, crap. It's a repository of 1.5 million books for download. That one was supposed to link to the Hardware category08:33
wpwrakthe amazon of bookwarez ? ;-)08:42
sagexthats funny. I've been trying to get ethernet over usb0  and I am able to ssh into the device but I cannot ping google08:46
wpwraksagex: perhaps your PC isn't forwarding and NAT'ing ?08:47
sagexwpwrak,  ok I'd like to know how to forward and nat'ing08:48
wpwrakhttp://lmgtfy.com/?q=nanonote+forward+nat08:51
Action: wpwrak loves those lmgtfy moments (-:C08:52
sagexhehe08:52
wpwrakyeah. ubb-jtag works ;-)09:05
wpwrakjust identified one of my milkymists09:05
wpwrakwhoopsie ! pld load "fjmem.bit"  ... then it (urjtag) happily identifes the 6slx45fgg484 followed by getting OOM-killed09:09
wpwraklet's see what strace has to say about that ...09:11
wpwrakhmm. tries to allocate 11 MB. weird09:13
wpwrakbah. no ltrace on openwrt. that's cheap.09:26
wpwrakurjtag certainly likes its malloc ...09:30
wpwraknow, if we had a 2nd 8:10 card slot, i could add swap. grrr ...09:31
viricyou can use slip + nbd ;)09:36
wpwrakaha ! it tries to allocate a "data register" for the eight times the size of the bitstream. 1484404*8 = 11875232. that explains something.09:41
viricone-bit-per-byte storage?09:41
wpwrakyeah, apparently09:42
wpwrakdr_data[8*u+0] = (bs->data[u] & 0x80) ? 1 : 0;   and so on09:42
viricoh, even without redundancy. it should be ? 0xff:009:43
wpwrakat least it doesn't malloc little buffers for "0", "1", ...09:47
virichehe09:47
kyakwpwrak: and so i came upon timer_create()...11:06
kyakthis is getting ridiculous11:06
kyaksetitimer is good, but it doesn't allow me to keep track of overruns11:10
kyakif my function (called from the timer handler) didn't return before the next timer period has elapsed, the next timer signal would just get lost11:12
larscI wouldn't recommend setitimer anyway, it's kind of legecy stuff11:16
kyakhm, ok!11:18
kyakfrom the other hand, timer_create() requires -lrt -lpthread -ldl :)11:19
kyaknot that it really matters, but still..11:19
kyakheh.. timer_create is described in both man 2 and man 3p11:23
kyakyeah, i'm sticking to timer_create() and timer_getoverrun(). It works just as i needed11:53
whitequarkwpwrak: Paul Wilson has some wise things to say about GC's: ftp://ftp.cs.utexas.edu/pub/garbage/gcsurvey.ps, section 1.112:04
wpwrakkyak: happy ending ? :-)13:23
kyakwpwrak: i hope so. If anyone knows a better way, please don't tell me, i don't want to rewrite the same algorithm in yet another way :)13:25
wpwrakkyak: look at the bright side - you're now done comprehensive research on the topic and can post a comparison :)13:28
wpwrakhmm, didn't someone once implement in-memory page compression ? that might solve my urjtag problem ...13:30
wpwrak(the things we do - or think of doing - to accommodate bothersome user space ...)13:30
larscwpwrak: zram13:34
wpwrakwhitequark: i'm so glad my code doesn't have to worry about GC ;-) take all the headache of explicit memory management, move it somewhere else, then square it :)13:35
xiangfuwpwrak: or you can try another jtag program: https://github.com/Wolfgang-Spraul/fpgatools/tree/master/mini-jtag :)13:36
xiangfuthe urjtag try to put the bit in byte size, then revert to byte again when write to device.(like pld load)13:38
whitequarkwpwrak: you clearly never wrote much GC-managed code ;)13:40
wpwrakwhitequark: i stopped after seeing it collect its garbage ;-)13:40
xiangfu:)13:41
wpwrakxiangfu: (urjtag) yeah. i'm impressed by their efficiency ;-)13:41
larscdoesn't the kernel do gc for you? once the process exits the memory is free again ;)13:43
wpwrakxiangfu: hmm, some of the code in mini-jtag looks very familiar :) nice and compact, though. pity it's very FTDI-specific13:46
wpwraklarsc: the kernel is expected to do magic. that's why it's written by wizards with long white beards :)13:48
wpwrakkyak: thanks ! that was what i was looking for. pity they have a static division. let's see how good it is ...13:52
kyakwpwrak: what is static division?13:53
wpwrakkyak: that you have to allocate the amount of memory that goes into that swap13:54
wpwrakor .. actually, that may just be their nominal size13:54
kyakhm, i'm confused :)13:54
wpwrakchaos and confusion, my work here is done. bwahaha :)13:55
larsckyak: he's talking about zram14:00
kyaklarsc: let me forward his thanks to you then :)14:06
wpwrakxiangfu: how big is wolfgang's blinking leds bitstream for the lx9 ?14:12
xiangfuwpwrak: 34070414:13
wpwrakgreat. 1/4.3 the size of fjmem.bit14:14
xiangfuthe .bit file is fix size for each chip.14:14
wpwrakbah, not even RLE ? that's cheap14:16
wpwraki.e., there are a lot of very compressible zeroes in there14:16
wpwrakzmem must be a bit disgusted. first, the 1-to-8 spreading by urtag, and then the actual data is mostly zeroes, too.14:17
wpwrakin any case, fjmem just informed me that it found "32 MiB" of flash :)14:18
wpwrak262 seconds for fjmem.bit. so an lx9 bitstream would take about one minute. probably less, given that it should fit into the ben without compression (zram)14:26
wpwrakfrequency 6000000 -> new real frequency 46570.9, delay 0   operating without delay   :)14:29
wpwraknow .. let's take pictures ...14:33
qi-bot[commit] Werner Almesberger: README: there's much more than the blinkenlights here (master) http://qi-hw.com/p/ben-blinkenlights/d33da7018:11
qi-bot[commit] Werner Almesberger: ubbctl/: UBB pin status decoder (master) http://qi-hw.com/p/ben-blinkenlights/f0c6e8718:11
qi-bot[commit] Werner Almesberger: ubb-jtag/: instructions for building a JTAG interface with UBB (master) http://qi-hw.com/p/ben-blinkenlights/1024f4818:11
qi-bot[commit] Werner Almesberger: ubb-jtag/ubb-jtag-m1.sch: schematics for UBB-VGA-M1 cable (master) http://qi-hw.com/p/ben-blinkenlights/d16af2a18:11
wpwrakxiangfu: would you happen to have a smaller bitstream (e.g., from your lx9 experiements) somewhere ?18:24
wpwrakwolfspra1l: or you ?18:25
wpwrak(i'm trying to see how much zram slows down things, and maybe urjtag will let me load a smaller bitstream)18:26
kristianpauli wonder if a bitstream could get smaller, anyway you need initialice to a safe state even the un-used CLBs18:42
wpwrakwell, i don't plan to actually run it for very long :)18:46
qi-bot[commit] Werner Almesberger: ubb-jtag/README: ideas for increasing the speed (master) http://qi-hw.com/p/ben-blinkenlights/b6a9e2318:57
qi-bot[commit] Werner Almesberger: ubb-jtag/ubb-jtag-m1.sch: connect VREF to 2.5 V; explain that R3 is untested (master) http://qi-hw.com/p/ben-blinkenlights/a58e78918:57
--- Sat Jan 5 201300:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!