1 .. SPDX-License-Identifier: GPL-2.0 2 3 ============ 4 Early Printk 5 ============ 6 7 Mini-HOWTO for using the earlyprintk=dbgp boot 8 USB2 Debug port key and a debug cable, on x86 9 10 You need two computers, the 'USB debug key' sp 11 two USB cables, connected like this:: 12 13 [host/target] <-------> [USB debug key] <--- 14 15 Hardware requirements 16 ===================== 17 18 a) Host/target system needs to have USB debu 19 20 You can check this capability by looking 21 the lspci -vvv output:: 22 23 # lspci -vvv 24 ... 25 00:1d.7 USB Controller: Intel Corporati 26 Subsystem: Lenovo ThinkPad T61 27 Control: I/O- Mem+ BusMaster+ S 28 Status: Cap+ 66MHz- UDF- FastB2 29 Latency: 0 30 Interrupt: pin D routed to IRQ 31 Region 0: Memory at fe227000 (3 32 Capabilities: [50] Power Manage 33 Flags: PMEClk- DSI- D1- 34 Status: D0 PME-Enable- 35 Capabilities: [58] Debug port: 36 ^^^^^^^^^^^ <===== 37 Kernel driver in use: ehci_hcd 38 Kernel modules: ehci-hcd 39 ... 40 41 .. note:: 42 If your system does not list a debug po 43 won't be able to use the USB debug key. 44 45 b) You also need a NetChip USB debug cable/k 46 47 http://www.plxtech.com/products/NET200 48 49 This is a small blue plastic connector wi 50 it draws power from its USB connections. 51 52 c) You need a second client/console system w 53 54 d) The NetChip device must be plugged direct 55 debug port on the "host/target" system. Y 56 between the physical debug port and the " 57 58 The EHCI debug controller is bound to a s 59 port and the NetChip device will only wor 60 device in this port. The EHCI host contr 61 wired such that the EHCI debug controller 62 first physical port and there is no way t 63 You can find the physical port through ex 64 each physical port on the system and rebo 65 and use lsusb or look at the kernel info 66 usb stack when you plug a usb device into 67 "host/target" system. 68 69 Some hardware vendors do not expose the u 70 physical connector and if you find such a 71 to the hardware vendor, because there is 72 this port into one of the physically acce 73 74 e) It is also important to note, that many v 75 device require the "client/console" syste 76 right hand side of the device (with the p 77 readable left to right). The reason bein 78 power supply is taken from only one side 79 must be the side that does not get reboot 80 81 Software requirements 82 ===================== 83 84 a) On the host/target system: 85 86 You need to enable the following kernel co 87 88 CONFIG_EARLY_PRINTK_DBGP=y 89 90 And you need to add the boot command line: 91 92 .. note:: 93 If you are using Grub, append it to the 94 /etc/grub.conf. If you are using Grub2 95 append it to the 'linux' line in /boot/g 96 using Grub2 on an EFI firmware system, a 97 or 'linuxefi' line in /boot/grub2/grub.c 98 /boot/efi/EFI/<distro>/grub.cfg. 99 100 On systems with more than one EHCI debug c 101 specify the correct EHCI debug controller 102 comes from the PCI bus enumeration of the 103 default with no number argument is "0" or 104 controller. To use the second EHCI debug 105 use the command line: "earlyprintk=dbgp1" 106 107 .. note:: 108 normally earlyprintk console gets turned 109 regular console is alive - use "earlypri 110 this channel open beyond early bootup. T 111 debugging crashes under Xorg, etc. 112 113 b) On the client/console system: 114 115 You should enable the following kernel con 116 117 CONFIG_USB_SERIAL_DEBUG=y 118 119 On the next bootup with the modified kerne 120 get a /dev/ttyUSBx device(s). 121 122 Now this channel of kernel messages is rea 123 your favorite terminal emulator (minicom, 124 it up to use /dev/ttyUSB0 - or use a raw ' 125 see the raw output. 126 127 c) On Nvidia Southbridge based systems: the 128 and find out which port has a debug devic 129 130 Testing 131 ======= 132 133 You can test the output by using earlyprintk=d 134 kernel messages on the host/target system. You 135 kernel message by for example doing:: 136 137 echo h > /proc/sysrq-trigger 138 139 On the host/target system you should see this 140 141 SysRq : HELP : loglevel(0-9) reBoot Crash 142 143 On the client/console system do:: 144 145 cat /dev/ttyUSB0 146 147 And you should see the help line above display 148 provoked it on the host system. 149 150 If it does not work then please ask about it o 151 mailing list or contact the x86 maintainers.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.