#avr | Logs for 2013-06-27

Back
[00:31:49] <Roklobsta> haha you wirintg a CLI too?
[00:31:59] <Roklobsta> that wheel has been reinvented 100000 times
[00:34:15] <Roklobsta> hey, is there a gcc option that strictly warns on types? like if my function int getc(char portnum){} is called by byte = getc(0); when byte is a char instead of an int i'll get a warning?
[00:35:48] <Roklobsta> i have a lot of typedefs and so on too an i want to be alerted if I have put in an incorrect enum or variable.
[00:37:03] <Isvara> Roklobsta: It's a fairly trivial thing to do. I just wanted to make the code more DRY, which is trickier.
[00:37:24] <Roklobsta> dry?
[00:37:37] <Isvara> Don't Repeat Yourself
[00:38:41] <Isvara> I have it set up so that I just define a function with CLI_COMMAND("blah") { // Do stuff }, and that automatically generates the command table.
[00:39:17] <Roklobsta> nice
[00:39:26] <Roklobsta> macro wizard
[00:39:45] <Roklobsta> i need to get a bit more jiggy with c macros
[00:41:31] <Isvara> CLI_COMMAND(blah) expands to something like: cli_blah_command_handler(void); static cli_blah_command = {"blah", cli_blah_command_handler} __attribute__((section("cli_cmdtable"))); void cli_blah_command_handler(void) {
[00:41:48] <Roklobsta> hehe one does gets segfaults with avr. just weird random crap.
[00:41:51] <Roklobsta> doesn't
[00:42:05] <Isvara> So I end up with a section in my ELF binary that is just an array of command entries.
[00:42:36] <Isvara> And ld is supposed to create __start_cli_cmdtable and __stop_cli_cmdtable symbols for me automatically, and... it's not.
[00:42:50] <Isvara> Maybe it doesn't like the underscore.
[00:44:00] <Isvara> Nope. It wasn't that.
[00:50:25] <Roklobsta> moar underskorz!
[00:52:11] <Roklobsta> late night hakcing huh?
[00:57:49] <Isvara> Yeah
[00:57:57] <braincracker> :)
[00:57:58] <braincracker> Tiny home on wheels: an illegally small home http://www.youtube.com/watch?v=BFvTmemGL4E
[01:39:13] <Isvara> Ah, I think I figured it out. If you pass a linker script as one of the inputs to GCC, it augments the default one (as opposed to -T, which replaces the default one).
[01:53:22] <Badaboom> sigh
[02:29:54] <kidbeta> so im trying to workout how to do a JTAG interface in Verilog for my Altera DE-0 Nano but i cant seem to find any sample code on how to access the JTAG->USB interface on the board in pure Verilog outside of the Qsys and the SOCP(?) builder.
[02:30:08] <Badaboom> ^^I sent him here;)
[02:30:43] <kidbeta> lol yeah you did
[02:30:50] <Badaboom> only problem is maybe not to many up right now
[02:30:55] <kidbeta> thats okay
[02:31:18] <kidbeta> im trying to make a simple interface to debug a design I want to make in the future
[02:31:27] <Badaboom> I just had a malfunction with my isp tonight so ..
[02:31:34] <Badaboom> ok
[02:32:16] <Badaboom> so using the jtag to debug
[02:32:35] <kidbeta> pretty much pass data back to my PC
[02:32:46] <kidbeta> kinda like the arduino serial() interface
[02:33:36] <Badaboom> hmm.. you might ask for Tom when hes around
[02:34:44] <Badaboom> are you trying to build one yourself?
[02:34:47] <kidbeta> I hope my question make sense
[02:35:07] <kidbeta> I just want somehting I can access from Verilog wether it be a megafunction or anything else really
[02:37:05] <kidbeta> hope it makes sense :P
[02:38:32] <kidbeta> im rather new to Verilog and FPGA's in general I only got mine yesterday and installed the software last night and only really messed around with some default code samples today
[02:39:42] <Badaboom> http://www.youtube.com/watch?v=yvqkg44_DQA
[02:40:20] <Badaboom> That's a professor form Cornel
[02:40:54] <kidbeta> yeah ill defiantly have a look at it, some of it seems rather familiar (I am familiar with C)
[02:41:16] <Badaboom> Yeah i use c for AVR
[02:42:02] <kidbeta> if I could code it in C Id be so much further ahead :P
[02:42:15] <Badaboom> I like C myself
[02:42:58] <Badaboom> No system
[02:42:58] <kidbeta> im not sure there is a free C -> HDL program/interface/etc for the Altera Cyclones
[02:43:26] <Badaboom> I mean it an array
[02:43:59] <Badaboom> That video is really good,, he really explains alot
[02:44:30] <kidbeta> oh good is it mainly words or text because i cant listen atm
[02:44:53] <Badaboom> oh the chalkboard,,lol
[02:47:21] <Badaboom> It's funny how he lists all the things it doesnt have'
[04:28:57] <bitd> Can anyone recommend me a good electronics book?
[04:33:52] <Roklobsta> Nup
[04:34:52] <Roklobsta> My electronics uni textbooks are 20 years old
[04:35:20] <Roklobsta> what aspect are you after? analogue? digital? the basics?
[04:44:04] <Roklobsta> you know, I hate talking to myself.
[04:45:33] <theBear> heh, least he still appears to be here, so you don't look the fool :)
[04:46:02] <theBear> and for reference, i haven't seen a forest mims book yet that wasn't very educational on electronics or some subset thereof
[05:03:00] <OndraSter_> book about electronics..
[05:03:01] <OndraSter_> good question
[05:03:01] <OndraSter_> I always learned by trying.. if it didn't catch fire then it was a success :)
[05:04:36] <antto> some people don't have such luck ;]
[05:05:44] <antto> 220V isn't nice, it always hits you when you don't expect it ;]
[05:06:57] <beaky> hello
[05:07:12] <beaky> I've accidentaly set my avr dragon's ISP frequency to 5Hz
[05:07:17] <beaky> what should I do?
[05:09:51] <beaky> ah I've managed to fix it!
[05:09:53] <beaky> thanks guys
[05:10:01] <beaky> I was so worried I bricked my $50 debugger
[05:12:07] <OndraSter_> you did what?
[05:12:08] <OndraSter_> antto, haha
[05:12:08] <OndraSter_> I like my way of testing whether some wire is live
[05:12:08] <OndraSter_> -- by touching it :D
[05:12:09] <OndraSter_> (usually use the screwdriver with the small diode or whatever inside first)
[05:12:10] <OndraSter_> but to be sure -- use the finger
[05:12:10] <OndraSter_> beaky, you did not do that
[05:12:11] <OndraSter_> and if you did, I don't think that dragon keeps this in permanent EEPROM
[05:12:27] <beaky> I did
[05:12:41] <beaky> I am trying to underclock my avr to 16Khz
[05:12:48] <beaky> so I need a low ISP frequency
[05:13:53] <beaky> how do I reprogram my avr once I underclock it to 16kHz?
[05:23:47] <theBear> err, it shouldn't matter for programming if you got a programming clock
[05:24:12] <theBear> otherwise just use a open or traditional style programmer and raise the delay way up on the software settings
[05:34:55] <beaky> ah
[05:40:07] <beaky> why is my dragon slow
[05:42:42] <beaky> way slower than my STK500 at ISP
[05:42:49] <theBear> maybe it's out of *PUFF* ooooohhhh !
[05:43:22] <theBear> how is it connected ? what interface does it use ? are there delay or similar settings in the firmware or config for programming software ?
[05:45:00] <beaky> I just connect my dragon througn usb
[05:45:11] <beaky> and I use ISP
[05:45:16] <beaky> it used to be much faster
[05:45:56] <theBear> well what has changed ? you the only one that can know that
[05:47:08] <beaky> I set my hz to 50Hz
[05:47:23] <beaky> but then when I set it back to 1Mhz my dragon is still quite slower
[05:49:14] <beaky> ah
[05:49:20] <beaky> I am using the Vcc of the dragon
[05:49:45] <Roklobsta> dragon is ok at 250KHz
[05:49:58] <Roklobsta> your brain is too fast
[05:50:46] <theBear> too fast eh ? i'll credit that... maybe if you slowed down the words would sink in deeper, AND you might smell the odd rose or something
[05:51:39] <beaky> my stk500 was just really fast
[05:51:53] <beaky> and the dragon was decently quick too
[05:52:53] <beaky> I was trying to set my dragon's isp frequency to a low one so that I can program my atmega328 to 16Khz
[05:53:16] <beaky> I choe 50Hz
[06:19:53] <Roklobsta> 250 hurts
[07:56:02] <antto> http://i.imgur.com/0m6Sk6E.jpg my franken-ISP ;]
[07:57:00] <antto> thanks to Mr Horologium ;]
[08:00:39] <ambro718> how are signed comparisons done on multi-byte values? I suspect just like unsigned, that is, cp+cpc...+cpc, and use the signed branch instructions then?
[08:02:49] <specing> antto: parallel port in 2013, come on...
[08:03:11] <specing> ambro718: use gcc to find out ;D
[08:08:34] <ambro718> yes that's what gcc does
[08:15:06] <antto> specing why not?
[08:15:41] <antto> it works much better than that chinese usbasp
[08:19:28] <specing> antto: cause its slow?
[08:19:51] <specing> unless you've got some data translation
[08:19:59] <specing> and its BULKY
[08:20:02] <theBear> it IS slow, but until i actually use my OWN usb programmer, i can pretend it's the fastest thing i've ever seen (videos don't count :)
[08:20:17] <theBear> lol, just the connector is the size of a whole usb programmer
[08:20:32] <RikusW> specing: even Altera use LPT JTAG :-P
[08:20:42] <specing> ah, you are bootstraping a usb programmer
[08:21:06] <specing> RikusW: FPGA manufacturers do not interest me until they can provide some open tools
[08:21:07] <theBear> that's a good reason, he shoulda said that
[08:21:12] <theBear> or me ? well, in theory i might be
[08:21:14] <theBear> heh
[08:21:30] <RikusW> specing: Altera IDE does work in Linux
[08:21:45] <RikusW> even on x64
[08:22:11] <RikusW> Quartus II web
[08:22:28] <RikusW> I have in installed in Mint Nadia
[08:22:33] <specing> RikusW: *OPEN* TOOLS
[08:22:50] <RikusW> why does it have to be open source ? it works
[08:22:56] <specing> I have no interest whatsoever in running their singlethreaded visual bloatware
[08:23:11] <specing> *closed
[08:23:51] <kidbeta> speaking of Altera i was wondering if anyone know how to interface the USB <-> JTAG on the DE0 Nano in Verilog
[08:24:33] <theBear> err, if it helps i know all the words in the question, err, apart from DE0 :)
[08:24:51] <ambro718> 32-bit signed comparison a<b is equivalent to unsigned comparison (a-2^31)<(b-2^31), is that correct? (the differences are meant modulo 2^32)
[08:24:57] <kidbeta> its the cheapo educational board
[08:25:00] <kidbeta> got a cyclone IV
[08:27:12] <kidbeta> just that all of Altera's examples with using the JTAG are in either that SOCP(?) thing they use or some other propritory stuff
[08:27:26] <antto> specing slow?
[08:27:48] <antto> i don't care about the bulky part
[08:27:53] <antto> ;]
[08:32:02] <RikusW> kidbeta: the parallel port adapter circuits are in the altera docs
[08:32:26] <RikusW> I'll try hacking the USB->JTAG protocol sometime or other
[08:33:16] <kidbeta> from what i could with the megafunctions and other stuff it seemed like it was just a unit you based data too at the higher levels, why couldnt they expose it lower : [
[08:37:22] <kidbeta> really just trying to think of a way to easily test my verilog designs that i plan to do in the future and being able to pass and recieve data from my desktop would really be handy
[08:41:31] <Grievre> Someone should approach lattice or actel and be like "Hey you know what would put you guys ahead of xilinx and altera? Open tools"
[09:05:51] <ambro718> what's the quickest way to save the S flag to a register?
[09:12:51] <ambro718> for C flag, you can do "sbci reg,reg" but not for other flags
[09:13:09] <ambro718> oops, sbc reg,reg
[09:15:43] <RikusW> in r16,STATUS
[09:22:44] <ambro718> I see, thanks. I would be even more happy though if gcc allowed asm goto to have output operands, so I could just use a branch instruction..
[09:23:43] <RikusW> brcc brcs
[09:25:23] <ambro718> I basically need this: if (!N) call_funcion();
[09:25:28] <ambro718> N is negative flag
[09:25:53] <ambro718> but to make gcc happy I need to store something to an output operand then write an if
[09:29:32] <RikusW> *in r16,SREG
[09:31:29] <ambro718> yes but then the result will be this: in r16,SREG; andi r16,1<<3; brne out; conditional_code; out:
[09:32:59] <ambro718> even though this would work: brmi out; conditional_code; out:
[09:38:18] <RikusW> brmi and brpl will be the shortest indeed
[11:43:20] <l9> i am using a 7.3728 Mhz 100 ppm crystal too run a attiny2313 with a prescale of 64 it ticks 450 times a second after one and a half hour it seems like it is off by 13 seconds...
[11:44:17] <l9> for me it seemed alot off from what I expected... just me or?
[11:57:30] <timemage> l9, i take it your talking about the rollover of a 8bit timer/counter when prescaled by 64
[11:58:23] <l9> yeah
[11:58:47] <l9> so the number of ticks is 256*450
[12:03:37] <timemage> l9, dunno. an off-by-one error would seem to account for about 7 seconds over a half hour.. that is, if you had it set up such that you were only using 255 ticks or far whatever reason.
[12:05:52] <timemage> l9, if you post your test code someone might be able to see what's going on. if you have a scope, i'd try toggling a pin and checking to see whether or not the timing is correct over capture. if it isn't then you know it's a more general timing issue. if it is, then it might have something to do with the crystal itself, load caps or whatever. dunno.
[13:49:45] <l9> timemage: yeah it seems like it is off by one :) But I lost my programmer so i need too wait til I get a new one... what programmer should i get my last one was a stk500, i would like something that is better than that
[13:51:28] <timemage> l9, dunno. have an old 9pin serial avrisp and a dragon. iirc, tom_itx makes one that has a clock recovery feature that might be nice to have.
[13:53:51] <Tom_itx> mine is decent
[13:53:54] <Tom_itx> :)
[13:55:22] <OndraSter_> who here wanted to build a "unix-like" OS for AVR? :P
[13:56:03] <antto> oh what kind of AVR will that run?
[13:56:07] <antto> * on
[13:57:14] <Essobi> Isn't there already one?
[13:57:32] <Essobi> Pretty sure there is a nix-like for that highend branch of chips.
[14:01:44] <Tom_itx> l9, http://tom-itx.dyndns.org:81/~webpage/boards/USBTiny_Mkii/USBTiny_Mkii_index.php
[14:11:28] <l9> Tom_itx: cool :) will have too have a look at it after dinner :)
[14:12:01] <Tom_itx> it does all the 8bit avrs
[14:12:23] <antto> Tom_itx atmega2561?
[14:12:36] <Tom_itx> i believe so
[14:12:43] <Tom_itx> if it's isp tpi or pdi it will
[14:13:07] <antto> cuz i read on adafruit's page their usbtinyISP doesn't handle flash over 64kB
[14:13:21] <Tom_itx> it should work fine
[14:13:44] <OndraSter_> antto, the person wanted to make it on a few chips
[14:13:50] <OndraSter_> (to separate "GPU", "CPU", ..
[14:14:07] <antto> funky
[14:14:14] <OndraSter_> but I can't remember who
[14:16:16] <antto> Tom_itx well i'm currently using this: http://i.imgur.com/0m6Sk6E.jpg ... but if for some reason it stops working (pc breaks?) i'll have to get a usb or 9-pin serialport programmer, one which can deal with the m2561
[14:17:44] <Tom_itx> it should work fine for that
[14:19:14] <Tom_itx> you'd have to rewire your adapter to a 6pin
[14:19:18] <Tom_itx> which is no big deal
[14:19:19] <antto> don't be fooled by the 40-pin socket, i use it for a m2561 ;]
[14:19:32] <antto> yeah, well i don't like that part too much
[14:19:47] <Tom_itx> i might have a 6 to 10 adapter left... i'd have to check
[14:19:50] <antto> i'll rather make another adapter with 6pins
[14:19:52] <Tom_itx> if i do, i'd toss one in
[14:20:17] <Tom_itx> everything cool is 6pin nowdays
[14:20:29] <antto> does the 6-pin ISP supply VCC to the chip?
[14:20:34] <Tom_itx> yes
[14:20:53] <Tom_itx> just doesn't have the extra gnd pins and a 'unused' pin which used to be an led
[14:21:43] <Tom_itx> http://tom-itx.dyndns.org:81/~webpage/how_to/atmega168/using_avrdude_index.php
[14:21:49] <Tom_itx> the pinouts are at the bottom of that page
[14:22:05] <Tom_itx> notice pin 1, miso mosi is swapped
[14:26:09] <l9> It has all the things I need and then some :) but should i get boxed or not? :P
[14:27:50] <Tom_itx> depends if you like to see the innards or not
[14:54:39] <OndraSter_> GNUtoo-x60, x60 as lenovo's x60? :)
[14:54:47] <GNUtoo-x60> yes
[14:54:57] <GNUtoo-x60> with coreboot
[14:56:17] <GNUtoo-x60> hmmm my battery is low
[14:59:00] <specing> Linux boot in 3s?
[15:00:19] <OndraSter_> how can linux boot in 3s while it takes 3 seconds just for openrc to start?
[15:00:23] <OndraSter_> on gentoo
[15:01:04] <GNUtoo-x60> I've systemd...but...
[15:01:06] <specing> OndraSter_: openrc takes about 0.5s to take you to a command prompt
[15:01:11] <GNUtoo-x60> in another hand I've kde
[15:01:15] <GNUtoo-x60> which is slow to start
[15:01:18] <GNUtoo-x60> and I lack an SSD
[15:01:31] <GNUtoo-x60> but I could put the linux(-libre) kernel in the flash if I want
[15:01:53] <specing> Also I don't see the benefit in super fast boot times as I rarely turn my laptop off
[15:01:56] <GNUtoo-x60> coreboot speed is a bit like the systemd or kernel boot speed:
[15:02:15] <GNUtoo-x60> if you configure it not to print the debug informations, it's very fast
[15:02:55] <GNUtoo-x60> I don't care that much about boot times either
[15:03:00] <GNUtoo-x60> it's not my priority
[15:03:15] <GNUtoo-x60> in fact I probably left the debug print on
[15:03:16] <OndraSter_> I boot only on updates. Which I push once a month
[15:03:22] <GNUtoo-x60> (it's configurable at runtime)
[15:07:02] <GNUtoo-x60> I use coreboot for privacy reasons: most recent BIOS contains rootkits(learn about computrace, AMT, SMM/SMI etc...)
[15:07:43] <GNUtoo-x60> after working on native graphics init, I'm now trying to find the time to work on a very cool feature:
[15:07:58] <GNUtoo-x60> coreboot has a filesystem in flash
[15:08:01] <GNUtoo-x60> it's named cbfs
[15:08:27] <GNUtoo-x60> there is already the possibility to include 2 coreboot images in the flash (only the bootblock would be the same)
[15:08:49] <GNUtoo-x60> like romstage,ramstage and payload are different and lives under 2 different prefix:
[15:08:52] <GNUtoo-x60> normal/
[15:08:55] <GNUtoo-x60> fallback/
[15:09:11] <GNUtoo-x60> so the idea is to improve the switch between the two:
[15:09:35] <GNUtoo-x60> so the user would build an image with 2 coreoots inside,
[15:09:39] <GNUtoo-x60> one is known to work
[15:09:48] <GNUtoo-x60> and the other is for testing
[15:10:21] <GNUtoo-x60> he would change the setting (with nvramtook) to boot on the testing image(normal/)
[15:10:28] <GNUtoo-x60> and it would boot on it
[15:10:51] <GNUtoo-x60> then at some point when he adds a non-working testing(normal/) image , flash and reboot,
[15:10:56] <GNUtoo-x60> the computer would fail to boot
[15:12:04] <GNUtoo-x60> the idea is to look at the value of the setting, put it in a variable, and overwrite the setting with fallback(the tested coreboot)
[15:12:30] <GNUtoo-x60> then coreboot would have to pass on that settings arround the various stages(so it doesn't switch on fallback at every boot)
[15:13:40] <GNUtoo-x60> (and at the end the last GNU/Linux boot script would reset that setting to normal)
[15:13:49] <GNUtoo-x60> but when it doesn't boot...
[15:13:58] <GNUtoo-x60> it would have written fallback in the setting
[15:14:12] <GNUtoo-x60> and after the user powers down the computer
[15:14:19] <GNUtoo-x60> it would boot on fallback and work
[15:14:34] <GNUtoo-x60> The advantages of that are multiples:
[15:14:39] <GNUtoo-x60> -> faster development times
[15:15:01] <GNUtoo-x60> (no need to disassemble the laptop every time it fails to boot)
[15:15:15] <GNUtoo-x60> -> can develop everywhere(in the plane, the train etc...)
[15:15:32] <GNUtoo-x60> (you can safely flash in the train for instance)
[15:15:47] <specing> Im still waiting for coreboot to start working on modern hardware
[15:15:48] <GNUtoo-x60> -> better for people that don't have the reflashing tool
[15:16:03] <GNUtoo-x60> lol, it works fine on newer hardware nowadays
[15:16:18] <GNUtoo-x60> there are 2 kinds of modern hardware supported:
[15:16:21] <specing> or for manufacturers to finaly start adopting it (hear this, AMD?)
[15:16:26] <GNUtoo-x60> 1) AMD: without blobs
[15:16:33] <GNUtoo-x60> 2) Intel: with blobs
[15:16:46] <GNUtoo-x60> AMD provides many thing:
[15:16:55] <GNUtoo-x60> -> Documentation that is usefull
[15:17:16] <specing> Nothing is going to change until AMD forces coreboot down on OEMs
[15:17:18] <GNUtoo-x60> -> same code that they give to BIOS vendors, but under a free software license for coreboot
[15:17:44] <GNUtoo-x60> -> coreboot support for the AMD boards(not the OEM boards)
[15:17:58] <GNUtoo-x60> so it's easy to take that and port it to an OEM board
[15:18:02] <GNUtoo-x60> it has been done already
[15:19:00] <GNUtoo-x60> F2A85-M a recent enough board
[15:19:26] <GNUtoo-x60> and it was ported like that, by using all the things that AMD provides
[15:19:33] <GNUtoo-x60> then about intel, it's different
[15:19:36] <GNUtoo-x60> it has blobs
[15:19:43] <GNUtoo-x60> but it's shipped by some OEMs
[15:19:55] <GNUtoo-x60> the chromebooks uses coreboot with blobs
[15:20:15] <GNUtoo-x60> so when you go in a store, buy a chromebook, you have coreboot inside(with blobs)
[15:20:38] <GNUtoo-x60> and the documentation on the recent intel hardware is also very insufficent
[15:20:41] <RikusW> whats the blobs for ? microcode ?
[15:20:48] <GNUtoo-x60> way worse
[15:20:54] <GNUtoo-x60> RAM initalization
[15:20:59] <GNUtoo-x60> and Management engine
[15:21:09] <RikusW> wtf ?!
[15:21:13] <OndraSter_> yeah
[15:21:17] <RikusW> isn't that documented ?
[15:21:17] <GNUtoo-x60> for what the Management engine is capable, look at the wikipedia AMT article
[15:21:34] <GNUtoo-x60> http://en.wikipedia.org/wiki/Intel_Active_Management_Technology
[15:21:59] <GNUtoo-x60> RAM initalizations on intel chipsets is not documented by intel
[15:22:02] <RikusW> there is probably microcode blobs too ?
[15:22:06] <GNUtoo-x60> yes
[15:22:35] <GNUtoo-x60> there is someone who did free software RAM intialization for a recent intel laptop: the X201
[15:22:43] <GNUtoo-x60> but it still has a Management Engine
[15:23:07] <RikusW> AMT for remote management ? that would make one excellent rootkit...
[15:23:12] <GNUtoo-x60> when you remove the management engine firmware...the computer reboots or power off(I don't remember) after 30min
[15:23:19] <GNUtoo-x60> yes, exactly
[15:23:31] <GNUtoo-x60> on the X60(old intel) there is no Management engine
[15:23:51] <GNUtoo-x60> on recent AMD, there is something like a management engine, but it's implemented very differently:
[15:24:04] <GNUtoo-x60> it's like a superio
[15:24:15] <GNUtoo-x60> and you can even remove its firmware
[15:24:27] <GNUtoo-x60> (you need a manual fan control method if you do so)
[15:25:03] <GNUtoo-x60> the big issue is that there is no recent AMD devices/mainboards with an intel GPU....
[15:25:28] <GNUtoo-x60> and since the intel GPU is now integrated in the CPU, that sounds very hard to achieve
[15:26:03] <GNUtoo-x60> the good thing of the intel GPU is that the linux kernel is capable of initalizing the hardware alone
[15:26:33] <GNUtoo-x60> so because of that coreboot has now the possibility to do the same for some laptops:
[15:26:41] <GNUtoo-x60> -> X60(patches not pushd yet)
[15:26:54] <GNUtoo-x60> -> X201(has a Management Engine though)
[15:27:15] <GNUtoo-x60> -> Chromebook pixel(has a management engine and non-free RAM initialization)
[15:28:00] <GNUtoo-x60> the ATI and Nvidia card seem to have something like the ATI's AtomBIOS...
[15:28:06] <GNUtoo-x60> s/cards/GPU
[15:28:44] <GNUtoo-x60> and the work to do for having a free option from them has to be started from scratch by following the example on intel
[15:29:31] <GNUtoo-x60> and ATI cards have non-free microcode which is problematic for recents cards
[15:29:47] <GNUtoo-x60> but nouveau generate the microcode for at least some of the cards
[15:30:32] <GNUtoo-x60> the GPU can be a security risk if handled improperly:
[15:31:07] <GNUtoo-x60> I'll give some reasons for that:
[15:31:25] <GNUtoo-x60> on the i915 of the X60, that BAR gives access to the whole computer memory:
[15:31:42] <GNUtoo-x60> Region 1: I/O ports at 50a0 [size=8]
[15:32:06] <GNUtoo-x60> so if someone runs the VGA option rom at boot....
[15:32:19] <GNUtoo-x60> the VGA option rom has access to the whole memory
[15:32:53] <GNUtoo-x60> I guess that after boot, userspace applications needs root permissions for inb/outb
[15:32:58] <OndraSter_> nevdull, oh it was you with the project :D
[15:33:00] <OndraSter_> and munixos
[15:33:14] <GNUtoo-x60> but still some people may forward the VGA card to virtual machine
[15:33:35] <GNUtoo-x60> a second reason is that devices on PCI bus can misbehave
[15:33:50] <GNUtoo-x60> they can use the DMA
[15:34:00] <GNUtoo-x60> even if in theory they shouldn't be able to do that
[15:34:13] <GNUtoo-x60> and they can also disable the IOMMU (VT-D)
[15:34:42] <GNUtoo-x60> so implementing a rootkit in a PCI card like a NIC or GPU is doable
[15:34:46] <GNUtoo-x60> it even has been done
[15:35:21] <GNUtoo-x60> basically since they don't have access to the CPU registers, they scan the memory for finding the structures of the kernel
[15:35:48] <GNUtoo-x60> so they use some tricks to make the research faster(to scan less things)
[15:36:06] <GNUtoo-x60> it has also been done for the Management engine
[15:55:25] <RikusW> GNUtoo-x60: that sounds bad...
[15:55:39] <RikusW> hw security holes.....
[15:58:25] <specing> Too bad Im not in China, I could start a decent manufacturing company that would use coreboot
[15:58:40] <specing> oh wait, nobody would buy my hardware with a command-line bios
[15:58:51] <OndraSter_> haha
[15:59:00] <OndraSter_> well in the days of mouse operated EFI..
[15:59:28] <specing> Yeah, coreboot must implement configuration by a joystick and a steering wheel
[15:59:35] <specing> No other way to compete
[15:59:39] <RikusW> Actually I liked the textmode bios better...
[16:00:03] <specing> RikusW: me too, but I doubt 99.99% of people out there would
[16:00:20] <specing> patience is not out there
[16:00:26] <OndraSter_> well
[16:00:30] <OndraSter_> overclocking would be fun :D
[16:00:32] <RikusW> 99.99% of the people out there shouldn't even mess with BIOS settings :-P
[16:02:02] <GNUtoo-x60> specing, command-line BIOS?
[16:02:20] <specing> GNUtoo-x60: what, does coreboot have an UI?
[16:02:29] <specing> GUI*?
[16:02:31] <GNUtoo-x60> there are several possibilities:
[16:02:39] <GNUtoo-x60> -> make coreboot not visible
[16:02:46] <GNUtoo-x60> -> use SeaBIOS
[16:02:53] <GNUtoo-x60> -> use TianoCore
[16:02:56] <GNUtoo-x60> etc...
[16:03:01] <GNUtoo-x60> all depend on the payload you choose
[16:03:21] <GNUtoo-x60> most people prefer a solution where coreboot stays out of the way
[16:03:45] <GNUtoo-x60> for instance in SeaBIOS and coreboot you can display a picture/bootsplash
[16:04:16] <GNUtoo-x60> in order to make it visible to the user, you must delay the boot/wait
[16:04:24] <GNUtoo-x60> so then the choice is:
[16:04:38] <GNUtoo-x60> 1) boot so fast that the user doesn't even notice coreboot
[16:05:09] <GNUtoo-x60> 2) wait for the user to see the bootsplash
[16:05:19] <GNUtoo-x60> chromebooks choosed 1)
[16:07:12] <specing> GNUtoo-x60: does TianoCore provide a setup menu?
[16:07:16] <GNUtoo-x60> I think so
[16:07:22] <specing> because that is what most users would want
[16:07:28] <GNUtoo-x60> however I'm not sure of the status of tianocore with coreboot
[16:07:37] <GNUtoo-x60> basically it works that way:
[16:07:38] <specing> and does it provide a setup menu that is not out of 2000?
[16:07:42] <GNUtoo-x60> you compile SeaBIOS as a CSM
[16:07:54] <GNUtoo-x60> you include it in tianocore build
[16:07:58] <GNUtoo-x60> and compile tianocore
[16:08:37] <GNUtoo-x60> then in coreboot's make menuconfig you select tianocore as a payload and point to the tianocore image you just built
[16:08:58] <GNUtoo-x60> the main issue is that I don't remember if it works well on real hardware
[16:09:06] <GNUtoo-x60> the main developement for tianocore happened on qemu
[16:09:14] <GNUtoo-x60> *tianocore+coreboot
[16:09:22] <GNUtoo-x60> so with few ajustements it should work
[16:09:32] <GNUtoo-x60> but without theses few ajustements, I'm not sure...
[16:11:34] <GNUtoo-x60> since you can use SeaBIOS as a CSM, it should be compatible with option roms
[17:00:15] <jadew> I'm such a sucker for microsoft, just watched a presentation of WinRT
[17:00:48] <jadew> I was starting to think ms started to suck lately, but it's clear now that they're back in the game
[17:01:27] <OndraSter_> haha
[17:01:30] <OndraSter_> RT 8.1?
[17:01:51] <jadew> not a specific version, but the general idea behind it (never used it)
[17:02:22] <Roklobsta> meh. just gimme a smartphone that doesn't shovel my data back to google and app wrioters.
[17:02:38] <Roklobsta> i hope this mozilla phone will do just that
[17:03:04] <jadew> Roklobsta, I actually wrote my own sync engine so I wouldn't sync my data with google (on my android phone)
[17:03:28] <Roklobsta> oh good, i was wondering that the other day... how does one sync to !google
[17:04:10] <jadew> Roklobsta, well, firstly you don't enable syncing on the google account :P
[17:04:12] <Roklobsta> i'd like to have my own VM that has email and calendar that my phones etc can sync to
[17:04:22] <Roklobsta> nono it's too late for that now
[17:04:36] <jadew> secondly you make a sync provider that is able to sync contacts and whatever you're syncing
[17:04:49] <jadew> then you just send the data wherever you need it to go
[17:04:52] <Roklobsta> offtopic but interesting.
[17:04:57] <Roklobsta> i'll google it
[17:05:05] <jadew> I also had to root my phone, decompile and modify the contacts app
[17:05:17] <Roklobsta> ugh that's annoying
[17:05:19] <jadew> because it was some custom samsung contacts app
[17:05:29] <Roklobsta> yes i rooted my batwings
[17:05:33] <Roklobsta> using CM10
[17:05:36] <jadew> yeah, it wasn't pretty, had to learn that java IL mumbo jumbo
[17:05:47] <Roklobsta> i don't have the patience
[17:06:02] <Roklobsta> i just wanna have it sync to my own server of some kind
[17:06:21] <Roklobsta> what email/contacts/calendar system do you sync to then
[17:06:29] <jadew> it never occured to me that other people might want to do that, hehe
[17:06:45] <jadew> Roklobsta, I wrote my own system
[17:06:49] <jadew> including the backend
[17:06:55] <Roklobsta> the winters must be long and cold in romania
[17:07:01] <jadew> also made it so I can erase everything in case my phone gets stolen
[17:07:34] <jadew> Roklobsta, hehe, not really but I am very resurceful when I set my mind on something
[17:07:42] <jadew> and that time I had my mind set on not syncing to google :P
[17:08:34] <jadew> I have a windows phone now tho
[17:09:00] <jadew> sadly it requires a $100 license to get my own programs running on the phone, so...
[17:10:22] <Roklobsta> poop
[17:10:35] <Roklobsta> they will probably still slurp all your data
[17:10:41] <jadew> yeah
[17:10:54] <jadew> but I trust MS a bit more than google with it comes to my data
[17:11:17] <jadew> google is all about advertisment, MS is all about software
[17:11:26] <jadew> who would you want to handle your data?
[17:11:45] <Roklobsta> neither
[17:11:52] <Roklobsta> given the prism stuff
[17:11:54] <jadew> yeah, probably neither hehe
[17:13:34] <jadew> SyncAdapter, that's how the component that handles the syncing is called
[17:13:48] <jadew> (took a look at the code)
[18:35:16] <jadew> http://www.youtube.com/watch?v=THERgYM8gBM
[18:35:17] <jadew> YouTube: Programming Comedy - Wat
[18:35:32] <jadew> this is hilareous
[18:50:24] <timemage> jadew, nice.
[19:20:16] <jadew> schrodinger's cat walks into a bar
[19:20:44] <jadew> and doesn't
[19:31:05] <braincracker> it is more correct if the cat walks in the bar 0.5 times.
[19:31:22] <braincracker> so it is half present in the bar
[21:21:47] <braincracker> May 3 2013 Russia Launches Surprise... http://www.youtube.com/watch?v=0G4EDsuoUSI
[23:54:23] <Badaboom> yo ho yo ho
[23:55:27] <braincracker> yey Badaboom
[23:55:34] <Badaboom> yo
[23:55:36] <Badaboom> ho
[23:55:56] <Badaboom> so i went with your idea
[23:56:15] <Badaboom> I removed the attiny2313 and am now using the atmega328
[23:56:40] <Badaboom> and im one stem away from trashing that damn max7219
[23:56:45] <Badaboom> step
[23:57:03] <Badaboom> It's limiting my abilities
[23:57:05] <braincracker> ;>
[23:57:11] <braincracker> yes
[23:57:18] <Badaboom> Very much so
[23:57:28] <braincracker> btw did you know ww3 is close?
[23:57:36] <Badaboom> yes
[23:57:38] <braincracker> May 3 2013 Russia Launches Surprise... http://www.youtube.com/watch?v=0G4EDsuoUSI
[23:58:11] <braincracker> they scheduled nuking all around just for fun