Browse Source

* 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

wdenk 20 years ago
parent
commit
b1bf6f2c9b
4 changed files with 39 additions and 2 deletions
  1. 8 0
      CHANGELOG
  2. 1 0
      README
  3. 26 1
      doc/README.NetConsole
  4. 4 1
      net/net.c

+ 8 - 0
CHANGELOG

@@ -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 - 0
README

@@ -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

+ 26 - 1
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
 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

+ 4 - 1
net/net.c

@@ -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