Talk:Hardware specification

From OLPC
Revision as of 17:35, 3 June 2006 by Lkcl (talk | contribs) (→‎CPU)
Jump to navigation Jump to search

Maintenance and diagnostics

A tacit assumption of the OLPC project is that these systems will enjoy limited - or even zero - field maintenance. The best one might hope for is that some onboard diagnostics could warn of impending problems to help the end-user plan for the demise (and possibly the remanufacture) of his unit. In the First World, most are used to tossing out electronic stuff long before it wears out, on account of "technical obsolescence" But OLPC units may see use long after they are "obsolete", for complex reasons that don't care about "Moore's Law". And who knows what setbacks will befall schools in the places these machines might go? Consider a country that suffers a decade-long "technology" embargo, for example.

Units should be designed to keep maintanence as modular and staightforward as possible. Documentation and diagnostics should be exhaustive and could be included in the firmware- or as accessible and independent from the software as possible. -Chas

Yes, most sources of failure of conventional machines are absent in our machine, and we hope they will last for a long time. But given that many of the failures of mechanical components do not exist in this machine, it isn't clear how much warning can be had of impending failure. This leaves the backlight lifetime; we do not know yet how long this will be and depends strongly on patterns of use we don't yet fully understand; backlight degredation will be a gradua process, however. We are investigating the possibility of a replaceable backlight assembly.

The process of making it as cheap as possible for manufacturing also helps greatly in enabling field repair, to the extent that today's technologies permit. - jg

Mass storage

I have not built devices with flash memory, but I understand that it can't be rewritten an indefinite number of times - maybe just a million? (Something done twice a minute is done a million times in only a year.) I assume that measures are taken to load-balance the wear on the various blocks of the memory. But IF one suspects that the flash memory may wear out before other laptop components, it would be useful if the end-user could determine how much life was left in it. When the day came the unit did not function, a hint that flash memory wear killed it might keep remanufacture cheap enough to make sense. (At least "run the numbers" before dismissing my concerns!) Of course the same goes for any other parts (e.g. crank) whose usage (and inferred wear) might be measured. (cf. S.M.A.R.T. technology for PCs with hard drives.

Linux supports the JFFS2 file system which addresses the issue of limited number of Flash write cycles. (Incidentially, JFFS2 was developed by David Woodhouse of Red Hat.

Given the good wear leveling of JFFS2 compute the amount of wear of the flash as .5 gigabytes times of order 100,000 times. You actually get a lot of writing before the first bad flash block should happen due to wear. (50,000 gigabytes of writing). The chips likely have a higher random failure rate than that. - jg

Recycling of components - even "Frankenstein" repairs in remote field locations with multiple broken units - might well be designed into the system from the ground up. Moreover, it could also prove useful to benchmark software applications for their life-shortening properties. For example, an application that did frequent automated backups of a document being edited might wear the flash memory more than worthwhile. Remember, in the CRT age, "screensavers" once EARNED their name, rather than serving other purposes on cheap displays easily tossed when worn!

Yup, we expect frankenlaptops will be common, and are doing what we can to make that reasonable. Similarly, we expect folks will hack the battery packs in the field. -jg

The "prospectus" for the OLPC laptop looks to a five-year-plus life to justify it as a textbook replacement alone. This is hardly the only reason for getting one of these machines. - jg I think that flash memory "forgets" after a decade, so perhaps the "permanent" part of the flash content might also be regenerated episodically, too. If it is a big portion of the total flash memory, perhaps "rotating the tires", by swapping in which physical part of memory it dwells would allow superior wear-balancing as well.

JFFS 2 in essense does this already; it occasionally moves blocks to keep the wear level, so so long as there is some write activity, eventually all the bits should end up being rewritten over a long period. -jg

Upkeep will be the problem of the host country, but maybe one should think about it now before the design is complete. Will host countries want to revise the "permanent" memory content one or more times (e.g. via a USB port) before the machine cannot be used? Maybe First World "Gen-Netters" like revving freeware versions monthly, but poor people burdened with long hours of tiring physical work will not want to make a "hobby" of tweaking a laptop. While USAers might prize customization, another culture might want to keep these "personal" units as harmonized as possible, that cross-peer instruction prove easier. "Shudder": they may value common content over the potential to experiment! But perhaps a village "server" which archives multiple flash "images" could embrace experimentation and homogeneous potential at the same time. Maybe you'd want something like this anyway, as important software flaws emerge late - making a patching infrastructure desirable. (The "server" needn't be a real computer- just a collection of one or more USB flash drives.)

Due to security updates, we have to keep systems up to date in the field of critical problems, so the idea of never touching a system isn't reasonable for a network enabled system. - jg

So in looking to keep the OLPC laptops working, one should perhaps try to think like a carpenter planning to sail with Magellan. There will be no way to "Fedex" in replacement parts overnight.

RF

So perhaps a number of slots for smaller flash drives rather than one big one? Yes, wear-balancing would make it likely that they all age at the same rate, but when random failure does occur the modularity would facilitate Frankensteining. -Chas

Can't afford slots; better the flash just not wear out. - jg

"Mass storage: 512MB SLC NAND flash" (8 April 2006 version of the hardware specification)

Does this business talk translate into: "there is an unpopulated internal 40pin/44pin connector with 2mm spacing allowing to connect another IDE/CompactFlash as slave?" - ff

No, it's just using the interface pins of the chipset that can connect either to flash or to IDE. Using IDE itself as the interface to flash would prevent the use of a decent flash file system like jffs2 or logfs. - arnd

CPU

CPU, esp, running firefox with non-latin fonts - isn't it too slow? I have a similiar spec desktop linux machine actually, and whenever I load multilingual pages (even just a wikipedia page with the names of languages listed on the side in Arabic and Hindi and Korean. Rendering a WP page of Korean page on FireFox takes time!), the font rendering seems real slow... I'm running a K6-3@400Mhz.

dunno: depends on many factors, and Firefox is getting lots of work on the memory front. Also, your font cache in your X server might be too small; that can kill performance (you need a bigger cache for eastern languages) - jg

The CPU is constrained by "5W max heat dissipation" requirement. AMD Geode System already consumes almost 2 W under load, leaving only 3 W for display, audio, storage and wireless. At Wikipedia it was suggested that lower power Alchemy be used which would allow for higher clock rates, but apparently x86 was chosen for compatibility reasons.

Depends on exactly which Geode you are talking about, at what clock rate. It turns out that none of the other low power chips like that have an FPU, rather than x86 compatibility per se'. This is a killer when porting applications to whatever architecture. If an alchemy with and FPU existed, it would have been sincerely temping. - jg

This AMD document lists Alchemy with "MIPS32" FPU. Is this a real FPU or some kind of emulation?

Apparently it's emulated, which is a bit of a shame since it does seem like a better candidate processor than the Geode. According to the AMD data book for the Alchemy 1100 [1], page 39:

"The Au1 [aka Alchemy 1100] core does not implement hardware floating-point. As a result, all floating-point instructions generate the Reserved Instruction (RI) exception, which permits floating-point operations to be emulated in software."

How about trying to build a CPU that would suit your needs with help from the Opencores people? Their OpenRisc 1000 core seems to be quite advanced already. Since they already have a lot of open source building blocks available, you would only need someone to put them together. The only missing part I see is that there is no graphics core (just display logic cores). Might be an idea to investigate for future generations of products.

Given the volumes involved in this project and that a custom chip will be included anyway (to control the special LCD) this would seem like a very good idea. But there don't seem to be any hardware people outside of Quanta in the project so the preference for well known chips is understandable. I like the OpenRisc and another strong open source CPU is the Sparc compatible Leon3. There are several floating point options and since it runs at 400MHz in a 130nm ASIC putting in two would give you plenty of computing power at a very low cost. On the graphics side there is the Open Graphics Project.--Jecel 16:32, 19 May 2006 (EDT)

What we do in generation 2 of the OLPC system is an interesting question. There will be by then many other possibilities than the Geode in that time frame. AMD will have to earn our business. Time will tell; we'll burn that bridge after we cross it. - jg

Have you considered the Texas Instruments OMAP3430 ARM Cortex-A8 based processors? While they do lack x86 compatability, they possess a significant number of features that make them appealing in low power deployments. (lkcl: people who have used these processors in mobile phones are now lamenting the fact. the general consensus is instead of wasting time with low-clock-rate "special dedicated blocks", just get a faster more general-purpose CPU).

For anything other than a mass-market chip to gain traction, somebody needs to design the core, build a system around it, port Linux and show it running the Sugar collection. In fact, the same thing could be said about off-the-shelf CPUs like PXA720 and other ARM cores. This is actually a lot easier than it sounds because undergraduate EE students regularly do design cores, build systems around them and so on. It would make an interesting project for a university that wanted to show they can do MIT one better.

OpenCores.org - there are a number of processors available, there - including the OpenRISC1200 - which has had the entire Gnu toolchain _and_ the linux kernel _and_ has a bochs (or maybe qemu) emulator for it _and_ a demonstration linux distribution running on it. you can therefore pick-and-mix the components that you require: they have an IP block for a full 32-bit MAC. the power consumption at 250mhz in .18micron is an estimated < 1 Watt. so assuming that the chip has no critical paths that make it difficult to reach 500mhz at 90nm - yep: you're definitely in the right power-category. lkcl03jun2006.

Also, i've worked with someone to design an asynchronous parallel-processor core concept, based around a real-world asynchronous processor from 1992-or-so, with only 6000 gates that ran at 200mhz, when pentiums were struggling to reach 90mhz. you want to talk "low power" consumption?? asynchronous processors don't _need_ "power management" - no processing equals no power! in 1 million gates, it would be easy to fit 16 of these mini-async CPUs onto a chip - all running at 1 Ghz @ 90nm - and still have the peak power consumption be under 10 watt (and with 16Ghz of processing power available, who needs a graphics chip - and also, if you don't _like_ 10watt peak power consumption STOP doing so much processing!!). at that power consumption, plastic packaging would be feasible, bringing the CPU's volume-production cost down into the $10-$15 range. ceramic packaging whacks the price up of any processor into the $25-$35 range. lkcl03jun2006.

Heat dissipation

5W heat dissipation requirement was recently dropped and changed to 10W. So there might have been the possibility of using a faster CPU after all. 130.149.23.44 12:33, 9 March 2006 (EST)

No, the spec was changed to reflect reality of the worst case situation; we couldn't add before ;-). 5 watts for CPU, then you have the display and backlight full bore, and 2 watts for USB, and 2 watts for audio, and losses in the power supply. The low speed chip is chosen so that low power idle is as low as possible. Even more remarkable, though, is what we hope our best case (screen idle) power consumption will be, which is of order half a watt- jg

Regarding page rendering, using non-XUL-based Browser such as Epiphany, Konqueror or Opera should speed things up.

When we say "firefox" we mean the gecko engine. We hope to use it as it is the most complete and most likely to work of current browser technology. But that doesn't mean we'll be necessarily using conventional Firefox; it may be embedded into a simpler environment. And if the Mozilla project can't get us a browser we can tolerate the footprint of in time, there are the obvious alternatives. - jg

BIOS

BIOS, isn't it smart to have OpenBIOS? (ie. Forth?)

The point of LinuxBIOS is that we only have to do drivers once, have a full blown networking stack during boot, and so can dream of things like boot/install over the wireless mesh network. Kids can also see how machines really work and boot. And LinuxBIOS has already been deployed in quantity millions. - jg


RAM

I'm worried that 128M of DRAM is going to hobble the machine. Can you get twice as much DRAM if you're willing to take broken DRAMs with parts that don't work, and use the VM hardware to map around the bad spots in them? It's a simple hack and if it cuts the cost of the DRAM chips by 50% then you can put in twice as many. Or are all the DRAMs with failing bits now being used in telephone answering machines where a dropout doesn't matter? -- gnu

Turns out that trying to use bad chips isn't worthwhile, so the experts tell me, and putting in more chips means more power. It is possible to solder in a larger memory chip, however, at higher cost. - jg

SOUND

I'm worried that cost considerations might rule out any sound generating and speakers. However I think that to teach analphabets to learn and write, I will need sound, to show for example syllabes and their sound.

At least some provision must be provided for a USB device able to handle and produce sound. Such device might also be useful for blind people, and people that can´t read. - dagoflores

speakers, microphone, line in, line out all included. And the audio in can be used for DC sensors! - jg

I have been trying to find out more about the "sensor input" mode mentioned several places. I can't seem to find anything special in the AD1888 datasheet, however. All I see is line in, with +12dB to -34.5dB adjustment. That's the same as other codecs. Is the "sensor input" mode unique to the AD1888? If not, isn't the AD1888 kind of overkill for a laptop (6 channels, etc)?

Power Requirement

I see that you have settled on a 14 volt power specification. I think that is a mistake. Living in West Africa for many years now I see that people are very comfortable with 12volt power systems. In almost every remote village one can find an enterprizing person who has fitted out a small TV to run on a car battery. Eventhough there are no solar panels or other power systems in thier village, they will use that battery to run thier "cinama" and then strap that car battery on the back of a bicycle and pedel 20km or more to a town that has some power and a battery charger.

Making the power system 14 volts then mismatches your device with a well understood and locally vibrant technology, that is unless your specification is so "loose" that the device will run on 12 volts. - eu

Please specify the 14 volt power with the allowable voltage tolerance. The unloading end voltage of a 6 cell lead-acid battery (which is probably the most widely spread) is at about 11.8 V (say 11.6 Volt including some resistive voltage drop until it reaches the device) so a specification of a 14V (-18%) would be fine for the lower limit. As written above (eu) 12V is the sweet spot of available voltages. It is very important not to miss it, rather consider going for 7 NiMH cells instead of 8 NiMH cells! - ff

Specs have changed since this comment was noted. Actually, we're using 5 NiMH cells; and the machine will take almost anything above that voltage, to 24 volts, + or - for charging - jg

14V DC or 10V DC? Why up to 25V?

I'm a bit confused here. 8 AA NiMH cells, in series, discharge at 10V DC and would be charged with something like 11.6V. So why 14V DC?

Now the battery pack is a 6 cell. This will need bare minimum of 12V to charge decently and 12.5V would be better. 10V will not be able to charge the battery.

Is there really a need to accept 25V input? This will complicate the charger as it will need to be a switching regulator rather than a linear regulator or you will have a lot of extra heat.

We're ending up with 5 cells, after all is said and done. It turns out it is always easier to down convert voltage than handle both up and down. And we can go to about 25 volts before incurring any additional cost, so we're doing so. The polarity is also protected, so that you can't damage the machine by plugging it into the voltage source backwards.

What will happen to the unit if 110V or 240V AC power is plugged or shorted directly into its power input? There are many levels on which this could be dealt with, e.g.: A. Machine charges using some of the available energy. B. Machine doesn't charge, but doesn't break. C. Machine breaks but doesn't let out toxic smoke. D. Machine breaks, catches fire, and spews melted plastic and rubber on foolish child. E. When out-of-spec power is supplied, machine screams (audio) for help before breaking ten or twenty seconds later.

While "testing to destruction" those 500 units, you should also try plugging AC power into each of the other ports (USB & audio). Pour kool-aid into the "ears" while AC power is applied to the audio port. Wash the laptop with harsh soap and a scrub brush every week. Swim across a lake while toting a laptop on a strap (while it's got an ebook open and is playing music). Move the laptop close to a fire (close enough to not need a backlight to read it) and see what melts first. Hmm, I wonder if you could generate power from heat, e.g. an attachment that a kid could toss on the woodstove or in a fire that plugs into the power port. Etc. The imaginations of kids are unlimited.

Question: why 25 Volts? If 'by accident' connected to a truck (nominal voltage 24 volts), the OLPC will be slightly overloaded (up to 28 volts approx.). Suggestion: a maximum of 30 volts would be fine. What about a bridge rectifier, this would allow simple chargers (mains transformer, manually/'pedually' operated generator etc.) and would eliminate any revers polarity problems.

Battery Type/Voltage

The battery pack should accept AA NmH cells, that can be replaced by the teacher. These can also be purchased at a reasonable price, as opposed to a "battery pack". 10 cells equals 12 volts, as said elsewhere this is a standard that should be adhered to. Allowing a 12v input would not charge the battery properly, but this could be connected to a larger (sealed lead acid) battery. With 2.2 AH cells, and a 12 watt consumption, what is the actual operating life of the battery? If teachers are reading this, this is important to them.

This is a link to a page that talks about an electricity generator that could improve your laptop project http://www.lacapital.com.ar/2006/03/08/general/noticia_275466.shtml

I hope it helps!!!

We had the same naive view when we started. The problem is, with multiple cells, the connection between cells is not reliable. And computers, rather than flashlights, must have absolutely reliable contacts in their batteries. We do hope the battery packs won't be very hard to service in the field, however. On top of this, UL won't certify anything in the separate cell vein, even if it worked. And we want to be able to swap packs quickly, not with a pile of batteries which can be inserted in the wrong direction. It also looks like 2000 cycles is possible on the cells, by care in the charging circuitry. - jg

Your design already supports AA NiMH cells without any change to the design. For years people have been using external battery packs to charge (or extend use time) of PDAs and digital cameras. The OLPC will be no different, especially if someone can rig up a battery pack out of overripe bananas and seawater or something similar. Same goes for charging. Somebody is going to refit electric motors to make DC charging units that you can hook up to your water-buffalo. Your design allows a wide range of power inputs to be safely applied and that gives it maximum flexibility.

Internal USB Connector

It would be nice if the space for an internal USB Connector could be found (20x50x8 mm³ and a hole for a mounting screw). This would greatly reduce the risk of mechanical harm or loosing for an USB memory stick. (Rationale: one of the more often seen criticisms of the OLPC is its relatively small mass storage, a relatively high percentage of users might want to upgrade over the laptops lifecycle. Other stuff like an internal USB radio could also make sense).

FWIW: we're taking great care on mechanical ruggedness of the connectors by moulding them into the case. I suspect the USB device will die before the laptop will. There exist some very small USB memory sticks that won't stick out much. That being said: USB is power hungry (not well designed for low power), so I don't think you'll want to leave USB devices plugged in while on battery power if you can avoid it - jg)

Internal MMC/SD Card Connector

An internal MMC or SD Card connector would be nice if the specifications for IO-Extensions to the MMC or SD protocols (SDIO or MMCIO) are available (this is an alternative to an internal USB connector (rationale is given there). Probably more power-effective, but less gadgets available today).

Not this time around; we have nothing to plug one of these into, even if we had the cost of the connector lying around free -jg.

Instant/Always On - No Boot

Will the first version be instant-on no-boot?

Initial boot will take a while (tens of seconds). We intend to make suspend to RAM and resume extremely fast, so the normal state will be "instant on". In fact, we'll be suspending the machine when you go idle for almost any period of time; but as the screen can stay on, you'll never notice. -jg

Test Machines

Will there be a possibility for developers to buy or borrow some of these machines to do some software testing ? From what date ? At which price ? Who would be eligible ? Who should one contact ?

Yes, there is a Developers Program starting in June. Precise details to be announced. The bare boards will be supplied at no charge (as they have not yet been through regulatory approval, they cannot be sold) - jg

In the meantime, perhaps the OLPC Python Environment or Sugar will be of use to you.

Wireless Mesh Networking

Apparently the Marvell 88w8388 WLAN chip (with advanced 802.11 a/b/g RF transceiver) was selected at least partly for its inherently low-power operation. The 88w8388 includes a built-in ARM CPU and a "thick MAC" stack, giving it the ability to relieve the AMD Geode host CPU of TCP/IP stack-handling chores. Consequently, the 88w8388 also has the ability to forward packets (e.g., within in the WLAN mesh) even when the host CPU is in the S3/off state, resulting in considerable power savings over conventional WLAN chips (like the Atheros chip considered previously). This is old news.

Newer news, however, is that a later chip, the Marvell 88W8686, maintains these capabilities with even less power consumption (under 400 mW) and smaller footprint (50 square mm), at least partly because it is implemented at 90nm instead of 0.15 microns. Marvell's press release about this came out on 7-20-2005 (http://www.marvell.com/press/pressNewsDisplay.do?releaseID=527).

Since Marvell is a member of OLPC, presumably the OLPC team is aware of the newer, lower-powered chip. Nonetheless, this OLPC website still seems to reflect only the 88w8388 in its discussion. Because of the project's emphasis on low-power operation and cost reduction, it would seem appropriate to at least have some discussion of two chips' respective merits, relative to the project. Although it's likely that the 88W8686 arrived too late to be incorporated into the first-generation, perhaps it would be appropriate for the second, unless some other factor(s) like cost or availability rule it out. It would be interesting to get authoritive input on this aspect.

It would also be good for an OLPC team member to weigh in on whether 802.11a mode will also be supported in addition to 802.11b/g, since this capability is inherent in both chips mentioned here.

Sausage making requires the right volume of components available at the right time. - jg


Should there be provision for a mouse?

I was looking at the design of the case for the laptop and wondered where the mouse would be put when the children were moving the machine from place to place and then wondered whether there was a mouse or a built-in trackball. Further investigation found that there is a trackpad. I had never heard of trackpads so I searched at Yahoo and found the following link.

http://en.wikipedia.org/wiki/Trackpad

Within that article is the following.

Quote

Touchpads commonly operate by sensing the capacitance of a finger, or the capacitance between sensors. Capacitive sensors are laid out along the horizontal and vertical axis of the touchpad. The location of the finger is determined from the pattern of capacitance from these sensors. This is why they will not sense the tip of a pencil or even a finger in a glove. Moist and/or sweaty fingers can be problematic for those touchpads that rely on measuring the capacitance between the sensors.

End quote

I am wondering, possibly naively, but even if naively maybe it is better if asked, whether it is certain that a trackpad which is to work in various climates with children and which relies on fingers being neither moist nor sweaty is going to be both reliable and suitable for 100% of the children at all times?

Is there provision that a conventional PC mouse could be plugged into the laptop and the trackpad disabled if the accessibility needs of any particular student need to be met?

Certainly, I have not used a trackpad system, yet feel that maybe asking these questions anyway is what I should do.

William Overington

8 April 2006

With USB ports, a mouse can be added. Mice, in quantity, are very very inexpensive. Probably less expensive than trackpads. Maybe the trackpad should be dropped and a mouse included.

Note that we have recently identfied (at least one) vendor with a novel dual mode pointing device, that can function either like a conventional touch pad, or with a pencil/stylus as an absolute pointing device. The pointing device will be as wide as the screen. This is novel to our system at this time. A decision of which vendor will be made around June 10.- jg

Keyboard?

How will be the keyboard? AZERTY, like in France, or QWERTY, like in UK?

Keyboards are always set up for local languages; what keyboard engravings you get will depend on your geography. -jg

The specification says the following about the keyboard.

  • Keyboard: 80 keys, 1.2mm stroke; sealed rubber-membrane key-switch assembly

Does "sealed rubber-membrane key-switch assembly" mean that the "keyboard engravings" mentioned above are all done, at some stage in the manufacture, onto a single piece of material? If so, could you possibly publish the graphic art used for one of them please? This would be useful as it could enable people wanting minority script support to make the artwork needed. Could you possibly say how straightforward or not straightforward it is to make a keyboard for a minority script and what the minimum number needed would be for such special manufacture to be viable please?

Are the "keyboard engravings" actually engravings or are they simply printings?

Would a field programmable version based on the idea for a piece of electronic paper as mentioned in the Hardware Ideas page be useful to the project?

Alternative use of audio device

Is it also possible to generate voltage with the audio device? In electronics it is important to have diffent voltage, AC voltage, rectange, dirac,...

If I understand your question, it is yes, the audio device can be used to directly measure voltage, allowing many cheap sensors to be directly interfaced to the machine without additional hardware. This will be very useful for kids learning basic science and/or music, to name a few subjects where such devices can be very useful. - jg

The OP probably meant: is there an option to switch the audio output (the 3.5mm stereo jack) into DC mode? Together with the DC input mode this would allow to use the OLPC in control loops (OLPC is attractive there because of WLAN & display & battery & nonvol. memory). DC coupling of the output should be an option as permanent DC coupling is probably not compatible with all audio devices. Eventually this would require only about $0.04 for one or two FET transistors.

To make electronic experments you need a device to measure voltage and a power supply. This power should be deliverd from the laptop. The laptop can be used as a (low frequenz) oszilloscope, the power supply must deliver AC power in this case additionialy to DC.

Testing for Humidity and Dust

In india, the dust and humidity levels are ridiculously high compared to US/europe. For a desktop, very fine soot-like dust accumulates into thick layers within weeks within the fan blades and in the heat sink over the cpu (this is within a reasonably well protected room). Mostly you know when to clean it up when your system keeps crashing way too often. For the OLPC laptop, neither is there a fan, nor is the cpu going to heat up so much?? to cause the same problem?. Shouldn't it be tested more rigorously (as in not to US standards) against dust atleast. Its affects are as bad as heating no?