Merge commit '4214e03720bcea3776400843ac041916463b7784' into edison

This commit is contained in:
Holger Hans Peter Freyther 2013-05-27 17:45:57 +02:00
commit 94a82eeedd
20 changed files with 89 additions and 159 deletions

View File

@ -1,12 +1,12 @@
# We have a conf and classes directory, add to BBPATH
BBPATH := "${BBPATH}:${LAYERDIR}"
BBPATH .= ":${LAYERDIR}"
# We have a packages directory, add to BBFILES
BBFILES := "${BBFILES} ${LAYERDIR}/recipes-*/*/*.bb \
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "telephony"
BBFILE_PATTERN_telephony := "^${LAYERDIR}/"
BBFILE_PATTERN_telephony = "^${LAYERDIR}/"
BBFILE_PRIORITY_telephony = "5"
META_TELEPHONY_OSMO_INC = "8"

View File

@ -1,6 +1,6 @@
DESCRITOPN = "Utilities for the DAHDI Asterisk Linux kernel drivers"
DEPENDS = "dahdi-linux libnewt libpcap"
RDEPENDS += "perl perl-module-strict perl-module-file-basename perl-module-config \
RDEPENDS_${PN} += "perl perl-module-strict perl-module-file-basename perl-module-config \
perl-module-warnings perl-module-getopt perl-module-getopt-std \
perl-module-file perl-module-file-glob perl-module-xsloader \
perl-module-dynaloader perl-module-carp perl-module-errno"
@ -11,7 +11,7 @@ LICENSE = "GPLv2"
SRC_URI = "http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-${PV}.tar.gz \
file://perl_install.patch "
INC_PR="r18"
INC_PR="r19"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ea5bed2f60d357618ca161ad539f7c0a \
file://LICENSE.LGPL;md5=fb504b67c50331fc78734fed90fb0e09"

View File

@ -7,11 +7,13 @@
# processname: cell_log
PATH=/bin:/usr/bin:/sbin:/usr/sbin
PIDFILE=/var/run/cell_log.pid
case "$1" in
start)
echo -n "Starting cell-log: "
start-stop-daemon -S -b -x /etc/gsmd-respawn.sh /usr/bin/cell_log
start-stop-daemon -S -b -p $PIDFILE \
-x /usr/bin/osmo-service-respawn.sh /usr/bin/cell_log
if [ $? = 0 ]; then
echo "cell-log"
@ -20,8 +22,8 @@ case "$1" in
fi
;;
stop)
echo -n "Stopping GSM daemon: "
start-stop-daemon -K -x /usr/bin/cell_log
echo -n "Stopping cell-log daemon: "
start-stop-daemon -K -x bash -p $PIDFILE
echo "cell-log."
;;
restart|force-reload)

View File

@ -1,114 +0,0 @@
From bde45e2f168597c8f4b2bb0599d58125fd24deb6 Mon Sep 17 00:00:00 2001
From: Holger Hans Peter Freyther <zecke@selfish.org>
Date: Wed, 13 Jun 2012 11:17:33 +0200
Subject: [PATCH] cell_log: Use the RF-Lock handling to unlock the GSM network
This is missing the reason of why and when something is unlocked.
---
src/util/cell_log.c | 65 ++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 54 insertions(+), 11 deletions(-)
diff --git a/src/util/cell_log.c b/src/util/cell_log.c
index 59d8942..7a280aa 100644
--- a/src/util/cell_log.c
+++ b/src/util/cell_log.c
@@ -27,10 +27,14 @@
#include <fcntl.h>
#include <time.h>
#include <syslog.h>
+#include <stdint.h>
#include <sys/types.h>
+#include <sys/socket.h>
#include <sys/stat.h>
+#include <netinet/in.h>
+
#include <libgsmd/libgsmd.h>
#include <libgsmd/voicecall.h>
#include <libgsmd/misc.h>
@@ -58,31 +62,70 @@ static int pending_responses = 0;
#define MIN_NO_NET_SECS 60
#define OUR_MCC 901
#define OUR_MNC 99
-#define LOCK_PATH "/var/lock/bts_rf_lock"
static time_t last_network_seen;
unsigned int rf_lock_active = 0;
static void bts_rf_lock(int on)
{
- int fd;
+ int fd, rc;
+
+ static const uint8_t rf_lock[] = {
+ 0x00, 0x23, 0xEE, 0x00, 0x53, 0x45, 0x54, 0x20,
+ 0x31, 0x20, 0x6E, 0x65, 0x74, 0x2E, 0x72, 0x66,
+ 0x5F, 0x6C, 0x6F, 0x63, 0x6B, 0x20, 0x67, 0x73,
+ 0x6D, 0x2C, 0x6C, 0x6F, 0x63, 0x6B, 0x2C, 0x6E,
+ 0x2F, 0x61, 0x2C, 0x6E, 0x2F, 0x61,
+ };
+
+ static const uint8_t rf_unlock[] = {
+ 0x00, 0x25, 0xEE, 0x00, 0x53, 0x45, 0x54, 0x20,
+ 0x31, 0x20, 0x6E, 0x65, 0x74, 0x2E, 0x72, 0x66,
+ 0x5F, 0x6C, 0x6F, 0x63, 0x6B, 0x20, 0x67, 0x73,
+ 0x6D, 0x2C, 0x75, 0x6E, 0x6C, 0x6F, 0x63, 0x6B,
+ 0x2C, 0x6E, 0x2F, 0x61, 0x2C, 0x6E, 0x2F, 0x61,
+ };
/* only print message on status change */
if (rf_lock_active != on)
syslog(LOG_NOTICE, "RF_LOCK: %sabling lock\n", on ? "En" : "Dis");
- /* for safety, always update the actual file on disk */
+ fd = socket(AF_INET, SOCK_STREAM, 0);
+ if (fd == -1) {
+ syslog(LOG_ERR, "RF_LOCK: socket creation failed: %d\n", errno);
+ return;
+ }
+
+ struct sockaddr_in addr;
+ memset(&addr, 0, sizeof(addr));
+ addr.sin_family = AF_INET;
+ addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
+ addr.sin_port = htons(4249);
+ rc = connect(fd, (struct sockaddr *) &addr, sizeof(addr));
+ if (rc != 0) {
+ syslog(LOG_ERR, "RF_Lock: socket connect failed: %d\n", errno);
+ close(fd);
+ return;
+ }
+
if (on == 1) {
- struct stat st;
- if (stat(LOCK_PATH, &st) != 0) {
- fd = open(LOCK_PATH, O_WRONLY|O_CREAT, 0664);
- if (fd >= 0)
- close(fd);
- }
- } else
- unlink(LOCK_PATH);
+ rc = write(fd, rf_lock, sizeof(rf_lock));
+ if (rc != sizeof(rf_lock))
+ goto error;
+ } else {
+ rc = write(fd, rf_unlock, sizeof(rf_unlock));
+ if (rc != sizeof(rf_unlock))
+ goto error;
+ }
+ close(fd);
rf_lock_active = on;
+ return;
+
+error:
+ close(fd);
+ syslog(LOG_ERR, "RF_Lock: failed to send the message: %d\n", errno);
+ return;
}
--
1.7.10.4

View File

@ -7,6 +7,7 @@
# processname: gsmd
PATH=/bin:/usr/bin:/sbin:/usr/sbin
PIDFILE=/var/run/gsmd.pid
[ -f /etc/default/rcS ] && . /etc/default/rcS
[ -f /etc/default/gsmd ] && . /etc/default/gsmd
@ -19,7 +20,8 @@ case "$1" in
[ -n "$GSM_RES" ] && ( echo "0" >$GSM_RES; sleep 2 )
echo -n "Starting GSM daemon: "
start-stop-daemon -S -b -x /etc/gsmd-respawn.sh /usr/sbin/gsmd -- gsmd -p $GSM_DEV $GSMD_OPTS -l syslog
start-stop-daemon -S -p $PIDFILE -b \
-x /usr/bin/osmo-service-respawn.sh /usr/sbin/gsmd -- gsmd -p $GSM_DEV $GSMD_OPTS -l syslog
if [ $? = 0 ]; then
echo "gsmd."
@ -31,7 +33,7 @@ case "$1" in
[ -n "$GSM_POW" ] && echo "0" >$GSM_POW
echo -n "Stopping GSM daemon: "
start-stop-daemon -K -x /usr/sbin/gsmd
start-stop-daemon -K -x bash -p $PIDFILE
echo "gsmd."
;;
restart|force-reload)

View File

@ -1,9 +0,0 @@
#!/usr/bin/env bash
while true;
do
echo "Restarting not dealing well with spaces.."
(exec $*) || true
sleep 10s
done

View File

@ -8,15 +8,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
# Fork with wavecom support
SRC_URI = "git://git.gnumonks.org/openmoko-gsmd.git;branch=master \
file://cell-log.patch \
file://gsmd \
file://cell-log \
file://gsmd-respawn.sh \
file://default"
SRCREV = "06253f362045c792baaf1430200c8964885d13a5"
SRCREV = "de8f1175dcb07f65dde26b42a3f12f9993746c84"
S = "${WORKDIR}/git"
PR = "r11.6"
PR = "r17.0"
inherit autotools pkgconfig update-rc.d
@ -37,7 +35,6 @@ do_install_append() {
install -m 0755 ${WORKDIR}/cell-log ${D}/${sysconfdir}/init.d/
install -d ${D}/${sysconfdir}/default
install ${WORKDIR}/default ${D}/${sysconfdir}/default/gsmd
install -m 0755 ${WORKDIR}/gsmd-respawn.sh ${D}/${sysconfdir}/
}
PACKAGES =+ "\
@ -69,8 +66,8 @@ RDEPENDS_${PN}-plugins = "\
${PN}-plugin-vendor-wavecom \
"
RDEPENDS_${PN} += "update-rc.d"
RDEPENDS_${PN}-tools-cell-log += "update-rc.d ${PN}"
RDEPENDS_${PN} += "update-rc.d osmo-service-respawn"
RDEPENDS_${PN}-tools-cell-log += "update-rc.d ${PN} osmo-service-respawn"
FILES_${PN}-dbg += "${libdir}/gsmd/.debug/*"
FILES_${PN}-tools-cell-log = "${bindir}/cell_log ${sysconfdir}/cell-log"

View File

@ -1,7 +1,7 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "de6e4983e7f83794e45af5a70b036ed9f4437ab5"
SRCREV = "1a02cfc24d2c812ba13e5aa936588be447bb24af"
SRC_URI = "git://git.osmocom.org/libosmocore.git;protocol=git"
PV = "0.5.3+gitr${SRCPV}"
PR = "0"
PV = "0.6.0+gitr${SRCPV}"
PR = "2"

View File

@ -1,6 +1,6 @@
#TOOLCHAIN_TARGET_OSMOTASK ?= "task-core-standalone-osmo-sdk-target task-core-standalone-osmo-sdk-target-dbg"
TOOLCHAIN_TARGET_OSMOTASK ?= "task-core-standalone-osmo-sdk-target"
TOOLCHAIN_TARGET_TASK = "${TOOLCHAIN_TARGET_OSMOTASK}"
TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-toolchain-osmo-${DISTRO_VERSION}"
TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-toolchain-osmo-${DISTRO_VERSION}-${DATETIME}"
PROVIDES = "meta-toolchain-sdk"
require recipes-core/meta/meta-toolchain.bb

View File

@ -1,5 +1,5 @@
DESCRITOPN = "OpenBSC a Free Software GSM BaseStationController"
DEPENDS = "libdbi libosmocore libosmo-sccp libosmo-abis openggsn"
DESCRIPTION = "OpenBSC a Free Software GSM BaseStationController"
DEPENDS = "libdbi libosmocore libosmo-sccp libosmo-abis openggsn libsmpp34"
HOMEPAGE = "http://openbsc.osmocom.org/"
LICENSE = "AGPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=73f1eb20517c55bf9493b7dd6e480788"
@ -10,10 +10,10 @@ SRC_URI = "file://osmo-nitb.init \
file://osmo-bsc_mgcp.init \
file://osmo-bsc.init \
file://osmo-sgsn.init"
INC_PR = "r14.${META_TELEPHONY_OSMO_INC}"
INC_PR = "r15.${META_TELEPHONY_OSMO_INC}"
EXTRA_OECONF += " --enable-nat --enable-osmo-bsc "
EXTRA_OECONF += " --enable-nat --enable-osmo-bsc --enable-smpp"
inherit autotools update-rc.d

View File

@ -1,9 +1,9 @@
require ${PN}.inc
PV = "0.12.0+gitr${SRCPV}"
PV = "0.13.0+gitr${SRCPV}"
PR = "${INC_PR}.2"
SRCREV = "8b29180cad875b396288a22fb252e158fa2a060a"
SRCREV = "1c0c31709462af26bb1a1176c3e8b3491a26d429"
SRC_URI += "git://git.osmocom.org/openbsc.git;protocol=git"
S = "${WORKDIR}/git/openbsc"

View File

@ -0,0 +1,13 @@
diff --git a/gtp/queue.h b/gtp/queue.h
index 556b6ef..d59a1a3 100644
--- a/gtp/queue.h
+++ b/gtp/queue.h
@@ -19,7 +19,7 @@
#define QUEUE_DEBUG 0 /* Print debug information */
-#define QUEUE_SIZE 1024 /* Size of retransmission queue */
+#define QUEUE_SIZE 32 /* Size of retransmission queue */
#define QUEUE_HASH_SIZE 65536 /* Size of hash table (2^16) */
struct qmsg_t { /* Holder for queued packets */

View File

@ -2,11 +2,12 @@ DESCRITOPN = "OpenGGSN a Free Software GGSN"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
PV = "0.91+gitr${SRCPV}"
PR = "r11"
PR = "r12"
SRCREV = "95848bafcef145d776d70a73f7bdc3fe37e85724"
SRC_URI = "git://ggsn.git.sourceforge.net/gitroot/ggsn/ggsn \
file://openggsn.init \
file://libgtp-queue_depth_32.patch \
"
S = "${WORKDIR}/git"

View File

@ -0,0 +1,19 @@
#!/usr/bin/env bash
NAME=`basename $1`
PIDFILE="/var/run/$NAME.pid"
PID=$$
echo "$PID" > $PIDFILE
echo "-1000" > /proc/$PID/oom_score_adj
trap "{ rm -f $PIDFILE ; kill 0; }" EXIT
while true;
do
echo "Restarting not dealing well with spaces.."
(echo "0" > /proc/self/oom_score_adj && exec $@) &
LAST_PID=$!
wait $LAST_PID
sleep 10s
done

View File

@ -0,0 +1,13 @@
DESCRIPTION = "Shell script to start, nice and respawn services"
HOMEPAGE = "http://openbsc.osmocom.org/"
LICENSE = "AGPLv3+"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
SRC_URI = "file://osmo-service-respawn.sh"
RDEPENDS_${PN} = "bash"
do_install() {
install -d ${D}${bindir}
install -m 0775 ${WORKDIR}/osmo-service-respawn.sh ${D}${bindir}
}

View File

@ -1,7 +1,7 @@
DESCRIPTION = "Osmocom round-robin tcpdump/capture"
LICENSE = "GPLv3+"
RDEPENDS = "tcpdump bash"
PR = "r10"
RDEPENDS_${PN} = "tcpdump bash"
PR = "r11"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"

View File

@ -6,9 +6,13 @@ DESCRIPTION = "Software Development Kit for Osmocom devices"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PR = "r2"
PR = "r4"
ALLOW_EMPTY = "1"
ALLOW_EMPTY_${PN} = "1"
# TODO: We need to rename this task to packagegroup but for now we
# will need to skip this test.
INSANE_SKIP_${PN} += "dev-deps"
require task-sdk-osmo.inc

View File

@ -3,8 +3,8 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
DEPENDS = "virtual/kernel"
ALLOW_EMPTY = "1"
PR = "r1"
ALLOW_EMPTY_${PN} = "1"
PR = "r2"
RDEPENDS_task-osmocom = "\
libosmocore \

View File

@ -4,6 +4,8 @@ SDK-OSMO = " \
libosmo-abis-dev \
libgtp-dev \
libdbi-dev \
libsmpp34-dev \
gpsd-dev \
"
SDK-EXTRAS ?= ""

View File

@ -2,8 +2,8 @@ DESCRIPTION = "Task for the meta-telephony layer. This is to build everything"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
ALLOW_EMPTY = "1"
PR = "r1"
ALLOW_EMPTY_${PN} = "1"
PR = "r2"
DEPENDS = "\
libosmo-abis \