#qi-hardware IRC log for Saturday, 2012-01-14

viriclarsc: I'll enjoy putting a breakpoint on fb_notifier_callback :)09:39
viriclarsc: I just saw that ret = ili8960_write_reg(spi, ILI8960_REG_POWER, enabled ? 0xc7 : 0xc6);  does not power out the lcd12:35
viricah, enabled equals true.12:36
viricenabled means "blank enabled"13:29
viricand it ends up being as 'power enabled'...13:30
Aylathe LCD may be powered on low state13:31
Aylathat is, when the GPIO is zero, the LCD is off13:31
viricAyla: you think that a call named ili8960_programm_power, would have a parameter 'enabled' that means poweroff if true?13:31
viricon purpose, I mean ;)13:32
Aylathat's probably a mistake then13:32
viricI can't find docs about the 'ILI8960'13:32
viricAyla: this gdb thing is very nice :)13:32
AylaI actually never used it13:33
viric(ah, found the ds)13:33
viricaha, looks lke a mistake.13:35
viricif enabled, sets 'normal operation'. If !enabled, sets standby mode.13:35
viricah maybe I'm wrong. I missed some cod.e13:38
virichm the code looks fine, until the spi_write13:54
viricthe FB_BLANK looks like simply setting the 'standby' mode in the lcd... 13:55
viricwell, larsc looked like knowing what t odo14:14
viriclarsc: to me, jz-3.2 looked like having those patches, and even the lcd answering those events.14:14
viricah no14:15
viricbad reading14:15
mthjz-3.2 should be getting those patches, but the patches alone without any new callbacks being registered were useless, so I didn't import them yet14:15
viricmth: aren't those callbacks trivial?14:16
mthI don't know, I didn't look into it yet14:16
virichm it would help if I understood what are those patches for. what problem they try to solve14:17
viricmth: aren't those patches already in mainline 3.2? 14:19
larscviric: the lcd needs to be put into standby before the pixel clock is turned off14:19
larscand only brought out of standby after the pixel clock has been re-enabled14:19
viriclarsc: and the "fb_notifier_call_chain(FB_EARLY_EVENT_BLANK, &event);" turns the clock off?14:19
viricwhat sets the order of whats get called first, clock off or lcd off?14:20
viricboth are in the call chain, iiuc14:20
larscwith the code as it is right now the clock will be turned off first14:21
viricI think the patches are for "cancelling" an event_blank14:21
viricnot for changing any order14:21
larscas the notifier will be called after the framebuffer has been disabled14:21
larscthe patches introduce a new notifier which is called before the framebuffer gets disabled14:22
viricbut the purpose of the patches is to be able to cancel the blank14:22
larscand we want to hook the lcd disable to the new notifier14:22
larscno it is not14:22
viricso, for your purpose, FB_EARLY_EVENT_BLANK would be enough14:23
viricbut the patches introduce EARLY and R_EARLY14:23
larscthat's because we need a mechanism to tell a device which listens to a EARLY event that the actuall blanking has failed14:27
viricwhat determines the order in the fb_notifier_call_chain? the order of calls to fb_register_client() I imagine...14:28
viricIsn't there any system, before the EARLY patches, to determine the order of 'clock shutdown' and 'lcd standby'14:30
viric(I'm reading do_blank_screen())14:31
viriclarsc: sorry if I ask too much. :) I'm zero experienced in all this14:31
larscthe clock is disabled in the framebuffer blank callback, which is called before the notifier chain14:34
viricinfo->fbops->fb_blank(blank, info);  ? this?14:34
viricthat's an order to the ipu?14:35
larscto the framebuffer driver14:36
viricok, clear! :)14:36
viricthat disables the spi with the lcd?14:37
viricand then the spi instruction to the LCD of going to stand-by does not reach the lcd14:38
larscit only disables the pixel clock, but the display seems to stop to listen to commands on the spi if the pixel clock is off14:39
virichas this ever worked?14:39
viricI mean... in any previous nanonote kernels14:39
larscyes we had a different patch before 3.214:40
larscbut it was really just a ugly hack14:40
viricand what does mth mean about "I could pick the patches"?14:40
larsche could apply them to the 3,2 tree14:40
viricour tree isn't based on linux 3.2 tree?14:41
larscit is14:41
viricaren't those patches in the linux 3.2?14:41
larscbut those patches aren't in mainline yet14:41
mththose patches are not in mainline14:41
viricand you could pick them up...14:41
viricand when someone picks them for mailine14:41
viricgit will resolve all?14:41
mthif identifcal, yes, otherwise it will be a merge conflict14:41
mthbut probably easy to resolve14:41
viricand if mainline does not like it?14:42
viricthen jz-3.2 will have to be adapted to mainline without these patches14:42
mththen we'll have to think of some other approach that mainline does like14:42
viricBut before these patches... there was no solution?14:42
mthin any case larsc thinks that these patches have more chance of getting in that the original patch that we had14:42
viricother than 'ugly hack'?14:42
mthyes, there was a hack, but not suitable for upstreaming14:43
viricand in what moment jz-3.2 'lost' the ugly hack?14:43
mthand the long-term goal is to have as little difference as possible from mainline14:43
mthwhen jz-3.2 was created; I didn't merge the hack from jz-3.114:43
viricyou picked mainline 3.2, and ported (partially) the patches additional to mainline in jz-3.114:44
mthcommit d111ee753dd71beedb394a79da6285d7ce6e620414:44
viricthat's how jz-3.2 got created, and how jz-3.3 will be created too14:44
viricI mean, something usual14:44
mththat's how every jz-* branch is done so far14:44
viric(all this may sound very trivial for you, but it's all brand new for me :)14:44
mththe difference between two Linux releases is too large for "git merge" to work, I think14:45
mthI tried it once and it became a huge mess14:45
mthso now I just list all commits on the last branch and cherry pick them one by one14:45
mthif they are still needed14:45
viricso you can 'rebase' the patches from 'mainline-3.1' to 'jz-3.1' over 'jz-3.2'14:46
mththat's another reason to try to keep the amount of differences low ;)14:46
viricah cherry-pick.14:46
viricand what does that amount to?14:46
viricin number of patches14:46
larscsidenote: a rebase is more or less a series of cherry-picks14:46
mth10-20 patches, I think14:46
viriclarsc: I also see it that way.14:47
larscviric: you can list them: git log v3.2..jz-3.214:47
viriclarsc: I don't have the v3.2 branch14:47
viricor tag14:47
mthwe have a few more now since there was development on jz-3.214:47
viriclarsc: should I pull from a linux kernel repository?14:48
viricmth: ok14:48
viricso we are single in the world of devices that have the trouble about clock/lcd-standby?14:48
larscviric: fetching the tags should be enough14:48
viricah kernel.org is up again?14:49
larscviric: no. samsungs seems to have the same issue. the patch which adds the early callback was from an samsung employee14:49
viric'git fetch -t URL' ?14:49
viricI'm trying that14:49
virichm it's getting lots of objects.14:49
viriclarsc: ah ok perfect. 14:50
viriclarsc: you knew more than what I read in those commit logs!14:50
viricpeople should write in the commit logs what problem they try to fix...14:50
mthI used "git remote add"14:50
viricthat has always been for me a big problem reading most public commits... people forgetting to write what problem they had before the patch.14:51
viricThe solution is in the code. But the problem... it's either in the commit log or nowhere14:52
mthkernel.org was reopened around the same time that 3.2 was released14:52
mthfor 3.1 I had git://github.com/torvalds/linux.git as upstream14:53
viricaha ok14:53
viricmth: adding that remote... also fetches a lot, no?14:53
mthit fetches the full history of the kernel14:53
viriccan I pick less than that?14:53
mthbut probably most of it overlaps with what is already downloaded as part of the qi history14:53
larscyou should already have most of the history if you have jz-3.214:53
virichm it picks up a lot.14:53
mthI don't know, I just downloaded everything14:54
viricit'll take 2 or 3 minutes...14:54
viricok, then, thank you all. I'm up to date with the lcd problem14:54
viricdon't you commit things in the kernel like: "/* JZ-TODO: port that patch */" ?14:55
viric(at the moment you did not pick that thing from 3.1)14:55
viricI mean... where is the list of "This needs to be done for jz-3.2"?14:56
mthI gave a short overview on this channel14:56
mthshould be in the IRC logs14:56
viricmth: why not have that in the kernel vcs, in the jz-3.2 branch? either in a file, or comments anywhere14:57
mthin the night from 5 to 6 January14:57
viric(searching the log...)14:57
viricnice notes.14:59
viricwhitequark: did you say (that day) that the xilinx webpack sends your netlists to xilinx?15:01
viricwhitequark: I recall it asking questions about accepting that or not, and they let you answer 'dont send'.15:02
wolfspra1lviric: are you aware of llhdl ?15:02
viricfrom lekernel?15:03
wolfspra1lit's a long-term project to try to open up some of the synthesis toolchain, Sebastien took a good real first step coding at it, but right now it's dormant until ... don't know. but it's so fundamental it will surely continue.15:03
wolfspra1ljust because we chat about synthesis tools, so I thought I mention it in case it's not known15:03
viricI remember when he was starting...15:03
viricbut I did not hear beyond that15:04
wolfspra1lI think it progressed a decent bit, but right now it's dormant.15:04
viriclast commit on march 2011?15:04
wolfspra1lto be continued :-)15:04
wolfspra1lsure, could be15:04
viricdid lekernel get an employer? :)15:04
wolfspra1lwe try to build Milkymist One into a business, or other Milkymist derived products15:05
wolfspra1lbut no employer15:05
wolfspra1lyeah it's great15:05
viricyou're brave people :)15:05
wolfspra1lnah, it's easy. only do what you really believe in.15:06
viricbut then you get in love with a woman that has some incompatible beliefs and...15:07
viricif all were so easy... ;)15:07
whitequarkviric: I think if you answer "don't send", they do not compile it15:07
whitequarkalso, see PM15:07
whitequarkI have "invented" a way to check footprints: http://rghost.ru/35904042.view15:15
viricwhitequark: you get ortographic pictures?15:21
whitequarkviric: I don't even know what that word means :)15:21
viricpictures, that map easily to metric units15:21
viricusually after some lens distortion correction, calibration, ...15:22
whitequarkI just used a cheap scanner at 600dpi15:23
whitequarkand placed that by hand (I was off by 0.17 degrees... pretty good I think)15:24
viricwhitequark: yes, a scanner gives ortographic pictures15:28
viricgetting ortographic pictures from a camera is harder :)15:28
bbbbHi, can anyone help me with usb_boot? I can't figure out the nand config parameters15:39
xiangfubbbb, for nanonote?15:41
bbbbxiangfu, nope it's a strange jz4750 based china console15:41
bbbbhttp://goo.gl/b8Yc5 already got in in usb boot mode15:43
mthif you want to look at the nand contents, it might be simpler to see if you can find a firmware restore ("unbrick") image15:45
mthyou could try to open the device and read the NAND chip model from the chip itself15:46
mththat should tell you things like bus width and page size15:47
mth(by data sheet from the manufacturer site)15:47
bbbbmth: still haven't figured out who produces this thing, ok, I am waiting for a triwing screwdriver15:47
mthah, nasty screws... the Dingoo A320 just uses philips head (cross) screws15:48
bbbb:) yes, they copied the whole gameboy design even the stupid screws15:49
viricah the stupid gameboy screws...15:49
whitequarktry a kinfe15:49
whitequarkwith a little bit of skill it works surprisingly well15:49
Ayladoes it have a gameboy cartridge port as well?15:51
bbbbAyla, yes but I havend figured out what it does 15:51
mthis there an actual connector in there or just a hole in the casing?15:52
bbbbmth: connector is there, when I have an screwdriver we know if it is connected :D15:52
larscthe coments on the page say it plays gba cartridges15:54
viricbbbb: for usbboot, you simply use their 'data cable'?15:54
bbbbviric: yes15:54
virichow did you get in usbboot mode?15:54
viricis it a peculiarity of all jz47*?15:54
mthon the A320 it's done by pressing the B key during power up15:55
viricbut it's a hw thing that triggers that mode?15:55
viricI thought it was some software somewhere15:55
larscit's usually connected to a button15:55
viricah nice15:55
mthit needs a pin pulled down to go into USB boot mode15:55
larscyou just have to figure out which one15:55
bbbbyes, brutforce, gamebox uses the start butotn15:56
viricwpwrak: do you know if those 8051-like chips (F321?) have something like that, so I could pick the program inside using the usb?15:56
whitequarkviric: f321... sounds familiar. is that Cypress?15:58
mthbbbb: do you know the screen resolution? 320x240 or 240x160 or something else?16:00
bbbbmth: good question16:01
bbbbmth: brb testing16:01
wpwrakviric: err, like what ? i've implemented DFU for the f321. with that, i can read/write the firmware16:10
viricwpwrak: ah, but on a 3rd-party f321... nothing, I imagine17:03
viricwhitequark: I can't recall the manufacturer17:03
viricwhat was first, the kernel and usbboot for the nanonote, or the nanonote was chosen as there was some part of kernel+tools for jz?17:05
wpwrakviric: unless they found my code and reused it :)17:05
viricaha! ok ;)17:06
whitequarkif there's anyone from Moscow here, and you want to buy something from http://iteadstudio.com/, then you have a few hours to say what exactly17:29
whitequarkwhy a few hours? because I'm doing an order today, and after that they stop to receive orders due to some chinese festival17:30
whitequark*after this day.17:30
wpwrakChinese New Year. that's when all of china shuts down.17:33
wpwrakfor one week, plus travel. can be a nasty surprise for westeners who want to produce something just around that time and don't know of that holiday :)17:42
viricanyone good at stepper motors?17:47
viricI'd like substepping without annoying whistle noise)17:47
whitequarkwhat exactly causes that noise?17:47
viricI think it's the PWM for substepping17:48
Action: whitequark does not know how substepping works17:55
viricinstead of switching between direct or reverse full currents per phase...17:58
viricyou use PWM to achieve currents between 0 and the maximums17:59
virichttp://www.allegromicro.com/Products/Motor-Driver-And-Interface-ICs/Bipolar-Stepper-Motor-Drivers/~/media/Files/Datasheets/A3967-Datasheet.ashx one for example17:59
whitequarkso, do you drive it with a kind of sine  wave?18:00
whitequarklooks like yes18:01
whitequarkFEATURES: no odor18:04
kyaknot having a feature is also a feature ;)18:36
Ayladoes the kernel drop a TCP packet automatically if the checksum is incorrect?18:46
Aylathe TCP checksum, not the IP one18:47
wpwrakas opposed to ?18:59
viricAyla: what else would be better?19:02
AylaI'm building a DOS attack program for a school project19:03
Aylaa simple SYN flood19:03
Aylabut the web server I'm targetting (on localhost, don't worry) doesn't respond to my SYN packets19:04
AylaI think Linux drop them because of an incorrect TCP checksum19:04
wpwrakAyla: /proc/net/snmp is your friend19:06
wpwraksee also: svn.openmoko.org//developers/werner/bin/snmp19:06
Aylawhat's that script for?19:07
wpwrakrun with   snmp 119:08
wpwrakand it will read /proc/net/snmp every second and tell you what has changed19:08
Aylahmm. Interesting.19:09
Aylalooks like I receive incorrect packets :)19:09
Aylathank you for your help, that script will be useful19:10
virichm I better pick the script19:17
viricthis werner always has interesting things19:17
Aylawpwrak: is it possible to get a detailed info about what's wrong?19:48
AylaI send a packet that is 100% similar to one sent by wget19:49
Aylabut mine doesn't pass19:49
wpwraktcpdump ? wireshark ?19:49
AylaI'm using wireshark already19:50
wpwrakit should tell you id there's a problem19:50
Aylawell, no19:50
AylaI can see the packet I send just fine, but there's absolutely no response19:50
mthwhat do syn cookies do exactly? it has something to do with preventing syn attacks19:51
Aylasyn cookies? ...19:54
wpwrak(syn cookies) there should still be a response19:56
wpwraknot sure if the kernel implements anything stronger. i remember some debates about this sort of issues a good while ago19:57
Aylafor some reason, the checksum of the TCP header as shown by wireshark when downloading a sample text file with wget is always the same20:00
Aylawhile the TCP header itself is not the same (because of the timestamp)20:00
whitequarkhuh, just spent $310 in one order...20:05
whitequarkthose SMT resistors are not very cheap.20:05
larschm, maybe the kernel skips checksum generation on local interfaces20:09
larscAyla: http://blog.sourcefrog.net/2008/11/wireshark-complaints-of-bad-tcp.html20:11
Aylalarsc: ah, nice find20:12
Aylabut then if it doesn't verify the checksums, I have absolutely no idea why it does not work :)20:13
larscno open connection?20:13
wpwrakwhat reason does snmp indicate ?20:19
virichow do you cut PCBs?20:19
wpwrak"make mill" :)20:19
viricbad answer :)20:20
Aylawpwrak: it doesn't give a reason20:21
wpwrakwell, typically first. "make" to generate the sub-makefile and the toolpath. then "make mill" to send the job to my cnc mill20:21
wpwrakAyla: so none of the counters change ?20:21
AylaTcp: InSegs InErrs20:21
AylaTcp:     +1     +120:21
viricwpwrak: it does not help me ;)20:21
virichave you ever used this? http://u.jimdo.com/www14/o/s43f33e0d582132fb/img/idf0d85d1e27aff86/1279257227/std/image.jpg20:22
wpwrakah ! but that is useful :)20:22
wpwrakit tells you that it made it all the way to TCP20:23
Ayla'InErrs' means that it failed, no?20:24
Aylais that normal that I have '+1' on both InSegs and InErrs?20:25
wpwrakand you can find all the reasons with  grep TCP_MIB_INERRS net/ipv4/*.c20:26
wpwrakyes. segment arrived ... and failed20:26
wpwrakkernel source20:27
wpwrakyou can add printks to each place to get more detailed information about what went wrong20:27
viricwpwrak: why you wrote that snmp thing?20:28
viricwpwrak: what were you trying to solve?20:29
wpwrakto find out why the stack didn't like what i was trying to do :)20:29
viricah, benwpan thing?20:29
wpwrakduh. probably some IP over ATM issue20:29
wpwrakor maybe something before that. this script is ancient20:30
whitequarkAyla: can you post a dump somewhere20:30
wpwrakprobably some 15 years old20:30
viricwpwrak: ha. ok.20:30
Aylawhitequark, sure, a dump of what?20:30
wpwrakand yes, it has seen a number of uses :)20:31
viricI imagined20:31
whitequarkAyla: the packets you're trying to kill your server with20:31
Ayla_the first screenshot is the SYN packet I'm sending20:42
Ayla_the second one is the SYN packet wget sends20:42
Ayla_to which the server responds20:42
whitequarkAyla_: sigh. can you post a wireshark dump and not a screenshot? how I am supposed to know which field these changed bytes correspond to?20:44
Ayla_I don't know how to save a wireshark dump :)20:44
larscwhitequark: you can read raw tcp packets? i'm disappointed ;)20:49
whitequarkAyla_: File->Save ?20:50
Ayla_whitequark: http://crapouillou.net/~paul/synflood.dump20:53
Ayla_packet 1 is wget fetching a small text file20:53
Ayla_packets 25 -> 39 are me trying different things20:53
whitequarkI'll look into it in a 10 mins20:54
viricI just saw this web site21:51
viriclast change in 200821:51
virichm it's more about hacking closed devices than making one21:52
whitequarkoh crap21:55
whitequarkmy eyes21:55
viricyes, you better disable their css21:55
viricthe legal advice looks even better: http://www.f-x.fr/wikini/wakka.php?wiki=InfosLegales21:55
wpwrakviric: there are a lot of people who are profoundly convinced in their creative abilities being limited to the immaterial domain21:56
wpwrakas in "we can hack it open but there's no way we could build anything even remotely similar"21:56
wpwrakearly fish may have thought pretty much the same about lots of things :)21:57
viricI'm very impressed, by what people achieve, breaking into closed hw21:58
viricAnd a lot of that "lives" in quite populated web forums, where people design mini-circuits to make parts work... hack firmwares, deciphers the ciphered, ... finds jtags, ...21:58
viricand all looks like web pages or forums of car painters or so.21:59
wpwrakwell yes ... it's kinda like neanderthals successfully smuggling them aboard a space shuttle21:59
wpwraksure, impressive. but does this make them a space-faring civilization ?21:59
viricI mean21:59
wpwrakno, it's "i'm mean" :)22:00
virichow do they manage to decipher those things, hack the bootloaders, put their own...22:00
viricAnd that people use interchange *compiled* programs22:00
viricinstead of source22:00
wpwrakexercises in futility. on both sides :)22:00
viric"I'm mean"? :)22:01
viricand what are the sides?22:01
wpwrak(closed) makers vs. openers :)22:01
viricahh 22:01
viricwell, sometimes those help in finding GPLed parts :)22:01
viricand getting manufacturers to publish22:02
viricBut I feel like there are crowds of people in those forums that understand quite well electronics, understand linux, mips, whatever board details and devices there...22:02
wpwrakoccasionally perhaps. not very often.22:02
wpwrak"street pressure" doesn't work well with megacorps22:03
wpwrakwhat does work is competition22:03
viricI was following this: http://www.andyp.uwclub.net/livebox.html22:03
wpwrakeven pitiful competition. that scares them beyond belief.22:03
viricI understand you22:03
wpwrakbecause they're well aware of their inability to innovate22:03
viricah, you think that people can know well hacking all that, and then lack to innovate?22:04
viricI wonder what they work to get money22:05
viricwork on.22:05
whitequarkmost people get money for doing nothing22:06
larscnah, not most, about half of the i'd say22:06
wpwrakno .. the people from the big corps are the ones who can't innovate22:07
wpwrakthe ones reverse engineering are the ones who merely choose not to22:07
wpwraklarsc: in which half did they put you ? :)22:07
larscwpwrak: i'm not quite sure yet22:08
viricwpwrak: where would be openwrt used by nanonote, if it weren't for reverse engineers? :)22:31
whitequarkopenwrt isn't related to reverse engineering22:32
whitequarkit is a linux distro for routers. nothing more.22:32
whitequarkhow did you get kernel sources isn't actually related to the nature of openwrt22:32
viricfor closed-hardware routers 22:36
viricmostly, no?22:36
viriceven the name comes from those linksys22:36
wolfspraulwithout having read up on the whole thread, from my personal experience I can say that if you stay within the realm of reverse engineering, you have no chance to grasp the economics of hardware22:49
wolfspraulwhether that's design, testing, manufacturing, repair and recycling, logistics, etc.22:49
wolfspraulI think that's a problem22:49
wolfspraulI did reverse engineering for at least 10 years, in all sorts of areas, yet when I started with hardware around 2007, I was completely clueless. hardware was this big black box out of the magic copy machine that is China.22:50
wolfspraulunfortunately I think we must be allowed to say that a majority of free (and other) software engineers are still at this level22:51
wolfspraulthe way to get out of that trap is to get out of the reverse engineering mindset, and instead start to do something by yourself, from scratch. create. reverse engineering is not bad, but if that's all you do I think you will hit a ceiling fast.22:51
wolfspraulthat's my 2cents :-)22:51
larscviric: i just wanted to try xbboot, but i'm always getting -11022:53
whitequarkwolfspraul: I second that23:09
mthI just submitted a bug on GCC: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=5186123:45
mthbeware with __builtin_unreachable() on MIPS23:45
qi-bot[commit] LluĂ­s Batlle i Rossell: MIPS: Enable vmlinuz for JZ4740 (jz-3.2) http://qi-hw.com/p/qi-kernel/c389c3223:53
qi-bot[commit] Axel Lin: ASoC: jz4740: Convert qi_lb60 to use snd_soc_register_card() (jz-3.2) http://qi-hw.com/p/qi-kernel/c80c63a23:53
qi-bot[commit] Lars-Peter Clausen: Refresh nanonote defconfig (jz-3.2) http://qi-hw.com/p/qi-kernel/53cc9ea23:53
qi-bot[commit] Lars-Peter Clausen: Rename nanonote_defconfig to qi_lb60_defconfig (jz-3.2) http://qi-hw.com/p/qi-kernel/ef83a0723:53
--- Sun Jan 15 201200:00

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