X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=tools%2Fnetconsole;h=1a0ef22244e3d5dbe0cfd4983ca1666198cd8a81;hb=fb3fb6573e8d6d0331e7ea60f94bfe0cabe8be54;hp=09c89816829f6d1672e6bd746fb5555b586f286d;hpb=be4880ebe4355e8782be4af4b337a1b98dffcbe3;p=karo-tx-uboot.git diff --git a/tools/netconsole b/tools/netconsole index 09c8981682..1a0ef22244 100755 --- a/tools/netconsole +++ b/tools/netconsole @@ -2,7 +2,7 @@ usage() { ( - echo "Usage: $0 [board port]" + echo "Usage: $0 [board-port [board-in-port]]" echo "" echo "If port is not specified, '6666' will be used" [ -z "$*" ] && exit 0 @@ -24,19 +24,40 @@ while [ -n "$1" ] ; do done ip=$1 -port=${2:-6666} +board_out_port=${2:-6666} +board_in_port=${3:-${board_out_port}} -if [ -z "${ip}" ] || [ -n "$3" ] ; then +echo Board out port: ${board_out_port} +echo Board in port: ${board_in_port} + +if [ -z "${ip}" ] || [ -n "$4" ] ; then usage "Invalid number of arguments" fi for nc in netcat nc ; do - type ${nc} >/dev/null && break + 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 -${nc} -u -l -p ${port} < /dev/null & -exec ${nc} -u ${ip} ${port} +( +if type ncb 2>/dev/null ; then + # see if ncb is in $PATH + exec ncb ${board_out_port} + +elif [ -x ${0%/*}/ncb ] ; then + # maybe it's in the same dir as the netconsole script + exec ${0%/*}/ncb ${board_out_port} + +else + # blah, just use regular netcat + while ${nc} -u -l -p ${board_out_port} < /dev/null ; do + : + done +fi +) & +pid=$! +${nc} -u ${ip} ${board_in_port} +kill ${pid} 2>/dev/null