diff options
author | wdenk | 2005-04-03 14:52:59 +0000 |
---|---|---|
committer | wdenk | 2005-04-03 14:52:59 +0000 |
commit | b1bf6f2c9b4aa17c6ccb7a631c99fae7f4b5744b (patch) | |
tree | 2b74636bd6705350ce5cc031b51412bd1f88671a | |
parent | 86c9888207b0d5b9632c4ed7a61fd09b81bb618c (diff) |
* Patch by Richard Klingler, 03 Apr 2005:
Add call to eth_halt() in net/net.c when called functions fail
after eth_init() has been called.
* Patch by Sam Song, 3 April 2005:
- Update README.Netconsole
- Update README
-rw-r--r-- | CHANGELOG | 8 | ||||
-rw-r--r-- | README | 1 | ||||
-rw-r--r-- | doc/README.NetConsole | 27 | ||||
-rw-r--r-- | net/net.c | 5 |
4 files changed, 39 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG index 71eae5e7efb..c82e3365d73 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,14 @@ Changes for U-Boot 1.1.3: ====================================================================== +* Patch by Richard Klingler, 03 Apr 2005: + Add call to eth_halt() in net/net.c when called functions fail + after eth_init() has been called. + +* Patch by Sam Song, 3 April 2005: + - Update README.Netconsole + - Update README + * Prepare for SoC rework of ARM code: - rename CONFIG_BOOTBINFUNC into CONFIG_INIT_CRITICAL - rename memsetup into lowlevel_init (function name and source files) @@ -627,6 +627,7 @@ The following options need to be configured: CFG_CMD_SAVES * save S record dump CFG_CMD_SCSI * SCSI Support CFG_CMD_SDRAM * print SDRAM configuration information + (requires CFG_CMD_I2C) CFG_CMD_SETGETDCR Support for DCR Register access (4xx only) CFG_CMD_SPI * SPI serial bus support CFG_CMD_USB * USB support diff --git a/doc/README.NetConsole b/doc/README.NetConsole index 3a572931c51..cc35a0a8ffe 100644 --- a/doc/README.NetConsole +++ b/doc/README.NetConsole @@ -12,11 +12,20 @@ omitted, the value of 6666 is used. If the env var doesn't exist, the broadcast address and port 6666 are used. If it is set to an IP address of 0 (or 0.0.0.0) then no messages are sent to the network. +For example, if your server IP is 192.168.1.1, you could use: + + => setenv nc 'setenv stdout nc;setenv stdin nc' + => setenv ncip 192.168.1.1 + => saveenv + => run nc + + On the host side, please use this script to access the console: +++++++++++++++++++++++++++++++++++++++++++ #! /bin/bash +[ $# = 1 ] || { echo "Usage: $0 target_ip" >&2 ; exit 1 ; } TARGET_IP=$1 stty -icanon -echo intr ^T @@ -25,6 +34,10 @@ nc -u ${TARGET_IP} 6666 stty icanon echo intr ^C +++++++++++++++++++++++++++++++++++++++++++ +The script expects exactly one argument, which is interpreted as the +target IP address (or host name, assuming DNS is working). The script +can be interrupted by pressing ^T (CTRL-T). + It turns out that 'netcat' cannot be used to listen to broadcast packets. We developed our own tool 'ncb' (see tools directory) that listens to broadcast packets on a given port and dumps them to the @@ -33,13 +46,25 @@ standard output. use it as follows: +++++++++++++++++++++++++++++++++++++++++++ #! /bin/bash +[ $# = 1 ] || { echo "Usage: $0 target_ip" >&2 ; exit 1 ; } +TARGET_IP=$1 + stty icanon echo intr ^T ./ncb & -nc -u mpc5200 6666 +nc -u ${TARGET_IP} 6666 stty icanon echo intr ^C kill 0 +++++++++++++++++++++++++++++++++++++++++++ +Again, this script takes exactly one argument, which is interpreted +as the target IP address (or host name, assuming DNS is working). The +script can be interrupted by pressing ^T (CTRL-T). + +The 'ncb' tool can be found in the tools directory; it will not be +built by default so you will ither have to adjust the Makefile or +build it manually. + + For Linux, the network-based console needs special configuration. Minimally, the host IP address needs to be specified. This can be done either via the kernel command line, or by passing parameters diff --git a/net/net.c b/net/net.c index 00aa6615029..7c3744dcefa 100644 --- a/net/net.c +++ b/net/net.c @@ -303,8 +303,10 @@ NetLoop(proto_t protocol) #ifdef CONFIG_NET_MULTI eth_set_current(); #endif - if (eth_init(bd) < 0) + if (eth_init(bd) < 0) { + eth_halt(); return(-1); + } restart: #ifdef CONFIG_NET_MULTI @@ -383,6 +385,7 @@ restart: switch (net_check_prereq (protocol)) { case 1: /* network not configured */ + eth_halt(); return (-1); #ifdef CONFIG_NET_MULTI |