From befeea2ee3c969471a30becb38cd2abf9c4e2413 Mon Sep 17 00:00:00 2001 From: Francis Rowe Date: Sat, 11 Jul 2015 13:26:40 -0400 Subject: 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: pehjota, you made a few changes to the libreboot documentation 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? (if so, can you write to the mailing list?) 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) --- (limited to 'docs/install') 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 @@ + + + + + + + + + EHCI debugging on the BeagleBone Black + + + + +
+

EHCI debugging on the BeagleBone Black

+ +

Back to previous index

+
+ +
+

EHCI debugging

+
    +
  1. Find + USB port on the target that supports EHCI debug
  2. +
  3. Initial + setup of BBB to act as EHCI debug dongle
  4. +
  5. Patch + BBB's g_dbgp module (optional, but highly recommended)
  6. +
  7. Configure + libreboot with EHCI debug +
      +
    1. Selecting + HCD Index and USB Debug port
    2. +
  8. +
  9. How to get the debug + logs
  10. +
  11. Eneble + EHCI Debug on the target's kernel (optional, recommended)
  12. +
  13. References
  14. +
+

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.

+

This section explains step-by-step how to setup BBB as a + “USB EHCI debug dongle” and configure libreboot and the + linux kernel to stream logs to it (TODO: grub).

+

I will refer to three computers:

+
    +
  • host - this is the computer you use, have + tools, compiler, Internet, etc
  • +
  • BBB - Beaglebone Black (rev. B or higher, i + use rev. C)
  • +
  • target - the computer you are trying to + install liberboot
  • +
+

Find USB port + on the target that supports EHCI debug

+

+ Not all USB controllers support EHCI debug (see: EHCI + Debug Port ). Even more, if a USB controller supports EHCI debug, it + is available only on a single port that might or might + not be exposed externally. +

+
    +
  • You need running OS (GNU/Linux) on your target for this step + (If you’ve flashed libreboot and it does not boot, you have to + flush back the stock bios)
  • +
  • You need USB memory stick (the data on it will not be + touched).
  • +
  • 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)
  • +
+
    +
  • Download1 this + shell script. +
  • +
+
    +
  1. Plug the usb stick in the first available usb port
  2. +
  3. Run the script, you will get output similar to following:
  4. +
    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*
    +
    +
  5. 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
  6. +
  7. Repeat the steps, plugging the USB stick in the next available + port
  8. +
  9. 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).
  10. +
+

Remember (write down) for each port (external plug) you found + that supports debug: PCI device id, the bus id, the port number, and + the physical location of the usb plug.

+

If you do not find a match, you can not get debug over EHCI. + Sorry.

+

+ 1 The guys from coreboot were talking about including the + script in coreboot distribution (check the status). +

+

Initial setup of + BBB to act as EHCI debug dongle

+

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:

+
    +
  • power supply (5V, 2A(10W) is sufficient).
  • +
  • an extra usb cable: A to mini-B
  • +
+

+ (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): +

+
ls /lib/modules/3.8.13-bone70/kernel/drivers/usb/gadget/g_dbgp.ko
+

+ Unload all other + g_* + modules: +

+
# lsmod
+# rmmod g_multi
+...
+
+

+ Then load + g_dbgp + : +

+
# modprobe g_dbgp
+# lsmod # should show that g_dbgp is loaded, and no other g_*
+
+

+ 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: +

+
Bus 001 Device 024: ID 0525:c0de Netchip Technology, Inc.
+

If you see the device on the target, you are good to continue to + the next step.

+

+ Patch BBB’s + g_dbgp + module (optional, but highly recommended) +

+

+ For the reasons why you need this, see: EHCI Gadget Debug.
Make + sure that you have cross compiling environment for + arm-linux-gnueabihf + setup on your host. +

+
    +
  • 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 +
  • +
  • Get the BBB kernel ready on your host for cross-compiling:
  • +
+
$ 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
+
+
    +
  • Download the patch from here
  • +
  • tar -xf Ehci-debug-gadget-patches.tar.gz (will + create dir: usbdebug-gadget)
  • +
  • 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)
  • +
  • cd kernel (note that this is one more level: you + should be in $work_dir/kernel/kernel)
  • +
  • Apply the patches:
  • +
+
+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@
+
+
    +
  • + You should also apply the linux-libre deblob script to turn it into linux-libre + (deletes all the blobs from the linux kernel). + fsfla website + - see scripts. +
  • +
  • Get your current BBB kernel config (from: /boot/config-<ver>) + and copy it to your host as $work_dir/kernel/kernel/.config
  • +
    +make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- oldconfig - all default answers
    +
  • Set proper version number: +
      +
    • On your host, edit $work_dir/kernel/kernel/.config + (the one you’ve just copied from BBB), find the line CONFIG_LOCALVERSION="<something + or empty>" and change it to CONFIG_LOCALVERSION="-$lv", + so it will look something like: CONFIG_LOCALVERSION="-bone70"
    • +
    +
  • +
  • Also, make sure that: CONFIG_USB_G_DBGP=m (If + not, make menuconfig, and set @Device Drivers-> USB + Support -> USB Gadget Support -> EHCI Debug Device Gadget=m
  • +
  • Build the module:
  • +
+
+$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 (is it possoble to build only the gadget modules)
+$ mkdir ../tmp && make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=../tmp modules_install
+
+
    +
  • 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) +
  • +
  • copy the freshly compiled usb/gadget dir to /lib/modules/3.8.13-bone70/kernel/drivers/usb
  • +
  • restart BBB
  • +
  • Remove all g_* modules (rmmod + g_<>) +
  • +
  • modprobpe g_dbgp
  • +
+

Configure libreboot with + EHCI debug

+

+ Libreboot(coreboot) should be configured with debug turned on and to + push debug messages to the EHCI debug port.
If you’ve + downloaded the binary distribution, you can check if it is properly + configured in the following way: +

+
    +
  • Go to the libreboot dist root directory cd + $libreboot_bin
  • +
  • Locate the rom image for your target (I will call it: $img_path) +
  • +
  • Running the following command will extract the config in a + file ./my_config: +
  • +
+
+./cbfstool/i686/cbfstool $img_path extract -n config -f ./my_config
+
+
    +
  • Make sure that the following params in the config are set as + following:
  • +
+
+CONFIG_USBDEBUG=y (Generic Drivers -> USB 2.0 EHCI debug dongle support)
+CONFIG_USBDEBUG_IN_ROMSTAGE=y (Generic Drivers -> Enable early (pre-RAM) usbdebug)
+CONFIG_USBDEBUG_HCD_INDEX=<HCD Index of usb controller - see below> (Generic Drivers -> Index for EHCI controller to use with usbdebug)
+CONFIG_USBDEBUG_DEFAULT_PORT=<USB Debug port - see below> (Generic Drivers -> Default USB port to use as Debug Port)
+
+

+ The following three are behind radio button in the menu. Only the first + one2 should be = y +

+
+USBDEBUG_DONGLE_STD=y                       (Generic Drivers -> Type of dongle (Net20DC or compatible) -> Net20DC or compatible)
+CONFIG_USBDEBUG_DONGLE_BEAGLEBONE=n         (Generic Drivers -> Type of dongle (Net20DC or compatible) -> BeagleBone)
+CONFIG_USBDEBUG_DONGLE_BEAGLEBONE_BLACK=n   (Generic Drivers -> Type of dongle (Net20DC or compatible) -> BeagleBone Black)
+
+

+ 2 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 here + (also tested/verified). +

+

+ Then:
+

+CONFIG_CONSOLE_USB=y (Console -> USB dongle console output)
+
+

+

+ Also + Debugging ---> Output verbose XYZ + ) (FIXME somebody verify these): +

+
+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)
+
+

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(FIXME: link about compiling libreboot.

+

+ Selecting + HCD Index + and + USB Debug port +

+

+ This applies (and works) only if the USB controller that supports debug + (found in the first section) is from Intel.
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. +

+

+ 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 + . +

+

+ For + CONFIG_USBDEBUG_DEFAULT_PORT + choose the port from the first section that correspond to the + PCI ID +

+

+ Notes:
The above is based on the implementation of + coreboot/src/southbridge/intel/common/usb_debug.c : pci_ehci_dbg_dev() + .
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). +

+
    +
  • On T500 (with switchable GPU) the debug ports for both intel + controllers is exposed.
  • +
  • On x200t the debug ports for both intel controllers is + exposed.
  • +
+

How to get the debug logs

+
    +
  • Plug the USB cable in the target’s debug port (the one + you found in step 1) and BBB’s mini-B USB
  • +
  • Make sure no other then g_dbgp of the g_* + modules is loaded on your BBB +
  • +
  • On the BBB:
  • +
+
+stty -icrnl -inlcr -F /dev/ttyGS0
+cat /dev/ttyGS0
+
+
    +
  • Power on the target with libreboot
  • +
  • You should see debug logs comming on your BBB console
  • +
+

+ Note that this is not permanent on BBB, if you reboot it, you have to + rmmod g_* + and + modprobe g_dbgp +

+

Eneble + EHCI Debug on the target’s kernel (optional, recommended)

+

You have to know how to compile kernel for your target.

+
    +
  1. Check if early debugging is already enabled: grep + CONFIG_EARLY_PRINTK_DBGP /boot/config-<ver>
  2. +
  3. If enabled, you do not have to compile the kernel (skip this + step). Otherwise, prepare kernel source for your distribution and + select (Kernel hacking -> Early printk via EHCI debug + port). Compile and install the new kernel. +
  4. +
  5. Edit your grub configuration and add following to the kenel + parameters2021: earlyprintk=dbgp,keep. + Also, try: earlyprintk=dbgp<N>,keep where N + is the debug port id if the first does not work. +
  6. +
+

References

+

+ 10 EHCI + Debug Port +

+

+ 11 coreboot + EHCI debug gadget demonstration +

+

+ 12 EHCI + Gadget Debug +

+

+ 13 Ehci-debug-gadget-patches.tar.gz +

+

+ 14 Compiling + the BeagleBone Black Kernel +

+

+ 15 + http://dumb-looks-free.blogspot.ca/2014/06/beaglebone-black-bbb-compile-kernel.html +

+

+ 16 + http://dumb-looks-free.blogspot.fr/2014/06/beaglebone-black-bbb-kernal-headers.html +

+

+ 17 Building + BBB Kernel +

+

+ 18 + http://komposter.com.ua/documents/USB-2.0-Debug-Port%28John-Keys%29.pdf +

+

+ 19 Exploring + USB at the Hardware/Software Interface +

+

+ 20 + https://www.kernel.org/doc/Documentation/x86/earlyprintk.txt +

+

+ 21 https://wiki.ubuntu.com/Kernel/Debugging/USBearlyprintk +

+

+ TODO: +

+
    +
  1. grub does not send messages to EHCI debug. Investigate.
  2. +
  3. The section “Configure libreboot with EHCI debug” + can be skipped/simplified if a common configuration works for all + relevant targets is selected as defualt
  4. +
  5. Patch and compule g_dbgp on BBB instead cross-compile
  6. +
  7. Find a simple way to send debug messages from targets userland
  8. +
+
+ +
+ +

+ Copyright © 2015 Alex David <opdecirkel@gmail.com>
+ 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 ../cc-by-sa-4.txt. +

+ +

+ 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 ../cc-by-sa-4.txt for more information. +

+ +
+ + + 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 @@

Here is an example set up:
- +

@@ -393,464 +393,52 @@ GND 4-5 MOSI - +
-

EHCI debugging

-
    -
  1. Find - USB port on the target that supports EHCI debug
  2. -
  3. Initial - setup of BBB to act as EHCI debug dongle
  4. -
  5. Patch - BBB's g_dbgp module (optional, but highly recommended)
  6. -
  7. Configure - libreboot with EHCI debug -
      -
    1. Selecting - HCD Index and USB Debug port
    2. -
  8. -
  9. How to get the debug - logs
  10. -
  11. Eneble - EHCI Debug on the target's kernel (optional, recommended)
  12. -
  13. References
  14. -
-

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.

-

This section explains step-by-step how to setup BBB as a - “USB EHCI debug dongle” and configure libreboot and the - linux kernel to stream logs to it (TODO: grub).

-

I will refer to three computers:

-
    -
  • host - this is the computer you use, have - tools, compiler, Internet, etc
  • -
  • BBB - Beaglebone Black (rev. B or higher, i - use rev. C)
  • -
  • target - the computer you are trying to - install liberboot
  • -
-

Find USB port - on the target that supports EHCI debug

-

- Not all USB controllers support EHCI debug (see: EHCI - Debug Port ). Even more, if a USB controller supports EHCI debug, it - is available only on a single port that might or might - not be exposed externally. -

-
    -
  • You need running OS (GNU/Linux) on your target for this step - (If you’ve flashed libreboot and it does not boot, you have to - flush back the stock bios)
  • -
  • You need USB memory stick (the data on it will not be - touched).
  • -
  • 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)
  • -
-
    -
  • Download1 this - shell script. -
  • -
-
    -
  1. Plug the usb stick in the first available usb port
  2. -
  3. Run the script, you will get output similar to following:
  4. -
    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*
    -
    -
  5. 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
  6. -
  7. Repeat the steps, plugging the USB stick in the next available - port
  8. -
  9. 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).
  10. -
-

Remember (write down) for each port (external plug) you found - that supports debug: PCI device id, the bus id, the port number, and - the physical location of the usb plug.

-

If you do not find a match, you can not get debug over EHCI. - Sorry.

-

- 1 The guys from coreboot were talking about including the - script in coreboot distribution (check the status). -

-

Initial setup of - BBB to act as EHCI debug dongle

-

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:

-
    -
  • power supply (5V, 2A(10W) is sufficient).
  • -
  • an extra usb cable: A to mini-B
  • -
-

- (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): -

-
ls /lib/modules/3.8.13-bone70/kernel/drivers/usb/gadget/g_dbgp.ko
-

- Unload all other - g_* - modules: -

-
# lsmod
-# rmmod g_multi
-...
-
-

- Then load - g_dbgp - : -

-
# modprobe g_dbgp
-# lsmod # should show that g_dbgp is loaded, and no other g_*
-
-

- 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: -

-
Bus 001 Device 024: ID 0525:c0de Netchip Technology, Inc.
-

If you see the device on the target, you are good to continue to - the next step.

-

- Patch BBB’s - g_dbgp - module (optional, but highly recommended) -

-

- For the reasons why you need this, see: EHCI Gadget Debug.
Make - sure that you have cross compiling environment for - arm-linux-gnueabihf - setup on your host. -

-
    -
  • 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 -
  • -
  • Get the BBB kernel ready on your host for cross-compiling:
  • -
-
$ 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
-
-
    -
  • Download the patch from here
  • -
  • tar -xf Ehci-debug-gadget-patches.tar.gz (will - create dir: usbdebug-gadget)
  • -
  • 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)
  • -
  • cd kernel (note that this is one more level: you - should be in $work_dir/kernel/kernel)
  • -
  • Apply the patches:
  • -
-
-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@
-
-
    -
  • - You should also apply the linux-libre deblob script to turn it into linux-libre - (deletes all the blobs from the linux kernel). - fsfla website - - see scripts. -
  • -
  • Get your current BBB kernel config (from: /boot/config-<ver>) - and copy it to your host as $work_dir/kernel/kernel/.config
  • -
    -make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- oldconfig - all default answers
    -
  • Set proper version number: -
      -
    • On your host, edit $work_dir/kernel/kernel/.config - (the one you’ve just copied from BBB), find the line CONFIG_LOCALVERSION="<something - or empty>" and change it to CONFIG_LOCALVERSION="-$lv", - so it will look something like: CONFIG_LOCALVERSION="-bone70"
    • -
    -
  • -
  • Also, make sure that: CONFIG_USB_G_DBGP=m (If - not, make menuconfig, and set @Device Drivers-> USB - Support -> USB Gadget Support -> EHCI Debug Device Gadget=m
  • -
  • Build the module:
  • -
-
-$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 (is it possoble to build only the gadget modules)
-$ mkdir ../tmp && make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=../tmp modules_install
-
-
    -
  • 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) -
  • -
  • copy the freshly compiled usb/gadget dir to /lib/modules/3.8.13-bone70/kernel/drivers/usb
  • -
  • restart BBB
  • -
  • Remove all g_* modules (rmmod - g_<>) -
  • -
  • modprobpe g_dbgp
  • -
-

Configure libreboot with - EHCI debug

-

- Libreboot(coreboot) should be configured with debug turned on and to - push debug messages to the EHCI debug port.
If you’ve - downloaded the binary distribution, you can check if it is properly - configured in the following way: -

-
    -
  • Go to the libreboot dist root directory cd - $libreboot_bin
  • -
  • Locate the rom image for your target (I will call it: $img_path) -
  • -
  • Running the following command will extract the config in a - file ./my_config: -
  • -
-
-./cbfstool/i686/cbfstool $img_path extract -n config -f ./my_config
-
-
    -
  • Make sure that the following params in the config are set as - following:
  • -
-
-CONFIG_USBDEBUG=y (Generic Drivers -> USB 2.0 EHCI debug dongle support)
-CONFIG_USBDEBUG_IN_ROMSTAGE=y (Generic Drivers -> Enable early (pre-RAM) usbdebug)
-CONFIG_USBDEBUG_HCD_INDEX=<HCD Index of usb controller - see below> (Generic Drivers -> Index for EHCI controller to use with usbdebug)
-CONFIG_USBDEBUG_DEFAULT_PORT=<USB Debug port - see below> (Generic Drivers -> Default USB port to use as Debug Port)
-
-

- The following three are behind radio button in the menu. Only the first - one2 should be = y -

-
-USBDEBUG_DONGLE_STD=y                       (Generic Drivers -> Type of dongle (Net20DC or compatible) -> Net20DC or compatible)
-CONFIG_USBDEBUG_DONGLE_BEAGLEBONE=n         (Generic Drivers -> Type of dongle (Net20DC or compatible) -> BeagleBone)
-CONFIG_USBDEBUG_DONGLE_BEAGLEBONE_BLACK=n   (Generic Drivers -> Type of dongle (Net20DC or compatible) -> BeagleBone Black)
-
-

- 2 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 here - (also tested/verified). -

-

- Then:
-

-CONFIG_CONSOLE_USB=y (Console -> USB dongle console output)
-
-

-

- Also - Debugging ---> Output verbose XYZ - ) (FIXME somebody verify these): -

-
-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)
-
-

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(FIXME: link about compiling libreboot.

-

- Selecting - HCD Index - and - USB Debug port -

-

- This applies (and works) only if the USB controller that supports debug - (found in the first section) is from Intel.
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. -

-

- 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 - . -

-

- For - CONFIG_USBDEBUG_DEFAULT_PORT - choose the port from the first section that correspond to the - PCI ID -

+

- Notes:
The above is based on the implementation of - coreboot/src/southbridge/intel/common/usb_debug.c : pci_ehci_dbg_dev() - .
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 © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
+ Copyright © 2015 Patrick "P. J." McDermott <pj@pehjota.net>
+ 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 ../gfdl-1.3.txt

-
    -
  • On T500 (with switchable GPU) the debug ports for both intel - controllers is exposed.
  • -
  • On x200t the debug ports for both intel controllers is - exposed.
  • -
-

How to get the debug logs

-
    -
  • Plug the USB cable in the target’s debug port (the one - you found in step 1) and BBB’s mini-B USB
  • -
  • Make sure no other then g_dbgp of the g_* - modules is loaded on your BBB -
  • -
  • On the BBB:
  • -
-
-stty -icrnl -inlcr -F /dev/ttyGS0
-cat /dev/ttyGS0
-
-
    -
  • Power on the target with libreboot
  • -
  • You should see debug logs comming on your BBB console
  • -
+

- Note that this is not permanent on BBB, if you reboot it, you have to - rmmod g_* - and - modprobe g_dbgp -

-

Eneble - EHCI Debug on the target’s kernel (optional, recommended)

-

You have to know how to compile kernel for your target.

-
    -
  1. Check if early debugging is already enabled: grep - CONFIG_EARLY_PRINTK_DBGP /boot/config-<ver>
  2. -
  3. If enabled, you do not have to compile the kernel (skip this - step). Otherwise, prepare kernel source for your distribution and - select (Kernel hacking -> Early printk via EHCI debug - port). Compile and install the new kernel. -
  4. -
  5. Edit your grub configuration and add following to the kenel - parameters2021: earlyprintk=dbgp,keep. - Also, try: earlyprintk=dbgp<N>,keep where N - is the debug port id if the first does not work. -
  6. -
-

References

-

- 10 EHCI - Debug Port -

-

- 11 coreboot - EHCI debug gadget demonstration -

-

- 12 EHCI - Gadget Debug -

-

- 13 Ehci-debug-gadget-patches.tar.gz -

-

- 14 Compiling - the BeagleBone Black Kernel -

-

- 15 - http://dumb-looks-free.blogspot.ca/2014/06/beaglebone-black-bbb-compile-kernel.html -

-

- 16 - http://dumb-looks-free.blogspot.fr/2014/06/beaglebone-black-bbb-kernal-headers.html -

-

- 17 Building - BBB Kernel -

-

- 18 - http://komposter.com.ua/documents/USB-2.0-Debug-Port%28John-Keys%29.pdf -

-

- 19 Exploring - USB at the Hardware/Software Interface -

-

- 20 - https://www.kernel.org/doc/Documentation/x86/earlyprintk.txt -

-

- 21 https://wiki.ubuntu.com/Kernel/Debugging/USBearlyprintk + Updated versions of the license (when available) can be found at + https://www.gnu.org/licenses/licenses.html

+

- TODO: + 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.

-
    -
  1. grub does not send messages to EHCI debug. Investigate.
  2. -
  3. The section “Configure libreboot with EHCI debug” - can be skipped/simplified if a common configuration works for all - relevant targets is selected as defualt
  4. -
  5. Patch and compule g_dbgp on BBB instead cross-compile
  6. -
  7. Find a simple way to send debug messages from targets userland
  8. -
-
- -
-

- Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
- Copyright © 2015 Patrick "P. J." McDermott <pj@pehjota.net>
- Copyright © 2015 Alex David <opdecirkel@gmail.com>
- 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 ../cc-by-sa-4.txt. + 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.

-

- 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 ../cc-by-sa-4.txt 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.

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 @@

Hardware methods

  • How to programme an SPI flash chip with the BeagleBone Black
  • +
  • How to configure EHCI debugging on the BeagleBone Black
  • ThinkPad X60: Recovery guide
  • ThinkPad X60 Tablet: Recovery guide
  • ThinkPad T60: Recovery guide
  • @@ -224,22 +225,10 @@

    Flash chip size on GM45 (X200/R400/T400/T500)

    - Users of the X200/R400/T400/T500 take note: 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:
    + # dmidecode | grep ROM\ Size

    -

    - To easily identify which size chip is present:
    - # dmidecode | grep ROM\ Size
    - or (on some distributions):
    - $ sudo dmidecode | grep ROM\ Size
    - Example output: -

    -
    -# ROM Size: 8192 kB
    -
    -

    All good?

    Excellent! Moving on...

    @@ -441,16 +430,47 @@

    - Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
    - Copyright © 2015 Chris Ryder <cdkr00@gmail.com>
    - 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 ../cc-by-sa-4.txt. + Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
    + 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 ../gfdl-1.3.txt +

    + +

    + Updated versions of the license (when available) can be found at + https://www.gnu.org/licenses/licenses.html

    - 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 ../cc-by-sa-4.txt 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. +

    +

    + 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. +

    +

    + 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.

    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 @@
    -

    Flash chips

    +

    Flash chip size

    - 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). -

    - -

    - To easily identify which size chip is present, before fully disassemblying:
    + Use this to find out:
    # dmidecode | grep ROM\ Size
    - or (on some distributions):
    - $ sudo dmidecode | grep ROM\ Size
    - Example output:

    -
    -# ROM Size: 8192 kB
    -

    Back to top of page. @@ -545,16 +532,47 @@ Verifying flash... VERIFIED.

    - Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
    - Copyright © 2015 Chris Ryder <cdkr00@gmail.com>
    - 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 ../cc-by-sa-4.txt. + Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
    + 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 ../gfdl-1.3.txt +

    + +

    + Updated versions of the license (when available) can be found at + https://www.gnu.org/licenses/licenses.html

    - 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 ../cc-by-sa-4.txt 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. +

    +

    + 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. +

    +

    + 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.

    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 @@
    -

    Flash chips

    +

    Flash chip size

    - 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:
    + # dmidecode | grep ROM\ Size

    - -

    - To easily identify which size chip is present, before fully disassemblying:
    - # dmidecode | grep ROM\ Size
    - or (on some distributions):
    - $ sudo dmidecode | grep ROM\ Size
    - Example output: -

    -
    -# ROM Size: 8192 kB
    -

    Back to top of page. @@ -521,16 +510,47 @@ Verifying flash... VERIFIED.

    - Copyright © 2015 Francis Rowe <info@gluglug.org.uk>
    - Copyright © 2015 Chris Ryder <cdkr00@gmail.com>
    - 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 ../cc-by-sa-4.txt. + Copyright © 2015 Francis Rowe <info@gluglug.org.uk>
    + 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 ../gfdl-1.3.txt +

    + +

    + Updated versions of the license (when available) can be found at + https://www.gnu.org/licenses/licenses.html

    - 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 ../cc-by-sa-4.txt 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. +

    +

    + 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. +

    +

    + 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.

    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 @@
    -

    Flash chips

    +

    Flash chip size

    - 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:
    + # dmidecode | grep ROM\ Size

    - -

    - To easily identify which size chip is present, before fully disassemblying:
    - # dmidecode | grep ROM\ Size
    - or (on some distributions):
    - $ sudo dmidecode | grep ROM\ Size
    - Example output: -

    -
    -# ROM Size: 8192 kB
    -

    Back to top of page. @@ -536,16 +525,47 @@ Verifying flash... VERIFIED.

    - Copyright © 2015 Francis Rowe <info@gluglug.org.uk>
    - Copyright © 2015 Chris Ryder <cdkr00@gmail.com>
    - 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 ../cc-by-sa-4.txt. + Copyright © 2015 Francis Rowe <info@gluglug.org.uk>
    + 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 ../gfdl-1.3.txt +

    + +

    + Updated versions of the license (when available) can be found at + https://www.gnu.org/licenses/licenses.html

    - 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 ../cc-by-sa-4.txt 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. +

    +

    + 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. +

    +

    + 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.

    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:

    - Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
    - 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 ../cc-by-sa-4.txt. + Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
    + 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 ../gfdl-1.3.txt

    - 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 ../cc-by-sa-4.txt for more information. + Updated versions of the license (when available) can be found at + https://www.gnu.org/licenses/licenses.html +

    + +

    + 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. +

    +

    + 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. +

    +

    + 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.

    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 @@
    -

    Flash chips

    +

    Flash chip size

    - 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:
    + # dmidecode | grep ROM\ Size

    - -

    - To easily identify which size chip is present, before fully disassemblying:
    - # dmidecode | grep ROM\ Size
    - or (on some distributions):
    - $ sudo dmidecode | grep ROM\ Size
    - Example output: -

    -
    -# ROM Size: 8192 kB
    -

    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) === This is how you will connect. Numbers refer to pin numbers on the BBB, on the plugs near the DC jack. Here is a photo of the SOIC-8 flash chip. The pins are labelled:
    -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. + 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? 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).
    The following image shows how this is done:

    - +
    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 ../hcl/gm45_remove_me.html#flashchips but @@ -422,16 +411,47 @@ PR4: Warning: 0x005f8000-0x005fffff is locked.

    - Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
    - Copyright © 2015 Chris Ryder <cdkr00@gmail.com>
    - 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 ../cc-by-sa-4.txt. + Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
    + 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 ../gfdl-1.3.txt +

    + +

    + Updated versions of the license (when available) can be found at + https://www.gnu.org/licenses/licenses.html

    - 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 ../cc-by-sa-4.txt 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. +

    +

    + 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. +

    +

    + 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.

    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:

    - Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
    - 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 ../cc-by-sa-4.txt. + Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
    + 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 ../gfdl-1.3.txt

    - 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 ../cc-by-sa-4.txt for more information. + Updated versions of the license (when available) can be found at + https://www.gnu.org/licenses/licenses.html +

    + +

    + 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. +

    +

    + 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. +

    +

    + 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.

    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:

    - Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
    - 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 ../cc-by-sa-4.txt. + Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk>
    + 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 ../gfdl-1.3.txt

    - 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 ../cc-by-sa-4.txt for more information. + Updated versions of the license (when available) can be found at + https://www.gnu.org/licenses/licenses.html +

    + +

    + 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. +

    +

    + 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. +

    +

    + 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.

    -- cgit v0.9.1