aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-openmoko
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@freyther.de>2012-06-10 04:53:33 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2012-06-09 22:59:13 +0200
commit9f86fa35a232e629eb9d3d4f58de98e9831d0b07 (patch)
tree16ff33efa66c7a7749543c69e5b6f8ed1711b240 /recipes-openmoko
parent242922ceaefc6d09daa3f5217761dc8594306fcd (diff)
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.
Diffstat (limited to 'recipes-openmoko')
-rw-r--r--recipes-openmoko/openmoko-gsmd/files/default54
-rw-r--r--recipes-openmoko/openmoko-gsmd/files/gsmd47
-rw-r--r--recipes-openmoko/openmoko-gsmd/openmoko-gsmd_git.bb83
3 files changed, 184 insertions, 0 deletions
diff --git a/recipes-openmoko/openmoko-gsmd/files/default b/recipes-openmoko/openmoko-gsmd/files/default
new file mode 100644
index 0000000..cf36460
--- /dev/null
+++ b/recipes-openmoko/openmoko-gsmd/files/default
@@ -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
diff --git a/recipes-openmoko/openmoko-gsmd/files/gsmd b/recipes-openmoko/openmoko-gsmd/files/gsmd
new file mode 100644
index 0000000..dc10e63
--- /dev/null
+++ b/recipes-openmoko/openmoko-gsmd/files/gsmd
@@ -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
diff --git a/recipes-openmoko/openmoko-gsmd/openmoko-gsmd_git.bb b/recipes-openmoko/openmoko-gsmd/openmoko-gsmd_git.bb
new file mode 100644
index 0000000..dce93fe
--- /dev/null
+++ b/recipes-openmoko/openmoko-gsmd/openmoko-gsmd_git.bb
@@ -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"
+