serial console output - characters printed twice
|
2015-09-10, 10:33
(This post was last modified: 2015-09-10 10:36 by lupowolfi.)
Post: #1
|
|||
|
|||
serial console output - characters printed twice
Hi,
I'm iPXE-booting on an Alix APU1D system board (not using the onboard iPXE image, but a compiled image from a recent version from git, 07.09.2015). With this setup, the serial console output seems to have a minor issue, namely each character is printed twice. Apart from this the output is working. The following image illustrates the problem: regards, lupowolfi |
|||
2015-09-10, 10:44
Post: #2
|
|||
|
|||
RE: serial console output - characters printed twice | |||
2015-09-10, 11:11
Post: #3
|
|||
|
|||
RE: serial console output - characters printed twice
(2015-09-10 10:44)mcb30 Wrote:(2015-09-10 10:33)lupowolfi Wrote: With this setup, the serial console output seems to have a minor issue, namely each character is printed twice. You were right, that was the "problem". Thank you for your fast help! I did not realize that the PCBIOS console was enabled, because the option was commented out in config/console.h. Undefining CONSOLE_PCBIOS in config/console.h solved my problem. |
|||
2015-09-10, 12:54
Post: #4
|
|||
|
|||
RE: serial console output - characters printed twice
(2015-09-10 11:11)lupowolfi Wrote: You were right, that was the "problem". Thank you for your fast help! Sorry, I didn't explain myself clearly enough. CONSOLE_PCBIOS is the "normal" console which writes to the screen and reads from the keyboard. CONSOLE_SERIAL is iPXE's own serial port driver. BIOS serial redirection is a feature implemented by your BIOS (and configurable via your BIOS setup screen) in which characters written to the screen will also be sent to the serial port. The problem is that you have both CONSOLE_SERIAL and BIOS serial redirection enabled. iPXE writes each character both to the screen (due to CONSOLE_PCBIOS) and to the serial port (due to CONSOLE_SERIAL). Your BIOS then writes an additional copy of the character to the serial port, since you have BIOS serial redirection enabled. You therefore end up with two copies of each character on the serial port: one written directly by iPXE, one written by your BIOS. The solution is to either disable CONSOLE_SERIAL or to disable your BIOS serial redirection (via your BIOS setup screen). Do not disable CONSOLE_BIOS unless you really don't want to be able to interact via a local keyboard and monitor. You may find that iPXE's CONSOLE_SERIAL is more robust than your BIOS's serial redirection feature, and so it might be preferable to leave CONSOLE_SERIAL enabled and disable the BIOS serial redirection (via your BIOS setup screen). Michael |
|||
2015-09-11, 08:33
Post: #5
|
|||
|
|||
RE: serial console output - characters printed twice
(2015-09-10 12:54)mcb30 Wrote: Sorry, I didn't explain myself clearly enough. OK, now I got it. Thanks for the explanation. At least in the case of this alix board the serial driver of iPXE is indeed the preferable variant (haven't tried other serial devices yet), as the menu isn't displayed properly using the BIOS's redirection feature. Unfortunately these devices are shipped with a very limited BIOS, in fact only the boot settings can be altered. Nevertheless, I found a solution I'm happy with. I modified the file config/defaults/pcbios.h by changing the line defining the CONSOLE_PCBIOS option to: #define CONSOLE_PCBIOS ( CONSOLE_USAGE_ALL & ~CONSOLE_USAGE_TUI ) This way at least the menu is printed only once in my serial setup and the iPXE output seems also to be fine in normal cases (non serial). |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 4 Guest(s)