History log of /openbmc/obmc-console/ (Results 126 – 150 of 200)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
9836e2b310-Feb-2020 Andrew Jeffery <andrew@aj.id.au>

conf: Ship default configuration and systemd units

Two configurations are supported:

1. A socket-activated, single-port client service arrangement, and
2. A port-templated client service

systemd's

conf: Ship default configuration and systemd units

Two configurations are supported:

1. A socket-activated, single-port client service arrangement, and
2. A port-templated client service

systemd's template-unit constraints prevent us from mapping ports to a
daemon configuration for the socket-activated case. To support multiple
concurrent console servers we have to revert to a standard daemon
arrangement where dropbear binds, listens and accepts its own
connections. This brings with it immediate memory overhead of running
dropbear before connections are received. As such configuration 2 is
opt-in as there are very few systems that require it.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: Ifbcac1b1ca75ab3ff08c73855d7ed2ebabc27c0a

show more ...

71e7a24912-Feb-2020 Andrew Jeffery <andrew@aj.id.au>

console-client: Enable use of a configuration file

However, only initialise a config if the option was provided. This
avoids searching for the default config, which may not exist and is
intended for

console-client: Enable use of a configuration file

However, only initialise a config if the option was provided. This
avoids searching for the default config, which may not exist and is
intended for the server.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I08f736243c1843bfb8855f5ceb69418d59a8775a

show more ...

ddf2ab7c09-Feb-2020 Andrew Jeffery <andrew@aj.id.au>

obmc-console: Expose socket ID configuration for client and server

* Add a new option in the server configuration file to use a friendly ID
in the socket abstract path
* Add a new command-line opt

obmc-console: Expose socket ID configuration for client and server

* Add a new option in the server configuration file to use a friendly ID
in the socket abstract path
* Add a new command-line option to the client to connect to a particular
server socket path.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I95440ca7c2c76d2c1ef00d92abc9e0ffc32cbf5a

show more ...

5e7c078609-Feb-2020 Andrew Jeffery <andrew@aj.id.au>

console-socket: Add an optional component to UNIX socket abstract names

Allows multiple instances of obmc-console-server to run concurrently
without interfering with each other.

Signed-off-by: Andr

console-socket: Add an optional component to UNIX socket abstract names

Allows multiple instances of obmc-console-server to run concurrently
without interfering with each other.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I7ef9c14e554c687e8d606e1eaaed82a7f1c06d98

show more ...

c5ce2cbd25-Jul-2019 Jeremy Kerr <jk@ozlabs.org>

tests: Add client escape test

Add a small testcase for the escape-parsing code.

Change-Id: I2296d1bd0b1a97b46565e56ed867dd39a159baec
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>

5b16dc8926-Jul-2019 William A. Kennington III <wak@google.com>

console-client: Fix fixed-string escape mode dropping its last byte

This fixes an issue of the server not receiving the final byte of the
escape sequence due to an off by one.

Fixes: 15691c8ef350bc

console-client: Fix fixed-string escape mode dropping its last byte

This fixes an issue of the server not receiving the final byte of the
escape sequence due to an off by one.

Fixes: 15691c8ef350bcaae0f37c522488ce87dbe5ea84
Change-Id: Id6240f858fb4b77e684faeb3405cc631c07c35cb
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...

8a15435725-Jul-2019 William A. Kennington III <wak@google.com>

console-client: Produce unique exit code when escaped

This allows programs which supervise obmc-console-client to know the
difference between a clean exit and one where the shell had a deliberate
es

console-client: Produce unique exit code when escaped

This allows programs which supervise obmc-console-client to know the
difference between a clean exit and one where the shell had a deliberate
escape.

Tested:
Ran on a machine and checked that issuing an escape generated a
return code of 2.

Change-Id: Ica698134f60ba17b445c12b9c95faed43f90f309
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...

15691c8e25-Jul-2019 William A. Kennington III <wak@google.com>

console-client: Support an alternate string escape mode

This mode is intended to avoid the behavior of witholding any characters
from the console-server. It sends the entire buffer regardless of
mat

console-client: Support an alternate string escape mode

This mode is intended to avoid the behavior of witholding any characters
from the console-server. It sends the entire buffer regardless of
matching the escape sequence, however it will immediately terminate
after seeing a full escape sequence and sending the remaining buffered
content.

Tested:
Ran obmc-console-client with no arguments and ensured the ssh-like
escape sequence still worked. Then ran `obmc-console-client -e esc`,
typed a bunch of text into the console followed by esc and watched
the console exit as expected.

Change-Id: I780719d6e2402f93bba81beb8c09e1c661471e22
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...

ff56983025-Jul-2019 William A. Kennington III <wak@google.com>

console-client: Cleanup the escape code

This change fixes a bug where multiple tildes were sent if a user typed
\r~~ This is unlike ssh, which allows nesting of escape sequences by
ensuring that onl

console-client: Cleanup the escape code

This change fixes a bug where multiple tildes were sent if a user typed
\r~~ This is unlike ssh, which allows nesting of escape sequences by
ensuring that only the second tilde is sent after the command sequence
is issued. This patch fixes the behavior so the console-server only ever
gets \r~ for an issued \r~~

This also prepares the escape sequence handling code for an upcoming
change which allows a user configurable escape sequence in addition to
the default ssh like one.

Change-Id: Iaff04e62fb57fab88d413df2b347809b98f728bb
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...

1cecc5de28-Feb-2019 Johnathan Mantey <johnathanx.mantey@intel.com>

Eliminate excessive CPU consumption when redirecting UART over SSH

Redirecting the external UART via SSH caused the console-server,
console-client, and dropbear to consume ~30% of the available CPU

Eliminate excessive CPU consumption when redirecting UART over SSH

Redirecting the external UART via SSH caused the console-server,
console-client, and dropbear to consume ~30% of the available CPU each
when a large amount of data was being written to the UART output.

Buffering all of the small 16550 FIFO bytes into a larger packet and
then sending that to the SSH SW allows more efficient transmission
over the ethernet connection.

Tested this by "ssh root@<bmc.ip.addr> -p 2200" on a system running a
CentOS distribution. Using a BASH console run a large binary file
through "od -t x1 <fname>" to create a large amount of traffic. At
the BMC console run "top" to review the CPU usage. My experience is
after this change is applied:
console-server: ~25% CPU
dropbear: ~3% CPU
console-client: ~1% CPU

Change-Id: Ibabfd285e97a487e7ff040e1cb3159fbff360328
Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>

show more ...

a395a77119-Mar-2019 Johnathan Mantey <johnathanx.mantey@intel.com>

Fix a recursive header include

The test-config-parse-logfile test case recursively includes
console-server.h.

Change-Id: I699ba24ece8671a0529cae3e25e258db811d33f5
Signed-off-by: Johnathan Mantey <j

Fix a recursive header include

The test-config-parse-logfile test case recursively includes
console-server.h.

Change-Id: I699ba24ece8671a0529cae3e25e258db811d33f5
Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>

show more ...

f9c8f6ca04-Mar-2019 Cheng C Yang <cheng.c.yang@linux.intel.com>

Change baudrate dynamically through dbus

Create a dbus interface so that user can change baudrate dynamically.
With this feature, SOL can still work correctly when BIOS switch uart
from high speed u

Change baudrate dynamically through dbus

Create a dbus interface so that user can change baudrate dynamically.
With this feature, SOL can still work correctly when BIOS switch uart
from high speed uart to normal uart.

Tested By:
Run busctl introspect xyz.openbmc_project.console /xyz/openbmc_project/console
the property baudrate show the current baudrate.
Run busctl call xyz.openbmc_project.console /xyz/openbmc_project/console
xyz.openbmc_project.console setBaudRate x 9600
The property baudrate show 9600 now. After change BIOS console redirection
to 9600 baudrate and change putty client also to 9600. SOL and serial port can
work correctly.

Change-Id: I2045f47520275a0b5bb9242af78a64e5aac8ea8a
Signed-off-by: Cheng C Yang <cheng.c.yang@linux.intel.com>

show more ...

fcf8541b18-Dec-2018 Vernon Mauery <vernon.mauery@linux.intel.com>

obmc-console-server: bind/connect with the correct sockaddr size

Abstract unix sockets start with the nul-charater, but are not nul
terminated. In fact, the nul-character has no meaning in the path.

obmc-console-server: bind/connect with the correct sockaddr size

Abstract unix sockets start with the nul-charater, but are not nul
terminated. In fact, the nul-character has no meaning in the path.
According to the man page unix(7),

abstract: an abstract socket address is distinguished (from a pathname
socket) by the fact that sun_path[0] is a null byte ('\0').
The socket's address in this namespace is given by the
additional bytes in sun_path that are covered by the
specified length of the address structure. (Null bytes in
the name have no special significance.)

This means that when calling bind/connect, the size of the sockaddr
structure is not sizeof(sockaddr_un), it is sizeof(sockaddr_un) -
sizeof(sun_path) + (path_len)

Change-Id: I6560ba8b2a25a60644873adf66f02a60ded42b1d
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>

show more ...

1864435727-Aug-2018 Kun Yi <kunyi731@gmail.com>

log-handler: Init log size properly

Log size is not initialized when the config string is not
present in the configuration file. Add a default value
in that case.

Resolves openbmc/obmc-console#14

log-handler: Init log size properly

Log size is not initialized when the config string is not
present in the configuration file. Add a default value
in that case.

Resolves openbmc/obmc-console#14

Tested:
Made sure when configuration file contains no logsize
option, the size is configured to 16kB.

Change-Id: I20b109fc791f2d6ac54704c9aabb5cd129a8bf13
Signed-off-by: Kun Yi <kunyi731@gmail.com>

show more ...

3c89b26314-Jun-2018 Kun Yi <kunyi731@gmail.com>

Add gitignore

Tested:
git status is clean after 'make' and 'cd test && make check'.

Change-Id: I5a6dd2a8a85b0621b0d055910071da632ccc810d
Signed-off-by: Kun Yi <kunyi731@gmail.com>

9747d63d22-Jun-2018 Kun Yi <kunyi731@gmail.com>

test: config: Add a test for config_parse_logsize.

Add a unit test that validates config_parse_logsize returns
expected values.

Tested: 'make check' passed when ran under x86_64 environment.

Chang

test: config: Add a test for config_parse_logsize.

Add a unit test that validates config_parse_logsize returns
expected values.

Tested: 'make check' passed when ran under x86_64 environment.

Change-Id: I54d9478157fab3db7c2c5879d12e719e738a1099
Signed-off-by: Kun Yi <kunyi731@gmail.com>

show more ...

6424cc3b14-Jun-2018 Kun Yi <kunyi731@gmail.com>

log-handler: Add a config option for log size.

Allow a configuration option to specify a log size. The parameter takes and
interprets common size suffixes k/M/G. 1kB = 1024B, 1MB=1024kB, 1GB=1024MB.

log-handler: Add a config option for log size.

Allow a configuration option to specify a log size. The parameter takes and
interprets common size suffixes k/M/G. 1kB = 1024B, 1MB=1024kB, 1GB=1024MB.
Default unit is byte. If "B" is specified at the end it will be ignored.

Tested:
Tested that "logsize = 567kB" correctly sets up a 567KB log buffer.
Tested that invalid/overflow values will be ignored and 16KB will be used.
Tested that if log size smaller than pagesize is rounded up.

Change-Id: I2fb50462c6ff7873130be80f7d57ef8065acc5da
Signed-off-by: Kun Yi <kunyi731@gmail.com>

show more ...

c7fbcd4804-Jun-2018 Benjamin Fair <benjaminfair@google.com>

server: allow setting baud rate on host tty

The Nuvoton NPCM7xx series BMCs have a real UART which receives output
from the host serial console, rather than a virtual UART as on Aspeed
parts. This m

server: allow setting baud rate on host tty

The Nuvoton NPCM7xx series BMCs have a real UART which receives output
from the host serial console, rather than a virtual UART as on Aspeed
parts. This means we have to set the baud rate of the tty to match the
host console.

This change adds the "baud" config option. If it is present in the
config file and has a valid value, the host console tty's baud rate will
be set to that value.

Change-Id: If2156c2032e7527709713f13654ce8bca9bf4c1d
Signed-off-by: Benjamin Fair <benjaminfair@google.com>

show more ...

fcbdea9c04-Jun-2018 Benjamin Fair <benjaminfair@google.com>

tty-handler: move baud rate parsing into config.c

This is in preparation for being able to set the baud rate on the host
console tty.

Change-Id: Id279530bdfc1240649fcdd606fbc928437fc38dc
Signed-off

tty-handler: move baud rate parsing into config.c

This is in preparation for being able to set the baud rate on the host
console tty.

Change-Id: Id279530bdfc1240649fcdd606fbc928437fc38dc
Signed-off-by: Benjamin Fair <benjaminfair@google.com>

show more ...

5395276a18-May-2018 Andrew Jeffery <andrew@aj.id.au>

Add MAINTAINERS file

Change-Id: I8815dac6773c929ac68cf9313b58b44c7522d4d0
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>

67eab04611-Jul-2017 Jeremy Kerr <jk@ozlabs.org>

tty-handler: unify error handling for poller failures

We currently have a bug where we don't unregister from the ringbuffer
poller if we get an error on read(). This change unifies the
error-handlin

tty-handler: unify error handling for poller failures

We currently have a bug where we don't unregister from the ringbuffer
poller if we get an error on read(). This change unifies the
error-handling for potential failure cases in the poller handler, and
ensures that we unregister the ringbuffer poller and console poller in
all cases.

Change-Id: If354dd3c7f2a1ec534c6b42020fd9978e53cb20d
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>

show more ...

1764145d07-Feb-2017 Jeremy Kerr <jk@ozlabs.org>

server: ensure per-cycle buffer is smaller than ringbuffer

... otherwise there's a chance we can't queue a full read.

Change-Id: I7bae8b124a523aac39045b6da97b486924e69f97
Signed-off-by: Jeremy Kerr

server: ensure per-cycle buffer is smaller than ringbuffer

... otherwise there's a chance we can't queue a full read.

Change-Id: I7bae8b124a523aac39045b6da97b486924e69f97
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>

show more ...

6b1fed2707-Feb-2017 Jeremy Kerr <jk@ozlabs.org>

server: improve blocked-write behaviour for handlers

We currently don't implement POLLOUT properly; we never set this for
polled events, and will repeat calls to write() if we see EAGAIN.

This chan

server: improve blocked-write behaviour for handlers

We currently don't implement POLLOUT properly; we never set this for
polled events, and will repeat calls to write() if we see EAGAIN.

This change improves the behaviour when writes start to block, by
tracking when a fd is blocked. Once we detect blocking behaviour, we
supress future (non-forced) writes, and wait for POLLOUT so we know when
we can write again.

Change-Id: I809bde4e1c7c78a58ea296d5c076b3d93c272558
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>

show more ...

f733c85a07-Feb-2017 Jeremy Kerr <jk@ozlabs.org>

server: use ringbuffer for all handlers

Currently, we use the a ringbuffer within the socket handler to manage
bursts of data to slower clients.

However, we're also seeing cases where the local tty

server: use ringbuffer for all handlers

Currently, we use the a ringbuffer within the socket handler to manage
bursts of data to slower clients.

However, we're also seeing cases where the local tty handler becomes
blocking as well. So, we want to implement a buffer within the tty
handler too.

This change moves the ringbuffer 'up a layer' - from the socket handler
to the core console code.

We remove the ->data_in callback from handlers, and work on the
assumption that handlers have registered their own consumer on the
console's ringbuffer (through a new helper function,
console_ringbuffer_consumer_register()).

Change-Id: Ie8f02d6632578c50bb5e2dfb9bee6ece86432135
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>

show more ...

1b57501007-Feb-2017 Jeremy Kerr <jk@ozlabs.org>

server: Add documentation to struct handler

Add a little documentation for the handler API, as we'll be changing
this with upcoming buffer code.

Change-Id: I0d33c415f577b9bdc6b53bb8151bb7f564733b3d

server: Add documentation to struct handler

Add a little documentation for the handler API, as we'll be changing
this with upcoming buffer code.

Change-Id: I0d33c415f577b9bdc6b53bb8151bb7f564733b3d
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>

show more ...

12345678