aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/gnulinux/grub_cbfs.md2
-rw-r--r--docs/hardware/mac_address.md107
-rw-r--r--docs/install/r400_external.md10
-rw-r--r--docs/install/t400_external.md10
-rw-r--r--docs/install/t500_external.md10
-rw-r--r--docs/install/x200_external.md11
-rw-r--r--projects/cros-ec/configs/nyan/revision2
-rw-r--r--projects/cros-ec/configs/veyron/revision2
-rw-r--r--projects/cros-ec/patches/veyron/0005-Don-t-include-missing-and-unnecessary-math-header.patch29
-rw-r--r--projects/cros-ec/patches/veyron/0005-cortex-m0-Use-assembly-exception-handlers-for-task-s.patch (renamed from projects/cros-ec/patches/veyron/0006-cortex-m0-Use-assembly-exception-handlers-for-task-s.patch)0
-rw-r--r--www/faq.md81
11 files changed, 195 insertions, 69 deletions
diff --git a/docs/gnulinux/grub_cbfs.md b/docs/gnulinux/grub_cbfs.md
index 2e68cb0b..fc46180c 100644
--- a/docs/gnulinux/grub_cbfs.md
+++ b/docs/gnulinux/grub_cbfs.md
@@ -262,7 +262,7 @@ Then, add the new one to the ROM:
$ ./cbfstool libreboot.rom add -n grubtest.cfg -f grubtest.cfg -t raw
-#### Change MAC address in ROM
+#### Change MAC address in ROM {#changeMAC}
The last step before flashing the new ROM, is to change the MAC address inside it.
Every libreboot ROM image contains a generic MAC address; you want to make sure
that your ROM image contains yours, so as to not create any problems on your network
diff --git a/docs/hardware/mac_address.md b/docs/hardware/mac_address.md
new file mode 100644
index 00000000..0a0d3621
--- /dev/null
+++ b/docs/hardware/mac_address.md
@@ -0,0 +1,107 @@
+---
+title: Changing the MAC address
+...
+
+Introduction (GM45+e1000)
+=========================
+
+This section is applicable to all Libreboot-supported laptops with the
+mobile 4 series chipset (as shown in `$ lspci`)
+that use the e1000 ethernet controller (e.g. T400, X200).
+The R500 is an exception to this as it does not use the built-in e1000.
+
+On all these laptops, the
+[MAC address](https://en.wikipedia.org/wiki/MAC_address)
+for the built-in gigabit ethernet controller is stored inside the flash chip,
+along with Libreboot and other configuration data. Therefore, installing
+Libreboot will overwrite it.
+
+Thus, for these laptops, prebuilt Libreboot already contains a generic
+MAC address in the configuration section. This address is `00:f5:f0:40:71:fe`
+in builds before 2018-01-16 and `00:4c:69:62:72:65` (see the ascii character
+set) afterwards.
+Unless you change it, your computer will boot and use it. This can lead
+to network problems if you have more than one Libreboot computer on
+the same layer2 network (e.g. on the same network switch). The switch
+(postman) will simply not know who to deliver to as the MAC (house) addresses
+will be the same.
+
+To prevent these address clashes, you can either modify prebuilt Libreboot
+to use an address of your own choosing or you can change the address in your
+operating system's boot scripts.
+
+In either case, it is a good idea to write down the address that your
+computer originally had.
+
+Obtaining the existing MAC address
+==================================
+
+The existing MAC address may be obtained by the following methods:
+
+1. Run `ip link` or `ifconfig` in a terminal/console/shell;
+ find your ethernet device (e.g., **enpXXX** or **ethXXX**),
+ and look for a set of 12 colon-delimited
+ [hexadecimal digits](https://en.wikipedia.org/wiki/Hexadecimal).
+ For example: `00:f3:f0:45:91:fe`.
+
+ * `$ ip link`
+
+ `... link/ether ??:??:??:??:??:?? brd ...`
+
+ * Alternatively:
+
+ `$ ifconfig`
+
+ `... ether ??:??:??:??:??:?? txqueuelen ...`
+
+
+2. Otherwise you can read the white label that is often found on the
+ motherboard under the memory sticks:
+ ![](../install/images/t400/macaddress1.jpg)
+
+3. The MAC address is usually listed on the laptop chassis as well. This one
+ will be incorrect if the motherboard was changed and the stickers were not
+ updated.
+
+Changing the MAC address in the operating system
+================================================
+
+There are three portable ways of doing so:
+
+1. Using the new iproute2 package:
+
+ `# ip link set <interface> down`
+
+ `# ip link set dev <interface> address 00:4c:69:62:72:65`
+
+ `# ip link set <interface> up`
+
+
+2. Using the old `ifconfig` command:
+
+ `# ifconfig <interface> hw ether 00:4c:69:62:72:65`
+
+
+3. Using the macchanger package.
+
+You can use use of these three methods in your operating system's
+init scripts or you can use your operating system's own networking
+configuration. Refer to your operating system's documentation for
+how to do this.
+
+Changing the MAC address in Libreboot
+=====================================
+
+See [here](../gnulinux/grub_cbfs.md#changeMAC).
+
+
+
+Copyright © 2017 Fedja Beader <fedja@protonmail.ch>
+
+Copyright © 2014, 2015 Leah Rowe <info@minifree.org>
+
+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 this license is found in [../fdl-1.3.md](../fdl-1.3.md)
diff --git a/docs/install/r400_external.md b/docs/install/r400_external.md
index 4036c761..8f9dd1ff 100644
--- a/docs/install/r400_external.md
+++ b/docs/install/r400_external.md
@@ -69,15 +69,7 @@ Use this to find out:
MAC address {#macaddress}
===========
-On the R400, the MAC address for the onboard gigabit ethernet chipset is
-stored inside the flash chip, along with other configuration data.
-
-Keep a note of the MAC address before disassembly; this is very
-important, because you will need to insert this into the libreboot ROM
-image before flashing it. It will be written in one of these locations:
-
-![](images/t400/macaddress0.jpg) ![](images/t400/macaddress1.jpg)
-![](images/x200/disassembly/0001.jpg)
+Refer to [mac\_address.md](../hardware/mac_address.md).
Initial BBB configuration
=========================
diff --git a/docs/install/t400_external.md b/docs/install/t400_external.md
index 672ea46e..d377d4c0 100644
--- a/docs/install/t400_external.md
+++ b/docs/install/t400_external.md
@@ -70,15 +70,7 @@ Use this to find out:
MAC address {#macaddress}
===========
-On the T400, the MAC address for the onboard gigabit ethernet chipset is
-stored inside the flash chip, along with other configuration data.
-
-Keep a note of the MAC address before disassembly; this is very
-important, because you will need to insert this into the libreboot ROM
-image before flashing it. It will be written in one of these locations:
-
-![](images/t400/macaddress0.jpg) ![](images/t400/macaddress1.jpg)
-![](images/x200/disassembly/0001.jpg)
+Refer to [mac\_address.md](../hardware/mac_address.md).
Initial BBB configuration
=========================
diff --git a/docs/install/t500_external.md b/docs/install/t500_external.md
index 9e114bca..2a29d8ed 100644
--- a/docs/install/t500_external.md
+++ b/docs/install/t500_external.md
@@ -73,15 +73,7 @@ Use this to find out:
MAC address {#macaddress}
===========
-On the T500, the MAC address for the onboard gigabit ethernet chipset is
-stored inside the flash chip, along with other configuration data.
-
-Keep a note of the MAC address before disassembly; this is very
-important, because you will need to insert this into the libreboot ROM
-image before flashing it. It will be written in one of these locations:
-
-![](images/t400/macaddress0.jpg) ![](images/t400/macaddress1.jpg)
-![](images/x200/disassembly/0001.jpg)
+Refer to [mac\_address.md](../hardware/mac_address.md).
Initial BBB configuration
=========================
diff --git a/docs/install/x200_external.md b/docs/install/x200_external.md
index 83a5c23f..c7330ce9 100644
--- a/docs/install/x200_external.md
+++ b/docs/install/x200_external.md
@@ -28,16 +28,7 @@ supported; see the [hardware](../hardware/x200.html#x200s) page.
MAC address
===========
-On the X200/X200S/X200T, the MAC address for the onboard gigabit
-ethernet chipset is stored inside the flash chip, along with other
-configuration data.
-
-Keep a note of the MAC address before disassembly; this is very
-important, because you will need to insert this into the libreboot ROM
-image before flashing it. It will be written in one of these locations:
-
-![](images/x200/disassembly/0002.jpg)
-![](images/x200/disassembly/0001.jpg)
+Refer to [mac\_address.md](../hardware/mac_address.md).
Initial BBB configuration
=========================
diff --git a/projects/cros-ec/configs/nyan/revision b/projects/cros-ec/configs/nyan/revision
index 6ce6b84b..c5b2d348 100644
--- a/projects/cros-ec/configs/nyan/revision
+++ b/projects/cros-ec/configs/nyan/revision
@@ -1 +1 @@
-origin/release-R65-10323.B
+origin/firmware-nyan-5771.B
diff --git a/projects/cros-ec/configs/veyron/revision b/projects/cros-ec/configs/veyron/revision
index 6ce6b84b..6c728396 100644
--- a/projects/cros-ec/configs/veyron/revision
+++ b/projects/cros-ec/configs/veyron/revision
@@ -1 +1 @@
-origin/release-R65-10323.B
+origin/firmware-veyron-6588.B
diff --git a/projects/cros-ec/patches/veyron/0005-Don-t-include-missing-and-unnecessary-math-header.patch b/projects/cros-ec/patches/veyron/0005-Don-t-include-missing-and-unnecessary-math-header.patch
deleted file mode 100644
index 0a099213..00000000
--- a/projects/cros-ec/patches/veyron/0005-Don-t-include-missing-and-unnecessary-math-header.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 913b2f1265bd7f3ebe6cf4cba92c20c5a423a6c3 Mon Sep 17 00:00:00 2001
-From: Paul Kocialkowski <contact@paulk.fr>
-Date: Tue, 2 Aug 2016 12:05:55 +0200
-Subject: [PATCH 5/6] Don't include missing and unnecessary math header
-
-This removes the inclusion of an unnecessary math header that is neither
-found nor necessary for non-cortex-m ECs.
-
-Change-Id: I56a04178dadedb76f841504fa645e2d43900d25f
-Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
----
- common/math_util.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/common/math_util.c b/common/math_util.c
-index 120d13d..34a267d 100644
---- a/common/math_util.c
-+++ b/common/math_util.c
-@@ -6,7 +6,6 @@
- /* Common math functions. */
-
- #include "common.h"
--#include "math.h"
- #include "math_util.h"
- #include "util.h"
-
---
-2.9.0
-
diff --git a/projects/cros-ec/patches/veyron/0006-cortex-m0-Use-assembly-exception-handlers-for-task-s.patch b/projects/cros-ec/patches/veyron/0005-cortex-m0-Use-assembly-exception-handlers-for-task-s.patch
index f0175825..f0175825 100644
--- a/projects/cros-ec/patches/veyron/0006-cortex-m0-Use-assembly-exception-handlers-for-task-s.patch
+++ b/projects/cros-ec/patches/veyron/0005-cortex-m0-Use-assembly-exception-handlers-for-task-s.patch
diff --git a/www/faq.md b/www/faq.md
index ccbee214..272283e4 100644
--- a/www/faq.md
+++ b/www/faq.md
@@ -149,6 +149,87 @@ cryptomount command from `for` loop in libreboot's
It could be fixed in upstream grub by contributing patch that would add
quiet flag to it.
+How to save kernel panic logs on thinkpad laptops?
+--------------------------------------------------
+
+The easiest method of doing so is by using the kernel's netconsole
+and reproducing the panic. Netconsole requires two machines, the one that is
+panicky (source) and the one that will receive crash logs (target). The
+source has to be connected with an ethernet cable and the target has to be
+reachable at the time of the panic. To set this system up, execute the
+following commands as root on the source (`source#`) and normal user on
+the target (`target$`):
+
+1. Start a listener server on the target machine (netcat works well):
+
+ `target$ nc -u -l -p 6666`
+
+2. Mount configfs (only once per boot, you can check if it is already mounted
+ with `mount | grep /sys/kernel/config`. This will return no output
+ if it is not).
+
+ `source# modprobe configfs`
+
+ `source# mkdir -p /sys/kernel/config`
+
+ `source# mount none -t configfs /sys/kernel/config`
+
+3. find source's ethernet interface name, it should be of the form `enp*` or
+ `eth*`, see `ip address` or `ifconfig` output.
+
+ `source# iface="enp0s29f8u1"` change this
+
+ Fill the target machine's IPv4 address here:
+
+ `source# tgtip="192.168.1.2"` change this
+
+
+3. Create netconsole logging target on the source machine:
+
+ `source# modprobe netconsole`
+
+ `source# cd /sys/kernel/config/netconsole`
+
+ `source# mkdir target1; cd target1`
+
+ `source# srcip=$(ip -4 addr show dev "$iface" | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+')`
+
+ `source# echo "$srcip" > local_ip`
+
+ `source# echo "$tgtip" > remote_ip`
+
+ `source# echo "$iface" > dev_name`
+
+ `source# arping -I "$iface" "$tgtip" -f | grep -o '..:..:..:..:..:..' > remote_mac`
+
+ `source# echo 1 > enabled`
+
+4. Change console loglevel to debugging:
+
+ `source# dmesg -n debug`
+
+5. Test if the logging works by e.g. inserting or removing an USB
+ device on the source. There should be a few lines appearing in the
+ terminal, in which you started netcat (nc), on the target host.
+
+6. Try to reproduce the kernel panic.
+
+Machine check exceptions on some Montevina (Penryn CPU) laptops
+---------------------------------------------------------------
+
+Some GM45 laptops have been freezing or experiencing a kernel panic
+(blinking caps lock LED and totaly unresponsive machine, sometimes followed
+by an automatic reboot within 30 seconds).
+We do not know what the problem(s) is(are), but a CPU microcode
+update in some cases prevents this from happening again.
+See the following bug reports for more info:
+
+- [T400 Machine check: Processor context corrupt](https://notabug.org/libreboot/libreboot/issues/493)
+- [X200 Machine check: Processor context corrupt](https://notabug.org/libreboot/libreboot/issues/289)
+
+- [Unrelated, RAM incompatibility and suspend-to-ram issues on X200](https://libreboot.org/docs/hardware/x200.html#ram_s3_microcode)
+
+
Hardware compatibility
======================