openmoko-gsmd: Add the Openmoko GSMD recipe

This is based on the gsmd recipe from OE classic. There will be
some more tweaking for respawn and the cell log utility.
This commit is contained in:
Holger Hans Peter Freyther 2012-06-10 04:53:33 +08:00 committed by Holger Hans Peter Freyther
parent 242922ceae
commit 9f86fa35a2
3 changed files with 184 additions and 0 deletions

View File

@ -0,0 +1,54 @@
# gsmd This shell script configures for the gsmd init script.
. /etc/init.d/functions
case `machine_id` in
"gta01"|"gta02")
GSMD_OPTS="-s 115200 -F"
if [ -d '/sys/bus/platform/devices/gta01-pm-gsm.0' ] ; then
GSM_POW="/sys/bus/platform/devices/gta01-pm-gsm.0/power_on"
GSM_RES="/sys/bus/platform/devices/gta01-pm-gsm.0/reset"
else
GSM_POW="/sys/bus/platform/devices/neo1973-pm-gsm.0/power_on"
GSM_RES="/sys/bus/platform/devices/neo1973-pm-gsm.0/reset"
fi
GSM_DEV="/dev/ttySAC0"
GSM_DL="/sys/devices/platform/neo1973-pm-gsm.0/download"
;;
"htc_apache"|"htc_blueangel"|"htc_universal")
GSMD_OPTS="-s 115200 -F"
GSM_DEV="/dev/ttyS0"
;;
"htc_himalaya")
GSMD_OPTS="-s 115200 -F"
GSM_DEV="/dev/ttyS2"
;;
"htc_magician")
GSMD_OPTS="-s 115200 -F"
GSM_DEV="/dev/ttyS1"
;;
"palm_treo_650")
GSMD_OPTS="-s 460800 -F -w 1"
GSM_DEV="/dev/ttyS0"
;;
"motorola_ezx_platform")
GSMD_OPTS="-s 115200 -F -v ti"
GSM_DEV="/dev/mux0"
;;
*)
# Unknown board
# 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"
# If your GSM device then needs to be reset, uncomment and modify the next line
#GSM_RES="/sys/bus/platform/devices/gta01-pm-gsm.0/reset"
# This should be in a common /etc/default/serial, together with
# BT_DEV and IR_DEV for devices that have those on a serial port
#GSM_DEV="/dev/ttyS1"
;;
esac

View File

@ -0,0 +1,47 @@
#! /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
PATH=/bin:/usr/bin:/sbin:/usr/sbin
[ -f /etc/default/rcS ] && . /etc/default/rcS
[ -f /etc/default/gsmd ] && . /etc/default/gsmd
case "$1" in
start)
[ -n "$GSM_POW" ] && ( echo "0" >$GSM_POW; sleep 1 )
[ -n "$GSM_POW" ] && ( echo "1" >$GSM_POW; sleep 1 )
[ -n "$GSM_RES" ] && ( echo "1" >$GSM_RES; sleep 1 )
[ -n "$GSM_RES" ] && ( echo "0" >$GSM_RES; sleep 2 )
echo -n "Starting GSM daemon: "
start-stop-daemon -S -x /usr/sbin/gsmd -- gsmd -p $GSM_DEV $GSMD_OPTS -d -l syslog
if [ $? = 0 ]; then
echo "gsmd."
else
echo "(failed.)"
fi
;;
stop)
[ -n "$GSM_POW" ] && echo "0" >$GSM_POW
echo -n "Stopping GSM daemon: "
start-stop-daemon -K -x /usr/sbin/gsmd
echo "gsmd."
;;
restart|force-reload)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/gsmd {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0

View File

@ -0,0 +1,83 @@
DESCRIPTION = "GSM libraries and daemons implementing the ETSI 07.10 specification"
HOMEPAGE = "http://www.openmoko.org"
SECTION = "telephony"
LICENSE = "GPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://COPYING.library;md5=2d5025d4aa3495befef8f17206a5b0a1 "
# Fork with wavecom support
SRC_URI = "git://git.gnumonks.org/openmoko-gsmd.git;branch=master \
file://gsmd \
file://default"
SRCREV = "28e25ae42da7d65face9ad2472075f7c4fc87e92"
S = "${WORKDIR}/git"
PR = "r7"
inherit autotools pkgconfig update-rc.d
# handle update-rc.d RDEPENDS_${PN} manually, we don't need it on
# anything but gsmd
INITSCRIPT_NAME = "gsmd"
INITSCRIPT_PARAMS = "defaults 35"
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 \
${PN}-plugins \
${PN}-plugin-machine-generic \
${PN}-plugin-machine-tihtc \
${PN}-plugin-machine-gta01 \
${PN}-plugin-machine-telit \
${PN}-plugin-vendor-bcm \
${PN}-plugin-vendor-qc \
${PN}-plugin-vendor-telit \
${PN}-plugin-vendor-ti \
${PN}-plugin-vendor-tihtc \
${PN}-plugin-vendor-wavecom \
"
RDEPENDS_${PN}-plugins = "\
${PN}-plugin-machine-generic \
${PN}-plugin-machine-tihtc \
${PN}-plugin-machine-gta01 \
${PN}-plugin-machine-telit \
${PN}-plugin-vendor-bcm \
${PN}-plugin-vendor-qc \
${PN}-plugin-vendor-telit \
${PN}-plugin-vendor-ti \
${PN}-plugin-vendor-tihtc \
${PN}-plugin-vendor-wavecom \
"
RDEPENDS_${PN} += "update-rc.d"
FILES_${PN}-dbg += "${libdir}/gsmd/.debug/*"
FILES_${PN}-tools = "${bindir}/*"
FILES_${PN}-plugins = ""
FILES_${PN}-dev += " ${libdir}/gsmd/*.la "
FILES_${PN}-staticdev += " ${libdir}/gsmd/*.a"
FILES_${PN}-plugin-machine-generic = "${libdir}/gsmd/libgsmd-machine_generic.so*"
FILES_${PN}-plugin-machine-tihtc = "${libdir}/gsmd/libgsmd-machine_tihtc.so*"
FILES_${PN}-plugin-machine-gta01 = "${libdir}/gsmd/libgsmd-machine_gta01.so*"
FILES_${PN}-plugin-machine-telit = "${libdir}/gsmd/libgsmd-machine_telit.so*"
FILES_${PN}-plugin-vendor-qc = "${libdir}/gsmd/libgsmd-vendor_qc.so*"
FILES_${PN}-plugin-vendor-bcm = "${libdir}/gsmd/libgsmd-vendor_bcm.so*"
FILES_${PN}-plugin-vendor-telit = "${libdir}/gsmd/libgsmd-vendor_telit.so*"
FILES_${PN}-plugin-vendor-ti = "${libdir}/gsmd/libgsmd-vendor_ti.so*"
FILES_${PN}-plugin-vendor-tihtc = "${libdir}/gsmd/libgsmd-vendor_tihtc.so*"
FILES_${PN}-plugin-vendor-wavecom = "${libdir}/gsmd/libgsmd-vendor_wavecom.so*"
PACKAGES_DYNAMIC = "lib${PN}* ${PN}"
ALLOW_EMPTY_${PN}-plugins = "1"