* 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
This commit is contained in:
wdenk 2005-04-03 14:52:59 +00:00
parent 86c9888207
commit b1bf6f2c9b
4 changed files with 39 additions and 2 deletions

View File

@ -2,6 +2,14 @@
Changes for U-Boot 1.1.3: 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: * Prepare for SoC rework of ARM code:
- rename CONFIG_BOOTBINFUNC into CONFIG_INIT_CRITICAL - rename CONFIG_BOOTBINFUNC into CONFIG_INIT_CRITICAL
- rename memsetup into lowlevel_init (function name and source files) - rename memsetup into lowlevel_init (function name and source files)

1
README
View File

@ -627,6 +627,7 @@ The following options need to be configured:
CFG_CMD_SAVES * save S record dump CFG_CMD_SAVES * save S record dump
CFG_CMD_SCSI * SCSI Support CFG_CMD_SCSI * SCSI Support
CFG_CMD_SDRAM * print SDRAM configuration information CFG_CMD_SDRAM * print SDRAM configuration information
(requires CFG_CMD_I2C)
CFG_CMD_SETGETDCR Support for DCR Register access (4xx only) CFG_CMD_SETGETDCR Support for DCR Register access (4xx only)
CFG_CMD_SPI * SPI serial bus support CFG_CMD_SPI * SPI serial bus support
CFG_CMD_USB * USB support CFG_CMD_USB * USB support

View File

@ -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 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. 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: On the host side, please use this script to access the console:
+++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++
#! /bin/bash #! /bin/bash
[ $# = 1 ] || { echo "Usage: $0 target_ip" >&2 ; exit 1 ; }
TARGET_IP=$1 TARGET_IP=$1
stty -icanon -echo intr ^T stty -icanon -echo intr ^T
@ -25,6 +34,10 @@ nc -u ${TARGET_IP} 6666
stty icanon echo intr ^C 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 It turns out that 'netcat' cannot be used to listen to broadcast
packets. We developed our own tool 'ncb' (see tools directory) that packets. We developed our own tool 'ncb' (see tools directory) that
listens to broadcast packets on a given port and dumps them to the 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 #! /bin/bash
[ $# = 1 ] || { echo "Usage: $0 target_ip" >&2 ; exit 1 ; }
TARGET_IP=$1
stty icanon echo intr ^T stty icanon echo intr ^T
./ncb & ./ncb &
nc -u mpc5200 6666 nc -u ${TARGET_IP} 6666
stty icanon echo intr ^C stty icanon echo intr ^C
kill 0 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. For Linux, the network-based console needs special configuration.
Minimally, the host IP address needs to be specified. This can be Minimally, the host IP address needs to be specified. This can be
done either via the kernel command line, or by passing parameters done either via the kernel command line, or by passing parameters

View File

@ -303,8 +303,10 @@ NetLoop(proto_t protocol)
#ifdef CONFIG_NET_MULTI #ifdef CONFIG_NET_MULTI
eth_set_current(); eth_set_current();
#endif #endif
if (eth_init(bd) < 0) if (eth_init(bd) < 0) {
eth_halt();
return(-1); return(-1);
}
restart: restart:
#ifdef CONFIG_NET_MULTI #ifdef CONFIG_NET_MULTI
@ -383,6 +385,7 @@ restart:
switch (net_check_prereq (protocol)) { switch (net_check_prereq (protocol)) {
case 1: case 1:
/* network not configured */ /* network not configured */
eth_halt();
return (-1); return (-1);
#ifdef CONFIG_NET_MULTI #ifdef CONFIG_NET_MULTI