diff options
Diffstat (limited to 'packages/gsm')
-rw-r--r-- | packages/gsm/files/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/gsm/files/fic-gta01/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/gsm/files/fic-gta01/default | 9 | ||||
-rw-r--r-- | packages/gsm/files/gsmd | 107 | ||||
-rw-r--r-- | packages/gsm/files/magician/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/gsm/files/magician/default | 9 | ||||
-rw-r--r-- | packages/gsm/libgsmd_svn.bb | 20 |
7 files changed, 141 insertions, 4 deletions
diff --git a/packages/gsm/files/.mtn2git_empty b/packages/gsm/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/gsm/files/.mtn2git_empty diff --git a/packages/gsm/files/fic-gta01/.mtn2git_empty b/packages/gsm/files/fic-gta01/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/gsm/files/fic-gta01/.mtn2git_empty diff --git a/packages/gsm/files/fic-gta01/default b/packages/gsm/files/fic-gta01/default new file mode 100644 index 0000000000..1511376a6c --- /dev/null +++ b/packages/gsm/files/fic-gta01/default @@ -0,0 +1,9 @@ +# gsmd This shell script configures for the gsmd init script. + +# If you must specify special options, uncomment and modify the next line +GSMD_OPTS="-s 115200 -F" + +# If your GSM device needs to be powered up, uncomment and modify the next line +GSM_POW="/sys/bus/platform/devices/gta01-pm-gsm.0/power_on" + +GSM_DEV="/dev/ttySAC0" diff --git a/packages/gsm/files/gsmd b/packages/gsm/files/gsmd new file mode 100644 index 0000000000..254fe0a451 --- /dev/null +++ b/packages/gsm/files/gsmd @@ -0,0 +1,107 @@ +#!/bin/sh +# +# gsmd This shell script starts and stops gsmd. +# +# chkconfig: 345 90 40 +# description: Gsmd manages access to a serial- or USB-connected GSM +# processname: gsmd + +# Source configuration +. /etc/default/gsmd + +# Source function library. +#. /etc/rc.d/init.d/functions + +RETVAL=0 +prog="gsmd" + +start() { + # FIXME add check whether GSM_POW is set at all, otherwise don't try to power on + # Power on GSM device + + # Hack for broken uboot and/or kernel on the neo1973 + dmesg -n1 + + if [ -e "${GSM_POW}" ] + then + echo -n "Powering up GSM device..." + echo "1" > ${GSM_POW} + sleep 1 + echo "done" + else + echo "GSM device not found. Aborting startup" + return false + fi + # Start daemons. + echo -n "Starting $prog: " + # We don't use the daemon function here because of a known bug + # in initlog -- it spuriously returns a nonzero status when + # starting daemons that fork themselves. See + # http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=130629 + # for discussion. Fortunately: + # + # 1. gsmd startup can't fail, or at least not in the absence of + # much larger resource-exhaustion problems that would be very obvious. + # + # 2. We don't need all the logging crud that daemon/initlog sets + # up -- gsmd does its own syslog calls. + # + if [ -e "${GSM_DEV}" ] + then + stty -F ${GSM_DEV} crtscts + gsmd -p ${GSM_DEV} ${GSMD_OPTS} >/tmp/gsm.log 2>&1 & + echo "success" + else + # User needs to symlink ${GPS_DEV} to the right thing + echo "No ${GSM_DEV} device, aborting gsmd startup." + fi + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/gsmd + return $RETVAL +} + +stop() { + # Stop daemons. + echo -n "Shutting down $prog: " + killall gsmd +# killproc gsmd + RETVAL=$? + echo + if [ $RETVAL -eq 0 ] + then + rm -f /var/lock/subsys/gsmd; + fi + return $RETVAL +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + stop + start + RETVAL=$? + ;; + condrestart) + if [ -f /var/lock/subsys/gsmd ]; then + stop + start + RETVAL=$? + fi + ;; + status) +# status gsmd +# RETVAL=$? + ;; + *) + echo "Usage: $0 {start|stop|restart|condrestart|status}" + exit 1 +esac + +exit $RETVAL diff --git a/packages/gsm/files/magician/.mtn2git_empty b/packages/gsm/files/magician/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/gsm/files/magician/.mtn2git_empty diff --git a/packages/gsm/files/magician/default b/packages/gsm/files/magician/default new file mode 100644 index 0000000000..fb19d46fd5 --- /dev/null +++ b/packages/gsm/files/magician/default @@ -0,0 +1,9 @@ +# gsmd This shell script configures for the gsmd init script. + +# If you must specify special options, uncomment and modify the next line +GSMD_OPTS="-s 115200 -F" + +# If your GSM device needs to be powered up, uncomment and modify the next line +#GSM_POW="/sys/bus/platform/devices/gta01-pm-gsm.0/power_on" + +GSM_DEV="/dev/ttyS1" diff --git a/packages/gsm/libgsmd_svn.bb b/packages/gsm/libgsmd_svn.bb index 860adf3b0a..734624b3ff 100644 --- a/packages/gsm/libgsmd_svn.bb +++ b/packages/gsm/libgsmd_svn.bb @@ -4,21 +4,33 @@ LICENSE = "GPL" SECTION = "libs/gsm" PROVIDES += "gsmd" PV = "0.0+svn${SRCDATE}" -PR = "r2" +PR = "r7" -SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http" +SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http \ + file://gsmd \ + file://default" S = "${WORKDIR}/gsm" -inherit autotools pkgconfig +inherit autotools pkgconfig update-rc.d + +INITSCRIPT_NAME = "gsmd" +INITSCRIPT_PARAMS = "defaults 35" do_stage() { autotools_stage_all } +do_install_append() { + install -d ${D}/${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/gsmd ${D}/${sysconfdir}/init.d/ + install -d ${D}/${sysconfdir}/default + install ${WORKDIR}/default ${D}/${sysconfdir}/default/gsmd +} + PACKAGES =+ "${PN}-tools gsmd" RDEPENDS_${PN} = "gsmd" FILES_${PN}-tools = "${bindir}/*" -FILES_gsmd = "${sbindir}/gsmd" +FILES_gsmd = "${sbindir}/gsmd ${sysconfdir}" PACKAGES_DYNAMIC = "libgsmd* gsmd" |