diff options
Diffstat (limited to 'docs/install')
-rw-r--r-- | docs/install/bbb_setup.html | 332 | ||||
-rw-r--r-- | docs/install/images/x60/th_bbb_flashing.jpg | bin | 0 -> 111635 bytes | |||
-rw-r--r-- | docs/install/index.html | 4 | ||||
-rw-r--r-- | docs/install/t60_unbrick.html | 96 | ||||
-rw-r--r-- | docs/install/x200_external.html | 290 | ||||
-rw-r--r-- | docs/install/x60_unbrick.html | 87 | ||||
-rw-r--r-- | docs/install/x60tablet_unbrick.html | 92 |
7 files changed, 446 insertions, 455 deletions
diff --git a/docs/install/bbb_setup.html b/docs/install/bbb_setup.html new file mode 100644 index 00000000..840b4ad3 --- /dev/null +++ b/docs/install/bbb_setup.html @@ -0,0 +1,332 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <style type="text/css"> + @import url('../css/main.css'); + </style> + + <title>Setup the BeagleBone Black as an SPI flashrom programmer</title> +</head> + +<body> + + <header> + <h1 id="pagetop">Setup the BeagleBone Black as an SPI flashrom programmer</h1> + <aside>How to use the BBB as an external flashrom programmer, for reading/writing an SPI flash chip.</aside> + </header> + + <p>Or go <a href="index.html">back to main index</a></p> + +<hr/> + + <h1 id="hardware_requirements">Hardware requirements</h1> + + <p> + Shopping list (pictures of this hardware is shown later): + </p> + <ul> + <li> + External SPI programmer: <b>BeagleBone Black</b> (rev. C) + is highly recommended. Sometimes referred to as 'BBB'. + </li> + <li> + Clip for connecting to the flash chip: <b>Pomona 5250</b> + (SOIC-8) or <b>Pomona 5250</b> (SOIC-16) is recommended + (<b>X200S and X200 Tablet users will need a soldering iron + instead</b>, because of the type of package the flash chip is + in on those machines). + </li> + <li> + <b>External 3.3V DC power supply</b>. The one used by this + author has the label HF100W-SF-3.3 on it, but any decent + supply will be fine. Some people use the 3.3V from an ATX + PSU for instance (the kind that you get on a typical + Intel/AMD desktop computer. 6A supply should be fine, + the one used by this author is 20A (it won't actually use + that, it's just what the PSU is capable of). + </li> + <li> + Dupont <b>jumper cables</b> (2.54mm / 0.1" headers) + You should get male-male, male-female and female-female + cables in 10cm and 20cm sizes. Just get a load of them. + </li> + <li> + <b>Mini USB A-B cable</b> (the BeagleBone probably already comes + with one.) + </li> + <li> + <b>FTDI serial board</b>, for unbricking the BeagleBone if + necessary. + </li> + <li> + <b>5V DC power supply</b> (from wall outlet to the BeagleBone). + The BeagleBone can have power supplied via USB, but a + dedicated power supply is recommended. + </li> + </ul> + + <p> + <a href="#pagetop">Back to top of page.</a> + </p> + +<hr/> + + <h1 id="configure_bbb">Configuring the BeagleBone Black</h1> + + <h2>Setting up the 3.3V DC PSU</h2> + <p> + With my PSU, first I had wire up the mains power cable. Any clover or kettle lead will do. Cut the end off (not the one + that goes in the wall, but the kettle/clover connector). + Strip the protection away by a decent length, then strip the wires inside so that a decent amount of + copper is shown. Then wire up earth/live/neutral. This will vary according to what country you live in + and/or the colour codes that your cable uses inside. <b>Make sure to get this right, as a botched job + could result in extreme damage to you and your surroundings. Here's what mine looks like after wiring up + the power cable: <a href="images/x200/psu_power.jpg">images/x200/psu_power.jpg</a> - also, make sure + that the plug (for the wall) has the correct fuse. In my case I had a 240V wall socket, and the device + says that it accepts 1.5A at that voltage, so I used the smallest fuse available (3A). For 110-120V the device + says it needs 2.8A.</b> Also, if yours looks like in the image linked above, make sure to wrap electrical tape (lots) + around it for safety. (otherwise, don't touch the terminals while the PSU is plugged in). + </p> + <p> + Now take a red and black 20cm female-female jumper lead, and cut one of the ends off. Strip away the bare copper by about 1 or + 1.5cm so you get this: <a href="images/x200/stripped_jumper_lead.jpg">images/x200/stripped_jumper_lead.jpg</a>. + </p> + <p> + Black goes on -V, red goes on +V. In my case, I removed those screws from my PSU like this: + <a href="images/x200/psu_screws_removed.jpg">images/x200/psu_screws_removed.jpg</a>. Then, + </p> + <p> + Then I twisted the exposed copper on the jumper leads (so that they don't fray), and wrapped each to one of the + screws each, around it near the head. I then screwed them in: + <a href="images/x200/psu_jumper_leads.jpg">images/x200/psu_jumper_leads.jpg</a>. + </p> + <p> + If you are using a different PSU, then the steps will change from those above. Anyway, once you are satisfied, + continue reading... + </p> + <h2>Setting up the BBB</h2> + <p> + Your BBB will have an sshd with no password on root. Find it's IP address + (it will use DHCP by default) and set a root password. The steps below + are done while SSH'd into a BBB. + </p> + <p> + Since it's a bare board (no case) and you are also touching inside your X200, you should be earthed/grounded. + <a href="images/x200/strap.jpg">images/x200/strap.jpg</a> shows how I earthed myself. This is to prevent you + from causing any ESD damage. The surface that you place components on should also be earthed/grounded. + (for this, I used a shielded ESD bag with a wire, copper exposed, attached from the bag to the exposed metal + part on a radiator, which was earthed - not professional, but it should work. see <a href="images/x200/mat.jpg">images/x200/mat.jpg</a>). + Most people ignore this advice and don't ground/earth themselves, at their own risk. You should also store the BBB + in a shielded anti-static bag when you are finished with it. + (the principles above apply to any computer components, since they are extremely sensitive te ESD). + </p> + <p> + These instructions may or may not work for you. They are simply the steps that this author took. + </p> + <p> + setting up SPIDEV on the BBB: <a href="http://elinux.org/BeagleBone_Black_Enable_SPIDEV#SPI0">http://elinux.org/BeagleBone_Black_Enable_SPIDEV#SPI0</a> + - If you only setup SPI0, you don't have to disable the HDMI out. (you only need one). + That guide is for seting up the device overlay for SPIDEV, last part is to make it persist across reboots. + Needed to turn the BBB into an SPI flasher. + </p> + <p> + Don't bother modifying uEnv.txt. it won't work; + use the workaround here instead: <a href="http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Loading_custom_capes">http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Loading_custom_capes</a>. + </p> + <p> + Follow the instructions at <a href="http://elinux.org/BeagleBone_Black_Enable_SPIDEV#SPI0">http://elinux.org/BeagleBone_Black_Enable_SPIDEV#SPI0</a> + up to (and excluding) the point where it tells you to modify uEnv.txt + </p> + <p> + You need to update the software on the BBB first. Before being able to use apt-get, + I had to use the workaround defined <a href="https://groups.google.com/forum/?_escaped_fragment_=msg/beagleboard/LPjCn4LEY2I/alozBGsbTJMJ#!msg/beagleboard/LPjCn4LEY2I/alozBGsbTJMJ">here</a>:<br/> + - Replace the contents of /etc/init.d/led_aging.sh with: + </p> +<pre> +#!/bin/sh -e +### BEGIN INIT INFO +# Provides: led_aging.sh +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start LED aging +# Description: Starts LED aging (whatever that is) +### END INIT INFO + +x=$(/bin/ps -ef | /bin/grep "[l]ed_acc") +if [ ! -n "$x" -a -x /usr/bin/led_acc ]; then + /usr/bin/led_acc & +fi +</pre> + </p> + Run <b>apt-get update</b> and <b>apt-get upgrade</b> then reboot the BBB, before continuing. + </p> + <p> + Run those commands:<br/> + # <b>echo BB-SPI0-01 > /sys/devices/bone_capemgr.*/slots</b><br/> + Then I did:<br/> + # <b>ls -al /dev/spidev0.*</b><br/> + <i>ls: cannot access /dev/spidev0.*: No such file or directory</i><br/> + Then I rebooted and did:<br/> + # <b>cat /sys/devices/bone_capemgr.*/slots</b><br/> + Output: + </p> +<pre> + 0: 54:PF--- + 1: 55:PF--- + 2: 56:PF--- + 3: 57:PF--- + 4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G + 5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI +</pre> + <p> + And then:<br/> + # <b>ls /lib/firmware/BB-SPI0-01-00A0.*</b><br/> + Output: + </p> +<pre> +/lib/firmware/BB-SPI0-01-00A0.dtbo +</pre> + <p> + Then:<br/> + # <b>echo BB-SPI0-01 > /sys/devices/bone_capemgr.*/slots</b><br/> + # <b>cat /sys/devices/bone_capemgr.*/slots</b><br/> + Output: + </p> +<pre> + 0: 54:PF--- + 1: 55:PF--- + 2: 56:PF--- + 3: 57:PF--- + 4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G + 5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI + 7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-SPI0-01 +</pre> + <p> + Then check if the device exists:<br/> + # <b>ls -al /dev/spidev0.*</b><br/> + Output: + </p> +<pre> +ls: cannot access /dev/spidev0.*: No such file or directory +</pre> + <p> + It didn't exist under that name, but I then did:<br/> + # <b>ls -al /dev/spid*</b><br/> + Output: + </p> +<pre> +crw-rw---T 1 root spi 153, 0 Nov 19 21:07 /dev/spidev1.0 +</pre> + <p> + Now the BBB is ready to be used for flashing. Make this persist + across reboots:<br/> + In /etc/default/capemgr add <b>CAPE=BB-SPI0-01</b> at the end + (or change the existing <b>CAPE=</b> entry to say that, if an + entry already exists. + </p> + <p> + Now you will download and build <b>flashrom</b> on the BBB.<br/> + # <b>apt-get install libpci-dev pciutils zlib1g-dev libftdi-dev build-essential subversion</b><br/> + # <b>svn co svn://flashrom.org/flashrom/trunk flashrom</b><br/> + # <b>cd flashrom/</b><br/> + # <b>make</b> + </p> + + <p> + Now test flashrom:<br/> + # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512</b><br/> + Output: + </p> +<pre> +Calibrating delay loop... OK. +No EEPROM/flash device found. +Note: flashrom can never write if the flash chip isn't found automatically. +</pre> + + <p> + This means that it's working (the clip isn't connected to any flash chip, + so the error is fine). + </p> + <h2> + Connecting the Pomona 5250/5252 + </h2> + <p> + Use this image for reference when connecting the pomona to the BBB: + <a href="http://beagleboard.org/Support/bone101#headers">http://beagleboard.org/Support/bone101#headers</a> + (D0 = MISO or connects to MISO). + </p> + + <p> + The following shows how to connect clip to the BBB (on the P9 header), for SOIC-16 (clip: Pomona 5252): + </p> +<pre> + NC - - 21 + 1 - - 17 + NC - - NC + NC - - NC + NC - - NC + NC - - NC + 18 - - 3.3V PSU RED + 22 - - NC - this is pin 1 on the flash chip +<i>This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.</i> +</pre> + <p> + The following shows how to connect clip to the BBB (on the P9 header), for SOIC-8 (clip: Pomona 5250): + </p> +<pre> + 18 - - 1 + 22 - - NC + NC - - 21 + 3.3V PSU RED - - 17 - this is pin 1 on the flash chip +<i>This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.</i> +</pre> + <p> + <b>NC = no connection</b> + </p> + <p> + <b><u>DO NOT</u> connect 3.3V PSU RED yet. ONLY connect this once the pomona is connected to the flash chip.</b> + </p> + <p> + <b>You also need to connect the BLACK wire from the 3.3V PSU to pin 2 on the BBB (P9 header). It is safe to install this now + (that is, before you connect the pomona to the flash chip).</b> + </p> + <p> + if you need to extend the 3.3v psu leads, just use the same colour M-F leads, <b>but</b> keep all other + leads short (10cm or less) + </p> + + <p> + <a href="images/x200/5252_bbb0.jpg">images/x200/5252_bbb0.jpg</a> and + <a href="images/x200/5252_bbb1.jpg">images/x200/5252_bbb1.jpg</a> shows a properly wired up BBB with Pomona + 5252 before being connected to the flash chip on the X200. + </p> + + <p> + That's basically it. Now refer back to the documentation for how to use this on your board. + </p> + + <p> + <a href="#pagetop">Back to top of page.</a> + </p> + +<hr/> + + <p> + Copyright © 2014 Francis Rowe <info@gluglug.org.uk><br/> + This document is released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions. + A copy of the license can be found at <a href="../license.txt">../license.txt</a>. + </p> + + <p> + This document is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See <a href="../license.txt">../license.txt</a> for more information. + </p> + +</body> +</html> diff --git a/docs/install/images/x60/th_bbb_flashing.jpg b/docs/install/images/x60/th_bbb_flashing.jpg Binary files differnew file mode 100644 index 00000000..dd51242d --- /dev/null +++ b/docs/install/images/x60/th_bbb_flashing.jpg diff --git a/docs/install/index.html b/docs/install/index.html index 7bd670d8..dc2de70a 100644 --- a/docs/install/index.html +++ b/docs/install/index.html @@ -20,6 +20,10 @@ <p> Or <a href="../index.html">Back to main index</a>. </p> + <h2>Setting up external programmers</h2> + <ul> + <li><a href="bbb_setup.html">Setup the BeagleBone Black as an SPI flashrom programmer</a></li> + </ul> <h2>Installing libreboot (software)</h2> <ul> <li><a href="#rom">Recommended ROM's to flash</a></li> diff --git a/docs/install/t60_unbrick.html b/docs/install/t60_unbrick.html index c2b26e64..8d7ab9de 100644 --- a/docs/install/t60_unbrick.html +++ b/docs/install/t60_unbrick.html @@ -22,8 +22,6 @@ <h2>Table of Contents</h2> <ul> - <li><a href="#hardware_requirements">Hardware Requirements</a></li> - <li><a href="#software_requirements">Software Requirements</a></li> <li> Types of brick: <ul> @@ -33,22 +31,6 @@ </li> </ul> - <h1 id="hardware_requirements">Hardware requirements</h1> - <ul> - <li>a 2nd computer (maybe another T60. any computer will do)</li> - <li>external flashrom-compatible programmer (I'm using the "bus pirate") - <li>SOIC-8 IC clip (I'm using the Pomona 5250)</li> - <li>Cable (programmer<>clip) - mine came with the bus pirate.</li> - <li>USB mini a to b cable (for buspirate<>computer connection).</li> - <li>rubbing or isopropyl alcohol and thermal compound for changing CPU heatsink (procedure involves removing heatsink)</li> - </ul> - - <h1 id="software_requirements">Software requirements</h1> - <ul> - <li>GNU/Linux (on the 2nd computer)</li> - <li>flashrom software (on the 2nd computer): <a href="http://flashrom.org/">http://flashrom.org/</a> - </ul> - <h1 id="bucts_brick">Brick type 1: bucts not reset.</h1> <p> You still have Lenovo BIOS, or you had libreboot running and you flashed another ROM; and you had bucts 1 set and @@ -173,63 +155,41 @@ <img src="../images/t60_dev/0027.JPG" alt="" /> <img src="../images/t60_dev/0028.JPG" alt="" /> <img src="../images/t60_dev/0029.JPG" alt="" /> <img src="../images/t60_dev/0031.JPG" alt="" /> <img src="../images/t60_dev/0032.JPG" alt="" /> <img src="../images/t60_dev/0033.JPG" alt="" /> </p> + + <p> + Now wire up the BBB and the Pomona with your PSU.<br/> + Refer to <a href="bbb_setup.html">bbb_setup.html</a> for how to setup + the BBB for flashing.<br/> + <b>Note, the guide mentions a 3.3v DC PSU but you don't need this on the T60: + if you don't have or don't want to use an external PSU, then make + sure not to connect the red/black 3.3v leads mentioned in the guide; + instead, connect the AC adapter (the one that normally charges your + battery) so that the board has power (but don't boot it up)</b><br/> + <img src="../images/t60_dev/0030.JPG" alt="" /><br/> + Correlate the following with the BBB guide linked above: + </p> +<pre> +POMONA 5250: +=== DVD drive ==== + 18 - - 1 + 22 - - NC ---- RAM is on this end + NC - - 21 + 3.3V PSU RED - - 17 - this is pin 1 on the flash chip +=== audio jacks === +<i>This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.</i> +</pre> <p> - At this point, you should wire up your programmer according to it's documentation. For me, this was (see: "SparkFun cable pin reference"):<br/> - <a href="http://dangerousprototypes.com/docs/Common_Bus_Pirate_cable_pinouts">http://dangerousprototypes.com/docs/Common_Bus_Pirate_cable_pinouts</a>.<br/> - Correlating with the following information, I was able to wire up my pirate correctly:<br/> - <a href="http://flashrom.org/Bus_Pirate#Connections">http://flashrom.org/Bus_Pirate#Connections</a><br/> - And by following that advice:<br/> - <a href="http://www.coreboot.org/Board:lenovo/x60/Installation#Howto">http://www.coreboot.org/Board:lenovo/x60/Installation#Howto</a>.<br/> - (it says X60 but instructions are virtually the same for the T60, with except to physical differences in how to disassemble the machine)<br/> - Note: that last page says to wire up only those 5 pins (see below) like that: 1, 2, 4, 5, 6.<br/> - Note: and then, for power it says (on that coreboot.org page) to connect the power jack to the board and connect the - AC adapter (without powering on the board).<br/> - Note: I ignored that advice, and wired up all 8 pins. And it worked.<br/> - - Here is the pinout (correlate it with your programmer's documentation):<br/> - <img src="../images/t60_dev/0030.JPG" alt="" /> - </p> - - <p> - Connecting the pomona:<br/> - <img src="../images/t60_dev/0034.JPG" alt="" /> - </p> - - <p> - Connect programmer to 2nd computer:<br/> - <img src="../images/t60_dev/0035.JPG" alt="" /> - </p> - - <p> - Programmer has power:<br/> - <img src="../images/t60_dev/0036.JPG" alt="" /> + Connect the pomona from the BBB to the flash chip. No pics unfortunately. (use the text diagram above). </p> <p> - Now flash the bricked machine using the 2nd computer. in my case I did:<br/> - <b>flashrom -p buspirate_spi:dev=/dev/ttyUSB0 -w bin/t60/libreboot_usqwerty.rom</b><br/> - Note: there are also other ROM images for T60<br/> - Note: this is using buspirate as the programmer, so it is flashing the T60, not the 2nd computer!<br/> - Here's my terminal window on the 2nd computer (also the programmer is active):<br/> - <img src="../images/t60_dev/0037.JPG" alt="" /> <img src="../images/t60_dev/0038.JPG" alt="" /><br/> - So, you should see the following:<br/> - -- + SSH'd into the BBB:<br/> + # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w yourrom.rom</b> </p> - <pre> -flashrom v0.9.5.2-r1517 on Linux 3.2.0-61-generic (i686), built with libpci 3.1.8, GCC 4.6.3, little endian -flashrom is free software, get the source code at http://www.flashrom.org - -Calibrating delay loop... delay loop is unreliable, trying to continue OK. -Found Macronix flash chip "MX25L1605" (2048 kB, SPI) on buspirate_spi. -Reading old flash chip contents... done. -Erasing and writing flash chip... Erase/write done. -Verifying flash... VERIFIED. -</pre> <p> - --<br/> - At the end it says "VERIFIED", which means that the procedure worked. If you see this, it means - that you can put your T60 back together. So let's do that now. + It should be <b>Verifying flash... VERIFIED</b> at the end. If flashrom complains about multiple flash chip + definitions detected, then choose one of them following the instructions in the output. </p> <p> diff --git a/docs/install/x200_external.html b/docs/install/x200_external.html index aa077da5..207a7699 100644 --- a/docs/install/x200_external.html +++ b/docs/install/x200_external.html @@ -42,7 +42,7 @@ <hr/> - <h1 id="hardware_requirements">Hardware requirements</h1> + <h1 id="flashchips">Flash chips</h1> <p> There are two possible flash chip sizes for the X200: 4MiB @@ -54,242 +54,24 @@ </p> <p> - Shopping list (pictures of this hardware is shown later): - </p> - <ul> - <li> - External SPI programmer: <b>BeagleBone Black</b> (rev. C) - is highly recommended. Sometimes referred to as 'BBB'. - </li> - <li> - Clip for connecting to the flash chip: <b>Pomona 5250</b> - (SOIC-8) or <b>Pomona 5250</b> (SOIC-16) is recommended - (<b>X200S and X200 Tablet users will need a soldering iron - instead</b>, because of the type of package the flash chip is - in on those machines). - </li> - <li> - <b>External 3.3V DC power supply</b>. The one used by this - author has the label HF100W-SF-3.3 on it, but any decent - supply will be fine. Some people use the 3.3V from an ATX - PSU for instance (the kind that you get on a typical - Intel/AMD desktop computer. 6A supply should be fine, - the one used by this author is 20A (it won't actually use - that, it's just what the PSU is capable of). - </li> - <li> - Dupont <b>jumper cables</b> (2.54mm / 0.1" headers) - You should get male-male, male-female and female-female - cables in 10cm and 20cm sizes. Just get a load of them. - </li> - <li> - <b>Mini USB A-B cable</b> (the BeagleBone probably already comes - with one.) - </li> - <li> - <b>FTDI serial board</b>, for unbricking the BeagleBone if - necessary. - </li> - <li> - <b>5V DC power supply</b> (from wall outlet to the BeagleBone). - The BeagleBone can have power supplied via USB, but a - dedicated power supply is recommended. - </li> - </ul> - - <p> <a href="#pagetop">Back to top of page.</a> </p> <hr/> - <h1 id="configure_bbb">Configuring the BeagleBone Black</h1> + <h1>Initial BBB setup</h1> - <h2>Setting up the 3.3V DC PSU</h2> - <p> - With my PSU, first I had wire up the mains power cable. Any clover or kettle lead will do. Cut the end off (not the one - that goes in the wall, but the kettle/clover connector). - Strip the protection away by a decent length, then strip the wires inside so that a decent amount of - copper is shown. Then wire up earth/live/neutral. This will vary according to what country you live in - and/or the colour codes that your cable uses inside. <b>Make sure to get this right, as a botched job - could result in extreme damage to you and your surroundings. Here's what mine looks like after wiring up - the power cable: <a href="images/x200/psu_power.jpg">images/x200/psu_power.jpg</a> - also, make sure - that the plug (for the wall) has the correct fuse. In my case I had a 240V wall socket, and the device - says that it accepts 1.5A at that voltage, so I used the smallest fuse available (3A). For 110-120V the device - says it needs 2.8A.</b> Also, if yours looks like in the image linked above, make sure to wrap electrical tape (lots) - around it for safety. (otherwise, don't touch the terminals while the PSU is plugged in). - </p> - <p> - Now take a red and black 20cm female-female jumper lead, and cut one of the ends off. Strip away the bare copper by about 1 or - 1.5cm so you get this: <a href="images/x200/stripped_jumper_lead.jpg">images/x200/stripped_jumper_lead.jpg</a>. - </p> - <p> - Black goes on -V, red goes on +V. In my case, I removed those screws from my PSU like this: - <a href="images/x200/psu_screws_removed.jpg">images/x200/psu_screws_removed.jpg</a>. Then, - </p> - <p> - Then I twisted the exposed copper on the jumper leads (so that they don't fray), and wrapped each to one of the - screws each, around it near the head. I then screwed them in: - <a href="images/x200/psu_jumper_leads.jpg">images/x200/psu_jumper_leads.jpg</a>. - </p> - <p> - If you are using a different PSU, then the steps will change from those above. Anyway, once you are satisfied, - continue reading... - </p> - <h2>Setting up the BBB</h2> - <p> - Since it's a bare board (no case) and you are also touching inside your X200, you should be earthed/grounded. - <a href="images/x200/strap.jpg">images/x200/strap.jpg</a> shows how I earthed myself. This is to prevent you - from causing any ESD damage. The surface that you place components on should also be earthed/grounded. - (for this, I used a shielded ESD bag with a wire, copper exposed, attached from the bag to the exposed metal - part on a radiator, which was earthed - not professional, but it should work. see <a href="images/x200/mat.jpg">images/x200/mat.jpg</a>). - Most people ignore this advice and don't ground/earth themselves, at their own risk. You should also store the BBB - in a shielded anti-static bag when you are finished with it. - (the principles above apply to any computer components, since they are extremely sensitive te ESD). - </p> - <p> - These instructions may or may not work for you. They are simply the steps that this author took. - </p> - <p> - setting up SPIDEV on the BBB: <a href="http://elinux.org/BeagleBone_Black_Enable_SPIDEV#SPI0">http://elinux.org/BeagleBone_Black_Enable_SPIDEV#SPI0</a> - - If you only setup SPI0, you don't have to disable the HDMI out. (you only need one). - That guide is for seting up the device overlay for SPIDEV, last part is to make it persist across reboots. - Needed to turn the BBB into an SPI flasher. - </p> - <p> - Don't bother modifying uEnv.txt. it won't work; - use the workaround here instead: <a href="http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Loading_custom_capes">http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Loading_custom_capes</a>. - </p> - <p> - Follow the instructions at <a href="http://elinux.org/BeagleBone_Black_Enable_SPIDEV#SPI0">http://elinux.org/BeagleBone_Black_Enable_SPIDEV#SPI0</a> - up to (and excluding) the point where it tells you to modify uEnv.txt - </p> - <p> - You need to update the software on the BBB first. Before being able to use apt-get, - I had to use the workaround defined <a href="https://groups.google.com/forum/?_escaped_fragment_=msg/beagleboard/LPjCn4LEY2I/alozBGsbTJMJ#!msg/beagleboard/LPjCn4LEY2I/alozBGsbTJMJ">here</a>:<br/> - - Replace the contents of /etc/init.d/led_aging.sh with: - </p> -<pre> -#!/bin/sh -e -### BEGIN INIT INFO -# Provides: led_aging.sh -# Required-Start: $local_fs -# Required-Stop: $local_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Start LED aging -# Description: Starts LED aging (whatever that is) -### END INIT INFO - -x=$(/bin/ps -ef | /bin/grep "[l]ed_acc") -if [ ! -n "$x" -a -x /usr/bin/led_acc ]; then - /usr/bin/led_acc & -fi -</pre> - </p> - Run <b>apt-get update</b> and <b>apt-get upgrade</b> then reboot the BBB, before continuing. - </p> - <p> - Run those commands:<br/> - # <b>echo BB-SPI0-01 > /sys/devices/bone_capemgr.*/slots</b><br/> - Then I did:<br/> - # <b>ls -al /dev/spidev0.*</b><br/> - <i>ls: cannot access /dev/spidev0.*: No such file or directory</i><br/> - Then I rebooted and did:<br/> - # <b>cat /sys/devices/bone_capemgr.*/slots</b><br/> - Output: - </p> -<pre> - 0: 54:PF--- - 1: 55:PF--- - 2: 56:PF--- - 3: 57:PF--- - 4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G - 5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI -</pre> - <p> - And then:<br/> - # <b>ls /lib/firmware/BB-SPI0-01-00A0.*</b><br/> - Output: - </p> -<pre> -/lib/firmware/BB-SPI0-01-00A0.dtbo -</pre> - <p> - Then:<br/> - # <b>echo BB-SPI0-01 > /sys/devices/bone_capemgr.*/slots</b><br/> - # <b>cat /sys/devices/bone_capemgr.*/slots</b><br/> - Output: - </p> -<pre> - 0: 54:PF--- - 1: 55:PF--- - 2: 56:PF--- - 3: 57:PF--- - 4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G - 5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI - 7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-SPI0-01 -</pre> - <p> - Then check if the device exists:<br/> - # <b>ls -al /dev/spidev0.*</b><br/> - Output: - </p> -<pre> -ls: cannot access /dev/spidev0.*: No such file or directory -</pre> - <p> - It didn't exist under that name, but I then did:<br/> - # <b>ls -al /dev/spid*</b><br/> - Output: - </p> -<pre> -crw-rw---T 1 root spi 153, 0 Nov 19 21:07 /dev/spidev1.0 -</pre> - <p> - Now the BBB is ready to be used for flashing. Make this persist - across reboots:<br/> - In /etc/default/capemgr add <b>CAPE=BB-SPI0-01</b> at the end - (or change the existing <b>CAPE=</b> entry to say that, if an - entry already exists. - </p> - <p> - Now you will download and build <b>flashrom</b> on the BBB.<br/> - # <b>apt-get install libpci-dev pciutils zlib1g-dev libftdi-dev build-essential subversion</b><br/> - # <b>svn co svn://flashrom.org/flashrom/trunk flashrom</b><br/> - # <b>cd flashrom/</b><br/> - # <b>make</b> - </p> - - <p> - Now test flashrom:<br/> - # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512</b><br/> - Output: - </p> -<pre> -Calibrating delay loop... OK. -No EEPROM/flash device found. -Note: flashrom can never write if the flash chip isn't found automatically. -</pre> + <p> + Refer to <a href="bbb_setup.html">bbb_setup.html</a> for how to + setup the BBB for flashing. + </p> - <p> - This means that it's working (the clip isn't connected to any flash chip, - so the error is fine). - </p> - <h2> - Connecting the Pomona 5250/5252 - </h2> - <p> - Use this image for reference when connecting the pomona to the BBB: - <a href="http://beagleboard.org/Support/bone101#headers">http://beagleboard.org/Support/bone101#headers</a> - (D0 = MISO or connects to MISO). - </p> - - <p> - The following shows how to connect clip to the BBB (on the P9 header), for SOIC-16 (clip: Pomona 5252): - </p> + <p> + The following shows how to connect clip to the BBB (on the P9 header), for SOIC-16 (clip: Pomona 5252): + </p> <pre> -=== front (display) ==== +POMONA 5252 (correlate with the BBB guide) +=== front (display) on your X200 ==== NC - - 21 1 - - 17 NC - - NC @@ -298,48 +80,30 @@ Note: flashrom can never write if the flash chip isn't found automatically. NC - - NC 18 - - 3.3V PSU RED 22 - - NC - this is pin 1 on the flash chip -=== back (palmrest) === +=== back (palmrest) on your X200 === <i>This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.</i> </pre> - <p> - The following shows how to connect clip to the BBB (on the P9 header), for SOIC-8 (clip: Pomona 5250): - </p> + <p> + The following shows how to connect clip to the BBB (on the P9 header), for SOIC-8 (clip: Pomona 5250): + </p> <pre> -=== front (display) ==== +POMONA 5250 (correlate with the BBB guide) +=== front (display) on your X200 ==== 18 - - 1 22 - - NC NC - - 21 3.3V PSU RED - - 17 - this is pin 1 on the flash chip -=== back (palmrest) === +=== back (palmrest) on your X200 === <i>This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.</i> </pre> - <p> - <b>On the X200S the flash chip is underneath the board, in a WSON package. - The pinout is very much the same as a SOIC-8, except you need to solder (there are no clips available). - <a href="images/x200/wson_soldered.jpg">images/x200/wson_soldered.jpg</a> (image copyright (C) 2014 <a href="mailto:sgsit@libreboot.org">Steve Shenton</a> under CC-BY-SA 4.0 - or higher, same license that this document uses) shows it wired (soldered) and - connected to a BBB.</b> - </p> - <p> - <b>NC = no connection</b> - </p> - <p> - <b><u>DO NOT</u> connect 3.3V PSU RED yet. ONLY connect this once the pomona is connected to the flash chip.</b> - </p> - <p> - <b>You also need to connect the BLACK wire from the 3.3V PSU to pin 2 on the BBB (P9 header). It is safe to install this now.</b> - </p> - <p> - if you need to extend the 3.3v psu leads, just use the same colour M-F leads, <b>but</b> keep all other - leads short (10cm or less) - </p> - - <p> - <a href="images/x200/5252_bbb0.jpg">images/x200/5252_bbb0.jpg</a> and - <a href="images/x200/5252_bbb1.jpg">images/x200/5252_bbb1.jpg</a> shows a properly wired up BBB with Pomona - 5252 before being connected to the flash chip on the X200. - </p> - + <p> + <b>On the X200S the flash chip is underneath the board, in a WSON package. + The pinout is very much the same as a SOIC-8, except you need to solder (there are no clips available). + <a href="images/x200/wson_soldered.jpg">images/x200/wson_soldered.jpg</a> (image copyright (C) 2014 <a href="mailto:sgsit@libreboot.org">Steve Shenton</a> under CC-BY-SA 4.0 + or higher, same license that this document uses) shows it wired (soldered) and + connected to a BBB.</b> + </p> + <h2> Connect Pomona 5252/5250 to the X200 flash chip, and dump/flash </h2> @@ -356,7 +120,7 @@ Note: flashrom can never write if the flash chip isn't found automatically. Then connect the 3.3v PSU wire (red one) and make sure that everything else is connected. </p> <p> - I did:<br/> + I did (SSH'd into the BBB):<br/> # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512</b><br/> In my case, the output was: </p> diff --git a/docs/install/x60_unbrick.html b/docs/install/x60_unbrick.html index 751c4a80..3b3d6be4 100644 --- a/docs/install/x60_unbrick.html +++ b/docs/install/x60_unbrick.html @@ -22,8 +22,6 @@ <h2>Table of Contents</h2> <ul> - <li><a href="#hardware_requirements">Hardware Requirements</a></li> - <li><a href="#software_requirements">Software Requirements</a></li> <li> Types of brick: <ul> @@ -33,21 +31,6 @@ </li> </ul> - <h1 id="hardware_requirements">Hardware requirements</h1> - <ul> - <li>a 2nd computer (maybe another X60. any computer will do)</li> - <li>external flashrom-compatible programmer (I'm using the "bus pirate") - <li>SOIC-8 IC clip (I'm using the Pomona 5250)</li> - <li>Cable (programmer<>clip) - mine came with the bus pirate.</li> - <li>USB mini a to b cable (for buspirate<>computer connection).</li> - </ul> - - <h1 id="software_requirements">Software requirements</h1> - <ul> - <li>GNU/Linux (on the 2nd computer)</li> - <li>flashrom software (on the 2nd computer): <a href="http://flashrom.org/">http://flashrom.org/</a> - </ul> - <h1 id="bucts_brick">Brick type 1: bucts not reset.</h1> <p> You still have Lenovo BIOS, or you had libreboot running and you flashed another ROM; and you had bucts 1 set and @@ -136,55 +119,43 @@ <img src="../images/x60_unbrick/0016.jpg" alt="" /> </p> <p> - At this point, you should wire up your programmer according to it's documentation. For me, this was (see: "SparkFun cable pin reference"):<br/> - <a href="http://dangerousprototypes.com/docs/Common_Bus_Pirate_cable_pinouts">http://dangerousprototypes.com/docs/Common_Bus_Pirate_cable_pinouts</a>.<br/> - Correlating with the following information, I was able to wire up my pirate correctly:<br/> - <a href="http://flashrom.org/Bus_Pirate#Connections">http://flashrom.org/Bus_Pirate#Connections</a><br/> - And by following that advice:<br/> - <a href="http://www.coreboot.org/Board:lenovo/x60/Installation#Howto">http://www.coreboot.org/Board:lenovo/x60/Installation#Howto</a>.<br/> - Note: that last page says to wire up only those 5 pins (see below) like that: 1, 2, 4, 5, 6.<br/> - Note: and then, for power it says (on that coreboot.org page) to connect the power jack to the board and connect the - AC adapter (without powering on the board).<br/> - Note: I ignored that advice, and wired up all 8 pins. And it worked.<br/> - - Here is the pinout (correlate it with your programmer's documentation):<br/> - <img src="../images/x60_unbrick/0017.jpg" alt="" /> + Now wire up the BBB and the Pomona with your PSU.<br/> + Refer to <a href="bbb_setup.html">bbb_setup.html</a> for how to setup + the BBB for flashing.<br/> + <b>Note, the guide mentions a 3.3v DC PSU but you don't need this on the X60: + if you don't have or don't want to use an external PSU, then make + sure not to connect the red/black 3.3v leads mentioned in the guide; + instead, connect the AC adapter (the one that normally charges your + battery) so that the board has power (but don't boot it up)</b> + <img src="../images/x60_unbrick/0017.jpg" alt="" /><br/> + Correlate the following with the BBB guide linked above: </p> +<pre> +POMONA 5250: +=== golden finger and wifi switch ==== + 18 - - 1 + 22 - - NC ---------- audio jacks are on this end + NC - - 21 + 3.3V PSU RED - - 17 - this is pin 1 on the flash chip +=== CPU fan === +<i>This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.</i> +</pre> <p> - My programmer (bus pirate):<br/> - <img src="../images/x60_unbrick/0019.jpg" alt="" /><br/> - My clip (pomona 5250):<br/> - <img src="../images/x60_unbrick/0020.jpg" alt="" /><br/> - Connecting the pomona:<br/> - <img src="../images/x60_unbrick/0022.jpg" alt="" /><br/> - Connecting the USB cable from programmer to 2nd(working/non-bricked) computer, my T60:<br/> - <img src="../images/x60_unbrick/0024.jpg" alt="" /><br/> - Now I install flashrom on the T60 (running Trisquel GNU/Linux) and do this:<br/> - <b>flashrom -p buspirate_spi:dev=/dev/ttyUSB0 -w bin/x60/libreboot_usqwerty.rom</b><br/> - Note: there are also other ROM images for X60<br/> - Note: this is using buspirate as the programmer, so it is flashing the X60, not the T60!<br/> - Here's my terminal window on the T60:<br/> - <img src="../images/x60_unbrick/0025.jpg" alt="" /><br/> - So, you should see the following:<br/> - -- + Connecting the BBB and pomona (in this image, an external 3.3v DC PSU was used):<br/> + <img src="images/x60/th_bbb_flashing.jpg" alt="" /> </p> -<pre> -flashrom v0.9.5.2-r1517 on Linux 3.2.0-61-generic (i686), built with libpci 3.1.8, GCC 4.6.3, little endian -flashrom is free software, get the source code at http://www.flashrom.org -Calibrating delay loop... delay loop is unreliable, trying to continue OK. -Found Macronix flash chip "MX25L1605" (2048 kB, SPI) on buspirate_spi. -Reading old flash chip contents... done. -Erasing and writing flash chip... Erase/write done. -Verifying flash... VERIFIED. -</pre> <p> - --<br/> - At the end it says "VERIFIED", which means that the procedure worked. If you see this, it means - that you can put your X60 back together. So let's do that now. + SSH'd into the BBB:<br/> + # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w yourrom.rom</b> </p> <p> + It should be <b>Verifying flash... VERIFIED</b> at the end. If flashrom complains about multiple flash chip + definitions detected, then choose one of them following the instructions in the output. + </p> + + <p> Remove the programmer and put it away somewhere. Put back the tape and press firmly over it:<br/> <img src="../images/x60_unbrick/0026.jpg" alt="" /> </p> diff --git a/docs/install/x60tablet_unbrick.html b/docs/install/x60tablet_unbrick.html index b5aad3c5..cd2878ce 100644 --- a/docs/install/x60tablet_unbrick.html +++ b/docs/install/x60tablet_unbrick.html @@ -22,8 +22,6 @@ <h2>Table of Contents</h2> <ul> - <li><a href="#hardware_requirements">Hardware Requirements</a></li> - <li><a href="#software_requirements">Software Requirements</a></li> <li> Types of brick: <ul> @@ -33,21 +31,6 @@ </li> </ul> - <h1 id="hardware_requirements">Hardware requirements</h1> - <ul> - <li>a 2nd computer (maybe another X60 Tablet. any computer will do)</li> - <li>external flashrom-compatible programmer (I'm using the "bus pirate") - <li>SOIC-8 IC clip (I'm using the Pomona 5250)</li> - <li>Cable (programmer<>clip) - mine came with the bus pirate.</li> - <li>USB mini a to b cable (for buspirate<>computer connection).</li> - </ul> - - <h1 id="software_requirements">Software requirements</h1> - <ul> - <li>GNU/Linux (on the 2nd computer)</li> - <li>flashrom software (on the 2nd computer): <a href="http://flashrom.org/">http://flashrom.org/</a> - </ul> - <h1 id="bucts_brick">Brick type 1: bucts not reset.</h1> <p> You still have Lenovo BIOS, or you had libreboot running and you flashed another ROM; and you had bucts 1 set and @@ -126,65 +109,42 @@ Remove that screw and then remove the board:<br/> <img src="../images/x60t_unbrick/0009.JPG" alt="" /> </p> - + <p> - At this point, you should wire up your programmer according to it's documentation. For me, this was (see: "SparkFun cable pin reference"):<br/> - <a href="http://dangerousprototypes.com/docs/Common_Bus_Pirate_cable_pinouts">http://dangerousprototypes.com/docs/Common_Bus_Pirate_cable_pinouts</a>.<br/> - Correlating with the following information, I was able to wire up my pirate correctly:<br/> - <a href="http://flashrom.org/Bus_Pirate#Connections">http://flashrom.org/Bus_Pirate#Connections</a><br/> - And by following that advice:<br/> - <a href="http://www.coreboot.org/Board:lenovo/x60/Installation#Howto">http://www.coreboot.org/Board:lenovo/x60/Installation#Howto</a>.<br/> - Note: that last page says to wire up only those 5 pins (see below) like that: 1, 2, 4, 5, 6.<br/> - Note: and then, for power it says (on that coreboot.org page) to connect the power jack to the board and connect the - AC adapter (without powering on the board).<br/> - Note: I ignored that advice, and wired up all 8 pins. And it worked.<br/> - - Here is the pinout (correlate it with your programmer's documentation):<br/> + Now wire up the BBB and the Pomona with your PSU.<br/> + Refer to <a href="bbb_setup.html">bbb_setup.html</a> for how to setup + the BBB for flashing.<br/> + <b>Note, the guide mentions a 3.3v DC PSU but you don't need this on the X60 Tablet: + if you don't have or don't want to use an external PSU, then make + sure not to connect the red/black 3.3v leads mentioned in the guide; + instead, connect the AC adapter (the one that normally charges your + battery) so that the board has power (but don't boot it up)</b> <img src="../images/x60t_unbrick/0011.JPG" alt="" /><br/> - (SPI chip here is on the bottom of the board) - </p> - - <p> - Bus pirate:<br/> - <img src="../images/x60_unbrick/0019.jpg" alt="" /> + Correlate the following with the BBB guide linked above: </p> +<pre> +POMONA 5250: +=== golden finger and wifi switch ==== + 18 - - 1 + 22 - - NC ---------- audio jacks are on this end + NC - - 21 + 3.3V PSU RED - - 17 - this is pin 1 on the flash chip +=== CPU fan === +<i>This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.</i> +</pre> <p> - Pomona 5250:<br/> - <img src="../images/x60_unbrick/0020.jpg" alt="" /> + Connecting the BBB and pomona (in this image, an external 3.3v DC PSU was used):<br/> + <img src="images/x60/th_bbb_flashing.jpg" alt="" /> </p> <p> - Connect pomona:<br/> - <img src="../images/x60_unbrick/0022.jpg" alt="" /> + SSH'd into the BBB:<br/> + # <b>./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w yourrom.rom</b> </p> - - <p> - Connect pirate to USB on 2nd computer:<br/> - <img src="../images/x60_unbrick/0024.jpg" alt="" /> - </p> - - <p> - <img src="../images/x60_unbrick/0025.jpg" alt="" /> - </p> - - <p> - On the 2nd machine, I did: <b>flashrom -p buspirate_spi:dev=/dev/ttyUSB0 -w bin/x60t/libreboot_ukqwerty.rom</b> - </p> - - <pre> - flashrom v0.9.5.2-r1517 on Linux 3.2.0-61-generic (i686), built with libpci 3.1.8, GCC 4.6.3, little endian - flashrom is free software, get the source code at http://www.flashrom.org - - Calibrating delay loop... delay loop is unreliable, trying to continue OK. - Found Macronix flash chip "MX25L1605" (2048 kB, SPI) on buspirate_spi. - Reading old flash chip contents... done. - Erasing and writing flash chip... Erase/write done. - Verifying flash... VERIFIED. - </pre> - <p> - At the end it says "VERIFIED", which means that the procedure worked. If you see this, it means that you can put your X60T back together. So let's do that now. + It should be <b>Verifying flash... VERIFIED</b> at the end. If flashrom complains about multiple flash chip + definitions detected, then choose one of them following the instructions in the output. </p> <p> |