blob: 0368424335d45a42aa9fdc62a533e92ee2045c38 [file] [log] [blame]
#!/bin/sh
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
. /usr/share/misc/shflags
DEFAULT_IF=eth0
DEFAULT_IF_IP=169.254.18.10
DEFAULT_DEV=/dev/ttyUSB0
DEFINE_boolean 'configure_interface' true\
'Configure an interface to export data over'
DEFINE_string 'export_interface' $DEFAULT_IF 'Interface to configure'
DEFINE_string 'export_interface_ip' $DEFAULT_IF_IP \
'IP address to configure export_interface to'
DEFINE_string 'export_device' $DEFAULT_DEV 'Device to export'
FLAGS "$@" || exit $?
eval set -- "${FLAGS_ARGV}"
set -e
if [ -z "$1" -o "$1" = "--help" -o "$1" = "help" ] ; then
cat 2>&1 <<EOF
$0: Connect a modem to a debug server running on a remote machine.
As a convenience, configures the ethernet interface to an
AUTOIP address so that the interface can connect with a device hooked
directly to it over an ethernet cable.
Examples:
$0 169.254.54.76
Configures ${DEFAULT_IF}'s IP address to $DEFAULT_IF_IP and connects to
169.254.54.76
$0 169.254.54.76 --noconfigure_interface
Just connects; does not configure the interface. Use this if
you are not using a direct ethernet connection
If the connection is working, you will see hex dump data flying by.
EOF
flags_help
exit 1
fi
if [ $FLAGS_configure_interface = $FLAGS_TRUE ] ; then
echo 2>&1 Configuring $FLAGS_export_interface to $FLAGS_export_interface_ip
sudo /sbin/ifconfig $FLAGS_export_interface $FLAGS_export_interface_ip
fi
REMOTE_IP="$1"
echo 2>&1 Connecting $FLAGS_export_device to $REMOTE_IP
sudo stty -F $FLAGS_export_device raw
sudo socat -xdd TCP:$REMOTE_IP:2500 GOPEN:$FLAGS_export_device