XO1.5 WLAN SR ECO

From OLPC
Revision as of 04:42, 24 November 2009 by Wad (talk | contribs) (New page: =Scope= This describes a change to B3 prototypes of the XO-1.5 motherboard. It fixes a silicon error which will not be fixed. Boards without this ECO will not reliably ma...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Scope

This describes a change to B3 prototypes of the XO-1.5 motherboard. It fixes a silicon error which will not be fixed. Boards without this ECO will not reliably maintain their WLAN upon resuming, and may crash hard instead.

This only applies to XO-1.5 B3 phase motherboards.

Problem Description

Glitch in Power Control

There appear to be two problems: a glitch on the power control line for the WLAN card and a drooping WLAN_RESET# line.

Driving Force

The glitch is a surprise, and is present in both OFW and Linux. It happens early enough in the resume process that it is likely hardware related. We take a look at it by disconnecting the motherboard pullup resistor on WLAN_EN#, and instead adding a 0.1 uF cap (see Driving Force thumbnail). This result in a WLAN_EN# signal that is driven by a very high impedance driver, such as the built-in pullup resistor.

If we instead add a resistor between the VX855 output and the inverter, along with a filtering capacitor to ground, we can slow down the turn-off process enough that legitimate software usage is allowed, but this glitch is eliminated.

After Modification

We also need to populate a resistor to pull-up WLAN_RESET# to a sane value. This was predictable, and a resistor position (R120) is pre-wired.

Procedure

  1. Remove R325.
  2. Cut the trace between Q38, pin 2 and R325 (disconnecting Q38, pin 2 from the WLAN_EN# signal).
  3. Add a 47K resistor between WLAN_EN# (available at R325) and Q38, pin 2.
  4. Add a 0.1uF, SMD-0402 resistor between pins 1 and 2 of Q38.
  5. Populate R120 with a 4.7K resistor.