summaryrefslogtreecommitdiffstats
path: root/docs/install
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2015-07-11 13:26:40 (EDT)
committer Francis Rowe <info@gluglug.org.uk>2015-07-11 16:47:16 (EDT)
commitbefeea2ee3c969471a30becb38cd2abf9c4e2413 (patch)
treecfbb09142737d382184e44aa7e68ec9311f1acd1 /docs/install
parentc94328112af92906ecc55c6f14d96481b723e3e4 (diff)
downloadlibreboot-befeea2ee3c969471a30becb38cd2abf9c4e2413.zip
libreboot-befeea2ee3c969471a30becb38cd2abf9c4e2413.tar.gz
libreboot-befeea2ee3c969471a30becb38cd2abf9c4e2413.tar.bz2
Documentation: convert to GFDL
Some sections were owned by other people; these were re-written, deleted, or moved. Alternatively, they were re-licensed as-is, with permission from the relevant author(s). Patrick "P. J." McDermott on #libreboot freenode IRC: Saturday, 11 July 2015 log: <francis7> pehjota, you made a few changes to the libreboot documentation <francis7> pehjota, do I have your permission to re-license those parts under GFDL 1.3/higher, with no invariant sections or back/front cover texts? <francis7> (if so, can you write to the mailing list?) <pehjota> francis7: Sure, I'll send a message to the libreboot-dev list later. (pehjota=Patrick McDermott) (francis7=Francis Rowe, the person making this commit) TODO: docs/install/bbb_ehci.html: Get permission from author to re-license it (contact Alex David. tty0_ on IRC)
Diffstat (limited to 'docs/install')
-rw-r--r--docs/install/bbb_ehci.html482
-rw-r--r--docs/install/bbb_setup.html486
-rw-r--r--docs/install/index.html62
-rw-r--r--docs/install/r400_external.html62
-rw-r--r--docs/install/t400_external.html62
-rw-r--r--docs/install/t500_external.html62
-rw-r--r--docs/install/t60_unbrick.html44
-rw-r--r--docs/install/x200_external.html66
-rw-r--r--docs/install/x60_unbrick.html44
-rw-r--r--docs/install/x60tablet_unbrick.html44
10 files changed, 839 insertions, 575 deletions
diff --git a/docs/install/bbb_ehci.html b/docs/install/bbb_ehci.html
new file mode 100644
index 0000000..45fc68f
--- /dev/null
+++ b/docs/install/bbb_ehci.html
@@ -0,0 +1,482 @@
+<!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>EHCI debugging on the BeagleBone Black</title>
+</head>
+
+<body>
+
+ <div class="section">
+ <h1 id="pagetop">EHCI debugging on the BeagleBone Black</h1>
+
+ <p><a href="index.html">Back to previous index</a></p>
+ </div>
+
+ <div class="section">
+ <h1>EHCI debugging</h1>
+ <ol class="toc">
+ <li><a href="#FindUSBportonthetargetthatsupportsEHCIdebug">Find
+ USB port on the target that supports EHCI debug</a></li>
+ <li><a href="#InitialsetupofBBBtoactasEHCIdebugdongle">Initial
+ setup of BBB to act as EHCI debug dongle</a></li>
+ <li><a href="#PatchBBBsgdbgpmoduleoptionalbuthighlyrecommended">Patch
+ BBB's <tt>g_dbgp</tt> module (optional, but highly recommended)</a></li>
+ <li><a href="#ConfigurelibrebootwithEHCIdebug">Configure
+ libreboot with EHCI debug</a>
+ <ol>
+ <li><a href="#SelectingHCDIndexandUSBDebugport">Selecting
+ <tt>HCD Index</tt> and <tt>USB Debug port</tt></a></li>
+ </ol></li>
+ <li><a href="#Howtogetthedebuglogs">How to get the debug
+ logs</a></li>
+ <li><a
+ href="#EnebleEHCIDebugonthetargetskerneloptionalrecommended">Eneble
+ EHCI Debug on the target's kernel (optional, recommended)</a></li>
+ <li><a href="#References">References</a></li>
+ </ol>
+ <p>If your computer does not boot after installing libreboot, it is
+ very useful to get debug logs from it, from the payload (grub) and/or
+ the kernel (if gets to there). All of them stream debug logs on the
+ available serial (RS-232) by default. However, most of todays laptops
+ lack RS-232 port. The other option is to stream the logs to USB EHCI
+ debug port.</p>
+ <p>This section explains step-by-step how to setup BBB as a
+ &#8220;USB EHCI debug dongle&#8221; and configure libreboot and the
+ linux kernel to stream logs to it (TODO: grub).</p>
+ <p>I will refer to three computers:</p>
+ <ul>
+ <li><b>host</b> - this is the computer you use, have
+ tools, compiler, Internet, etc</li>
+ <li><b>BBB</b> - Beaglebone Black (rev. B or higher, i
+ use rev. C)</li>
+ <li><b>target</b> - the computer you are trying to
+ install liberboot</li>
+ </ul>
+ <h3 id="FindUSBportonthetargetthatsupportsEHCIdebug">Find USB port
+ on the target that supports EHCI debug</h3>
+ <p>
+ Not all USB controllers support EHCI debug (see: <a
+ href="http://www.coreboot.org/EHCI_Debug_Port#Hardware_capability">EHCI
+ Debug Port</a> ). Even more, if a USB controller supports EHCI debug, it
+ is available only <b>on a single port</b> that might or might
+ not be exposed externally.
+ </p>
+ <ul>
+ <li>You need running OS (GNU/Linux) on your target for this step
+ (If you&#8217;ve flashed libreboot and it does not boot, you have to
+ flush back the stock bios)</li>
+ <li>You need USB memory stick (the data on it will not be
+ touched).</li>
+ <li>The EHCI debugging can not be done through external hub, BBB
+ must be connected directly to the debug port of the controller (so, no
+ hubs)</li>
+ </ul>
+ <ul>
+ <li>Download<sup class="footnote"><a href="#___fn1">1</a></sup> <a
+ href="http://www.coreboot.org/pipermail/coreboot/attachments/20080909/ae11c291/attachment.sh">this</a>
+ shell script.
+ </li>
+ </ul>
+ <ol>
+ <li>Plug the usb stick in the first available usb port</li>
+ <li>Run the script, you will get output similar to following:</li>
+<pre>The following PCI devices support a USB debug port (says lspci): 0000:00:1a.0 0000:00:1d.0
+The following PCI devices support a USB debug port (says the kernel): 0000:00:1a.0 0000:00:1d.0
+*PCI device 0000:00:1a.0, USB bus 3, USB physical port 1*
+*PCI device 0000:00:1d.0, USB bus 4, USB physical port 2*
+Currently connected high-speed devices:
+/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
+ |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
+ |__ Port 7: Dev 14, If 0, Class=Hub, Driver=hub/4p, 480M
+ |__ Port 1: Dev 15, If 0, Class=Hub, Driver=hub/4p, 480M
+ |__ Port 3: Dev 17, If 0, Class=Hub, Driver=hub/2p, 480M
+ |__ Port 4: Dev 18, If 0, Class=Hub, Driver=hub/4p, 480M
+/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
+ |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
+/: *Bus 01*.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
+ |__ *Port 3: Dev 31, If 0, Class=Mass Storage, Driver=usb-storage, 480M*
+</pre>
+ <li>The buses the support debug are Bus 3 (0000:00:1a.0) on Port 1
+ and Bus 4 (0000:00:1d.0) on port 2. Your usb stick is plugged on Bus
+ 1, Port 3</li>
+ <li>Repeat the steps, plugging the USB stick in the next available
+ port</li>
+ <li>Go through all available ports and remember(write down) those
+ for which bus/port of the usb stick matches one of the bus/port that
+ support debug (bold).</li>
+ </ol>
+ <p>Remember (write down) for each port (external plug) you found
+ that supports debug: <b>PCI device id, the bus id, the port number, and
+ the physical location of the usb plug.</b></p>
+ <p>If you do not find a match, you can not get debug over EHCI.
+ Sorry.</p>
+ <p id="___fn1" class="footnote">
+ <sup>1</sup> The guys from coreboot were talking about including the
+ script in coreboot distribution (check the status).
+ </p>
+ <h3 id="InitialsetupofBBBtoactasEHCIdebugdongle">Initial setup of
+ BBB to act as EHCI debug dongle</h3>
+ <p>BBB must be powered with a barrel power connector since the
+ mini-B USB plug will be used for the EHCI debug stream. So you will
+ need:</p>
+ <ul>
+ <li>power supply (5V, 2A(10W) is sufficient).</li>
+ <li>an extra usb cable: A to mini-B</li>
+ </ul>
+ <p>
+ (On BBB) The linux kernel includes module (g_dbgp that enables one of the usb ports on a computer to behave as EHCI
+ debug dongle. Make sure you have this module available on your BBB
+ (Debian 7.8 that comes with BBB should have it), if not, you should
+ compile it yourself (see next section):
+ </p>
+<pre>ls /lib/modules/3.8.13-bone70/kernel/drivers/usb/gadget/g_dbgp.ko</pre>
+ <p>
+ Unload all other
+ g_*
+ modules:
+ </p>
+<pre># lsmod
+# rmmod g_multi
+...
+</pre>
+ <p>
+ Then load
+ g_dbgp
+ :
+ </p>
+<pre># modprobe g_dbgp
+# lsmod # should show that g_dbgp is loaded, and no other g_*
+</pre>
+ <p>
+ Plug the mini-B side of the USB cable in your BBB and the A side in
+ your target. Then one of the usb devices on your target (with
+ lsusb
+ ) should be:
+ </p>
+<pre>Bus 001 Device 024: ID 0525:c0de Netchip Technology, Inc.</pre>
+ <p>If you see the device on the target, you are good to continue to
+ the next step.</p>
+ <h3 id="PatchBBBsgdbgpmoduleoptionalbuthighlyrecommended">
+ Patch BBB&#8217;s
+ g_dbgp
+ module (optional, but highly recommended)
+ </h3>
+ <p>
+ For the reasons why you need this, see: <a
+ href="http://www.coreboot.org/EHCI_Gadget_Debug">EHCI Gadget Debug</a>.<br />Make
+ sure that you have cross compiling environment for
+ arm-linux-gnueabihf
+ setup on your <em>host</em>.
+ </p>
+ <ul>
+ <li>On BBB: uname -r - this will give you version
+ number like 3.8.13-bone70 (I will refer to this as: $mav.$miv-$lv:
+ where mav=3.8, miv=13, lv=bone70
+ </li>
+ <li>Get the BBB kernel ready on your host for cross-compiling:</li>
+ </ul>
+<pre>$ cd $work_dir
+$ git clone https://github.com/beagleboard/kernel.git
+$ cd kernel
+$ git checkout $mav (see above)
+$ ./patch.sh
+$ wget http://arago-project.org/git/projects/?p=am33x-cm3.git\;a=blob_plain\;f=bin/am335x-pm-firmware.bin\;hb=HEAD -O kernel/firmware/am335x-pm-firmware.bin
+$ cp configs/beaglebone kernel/arch/arm/configs/beaglebone_defconfig
+</pre>
+ <ul>
+ <li>Download the patch from <a
+ href="http://www.coreboot.org/images/8/88/Ehci-debug-gadget-patches.tar.gz">here</a></li>
+ <li>tar -xf Ehci-debug-gadget-patches.tar.gz (will
+ create dir: usbdebug-gadget)</li>
+ <li>Note that there are two patches (patch_1 and patch_2) for each
+ of the two different version of the kernel (3.8 and 3.10). I will use
+ 3.8. (If using kernel 3.12 patch_1 is not needed)</li>
+ <li>cd kernel (note that this is one more level: you
+ should be in $work_dir/kernel/kernel)</li>
+ <li>Apply the patches:</li>
+ </ul>
+<pre>
+git apply ../usbdebug-gadget/v3.8-debug-gadget/0001-usb-dbgp-gadget-Fix-re-connecting-after-USB-disconne.patch
+git apply ../usbdebug-gadget/v3.8-debug-gadget/0002-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch
+;
+make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- beaglebone_defconfig -j4@
+</pre>
+ <ul>
+ <li>
+ You should also apply the linux-libre <i>deblob</i> script to turn it into linux-libre
+ (deletes all the blobs from the linux kernel).
+ <a href="http://www.fsfla.org/ikiwiki/selibre/linux-libre/">fsfla website</a>
+ - see <a href="http://www.fsfla.org/svn/fsfla/software/linux-libre/scripts/">scripts</a>.
+ </li>
+ <li>Get your current BBB kernel config (from: /boot/config-&lt;ver&gt;)
+ and copy it to your host as $work_dir/kernel/kernel/.config</li>
+<pre>
+make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- oldconfig - all default answers</pre>
+ <li>Set proper version number:
+ <ul>
+ <li>On your host, edit $work_dir/kernel/kernel/.config
+ (the one you&#8217;ve just copied from BBB), find the line CONFIG_LOCALVERSION="&lt;something
+ or empty&gt;" and change it to CONFIG_LOCALVERSION="-$lv",
+ so it will look something like: CONFIG_LOCALVERSION="-bone70"</li>
+ </ul>
+ </li>
+ <li>Also, make sure that: CONFIG_USB_G_DBGP=m (If
+ not, make menuconfig, and set @Device Drivers-&gt; USB
+ Support -&gt; USB Gadget Support -&gt; EHCI Debug Device Gadget=m</li>
+ <li>Build the module:</li>
+ </ul>
+<pre>
+$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 (is it possoble to build only the gadget modules)
+$ mkdir ../tmp &amp;&amp; make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=../tmp modules_install
+</pre>
+ <ul>
+ <li>on BBB, backup /lib/modules/3.8.13-bone70/kernel/drivers/usb/gadget
+ (i.e. mv
+ /lib/modules/3.8.13-bone70/kernel/drivers/usb/gadget $HOME)
+ </li>
+ <li>copy the freshly compiled usb/gadget dir to /lib/modules/3.8.13-bone70/kernel/drivers/usb</li>
+ <li>restart BBB</li>
+ <li>Remove all g_* modules (rmmod
+ g_&lt;&gt;)
+ </li>
+ <li>modprobpe g_dbgp</li>
+ </ul>
+ <h3 id="ConfigurelibrebootwithEHCIdebug">Configure libreboot with
+ EHCI debug</h3>
+ <p>
+ Libreboot(coreboot) should be configured with debug turned on and to
+ push debug messages to the EHCI debug port.<br />If you&#8217;ve
+ downloaded the binary distribution, you can check if it is properly
+ configured in the following way:
+ </p>
+ <ul>
+ <li>Go to the libreboot dist root directory cd
+ $libreboot_bin</li>
+ <li>Locate the rom image for your target (I will call it: $img_path)
+ </li>
+ <li>Running the following command will extract the config in a
+ file ./my_config:
+ </li>
+ </ul>
+<pre>
+./cbfstool/i686/cbfstool $img_path extract -n config -f ./my_config
+</pre>
+ <ul>
+ <li>Make sure that the following params in the config are set as
+ following:</li>
+ </ul>
+<pre>
+CONFIG_USBDEBUG=y (Generic Drivers -&gt; USB 2.0 EHCI debug dongle support)
+CONFIG_USBDEBUG_IN_ROMSTAGE=y (Generic Drivers -&gt; Enable early (pre-RAM) usbdebug)
+CONFIG_USBDEBUG_HCD_INDEX=&lt;HCD Index of usb controller - see below&gt; (Generic Drivers -&gt; Index for EHCI controller to use with usbdebug)
+CONFIG_USBDEBUG_DEFAULT_PORT=&lt;USB Debug port - see below&gt; (Generic Drivers -&gt; Default USB port to use as Debug Port)
+</pre>
+ <p>
+ The following three are behind radio button in the menu. Only the first
+ one<sup class="footnote"><a href="#___fn2">2</a></sup> should be = y
+ </p>
+<pre>
+USBDEBUG_DONGLE_STD=y (Generic Drivers -&gt; Type of dongle (Net20DC or compatible) -&gt; Net20DC or compatible)
+CONFIG_USBDEBUG_DONGLE_BEAGLEBONE=n (Generic Drivers -&gt; Type of dongle (Net20DC or compatible) -&gt; BeagleBone)
+CONFIG_USBDEBUG_DONGLE_BEAGLEBONE_BLACK=n (Generic Drivers -&gt; Type of dongle (Net20DC or compatible) -&gt; BeagleBone Black)
+</pre>
+ <p id="___fn2" class="footnote">
+ <sup>2</sup> The g_dbgp module on BeagleBone Black (Rev. C) reports it self as Net20DC, the
+ other options are for older BB(B) - ver1. This is documented <a
+ href="https://johnlewis.ie/coreboot-ehci-debug-gadget-demonstration/">here</a>
+ (also tested/verified).
+ </p>
+ <p>
+ Then:<br />
+<pre>
+CONFIG_CONSOLE_USB=y (Console -&gt; USB dongle console output)
+</pre>
+ </p>
+ <p>
+ Also
+ Debugging ---&gt; Output verbose XYZ
+ ) (<b>FIXME</b> somebody verify these):
+ </p>
+<pre>
+CONFIG_DEBUG_CBFS=y (Output verbose CBFS debug messages )
+CONFIG_HAVE_DEBUG_RAM_SETUP=y (??? What/where is this)
+CONFIG_DEBUG_RAM_SETUP=y (Output verbose RAM init debug messages)
+CONFIG_DEBUG_SMI=y (Output verbose SMI debug messages)
+CONFIG_DEBUG_ACPI=y (Output verbose ACPI debug messages )
+CONFIG_DEBUG_USBDEBUG=y (Output verbose USB 2.0 EHCI debug dongle messages)
+</pre>
+ <p>If some of the above mentioned configuration options are not as
+ specified, you have to configure and compile libreboot yourself. Please
+ refer to the doc(<b>FIXME: link</b> about compiling libreboot.</p>
+ <h4 id="SelectingHCDIndexandUSBDebugport">
+ Selecting
+ HCD Index
+ and
+ USB Debug port
+ </h4>
+ <p>
+ This applies (and works) only if the USB controller that supports debug
+ (found in the first section) is from Intel.<br />If the PCI ID of the
+ port you found in the first section is
+ 0000:00:1a.0
+ or
+ 0000:00:1d.0
+ , you are ok. Otherwise you have to try without guarantee that will
+ work.
+ </p>
+ <p>
+ If the externally exposed port is on a bus with
+ PCI ID == 0000:00:1a.0
+ then for
+ CONFIG_USBDEBUG_HCD_INDEX
+ choose 2, otherwise choose 0
+ .
+ </p>
+ <p>
+ For
+ CONFIG_USBDEBUG_DEFAULT_PORT
+ choose the port from the first section that correspond to the
+ PCI ID
+ </p>
+ <p>
+ Notes:<br />The above is based on the implementation of
+ coreboot/src/southbridge/intel/common/usb_debug.c : pci_ehci_dbg_dev()
+ .<br />This is enough as it applies for the supported GM45/G45
+ Thinkpads. coreboot support some other contollers too, but they are
+ irellevent for libreboot (for now).
+ </p>
+ <ul>
+ <li>On T500 (with switchable GPU) the debug ports for both intel
+ controllers is exposed.</li>
+ <li>On x200t the debug ports for both intel controllers is
+ exposed.</li>
+ </ul>
+ <h3 id="Howtogetthedebuglogs">How to get the debug logs</h3>
+ <ul>
+ <li>Plug the USB cable in the target&#8217;s debug port (the one
+ you found in step 1) and BBB&#8217;s mini-B USB</li>
+ <li>Make sure no other then g_dbgp of the g_*
+ modules is loaded on your BBB
+ </li>
+ <li>On the BBB:</li>
+ </ul>
+<pre>
+stty -icrnl -inlcr -F /dev/ttyGS0
+cat /dev/ttyGS0
+</pre>
+ <ul>
+ <li>Power on the target with libreboot</li>
+ <li>You should see debug logs comming on your BBB console</li>
+ </ul>
+ <p>
+ Note that this is not permanent on BBB, if you reboot it, you have to
+ rmmod g_*
+ and
+ modprobe g_dbgp
+ </p>
+ <h3 id="EnebleEHCIDebugonthetargetskerneloptionalrecommended">Eneble
+ EHCI Debug on the target&#8217;s kernel (optional, recommended)</h3>
+ <p>You have to know how to compile kernel for your target.</p>
+ <ol>
+ <li>Check if early debugging is already enabled: grep
+ CONFIG_EARLY_PRINTK_DBGP /boot/config-&lt;ver&gt;</li>
+ <li>If enabled, you do not have to compile the kernel (skip this
+ step). Otherwise, prepare kernel source for your distribution and
+ select (Kernel hacking -&gt; Early printk via EHCI debug
+ port). Compile and install the new kernel.
+ </li>
+ <li>Edit your grub configuration and add following to the kenel
+ parameters<sup class="footnote"><a href="#___fn20">20</a></sup><sup
+ class="footnote"><a href="#___fn21">21</a></sup>: earlyprintk=dbgp,keep.
+ Also, try: earlyprintk=dbgp&lt;N&gt;,keep where N
+ is the debug port id if the first does not work.
+ </li>
+ </ol>
+ <h3 id="References">References</h3>
+ <p id="___fn10" class="footnote">
+ <sup>10</sup> <a href="http://www.coreboot.org/EHCI_Debug_Port">EHCI
+ Debug Port</a>
+ </p>
+ <p id="___fn11" class="footnote">
+ <sup>11</sup> <a
+ href="https://johnlewis.ie/coreboot-ehci-debug-gadget-demonstration/">coreboot
+ EHCI debug gadget demonstration</a>
+ </p>
+ <p id="___fn12" class="footnote">
+ <sup>12</sup> <a href="http://www.coreboot.org/EHCI_Gadget_Debug">EHCI
+ Gadget Debug</a>
+ </p>
+ <p id="___fn13" class="footnote">
+ <sup>13</sup> <a
+ href="http://www.coreboot.org/images/8/88/Ehci-debug-gadget-patches.tar.gz">Ehci-debug-gadget-patches.tar.gz</a>
+ </p>
+ <p id="___fn14" class="footnote">
+ <sup>14</sup> <a
+ href="http://wiki.beyondlogic.org/index.php/BeagleBoneBlack_Building_Kernel">Compiling
+ the BeagleBone Black Kernel</a>
+ </p>
+ <p id="___fn15" class="footnote">
+ <sup>15</sup>
+ http://dumb-looks-free.blogspot.ca/2014/06/beaglebone-black-bbb-compile-kernel.html
+ </p>
+ <p id="___fn16" class="footnote">
+ <sup>16</sup>
+ http://dumb-looks-free.blogspot.fr/2014/06/beaglebone-black-bbb-kernal-headers.html
+ </p>
+ <p id="___fn17" class="footnote">
+ <sup>17</sup> <a href="http://elinux.org/Building_BBB_Kernel">Building
+ BBB Kernel</a>
+ </p>
+ <p id="___fn18" class="footnote">
+ <sup>18</sup>
+ http://komposter.com.ua/documents/USB-2.0-Debug-Port%28John-Keys%29.pdf
+ </p>
+ <p id="___fn19" class="footnote">
+ <sup>19</sup> <a href="http://cs.usfca.edu/~cruse/cs698s10/">Exploring
+ USB at the Hardware/Software Interface</a>
+ </p>
+ <p id="___fn20" class="footnote">
+ <sup>20</sup>
+ https://www.kernel.org/doc/Documentation/x86/earlyprintk.txt
+ </p>
+ <p id="___fn21" class="footnote">
+ <sup>21</sup> https://wiki.ubuntu.com/Kernel/Debugging/USBearlyprintk
+ </p>
+ <p>
+ <b>TODO</b>:
+ </p>
+ <ol>
+ <li>grub does not send messages to EHCI debug. Investigate.</li>
+ <li>The section &#8220;Configure libreboot with EHCI debug&#8221;
+ can be skipped/simplified if a common configuration works for all
+ relevant targets is selected as defualt</li>
+ <li>Patch and compule g_dbgp on BBB instead cross-compile</li>
+ <li>Find a simple way to send debug messages from targets userland</li>
+ </ol>
+ </div>
+
+ <div class="section">
+
+ <p>
+ Copyright &copy; 2015 Alex David &lt;opdecirkel@gmail.com&gt;<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="../cc-by-sa-4.txt">../cc-by-sa-4.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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a> for more information.
+ </p>
+
+ </div>
+
+</body>
+</html>
diff --git a/docs/install/bbb_setup.html b/docs/install/bbb_setup.html
index f3d3596..c17b424 100644
--- a/docs/install/bbb_setup.html
+++ b/docs/install/bbb_setup.html
@@ -123,7 +123,7 @@
<p>
Here is an example set up:<br/>
- <img src="images/x200/psu33.jpg" alt="" title="Copyright &copy; 2015 Patrick &quot;P. J.&quot; McDermott &lt;pj@pehjota.net&gt; CC BY-SA 3.0 or later" />
+ <img src="images/x200/psu33.jpg" alt="" title="Copyright &copy; 2015 Patrick &quot;P. J.&quot; McDermott &lt;pj@pehjota.net&gt; see license notice at the end of this document" />
</p>
</div>
@@ -393,464 +393,52 @@ GND 4-5 MOSI
</ul>
</div>
-
+
<div class="section">
- <h1>EHCI debugging</h1>
- <ol class="toc">
- <li><a href="#FindUSBportonthetargetthatsupportsEHCIdebug">Find
- USB port on the target that supports EHCI debug</a></li>
- <li><a href="#InitialsetupofBBBtoactasEHCIdebugdongle">Initial
- setup of BBB to act as EHCI debug dongle</a></li>
- <li><a href="#PatchBBBsgdbgpmoduleoptionalbuthighlyrecommended">Patch
- BBB's <tt>g_dbgp</tt> module (optional, but highly recommended)</a></li>
- <li><a href="#ConfigurelibrebootwithEHCIdebug">Configure
- libreboot with EHCI debug</a>
- <ol>
- <li><a href="#SelectingHCDIndexandUSBDebugport">Selecting
- <tt>HCD Index</tt> and <tt>USB Debug port</tt></a></li>
- </ol></li>
- <li><a href="#Howtogetthedebuglogs">How to get the debug
- logs</a></li>
- <li><a
- href="#EnebleEHCIDebugonthetargetskerneloptionalrecommended">Eneble
- EHCI Debug on the target's kernel (optional, recommended)</a></li>
- <li><a href="#References">References</a></li>
- </ol>
- <p>If your computer does not boot after installing libreboot, it is
- very useful to get debug logs from it, from the payload (grub) and/or
- the kernel (if gets to there). All of them stream debug logs on the
- available serial (RS-232) by default. However, most of todays laptops
- lack RS-232 port. The other option is to stream the logs to USB EHCI
- debug port.</p>
- <p>This section explains step-by-step how to setup BBB as a
- &#8220;USB EHCI debug dongle&#8221; and configure libreboot and the
- linux kernel to stream logs to it (TODO: grub).</p>
- <p>I will refer to three computers:</p>
- <ul>
- <li><b>host</b> - this is the computer you use, have
- tools, compiler, Internet, etc</li>
- <li><b>BBB</b> - Beaglebone Black (rev. B or higher, i
- use rev. C)</li>
- <li><b>target</b> - the computer you are trying to
- install liberboot</li>
- </ul>
- <h3 id="FindUSBportonthetargetthatsupportsEHCIdebug">Find USB port
- on the target that supports EHCI debug</h3>
- <p>
- Not all USB controllers support EHCI debug (see: <a
- href="http://www.coreboot.org/EHCI_Debug_Port#Hardware_capability">EHCI
- Debug Port</a> ). Even more, if a USB controller supports EHCI debug, it
- is available only <b>on a single port</b> that might or might
- not be exposed externally.
- </p>
- <ul>
- <li>You need running OS (GNU/Linux) on your target for this step
- (If you&#8217;ve flashed libreboot and it does not boot, you have to
- flush back the stock bios)</li>
- <li>You need USB memory stick (the data on it will not be
- touched).</li>
- <li>The EHCI debugging can not be done through external hub, BBB
- must be connected directly to the debug port of the controller (so, no
- hubs)</li>
- </ul>
- <ul>
- <li>Download<sup class="footnote"><a href="#___fn1">1</a></sup> <a
- href="http://www.coreboot.org/pipermail/coreboot/attachments/20080909/ae11c291/attachment.sh">this</a>
- shell script.
- </li>
- </ul>
- <ol>
- <li>Plug the usb stick in the first available usb port</li>
- <li>Run the script, you will get output similar to following:</li>
-<pre>The following PCI devices support a USB debug port (says lspci): 0000:00:1a.0 0000:00:1d.0
-The following PCI devices support a USB debug port (says the kernel): 0000:00:1a.0 0000:00:1d.0
-*PCI device 0000:00:1a.0, USB bus 3, USB physical port 1*
-*PCI device 0000:00:1d.0, USB bus 4, USB physical port 2*
-Currently connected high-speed devices:
-/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
- |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
- |__ Port 7: Dev 14, If 0, Class=Hub, Driver=hub/4p, 480M
- |__ Port 1: Dev 15, If 0, Class=Hub, Driver=hub/4p, 480M
- |__ Port 3: Dev 17, If 0, Class=Hub, Driver=hub/2p, 480M
- |__ Port 4: Dev 18, If 0, Class=Hub, Driver=hub/4p, 480M
-/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
- |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
-/: *Bus 01*.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
- |__ *Port 3: Dev 31, If 0, Class=Mass Storage, Driver=usb-storage, 480M*
-</pre>
- <li>The buses the support debug are Bus 3 (0000:00:1a.0) on Port 1
- and Bus 4 (0000:00:1d.0) on port 2. Your usb stick is plugged on Bus
- 1, Port 3</li>
- <li>Repeat the steps, plugging the USB stick in the next available
- port</li>
- <li>Go through all available ports and remember(write down) those
- for which bus/port of the usb stick matches one of the bus/port that
- support debug (bold).</li>
- </ol>
- <p>Remember (write down) for each port (external plug) you found
- that supports debug: <b>PCI device id, the bus id, the port number, and
- the physical location of the usb plug.</b></p>
- <p>If you do not find a match, you can not get debug over EHCI.
- Sorry.</p>
- <p id="___fn1" class="footnote">
- <sup>1</sup> The guys from coreboot were talking about including the
- script in coreboot distribution (check the status).
- </p>
- <h3 id="InitialsetupofBBBtoactasEHCIdebugdongle">Initial setup of
- BBB to act as EHCI debug dongle</h3>
- <p>BBB must be powered with a barrel power connector since the
- mini-B USB plug will be used for the EHCI debug stream. So you will
- need:</p>
- <ul>
- <li>power supply (5V, 2A(10W) is sufficient).</li>
- <li>an extra usb cable: A to mini-B</li>
- </ul>
- <p>
- (On BBB) The linux kernel includes module (g_dbgp that enables one of the usb ports on a computer to behave as EHCI
- debug dongle. Make sure you have this module available on your BBB
- (Debian 7.8 that comes with BBB should have it), if not, you should
- compile it yourself (see next section):
- </p>
-<pre>ls /lib/modules/3.8.13-bone70/kernel/drivers/usb/gadget/g_dbgp.ko</pre>
- <p>
- Unload all other
- g_*
- modules:
- </p>
-<pre># lsmod
-# rmmod g_multi
-...
-</pre>
- <p>
- Then load
- g_dbgp
- :
- </p>
-<pre># modprobe g_dbgp
-# lsmod # should show that g_dbgp is loaded, and no other g_*
-</pre>
- <p>
- Plug the mini-B side of the USB cable in your BBB and the A side in
- your target. Then one of the usb devices on your target (with
- lsusb
- ) should be:
- </p>
-<pre>Bus 001 Device 024: ID 0525:c0de Netchip Technology, Inc.</pre>
- <p>If you see the device on the target, you are good to continue to
- the next step.</p>
- <h3 id="PatchBBBsgdbgpmoduleoptionalbuthighlyrecommended">
- Patch BBB&#8217;s
- g_dbgp
- module (optional, but highly recommended)
- </h3>
- <p>
- For the reasons why you need this, see: <a
- href="http://www.coreboot.org/EHCI_Gadget_Debug">EHCI Gadget Debug</a>.<br />Make
- sure that you have cross compiling environment for
- arm-linux-gnueabihf
- setup on your <em>host</em>.
- </p>
- <ul>
- <li>On BBB: uname -r - this will give you version
- number like 3.8.13-bone70 (I will refer to this as: $mav.$miv-$lv:
- where mav=3.8, miv=13, lv=bone70
- </li>
- <li>Get the BBB kernel ready on your host for cross-compiling:</li>
- </ul>
-<pre>$ cd $work_dir
-$ git clone https://github.com/beagleboard/kernel.git
-$ cd kernel
-$ git checkout $mav (see above)
-$ ./patch.sh
-$ wget http://arago-project.org/git/projects/?p=am33x-cm3.git\;a=blob_plain\;f=bin/am335x-pm-firmware.bin\;hb=HEAD -O kernel/firmware/am335x-pm-firmware.bin
-$ cp configs/beaglebone kernel/arch/arm/configs/beaglebone_defconfig
-</pre>
- <ul>
- <li>Download the patch from <a
- href="http://www.coreboot.org/images/8/88/Ehci-debug-gadget-patches.tar.gz">here</a></li>
- <li>tar -xf Ehci-debug-gadget-patches.tar.gz (will
- create dir: usbdebug-gadget)</li>
- <li>Note that there are two patches (patch_1 and patch_2) for each
- of the two different version of the kernel (3.8 and 3.10). I will use
- 3.8. (If using kernel 3.12 patch_1 is not needed)</li>
- <li>cd kernel (note that this is one more level: you
- should be in $work_dir/kernel/kernel)</li>
- <li>Apply the patches:</li>
- </ul>
-<pre>
-git apply ../usbdebug-gadget/v3.8-debug-gadget/0001-usb-dbgp-gadget-Fix-re-connecting-after-USB-disconne.patch
-git apply ../usbdebug-gadget/v3.8-debug-gadget/0002-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch
-;
-make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- beaglebone_defconfig -j4@
-</pre>
- <ul>
- <li>
- You should also apply the linux-libre <i>deblob</i> script to turn it into linux-libre
- (deletes all the blobs from the linux kernel).
- <a href="http://www.fsfla.org/ikiwiki/selibre/linux-libre/">fsfla website</a>
- - see <a href="http://www.fsfla.org/svn/fsfla/software/linux-libre/scripts/">scripts</a>.
- </li>
- <li>Get your current BBB kernel config (from: /boot/config-&lt;ver&gt;)
- and copy it to your host as $work_dir/kernel/kernel/.config</li>
-<pre>
-make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- oldconfig - all default answers</pre>
- <li>Set proper version number:
- <ul>
- <li>On your host, edit $work_dir/kernel/kernel/.config
- (the one you&#8217;ve just copied from BBB), find the line CONFIG_LOCALVERSION="&lt;something
- or empty&gt;" and change it to CONFIG_LOCALVERSION="-$lv",
- so it will look something like: CONFIG_LOCALVERSION="-bone70"</li>
- </ul>
- </li>
- <li>Also, make sure that: CONFIG_USB_G_DBGP=m (If
- not, make menuconfig, and set @Device Drivers-&gt; USB
- Support -&gt; USB Gadget Support -&gt; EHCI Debug Device Gadget=m</li>
- <li>Build the module:</li>
- </ul>
-<pre>
-$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 (is it possoble to build only the gadget modules)
-$ mkdir ../tmp &amp;&amp; make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=../tmp modules_install
-</pre>
- <ul>
- <li>on BBB, backup /lib/modules/3.8.13-bone70/kernel/drivers/usb/gadget
- (i.e. mv
- /lib/modules/3.8.13-bone70/kernel/drivers/usb/gadget $HOME)
- </li>
- <li>copy the freshly compiled usb/gadget dir to /lib/modules/3.8.13-bone70/kernel/drivers/usb</li>
- <li>restart BBB</li>
- <li>Remove all g_* modules (rmmod
- g_&lt;&gt;)
- </li>
- <li>modprobpe g_dbgp</li>
- </ul>
- <h3 id="ConfigurelibrebootwithEHCIdebug">Configure libreboot with
- EHCI debug</h3>
- <p>
- Libreboot(coreboot) should be configured with debug turned on and to
- push debug messages to the EHCI debug port.<br />If you&#8217;ve
- downloaded the binary distribution, you can check if it is properly
- configured in the following way:
- </p>
- <ul>
- <li>Go to the libreboot dist root directory cd
- $libreboot_bin</li>
- <li>Locate the rom image for your target (I will call it: $img_path)
- </li>
- <li>Running the following command will extract the config in a
- file ./my_config:
- </li>
- </ul>
-<pre>
-./cbfstool/i686/cbfstool $img_path extract -n config -f ./my_config
-</pre>
- <ul>
- <li>Make sure that the following params in the config are set as
- following:</li>
- </ul>
-<pre>
-CONFIG_USBDEBUG=y (Generic Drivers -&gt; USB 2.0 EHCI debug dongle support)
-CONFIG_USBDEBUG_IN_ROMSTAGE=y (Generic Drivers -&gt; Enable early (pre-RAM) usbdebug)
-CONFIG_USBDEBUG_HCD_INDEX=&lt;HCD Index of usb controller - see below&gt; (Generic Drivers -&gt; Index for EHCI controller to use with usbdebug)
-CONFIG_USBDEBUG_DEFAULT_PORT=&lt;USB Debug port - see below&gt; (Generic Drivers -&gt; Default USB port to use as Debug Port)
-</pre>
- <p>
- The following three are behind radio button in the menu. Only the first
- one<sup class="footnote"><a href="#___fn2">2</a></sup> should be = y
- </p>
-<pre>
-USBDEBUG_DONGLE_STD=y (Generic Drivers -&gt; Type of dongle (Net20DC or compatible) -&gt; Net20DC or compatible)
-CONFIG_USBDEBUG_DONGLE_BEAGLEBONE=n (Generic Drivers -&gt; Type of dongle (Net20DC or compatible) -&gt; BeagleBone)
-CONFIG_USBDEBUG_DONGLE_BEAGLEBONE_BLACK=n (Generic Drivers -&gt; Type of dongle (Net20DC or compatible) -&gt; BeagleBone Black)
-</pre>
- <p id="___fn2" class="footnote">
- <sup>2</sup> The g_dbgp module on BeagleBone Black (Rev. C) reports it self as Net20DC, the
- other options are for older BB(B) - ver1. This is documented <a
- href="https://johnlewis.ie/coreboot-ehci-debug-gadget-demonstration/">here</a>
- (also tested/verified).
- </p>
- <p>
- Then:<br />
-<pre>
-CONFIG_CONSOLE_USB=y (Console -&gt; USB dongle console output)
-</pre>
- </p>
- <p>
- Also
- Debugging ---&gt; Output verbose XYZ
- ) (<b>FIXME</b> somebody verify these):
- </p>
-<pre>
-CONFIG_DEBUG_CBFS=y (Output verbose CBFS debug messages )
-CONFIG_HAVE_DEBUG_RAM_SETUP=y (??? What/where is this)
-CONFIG_DEBUG_RAM_SETUP=y (Output verbose RAM init debug messages)
-CONFIG_DEBUG_SMI=y (Output verbose SMI debug messages)
-CONFIG_DEBUG_ACPI=y (Output verbose ACPI debug messages )
-CONFIG_DEBUG_USBDEBUG=y (Output verbose USB 2.0 EHCI debug dongle messages)
-</pre>
- <p>If some of the above mentioned configuration options are not as
- specified, you have to configure and compile libreboot yourself. Please
- refer to the doc(<b>FIXME: link</b> about compiling libreboot.</p>
- <h4 id="SelectingHCDIndexandUSBDebugport">
- Selecting
- HCD Index
- and
- USB Debug port
- </h4>
- <p>
- This applies (and works) only if the USB controller that supports debug
- (found in the first section) is from Intel.<br />If the PCI ID of the
- port you found in the first section is
- 0000:00:1a.0
- or
- 0000:00:1d.0
- , you are ok. Otherwise you have to try without guarantee that will
- work.
- </p>
- <p>
- If the externally exposed port is on a bus with
- PCI ID == 0000:00:1a.0
- then for
- CONFIG_USBDEBUG_HCD_INDEX
- choose 2, otherwise choose 0
- .
- </p>
- <p>
- For
- CONFIG_USBDEBUG_DEFAULT_PORT
- choose the port from the first section that correspond to the
- PCI ID
- </p>
+
<p>
- Notes:<br />The above is based on the implementation of
- coreboot/src/southbridge/intel/common/usb_debug.c : pci_ehci_dbg_dev()
- .<br />This is enough as it applies for the supported GM45/G45
- Thinkpads. coreboot support some other contollers too, but they are
- irellevent for libreboot (for now).
+ Copyright &copy; 2014, 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
+ Copyright &copy; 2015 Patrick &quot;P. J.&quot; McDermott &lt;pj@pehjota.net&gt;<br/>
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license can be found at <a href="../gfdl-1.3.txt">../gfdl-1.3.txt</a>
</p>
- <ul>
- <li>On T500 (with switchable GPU) the debug ports for both intel
- controllers is exposed.</li>
- <li>On x200t the debug ports for both intel controllers is
- exposed.</li>
- </ul>
- <h3 id="Howtogetthedebuglogs">How to get the debug logs</h3>
- <ul>
- <li>Plug the USB cable in the target&#8217;s debug port (the one
- you found in step 1) and BBB&#8217;s mini-B USB</li>
- <li>Make sure no other then g_dbgp of the g_*
- modules is loaded on your BBB
- </li>
- <li>On the BBB:</li>
- </ul>
-<pre>
-stty -icrnl -inlcr -F /dev/ttyGS0
-cat /dev/ttyGS0
-</pre>
- <ul>
- <li>Power on the target with libreboot</li>
- <li>You should see debug logs comming on your BBB console</li>
- </ul>
+
<p>
- Note that this is not permanent on BBB, if you reboot it, you have to
- rmmod g_*
- and
- modprobe g_dbgp
- </p>
- <h3 id="EnebleEHCIDebugonthetargetskerneloptionalrecommended">Eneble
- EHCI Debug on the target&#8217;s kernel (optional, recommended)</h3>
- <p>You have to know how to compile kernel for your target.</p>
- <ol>
- <li>Check if early debugging is already enabled: grep
- CONFIG_EARLY_PRINTK_DBGP /boot/config-&lt;ver&gt;</li>
- <li>If enabled, you do not have to compile the kernel (skip this
- step). Otherwise, prepare kernel source for your distribution and
- select (Kernel hacking -&gt; Early printk via EHCI debug
- port). Compile and install the new kernel.
- </li>
- <li>Edit your grub configuration and add following to the kenel
- parameters<sup class="footnote"><a href="#___fn20">20</a></sup><sup
- class="footnote"><a href="#___fn21">21</a></sup>: earlyprintk=dbgp,keep.
- Also, try: earlyprintk=dbgp&lt;N&gt;,keep where N
- is the debug port id if the first does not work.
- </li>
- </ol>
- <h3 id="References">References</h3>
- <p id="___fn10" class="footnote">
- <sup>10</sup> <a href="http://www.coreboot.org/EHCI_Debug_Port">EHCI
- Debug Port</a>
- </p>
- <p id="___fn11" class="footnote">
- <sup>11</sup> <a
- href="https://johnlewis.ie/coreboot-ehci-debug-gadget-demonstration/">coreboot
- EHCI debug gadget demonstration</a>
- </p>
- <p id="___fn12" class="footnote">
- <sup>12</sup> <a href="http://www.coreboot.org/EHCI_Gadget_Debug">EHCI
- Gadget Debug</a>
- </p>
- <p id="___fn13" class="footnote">
- <sup>13</sup> <a
- href="http://www.coreboot.org/images/8/88/Ehci-debug-gadget-patches.tar.gz">Ehci-debug-gadget-patches.tar.gz</a>
- </p>
- <p id="___fn14" class="footnote">
- <sup>14</sup> <a
- href="http://wiki.beyondlogic.org/index.php/BeagleBoneBlack_Building_Kernel">Compiling
- the BeagleBone Black Kernel</a>
- </p>
- <p id="___fn15" class="footnote">
- <sup>15</sup>
- http://dumb-looks-free.blogspot.ca/2014/06/beaglebone-black-bbb-compile-kernel.html
- </p>
- <p id="___fn16" class="footnote">
- <sup>16</sup>
- http://dumb-looks-free.blogspot.fr/2014/06/beaglebone-black-bbb-kernal-headers.html
- </p>
- <p id="___fn17" class="footnote">
- <sup>17</sup> <a href="http://elinux.org/Building_BBB_Kernel">Building
- BBB Kernel</a>
- </p>
- <p id="___fn18" class="footnote">
- <sup>18</sup>
- http://komposter.com.ua/documents/USB-2.0-Debug-Port%28John-Keys%29.pdf
- </p>
- <p id="___fn19" class="footnote">
- <sup>19</sup> <a href="http://cs.usfca.edu/~cruse/cs698s10/">Exploring
- USB at the Hardware/Software Interface</a>
- </p>
- <p id="___fn20" class="footnote">
- <sup>20</sup>
- https://www.kernel.org/doc/Documentation/x86/earlyprintk.txt
- </p>
- <p id="___fn21" class="footnote">
- <sup>21</sup> https://wiki.ubuntu.com/Kernel/Debugging/USBearlyprintk
+ Updated versions of the license (when available) can be found at
+ <a href="https://www.gnu.org/licenses/licenses.html">https://www.gnu.org/licenses/licenses.html</a>
</p>
+
<p>
- <b>TODO</b>:
+ UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
</p>
- <ol>
- <li>grub does not send messages to EHCI debug. Investigate.</li>
- <li>The section &#8220;Configure libreboot with EHCI debug&#8221;
- can be skipped/simplified if a common configuration works for all
- relevant targets is selected as defualt</li>
- <li>Patch and compule g_dbgp on BBB instead cross-compile</li>
- <li>Find a simple way to send debug messages from targets userland</li>
- </ol>
- </div>
-
- <div class="section">
-
<p>
- Copyright &copy; 2014, 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
- Copyright &copy; 2015 Patrick &quot;P. J.&quot; McDermott &lt;pj@pehjota.net&gt;<br/>
- Copyright &copy; 2015 Alex David &lt;opdecirkel@gmail.com&gt;<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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a>.
+ TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
</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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a> for more information.
+ The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
</p>
</div>
diff --git a/docs/install/index.html b/docs/install/index.html
index bfefddd..e6a910e 100644
--- a/docs/install/index.html
+++ b/docs/install/index.html
@@ -39,6 +39,7 @@
<h2>Hardware methods</h2>
<ul>
<li><a href="bbb_setup.html">How to programme an SPI flash chip with the BeagleBone Black</a></li>
+ <li><a href="bbb_ehci.html">How to configure EHCI debugging on the BeagleBone Black</a></li>
<li><a href="x60_unbrick.html">ThinkPad X60: Recovery guide</a></li>
<li><a href="x60tablet_unbrick.html">ThinkPad X60 Tablet: Recovery guide</a></li>
<li><a href="t60_unbrick.html">ThinkPad T60: Recovery guide</a></li>
@@ -224,22 +225,10 @@
<h2>Flash chip size on GM45 (X200/R400/T400/T500)</h2>
<p>
- <b>Users of the X200/R400/T400/T500 take note:</b> There are two different sized capacities
- that your flash chip could have: 4MiB or 8MiB. There are archives for each capacity, for each
- of these laptops, and you will need to select the correct size.
+ Use this to find out:<br/>
+ # <b>dmidecode | grep ROM\ Size</b>
</p>
- <p>
- To easily identify which size chip is present:<br/>
- # <b>dmidecode | grep ROM\ Size</b><br/>
- or (on some distributions):<br/>
- $ <b>sudo dmidecode | grep ROM\ Size</b><br/>
- Example output:
- </p>
-<pre>
-# ROM Size: 8192 kB
-</pre>
-
<h2>All good?</h2>
<p>Excellent! Moving on...</p>
@@ -441,16 +430,47 @@
<div class="section">
<p>
- Copyright &copy; 2014, 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
- Copyright &copy; 2015 Chris Ryder &lt;cdkr00@gmail.com&gt;<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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a>.
+ Copyright &copy; 2014, 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license can be found at <a href="../gfdl-1.3.txt">../gfdl-1.3.txt</a>
+ </p>
+
+ <p>
+ Updated versions of the license (when available) can be found at
+ <a href="https://www.gnu.org/licenses/licenses.html">https://www.gnu.org/licenses/licenses.html</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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a> for more information.
+ UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
</p>
</div>
diff --git a/docs/install/r400_external.html b/docs/install/r400_external.html
index fcbc4d4..c0a5282 100644
--- a/docs/install/r400_external.html
+++ b/docs/install/r400_external.html
@@ -95,25 +95,12 @@
<div class="section">
- <h1 id="flashchips">Flash chips</h1>
+ <h1 id="flashchips">Flash chip size</h1>
<p>
- There are two possible flash chip sizes for the R400: 4MiB
- (32Mbit) or 8MiB (64Mbit). This can be identified by the type
- of flash chip present: 4MiB is SOIC-8 (8 pins), 8MiB
- is SOIC-16 (16 pins).
- </p>
-
- <p>
- To easily identify which size chip is present, before fully disassemblying:<br>
+ Use this to find out:<br>
# <b>dmidecode | grep ROM\ Size</b><br>
- or (on some distributions):<br/>
- $ <b>sudo dmidecode | grep ROM\ Size</b><br/>
- Example output:
</p>
-<pre>
-# ROM Size: 8192 kB
-</pre>
<p>
<a href="#pagetop">Back to top of page.</a>
@@ -545,16 +532,47 @@ Verifying flash... VERIFIED.
<div class="section">
<p>
- Copyright &copy; 2014, 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
- Copyright &copy; 2015 Chris Ryder &lt;cdkr00@gmail.com&gt;<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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a>.
+ Copyright &copy; 2014, 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license can be found at <a href="../gfdl-1.3.txt">../gfdl-1.3.txt</a>
+ </p>
+
+ <p>
+ Updated versions of the license (when available) can be found at
+ <a href="https://www.gnu.org/licenses/licenses.html">https://www.gnu.org/licenses/licenses.html</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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a> for more information.
+ UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
</p>
</div>
diff --git a/docs/install/t400_external.html b/docs/install/t400_external.html
index 951f32f..67a9ffb 100644
--- a/docs/install/t400_external.html
+++ b/docs/install/t400_external.html
@@ -89,23 +89,12 @@
<div class="section">
- <h1 id="flashchips">Flash chips</h1>
+ <h1 id="flashchips">Flash chip size</h1>
<p>
- The T400 will use an 8MiB or 64Mb SOIC-16 chip (rare models
- will use a 4MiB or 32Mb SOIC-8 chip).
+ Use this to find out:<br>
+ # <b>dmidecode | grep ROM\ Size</b>
</p>
-
- <p>
- To easily identify which size chip is present, before fully disassemblying:<br>
- # <b>dmidecode | grep ROM\ Size</b><br>
- or (on some distributions):<br/>
- $ <b>sudo dmidecode | grep ROM\ Size</b><br/>
- Example output:
- </p>
-<pre>
-# ROM Size: 8192 kB
-</pre>
<p>
<a href="#pagetop">Back to top of page.</a>
@@ -521,16 +510,47 @@ Verifying flash... VERIFIED.
<div class="section">
<p>
- Copyright &copy; 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
- Copyright &copy; 2015 Chris Ryder &lt;cdkr00@gmail.com&gt;<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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a>.
+ Copyright &copy; 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license can be found at <a href="../gfdl-1.3.txt">../gfdl-1.3.txt</a>
+ </p>
+
+ <p>
+ Updated versions of the license (when available) can be found at
+ <a href="https://www.gnu.org/licenses/licenses.html">https://www.gnu.org/licenses/licenses.html</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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a> for more information.
+ UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
</p>
</div>
diff --git a/docs/install/t500_external.html b/docs/install/t500_external.html
index 3a702e0..8be9bdc 100644
--- a/docs/install/t500_external.html
+++ b/docs/install/t500_external.html
@@ -90,23 +90,12 @@
<div class="section">
- <h1 id="flashchips">Flash chips</h1>
+ <h1 id="flashchips">Flash chip size</h1>
<p>
- The T500 will use an 8MiB or 64Mb SOIC-16 chip (rare models
- will use a 4MiB or 32Mb SOIC-8 chip).
+ Use this to find out:<br/>
+ # <b>dmidecode | grep ROM\ Size</b>
</p>
-
- <p>
- To easily identify which size chip is present, before fully disassemblying:<br/>
- # <b>dmidecode | grep ROM\ Size</b><br/>
- or (on some distributions):<br/>
- $ <b>sudo dmidecode | grep ROM\ Size</b><br/>
- Example output:
- </p>
-<pre>
-# ROM Size: 8192 kB
-</pre>
<p>
<a href="#pagetop">Back to top of page.</a>
@@ -536,16 +525,47 @@ Verifying flash... VERIFIED.
<div class="section">
<p>
- Copyright &copy; 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
- Copyright &copy; 2015 Chris Ryder &lt;cdkr00@gmail.com&gt;<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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a>.
+ Copyright &copy; 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license can be found at <a href="../gfdl-1.3.txt">../gfdl-1.3.txt</a>
+ </p>
+
+ <p>
+ Updated versions of the license (when available) can be found at
+ <a href="https://www.gnu.org/licenses/licenses.html">https://www.gnu.org/licenses/licenses.html</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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a> for more information.
+ UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
</p>
</div>
diff --git a/docs/install/t60_unbrick.html b/docs/install/t60_unbrick.html
index e92298b..9bcdb12 100644
--- a/docs/install/t60_unbrick.html
+++ b/docs/install/t60_unbrick.html
@@ -273,15 +273,47 @@ POMONA 5250:
<div class="section">
<p>
- Copyright &copy; 2014, 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a>.
+ Copyright &copy; 2014, 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license can be found at <a href="../gfdl-1.3.txt">../gfdl-1.3.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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a> for more information.
+ Updated versions of the license (when available) can be found at
+ <a href="https://www.gnu.org/licenses/licenses.html">https://www.gnu.org/licenses/licenses.html</a>
+ </p>
+
+ <p>
+ UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
</p>
</div>
diff --git a/docs/install/x200_external.html b/docs/install/x200_external.html
index fc149f7..efe7f49 100644
--- a/docs/install/x200_external.html
+++ b/docs/install/x200_external.html
@@ -39,23 +39,12 @@
<div class="section">
- <h1 id="flashchips">Flash chips</h1>
+ <h1 id="flashchips">Flash chip size</h1>
<p>
- The X200 will use an 8MiB or 64Mb SOIC-16 chip (rare models
- will use a 4MiB or 32Mb SOIC-8 chip), below the palm rest.
+ Use this to find out:<br/>
+ # <b>dmidecode | grep ROM\ Size</b>
</p>
-
- <p>
- To easily identify which size chip is present, before fully disassemblying:<br/>
- # <b>dmidecode | grep ROM\ Size</b><br/>
- or (on some distributions):<br/>
- $ <b>sudo dmidecode | grep ROM\ Size</b><br/>
- Example output:
- </p>
-<pre>
-# ROM Size: 8192 kB
-</pre>
<p>
The X200S and X200 Tablet will use a WSON-8 flash chip, on the
@@ -134,7 +123,7 @@ POMONA 5250 (correlate with the BBB guide)
=== right side of the X200 (where the audio jacks are) ===
<i>This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack.</i>
Here is a photo of the SOIC-8 flash chip. The pins are labelled:<br/>
-<img title="Copyright 2015 Patrick &quot;P. J.&quot; McDermott &lt;pj@pehjota.net&gt;, CC BY-SA 3.0 or later" src="images/x200/soic8.jpg" alt="freenode IRC #libreboot 01:42 UK/London timezone February 8th 2015: pehjota: fchmmr: Here are two photos in the camera's configured resolution; resize them as you wish: http://www.pehjota.net/~pj/x200/soic-8/. License: CC BY-SA 3.0 or later. If you want other angles or anything, let me know." alt="" />
+<img title="Copyright 2015 Patrick &quot;P. J.&quot; McDermott &lt;pj@pehjota.net&gt;, see license notice at the end of this document" src="images/x200/soic8.jpg" />
Look at the pads in that photo, on the left and right. Those are for SOIC-16. Would it be possible to remove the SOIC-8 and solder a SOIC-16
chip on those pins?
@@ -143,7 +132,7 @@ chip on those pins?
<b>On the X200S and X200 Tablet 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).<br/>
The following image shows how this is done:</b><br/>
- <img src="images/x200/wson_soldered.jpg" title="Copyright 2014 Steve Shenton &lt;sgsit@libreboot.org&gt; under CC-BY-SA 4.0" alt="" />
+ <img src="images/x200/wson_soldered.jpg" title="Copyright 2014 Steve Shenton &lt;sgsit@libreboot.org&gt; see license notice at the end of this document" alt="" />
<br/>
In this image, a pin header was soldered onto the WSON. Another solution might be to de-solder the WSON-8 chip and put a SOIC-8 there instead.
Check the list of SOIC-8 flash chips at <a href="../hcl/gm45_remove_me.html#flashchips">../hcl/gm45_remove_me.html#flashchips</a> but
@@ -422,16 +411,47 @@ PR4: Warning: 0x005f8000-0x005fffff is locked.
<div class="section">
<p>
- Copyright &copy; 2014, 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
- Copyright &copy; 2015 Chris Ryder &lt;cdkr00@gmail.com&gt;<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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a>.
+ Copyright &copy; 2014, 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license can be found at <a href="../gfdl-1.3.txt">../gfdl-1.3.txt</a>
+ </p>
+
+ <p>
+ Updated versions of the license (when available) can be found at
+ <a href="https://www.gnu.org/licenses/licenses.html">https://www.gnu.org/licenses/licenses.html</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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a> for more information.
+ UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
</p>
</div>
diff --git a/docs/install/x60_unbrick.html b/docs/install/x60_unbrick.html
index d420cb6..d626143 100644
--- a/docs/install/x60_unbrick.html
+++ b/docs/install/x60_unbrick.html
@@ -269,15 +269,47 @@ POMONA 5250:
<div class="section">
<p>
- Copyright &copy; 2014, 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a>.
+ Copyright &copy; 2014, 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license can be found at <a href="../gfdl-1.3.txt">../gfdl-1.3.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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a> for more information.
+ Updated versions of the license (when available) can be found at
+ <a href="https://www.gnu.org/licenses/licenses.html">https://www.gnu.org/licenses/licenses.html</a>
+ </p>
+
+ <p>
+ UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
</p>
</div>
diff --git a/docs/install/x60tablet_unbrick.html b/docs/install/x60tablet_unbrick.html
index c64f90c..23a770b 100644
--- a/docs/install/x60tablet_unbrick.html
+++ b/docs/install/x60tablet_unbrick.html
@@ -166,15 +166,47 @@ POMONA 5250:
<div class="section">
<p>
- Copyright &copy; 2014, 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a>.
+ Copyright &copy; 2014, 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license can be found at <a href="../gfdl-1.3.txt">../gfdl-1.3.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="../cc-by-sa-4.txt">../cc-by-sa-4.txt</a> for more information.
+ Updated versions of the license (when available) can be found at
+ <a href="https://www.gnu.org/licenses/licenses.html">https://www.gnu.org/licenses/licenses.html</a>
+ </p>
+
+ <p>
+ UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+ </p>
+ <p>
+ The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
</p>
</div>