Topic for #qi-hardware is now Copyleft hardware - http://qi-hardware.com | hardware hackers join here to discuss Ben NanoNote, atben / atusb 802.15.4 wireless, and other community driven hw projects | public logging at http://en.qi-hardware.com/irclogs
guanucoluis1 has quit [Remote host closed the connection]
LunaVorax has quit [Read error: No route to host]
xiangfu has joined #qi-hardware
heberth has joined #qi-hardware
heberth has quit [Quit: leaving]
emeb has quit [Quit: Leaving.]
DocScrutinizer05 has quit [Disconnected by services]
DocScrutinizer05 has joined #qi-hardware
pabs3 has quit [Quit: Don't rest until all the world is paved in moss and greenery.]
scientes has quit [Ping timeout: 260 seconds]
pabs3 has joined #qi-hardware
scientes has joined #qi-hardware
<qi-bot> [commit] kyak: kexecboot: update to latest git (master) http://qi-hw.com/p/openwrt-packages/3929033
<qi-bot> [commit] kyak: Merge branch 'master' of projects.qi-hardware.com:openwrt-packages (master) http://qi-hw.com/p/openwrt-packages/c9e1704
<kyak> damn, sorry for 'merge' :)
<kyak> Jay7: hi, just playing with kexecboot again.. Why it only detects kernel on unmounted partitions? Kind of weird, because i have a kernel on a mounted sd card, and i have to unmount the card for this item to appear in kexecboot menu
<kyak> btw, it doesn't seem to work anyway.. After i choose an item, kexecboot exits, fucks up my terminal and that's all
<wpwrak> (merge) hmm, the perfection gland still seems to be underperforming. please report to the recycling plant tomorrow. we'll have to improve and activate another kyak clone.
<wpwrak> (only unmounted kernel) i can vividly imagine the incorrect code path that would lead to this ;-)
<kyak> it's simple - kexecboot tries to mount all the partitions one by one (as in /proc/partitions) and find anything that looks like linux kernel there (in well-known locations, i suppose). Of course, when a partition is already mounted, it fails to mount it and doesn't find anything
<wpwrak> the failure to find doesn't follow naturally from the failure to mount. but yes, that's the sort of chain i was thinking of :)
<kyak> wpwrak: btw, can you imaging a path (both in code or developers' minds) that lead to this problem: i want unmount my /home (to perform some not so safe operations with partitions), and i do that, but oh-so-smart systemd automatically remounts my /home in the middle of the process? And same thing goes on with swap
<wpwrak> hmm, sounds like a case of over-engineering. but i haven't met any piece of software that would normally do that with /home/
<kyak> are you on systemd already or plan to migrate some time?
<wpwrak> i don't even know what that is :)
<wpwrak> i tend to try to eliminate as many critters that aren't part of traditional unix as i can
<kyak> ok, so when you hear about it, you would know it's over-enginered :)
<kyak> are initscripts part of traditional unix? :)
<wpwrak> sysv init and its script are, yes
<wpwrak> a bit crude but they do the job
<kyak> so basically systemd is a "modern replacement"
<kyak> which is already used by default in some (many?) distributions and pro-actively pushed by the developers of distribution of my choice (arch linux)
<wpwrak> does it add anything significant besides the feeling of being more modern ?
<wpwrak> i
<kyak> well, it kinda boots in parallel
<wpwrak> 'm on ubuntu. i think the one i have uses upstart.
<kyak> that's all the benefits i know about
<wpwrak> not sure how these things are related to each other. so far, i can still do stuff with /etc/init.d/foo start so i don't have to worry just yet
<wpwrak> lack of parallelism is one big limitation of sysv init
<kyak> it provides a compatibility layer
<kyak> so all humble users could still use traditional /etc/init.d
<wpwrak> of course, given that a unix system should hardly ever go down anyway, that obsession with reducing boot time seems a little alien to me anyway
<kyak> i got the new laptop and installed ubuntu there.. but i couldn't stand it for more than one evening, i just didn't understand how it works.. I prefer to start with a base system, and then add things to it
<wpwrak> yeah, about 70% of the time installing ubuntu is spent on figuring out which are the gremlins that cripple the system and then removing them
<kyak> wpwrak: what DE/WM do you use?
<wpwrak> fvwm
<wpwrak> and a lot of xterms :)
<kyak> seems strange why you settled down with ubuntu anyway :)
<wpwrak> gentoo just got too slow. and upgrading old systems often didn't go well.
<wpwrak> (slow) for updates
<kyak> you mean for delivering updates to you or to slow to actually build these updates?
<wpwrak> before gentoo, i used red hat (before it was fedora). but that one suffered feature creep, much like ubuntu does today.
<wpwrak> oh, the delivery was lightning-fast. the building was slow. and you had to tell it a hundred times ~amd64 before it would actually let those things build.
<wpwrak> well, slowness of building and frequency of failures after many hours. binary packages are much better at not failing on extremely peripheral and largely hypothetical inconsistencies.
<kyak> indeed :)
<wpwrak> i still have two gentoo systems in regular use. of course, both are completely non-upgradeable by now.
<kyak> i've been with mandriva for several years, but then i got tired of upgrading (i.e. reinstalling) every two years or so and switched to arch for it's rolling releases
<wpwrak> continuous updates are a good thing to have. ubuntu is still reasonably close to that concept.
<wpwrak> gentoo sort of watered it down. every so often it would ask you to manually re-select the right profile and so on.
<wpwrak> those things leave a bit of a sour aftertaste. like reading an air crash investigation, where the autopilot disengaged, then the pilot got confused and crashed the plane. but just re-engaging the autopilot would have saved everyone. makes you wonder if it really had to disengage in the first place.
<kyak> if the autopilot would crash a plane, it would be autopilot's fault - now it's pilot's fault :)
<wpwrak> like that russian pilot who let his kids fly the plane ... neary instant darwin award :)
<wpwrak> yeah, the cya argument
<kyak> actually, i flew a plane once. Not a real, just a SSJ-100 training simulator
<kyak> it wouldn't let you crash the plane
<kyak> no matter what you do.. You could make it so the passengers feel very uncomfortable or brake their necks at worse :)
<kyak> so planes are kid-safe :)
<wpwrak> well, the one i mentioned did crash. http://en.wikipedia.org/wiki/Aeroflot_Flight_593
<wpwrak> "Despite the struggles of both pilots to save the aircraft, it was later concluded that if they had just let go of the control column, the autopilot would have automatically taken action to prevent stalling, thus avoiding the accident."
<kyak> that's very stupid, no doubt
<wpwrak> but there are lots more accidents with autopilot troubles. i think today's pilots have very little experience flying without autopilot. so when it disengages, this often becomes their first priority, instead of solving the actual problem.
<wpwrak> in the last century, many pilots hat ww ii experience. so they were used to flying planes with all sorts of malfunctions. and those who became teachers passed on some of that experience to the next generation.
<wpwrak> here's a rather epic example: http://en.wikipedia.org/wiki/British_Airways_Flight_9
<kyak> as far as i know, the problem with autopilots and Airbuses is that there is no control column, but rather a side-stick (http://en.wikipedia.org/wiki/Side-stick)
<wpwrak> oh, i think that came later
<kyak> so when autopilot control a plane, there is no visible feedback for a pilot (the stick doesn't move)
<kyak> Boeings (and so all russian civil planes) all have steering columns traditionally, and it actually turns so that when autopilot disengages, the pilot can take control seemlessly
<wpwrak> it's more complex. you also have profiles that determine what the plane is allowed to do. getting that wrong is what killed AF447 (well, combined with an impressive amount of ineptitude)
<kyak> yep, there is always a combination of factors
<wpwrak> don't boeing have sticks now, too ? with different force feedback programming, of course. airbus were always the more futuristic kind
<kyak> boeings don't have sticks to my knowing..
<kyak> it's more traditional now though
<kyak> i know that MS-21 (http://en.wikipedia.org/wiki/Irkut_MS-21) will have sticks, and it's planned that they will actually move
<wpwrak> nice plane :) a while ago i read a bit about the stick controversy. i don't remember what they said in favour of the airbus approach, but in the end it seemed that both sides had good arguments and it really comes down to the pilots understanding the plane they're flying
<wpwrak> e.g., american airlines 587
<wpwrak> (the new york crash right after 9/11)
<kyak> the good argument from airbus is that sticks don't close the cockpit view for the pilot.. and it's also more convenient for the pilot to have a meal :)
<wpwrak> heh :)
<kyak> i think it also allows for a friendly chat with flight attendant sitting on your lap :)
<wpwrak> it also reduces the risk when a pilot asserts his membership in the miles high club :) well, in today's boring times, that may not happen that often anymore
<wpwrak> exactly :)
<kyak> i'm listening to the last 3.5 minutes of that russian plane
<kyak> they are giving the bot controversal commands
<kyak> *the boy
<wpwrak> hmm, when the pilots of a passenger plane are giving commands to a boy, things are already very very wrong. the consistency - or lack thereof - of the commands doesn't really make a difference at that point.
kristoffer has joined #qi-hardware
<kyak> well, if one did something very very wrong, it is often possible to make things right again. Not if one goes on doing mistakes till the point of no return
<wpwrak> btw, they made an episode on mayday/air crash investigation of the ba9 incident. it's pretty impressive to watch.
<wpwrak> yeah, making at least one right choice before what would be the final mistake can make all the difference between having to explain things or not :)
<kyak> yeah, i've noticed there is an episode.. gotta have a look
<wpwrak> the whole series is great. and if you're looking for more, many reports of the ntsb are publicly available. especially the one on air alaska 261 is quite memorable.
<wpwrak> it actually makes you feel safer, because you realize the people investigating this stuff think like you do
scientes has quit [Read error: Connection reset by peer]
<kyak> cool, i'll check it out
<xiangfu> werner: you live in Buenos Aires right?
kristianpaul has quit [Ping timeout: 260 seconds]
jluis has joined #qi-hardware
jekhor has joined #qi-hardware
Jay7 has quit [Read error: Connection reset by peer]
Jay7 has joined #qi-hardware
<Jay7> kyak: morning
<Jay7> kyak: well.. we mostly targeted to be init :)
<kyak> Jay7: good afternoon :)
<kyak> heh
<Jay7> but it shouldn't be hard to patch this :)
<kyak> everyone wants to be init these day :)
<Jay7> kyak: didn't you tested kexec on NN recently?
<kyak> yep, it doesn't work
<Jay7> I mean kexec, not kexecboot
<kyak> or maybe i missed something
<kyak> yeah, i'm talking about keec
<kyak> kexec
<Jay7> that's bad
<kyak> it loads the kernel, but doesn't boot it.. just halts
<kyak> i didn't have a closer look (with serial console i mean)
<Jay7> well.. we are funded by LF CEWG this year again so I'll implement switch_root soon :)
<kyak> so i expected kexecboot to halt as well :)
<Jay7> yeah
<kyak> Jay7: just wondering, why you don't bump releases on github?
<kyak> currently it seems like 0.5.9 or something, but we have to follow some random (latest) git commit
<kyak> probably we need to start with a working kexec anyway, then figure out why kexecboot doesn't work as expected
<kyak> and i gtg now...
<Jay7> kyak: just have no 'release policy'
<Jay7> we want to release 6.0 but I'm short of free time
viric_ is now known as viric
jekhor has quit [Remote host closed the connection]
panda|x201 has joined #qi-hardware
dandon_ has joined #qi-hardware
dandon has quit [Ping timeout: 246 seconds]
dandon_ is now known as dandon
pcercuei has quit [Ping timeout: 245 seconds]
<wpwrak> xiangfu: yeah, buenos aires
<xiangfu> I want to know when you sleep. now it's 7AM. the last message is 3AM in your place. :-)
<xiangfu> wpwrak, I just burned one chip with hot air.
<xiangfu> I have to think about the oven solution.
<xiangfu> bbl.
<wpwrak> now you know when i slept: from 3 to 7 am ;-)
<wpwrak> (burned chip) chips are delicious when they're hot and crispy ;-)
<wpwrak> but i wonder how you can even tell you burned it. it's actually hard to damage chips with heat.
panda|x201 has quit [Ping timeout: 245 seconds]
<xiangfu> wpwrak, I hear some crack sound...
<wpwrak> hmm :)
<xiangfu> smell bad.
<wpwrak> maybe try removing a zero from the temperature next time
<xiangfu> now I try to read more documents and watch some videos.
<xiangfu> :)
<wpwrak> with difficult chips, it may also help to apply heat from the bottom, so that the pcb itself is warm and you don't need to cross such a large temperature difference
<wpwrak> e.g., instead of 25 C to 270 C, you may only need to go from 70 C to 270 C if you heat the PCB (and everything on it) to 70 C.
panda|x201 has joined #qi-hardware
<wpwrak> pcb heaters are available commercially. http://www.howardelectronics.com/xytronic/ir610.html
<wpwrak> but an iron held upside down with a vise may do as well :)
<wpwrak> ah, and the temperature would probably be higher. i think irons start around 100 C at the lowest setting. that pcb heater starts at 120 C.
<wpwrak> it's a bit tricky, though. i experimented briefly with this approach for ben-wpan, but ended up with defective chips. could have been because of some other problem, though. e.g., that it's difficult to find a nice place to rest your arm when working on top of a hot surface.
<xiangfu> that device's price is same as a BGA rework station.
<wpwrak> that's why i suggested iron + vise as a possible alternative :) http://downloads.qi-hardware.com/people/werner/tmp/hotplate.jpg
<xiangfu> I like this one very much.
panda|x201 has quit [Ping timeout: 268 seconds]
<kyak> if someone on this channel is bored, i've got an idea for you: make a plot of Werner's activity on this channel by time of day and we'll finally see if he's a robot :)
<kyak> for the last two years, of course
* wpwrak finds some people's fascination with his activity patterns fascinating :)
<kyak> and maybe combine it with #milkymist :)
<wpwrak> don't forget commit dates
<kyak> because your activity is fascinating!
<wpwrak> heh, other people do crazy stunts like jumping from outer space to get noticed, but just getting up for a bit at night every once in a while would be all it takes :)
<kyak> some say that they would rather jump from outer space than wake up at night ):
<kyak> s/):/:)
<wpwrak> maybe there would be a market for insomnia pills with a slightly delayed effect (3 h or so)
<whitequark> wpwrak: (pcb preheating) afaik it is used to have better temperature profiles for PCB soldering
<whitequark> eg if your chips, and most importantly connectors, can sustain 150 deg for, say, 30 minutes without damage, and the solder is 270 deg or even 300 deg (fuck rohs)
<whitequark> then you preheat everything consistently to 150 deg, and then apply a "heat strike" of 270 deg to the upper side
<whitequark> and as it's shorter, the components have a better chance of surviving it
<wpwrak> yup. also prevents solder from getting trapped by cold areas, e.g., when you have a lot of ground close to your chips
<wpwrak> alas, when i tried it, i ended up with chips where the bonding wires had come loose. so if i twisted the board the right way, they still worked, but when i let go, they failed.
<wpwrak> not sure if that was an inherent limitation of my soldering iron approach, bad luck, or just some other mistake, though.
freakazoid0223 has quit [Ping timeout: 260 seconds]
<larsc> kyak: He's not a robot
<larsc> kyak: But he has cloned himself a couple of times and they are now working in shifts
<larsc> ;)
<kyak> i just hope they are not doing any duplicate job :)
jluis has quit [Ping timeout: 248 seconds]
LunaVorax has joined #qi-hardware
<LunaVorax> Hi
<wpwrak> naw, it's actually much easier. i sent myself back in time a few times, so i can do things in parallel and still only have to coordinate with myself.
pcercuei has joined #qi-hardware
cladamw has joined #qi-hardware
erikkugel has joined #qi-hardware
kristianpaul has joined #qi-hardware
kristianpaul has quit [Changing host]
kristianpaul has joined #qi-hardware
xiangfu has quit [Quit: Leaving]
panda|x201 has joined #qi-hardware
cladamw has quit [Quit: Ex-Chat]
heberth has joined #qi-hardware
porchao has quit [Quit: Leaving...]
kristoffer has quit [Quit: This computer has gone to sleep]
freakazoid0223 has joined #qi-hardware
heberth has quit [Ping timeout: 272 seconds]
heberth has joined #qi-hardware
kristoffer has joined #qi-hardware
dandon_ has joined #qi-hardware
dandon has quit [Ping timeout: 246 seconds]
dandon_ is now known as dandon
pcercuei has quit [Ping timeout: 248 seconds]
pcercuei has joined #qi-hardware
scientes has joined #qi-hardware
emeb has joined #qi-hardware
porchao has joined #qi-hardware
pcercuei has quit [Ping timeout: 252 seconds]
jekhor has joined #qi-hardware
<qi-bot> [commit] kyak: qt4: disable some packages (master) http://qi-hw.com/p/openwrt-packages/6357ebc
<kyak> !seen xiangfu
<qi-bot> kyak, xiangfu (~xiangfu@fidelio.qi-hardware.com) was last seen quitting #milkymist 3 hours 13 minutes ago (19.10. 13:46) stating "Quit: Leaving" after spending 13 hours 14 minutes there.
heberth has quit [Quit: leaving]
kristoffer has quit [Quit: This computer has gone to sleep]
kristoffer has joined #qi-hardware
jekhor has quit [Ping timeout: 246 seconds]
kristoffer has quit [Ping timeout: 245 seconds]
LunaVorax has quit [Ping timeout: 256 seconds]
scientes has quit [Quit: Leaving]
GNUtoo-desktop has joined #qi-hardware
jluis_ has quit [Ping timeout: 246 seconds]
paroneayea has quit [Read error: Connection reset by peer]
<viric> does linux initialize devices in parallel, in the early boot?
<larsc> no
paroneayea has joined #qi-hardware
kristoffer has joined #qi-hardware
<larsc> the idea is to let drivers sleep in their initialization phase sleep as little as possible, which means you wouldn't gain anything from parallelization
<larsc> but of course that doesn't always work out in practice
jluis has joined #qi-hardware
<viric> aha
<viric> so, when I see:
<viric> [ 0.286879] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
<viric> [ 0.551166] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
<viric> in those 300 ms, what happens?
<viric> only serial-related things?
<larsc> likely
<viric> I'll try to find out. Thank you a lot!
jekhor has joined #qi-hardware
<whitequark> larsc: I recall something from years ago discussing about parallelizing driver initialization
<whitequark> was it not merged, then?
<roh> its not really an issue. things that take long like ata probes are async afaik
<roh> and others that are fast need so share bus interfaces at some point anyhow. (ahb, pci, memory, whatever) and thus serialize
scientes has joined #qi-hardware
<roh> basically you should only detect what hw you have, allocate structs and maybe buffers as neccesary,and start the init process async if its more than writing some registers or over a slow interface like i2c, and immediately return from the driver init.
<viric> roh: 'async', means that some async events can come in those 300ms of serial initialisation
heberth has joined #qi-hardware
<viric> well, I think I have some broken mainboard... it hangs from time to time. And rebooting after a hang, sometimes makes it hang between the two lines I pasted.
<roh> you should not even allow delays of ms in the init. no delays at all.
<viric> I don't mean there is a delay
<viric> I talk about the two kernel log lines above
<viric> simply, I don't know what happens in those 300ms
<viric> but when my computer hangs, rebooting, sometimes it stops there. And I've to reboot again.
<roh> heh... well.. maybe it probes stuff
<viric> that's the only thing I could notice. I can't get properly any other trace... I think I'll throw away the mainboard
<viric> and buy a new one
<wpwrak> in the bad old days, drivers often had to perform some I/O just to get the board to generate an interrupt. with that, they would then know which line the critter used. thus, you couldn't have multiple interrupt-using drivers run in parallel during that phase. luckily, that issue pretty much died with ISA :)
<viric> I've tried the softlockups and hardlockups kernel debug options... but the serial port looks broken enough too (even crossing txrx doesn't produce echo).
<viric> And netconsole on ethernet, never brought anything at hang time
<viric> I've replaced the power supply
<roh> well.. you wouldnt be the first with a fried mainboard
<viric> it hangs... once or twice a week
<roh> who knows what works or doesnt when a super-io is fried (usually connected via lpc)
<viric> and mprime torture tests pass quite fine. nothing noticeable.
<viric> super-io? lpc?
<roh> serial ports arent in the chipset for a long time now
<roh> on pcs that is
<viric> yes
<roh> they are in something called super-io which has the serial uart(s), parport. and often enough helper logic for booting
<roh> keyboard controller.. buzzer port... all that
<viric> there are hardware errors that can't be diagnosed easily by software, I imagine
<roh> and these are connected to the chipset via a lpc bus. its basically special case of spi
<viric> in fact the board has some troubles with firewire
<viric> if I connect a firewire camera, and get some video... after some seconds, the pci firewire device stops responding
<viric> even doesn't answer to the lspci configuration requests
<larsc> whitequark: nope never merged
<viric> ok, let it be broken hw. I'll get a new board next week
<whitequark> wpwrak: I'm SO GLAD I'm too young to have ever used ISA
<viric> it wasn't that bad, isa
<viric> all pretty simple
<roh> yeah. i sometimes still miss dip switches after nearly a decade of badly working auto-foo ;)
<viric> yep
<viric> I don't have any bad memories about isa
<wpwrak> well, ISA problems inspired initrd, so ... :)
<viric> I missed that point :)
<wpwrak> to detect a pre-PnP ISA device, you had to probe for it. i.e., you had to write to the addresses where it was and see if you got back an expected answer.
<wpwrak> some devices could sit at quite a number of different addresses. and some devices would share an address range with others.
<viric> but you could tell the addresses to the software
<wpwrak> to make things worse, some devices didn't respond kindly to being probed by a driver that didn't know them. e.g., they could lock up and only a system reset could fix that.
<wpwrak> yes, you could of course preconfigure everything manually. talk about user-friendliness :)
kristoffer has quit [Quit: Leaving]
pcercuei has joined #qi-hardware
<wpwrak> so distributions started to make kernels that had sets of drivers that wouldn't get in each other's hairs. you basically had the distribution floppies, plus a few kernel floppies.
<wpwrak> you had to pick the kernel floppy that had all the drivers you needed to get rolling, but none of those that caused trouble.
<wpwrak> needless to say, that number of those different kernel floppies quickly increased.
<wpwrak> the solution was initrd: use modules probe the most sensitive devices first, or maybe even ask the user.
<wpwrak> s/probe/to probe
<qi-bot> wpwrak meant: "the solution was initrd: use modules to probe the most sensitive devices first, or maybe even ask the user."
<viric> ah nice history. I didn't live that :)
heberth has quit [Quit: leaving]
<kyak> viric: does it boot fine from some live cd?
<kyak> i mean, to make sure your system is not broken
heberth has joined #qi-hardware
erikkugel has quit [Quit: Leaving.]
heberth has quit [Quit: leaving]
<viric> kyak: this happens from kernel 2.6.36 until 3.6.2
<viric> I've been updating regularly
<viric> I've seen it hang even in grub
<viric> (before trying to load anything)
<viric> and after hang, often it hangs in the serial port initialisation
<viric> I mean, 'often' in the reboot immediately after the hang
<viric> the serial port doesn't work well in any case... who knows what's bad there
<viric> kyak: it hangs only once or twice a week. The rest of the time it works great :)
<kyak> make it hang only if you sleep :)
GNUtoo-desktop has quit [Quit: [INFO] fsogsmd : received signal -11, exiting.]
<viric> if I had a serial port or anything I could interface the computer with, I'd dig further. But all my attempts failed
<kyak> the new year is coming, it's time to make yourself a present and have a new laptop :)
viric has quit [Ping timeout: 255 seconds]
viric_ has joined #qi-hardware
jekhor has quit [Quit: Leaving]
jekhor has joined #qi-hardware
jekhor has quit [Ping timeout: 252 seconds]
Intro1299 has joined #qi-hardware
Intro1299 has quit [Read error: Connection reset by peer]
Intro1299 has joined #qi-hardware
Intro1299 has quit [Read error: Connection reset by peer]
Intro has joined #qi-hardware
mlll has joined #qi-hardware
<Intro> ohhh..finally!!
<Intro> anny1 here guys?
<Intro> i have a little question
<Intro> about ROM - how it can be writen when it's call ROM- READ ONLY memory????
<Intro> my teacher asks me that as a bonous wuestion
<kristianpaul> nowdays rom is just flash, it can be protected tought but still writable if you disable some bits
<Intro> sorry but i didn't understan you
<Intro> what do you mean newaday it's just a flash ?! and what's that mean to disable some bits ? how ?
<kristianpaul> on the milkymist board it was made by jtag
<kristianpaul> need to check logs was time ago..
<kristianpaul> but usually this should be descripted on the memory daatsheet
<Intro> and why should ppl change things at the rom ?
<mth> there are also EPROMs
<Intro> look guys , i really need your knowledge .. here it is :
<Intro> my teacher asks me to check this things :
<Intro> what i can change at the rom and why would i do it
<mth> it depends on what kind of ROM it is
<mth> some are programmable and some are not
<Intro> and if rom calls READ ONLY MEMORY how it's possible to write on it
<mth> in normal use, the CPU can only read it
<Intro> so who can write on it ?
<mth> there are special procedures to write (program) them, it's not a normal memory write
<mth> for example in flash you have to erase a page and then write an entire page at a time
<mth> you can't just write a single byte
<mth> depends on the device
<mth> sometimes the CPU in the device can reprogram the flash, sometimes you need an external connection
<Intro> oh ok .. and what things i can change at the rom ?
<mth> anything that is inside the ROM can be changed
<mth> typically it's things like firmware upgrades
<mth> for example in a PC, you might want to flash a new BIOS if you bought a CPU that wasn't released yet when the motherboard was made
<mth> or if bugs were found and corrected
<Intro> oh i see..and i actually doing it by getting into the BIOS menu ?
<mth> I think it is usually done via a utility from the motherboard manufacturer, under DOS or Windows (could be Linux too, technically, but unfortunately few manufacturers support Linux)
<Intro> just to make sure .. nowaday ,1- the rom is a flash card . 2- the BIOS is in the ROM. ??
<mth> not a flash *card*; a flash memory IC, the same kind of memory used in flash cards
<mth> but a card contains a controller chip in addition to the memory itself
<mth> PC BIOS is located in a flash ROM, yes
<Intro> what else ?
<mth> at least in every motherboard of the last 20 years or so
<wpwrak> Intro: you may want to check wikipedia ;-) there are several types of "ROM": the classical mask-programmed ROM. that has the data fixed when the chip is made. no programming is possible.
<mth> game cartridges (those might still be really unmodifyable)
<Intro> look , i read wikipedia , but i can't understand why somebody will touch his ROM
<mth> firmware in embedded devices (microwave, network switches etc)
Intro has quit [Read error: Connection reset by peer]
Intro has joined #qi-hardware
<wpwrak> Intro: then PROM, often with the prefix OTP (one-time programmable). that one can be programmed once (often with a somewhat loose definition of "once").
<Intro> ohh ok ..
<Intro> and when i am going throug the bios and change things it's not count like "writing" on ROM right?
<Intro> sorry about my english
<wpwrak> Intro: and then you have all the re-programmable types of "ROM". basically EPROM, EEPROM, and Flash. EPROM is erased with UV light. EEPROM and Flash are erased by just sending the chip the right commands.
<mth> BIOS settings are written in a small piece of RAM, not in the flash ROM of the BIOS
<wpwrak> the BIOS normally saves its setting to a battery-buffered RAM
<mth> the settings RAM is called CMOS, although I don't know if that term is still technically correct
<wpwrak> although it would make a lot more sense to use an EEPROM for that stuff :)
mlll has quit [Ping timeout: 248 seconds]
<Intro> oh many thanks :)
<mth> on old motherboards, the battery can run out and they'll forget their BIOS settings
<mth> probably only happens after 10 years or so, so most PCs have been recycled by then
Intro has quit [Ping timeout: 246 seconds]