diff options
author | Holger Hans Peter Freyther <holger@freyther.de> | 2012-06-10 04:53:33 +0800 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2012-06-09 22:59:13 +0200 |
commit | 9f86fa35a232e629eb9d3d4f58de98e9831d0b07 (patch) | |
tree | 16ff33efa66c7a7749543c69e5b6f8ed1711b240 /recipes-openmoko | |
parent | 242922ceaefc6d09daa3f5217761dc8594306fcd (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/default | 54 | ||||
-rw-r--r-- | recipes-openmoko/openmoko-gsmd/files/gsmd | 47 | ||||
-rw-r--r-- | recipes-openmoko/openmoko-gsmd/openmoko-gsmd_git.bb | 83 |
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" + |