mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-24 17:48:14 +01:00 
			
		
		
		
	The standard netcat, while ubiquitous, doesn't handle broadcast udp packets properly. The local ncb util does however. So if ncb can be located in the standard locations, automatically use that instead. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| usage() {
 | |
| 	(
 | |
| 	echo "Usage: $0 <board IP> [board port]"
 | |
| 	echo ""
 | |
| 	echo "If port is not specified, '6666' will be used"
 | |
| 	[ -z "$*" ] && exit 0
 | |
| 	echo ""
 | |
| 	echo "ERROR: $*"
 | |
| 	exit 1
 | |
| 	) 1>&2
 | |
| 	exit $?
 | |
| }
 | |
| 
 | |
| while [ -n "$1" ] ; do
 | |
| 	case $1 in
 | |
| 		-h|--help) usage;;
 | |
| 		--)        break;;
 | |
| 		-*)        usage "Invalid option $1";;
 | |
| 		*)         break;;
 | |
| 	esac
 | |
| 	shift
 | |
| done
 | |
| 
 | |
| ip=$1
 | |
| port=${2:-6666}
 | |
| 
 | |
| if [ -z "${ip}" ] || [ -n "$3" ] ; then
 | |
| 	usage "Invalid number of arguments"
 | |
| fi
 | |
| 
 | |
| for nc in netcat nc ; do
 | |
| 	type ${nc} >/dev/null 2>&1 && break
 | |
| done
 | |
| 
 | |
| trap "stty icanon echo intr ^C" 0 2 3 5 10 13 15
 | |
| echo "NOTE: the interrupt signal (normally ^C) has been remapped to ^T"
 | |
| 
 | |
| stty -icanon -echo intr ^T
 | |
| (
 | |
| if type ncb 2>/dev/null ; then
 | |
| 	# see if ncb is in $PATH
 | |
| 	exec ncb ${port}
 | |
| 
 | |
| elif [ -x ${0%/*}/ncb ] ; then
 | |
| 	# maybe it's in the same dir as the netconsole script
 | |
| 	exec ${0%/*}/ncb ${port}
 | |
| 
 | |
| else
 | |
| 	# blah, just use regular netcat
 | |
| 	while ${nc} -u -l -p ${port} < /dev/null ; do
 | |
| 		:
 | |
| 	done
 | |
| fi
 | |
| ) &
 | |
| pid=$!
 | |
| ${nc} -u ${ip} ${port}
 | |
| kill ${pid} 2>/dev/null
 |