XO 1.5 B1
The B1 prototypes are just motherboards. OLPC received twenty of these on August 18, 2009, direct from the assembly line.
The B1 prototypes required special support in the kernel, which will not be pushed upstream. These motherboards are no longer supported by OLPC software builds.
- The motherboard has a daughtercard for the WLAN.
- The motherboard has an internal SD slot
- The motherboard is Revision C
XO-1.5 use Q3xxx firmware releases. These will not work on an XO-1.
B1 motherboards require a release equal to or later than Q3A08f. The current suggestion is Q3A10.
Check the XO 1.5 EC dev changelog for information about the latest EC firmware (integrated into the above OFW releases).
This may be installed by downloading and placing on a USB stick, then:
- Ensure that you have both a somewhat charged battery and a DC power source
- Boot the laptop, pressing the escape key ('X' in upper left hand corner of keyboard) within a few seconds after boot to enter Open Firmware.
- Insert the USB stick containing the new firmware
A Linux image for the A1/A2/B1 is available at http://dev.laptop.org/~cjb/f11-1.5/os27/os27.img.gz. You need os27 or later on a B1, as the DCON is not properly supported and the internal SD card WP is not ignored by the kernel in earlier releases.
To install on an XO-1.5's SD drive, you can run:
zcat os27.img.gz > /dev/mmcblk0
There are a number of restrictions on the B1 motherboards. These were the result of the motherboard being rushed into fabrication, and will be fixed in B2 motherboards. Due to the scarcity of these boards and the severity of the problems, it is unlikely that software work-arounds will be supported in later software releases.
There is a miniPCIe slot on the motherboard for connection of an SDIO WLAN card. This slot (new in B1) was mistakenly wired for a non-existant Quanta-produced module. It should instead have been wired for an existing card.
Three prototypes have been rewired, in order to test that the WLAN interface works.
The processor serial port situation on XO-1.5 is not optimal. There is a connector located on the upper left hand side of the motherboard for +3.3V RS-232 connection (see the Pinouts and the Connector/Jumper Locations), but its use must be enabled using a jumper (JP1). On all B1 motherboards this jumper is either shorted with a wire or populated with header pins and a removable jumper.
The camera works fine. To use it, remove the serial enable jumper and install a camera.
The jumper is JP1, but the silkscreen on B1 makes it look like JP12 (there is no JP12).
Internal SD card
The internal SD card slot does not have the interface WP line properly pulled low (there is an internal pullup on this line.) Fortunately, this line is simply used by the driver software and not enforced in hardware.
There is no version of OFW which ignores this bit.
A Linux kernel which contains (built-in) SD drivers which ignore the WP bit (on ALL interfaces) is available:
These patches are contained in the os27 Linux release for the XO-1.5.
Overall SD Error Rate
The SD interfaces on B1 motherboards include the fixes developed for A1/A2 motherboards to eliminate occasional write errors. Twelve of the B1 motherboards were immediately dedicated to testing the SD interfaces for errors. Outside of two card dependent errors, none have been found.
A card dependent error is one where the error occurs with a particular SD card. Laptops which test fine (over terabytes of writes) with a number of SD cards from different manufacturers sometimes experience errors with a particular SD card (while other SD cards of the same model/manufacturer work fine.) Likewise, sometimes this happens on the first test of a laptop. Further testing of both the laptop and the SD card using other SD cards and laptops can identify a card dependent error.
WLAN and internal SD power
The internal SD and WLAN power switches were hurriedly changed for B1, and don't work. All B1 motherboards have been ECOd to short the internal SD switch.
The motherboard ID reported by B1 motherboards is wrong. This is not a problem with existing firmware, as it assumes that an unknown motherboard ID is the "most recent" (B1) and both uses it and reports it to Open Firmware. The problem will come when future firmware assumes an upgraded default (such as C1).
This can easily be fixed:
- Remove R367
- Move R364 (47K) to R367
- Remove R362, and replace with a 100K 5% (SMD-0402) resistor.
Supporting documentation for these boards are (in PDF):