All pastes #995301 Raw Edit

Stuff

public text v1 · immutable
#995301 ·published 2008-04-24 00:51 UTC
rendered paste body
#!/bin/bash

killall -9 XmBlackBerry 2>/dev/null

if [ -L /dev/modem ] ; then
	echo "Removing existing /dev/modem"
	rm /dev/modem
else
	echo "No existing /dev/modem to remove"
fi

if [ -f /tmp/xmb.log ] ; then
	echo "Removing existing log"
	rm /tmp/xmb.log
else
	echo "no log file present"
fi

if [ -f /tmp/xmb.err ] ; then
	echo "Removing existing error log"
	rm /tmp/xmb.err
else
	echo	"no error log present"
fi

touch /tmp/blackberry.on

while [ -f /tmp/blackberry.on ]; do
	MODEM=""
	USB=""

	if [ -L /dev/modem ] ; then
		echo "Removing existing /dev/modem"
		rm /dev/modem
	else
		echo "No existing /dev/modem to remove"
	fi

	while [ -z "$MODEM" ] ; do
		echo "Looking for BlackBerry on USB"
		USB=`lsusb | grep 0fca:0004`

		if [ -z "$USB" ] ; then
			echo "Could not find BlackBerry on USB."
			echo "We should check BlueTooth now."

			# TODO: AUTOMATED BT CODE !!

		else
			echo "Found BlackBerry on USB: $USB"
			echo "Looking for XmBlackBerry instance"

			xmb=`ps aux | grep XmBlackBerry | grep -v grep`

			if [ -z "$xmb" ] ; then
				echo "Did not find XmBlackBerry instance."

				echo "Looking for X Server."

				if [ -f /tmp/.X99-lock ]; then
					echo "Found existing X Server"
				else
					echo "Starting X Server"
					Xorg -config /etc/X11/xorg.dummy.conf :99 &

					while [ ! -f /tmp/.X99-lock ] ; do
						echo "Waiting for X Server to start"
					done
				fi

				echo "Could not find instance.	Starting."

				/usr/local/bin/XmBlackBerry -display :99 1> /tmp/xmb.log 2> /tmp/xmb.err &
				echo "started"
				sleep 5
			else
				echo "Found instance: $xmb"

				echo "looking for modem pts"
				MODEM=`grep "/dev/pts/*" /tmp/xmb.err | tail -1 | sed s/\"//g | cut -d ' ' -f 5`

				if [ -z "$MODEM" ] ; then
					echo "could not find modem"
					sleep 1
				else
					echo "Found modem on $MODEM."
					echo "$MODEM" > /etc/ppp/peers/blackberry.modem.device
			    chmod 0666 $MODEM

					if [ -L /dev/modem ] ; then
						rm /dev/modem
					fi

					ln -s $MODEM /dev/modem
				fi
			fi
		fi
	done

	if [ ! -z "$MODEM" ] ; then
		if [ -L /dev/modem ] ; then
			clear
			echo "Modem is on $MODEM.  Starting pppd"
			echo ""
			pppd call blackberry
		fi
	fi

	killall -9 XmBlackBerry 2>/dev/null
done