From holger at freyther.de Mon Aug 3 07:15:47 2015 From: holger at freyther.de (Holger Freyther) Date: Mon, 3 Aug 2015 09:15:47 +0200 Subject: [PATCH] vty: Change API to have node installation be done by int Message-ID: <1438586147-70839-1-git-send-email-holger@freyther.de> From: Holger Hans Peter Freyther We are mixing enums and hope that no short-enums are used. This is leading to a lot compiler warnings generated by clang. Change the API to work with integers. Porting: The go_parent_cb implementations in the applications need to be fixed. The API change leads to a compile time warning. Fixes: abis_om2000_vty.c:46:2: warning: implicit conversion from enumeration type 'enum bsc_vty_node' to different enumeration type 'enum node_type' [-Wenum-conversion] OM2K_NODE, ^~~~~~~~~ --- include/osmocom/vty/command.h | 8 ++++---- include/osmocom/vty/vty.h | 4 ++-- src/vty/command.c | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index 89dc28f..4eb519f 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -92,7 +92,7 @@ enum node_type { * configuration function pointer . */ struct cmd_node { /*! \brief Node index */ - enum node_type node; + int node; /*! \brief Prompt character at vty interface. */ const char *prompt; @@ -334,15 +334,15 @@ struct desc { /* Prototypes. */ void install_node(struct cmd_node *, int (*)(struct vty *)); -void install_default(enum node_type); -void install_element(enum node_type, struct cmd_element *); +void install_default(int node_type); +void install_element(int node_type, struct cmd_element *); void install_element_ve(struct cmd_element *cmd); void sort_node(void); /* This is similar to install_default() but it also creates * 'exit' and 'end' commands. */ -void vty_install_default(enum node_type); +void vty_install_default(int node_type); /* Concatenates argv[shift] through argv[argc-1] into a single NUL-terminated string with a space between each element (allocated using diff --git a/include/osmocom/vty/vty.h b/include/osmocom/vty/vty.h index 1dcc230..3684397 100644 --- a/include/osmocom/vty/vty.h +++ b/include/osmocom/vty/vty.h @@ -156,7 +156,7 @@ struct vty_app_info { /*! \brief \ref talloc context */ void *tall_ctx; /*! \brief call-back for returning to parent n ode */ - enum node_type (*go_parent_cb)(struct vty *vty); + int (*go_parent_cb)(struct vty *vty); /*! \brief call-back to determine if node is config node */ int (*is_config_node)(struct vty *vty, int node); /*! \brief Check if the config is consistent before write */ @@ -184,7 +184,7 @@ int vty_shell_serv (struct vty *); void vty_hello (struct vty *); void *vty_current_index(struct vty *); int vty_current_node(struct vty *vty); -enum node_type vty_go_parent(struct vty *vty); +int vty_go_parent(struct vty *vty); extern void *tall_vty_ctx; diff --git a/src/vty/command.c b/src/vty/command.c index 3ff5f77..290b12d 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -548,7 +548,7 @@ static int vty_dump_nodes(struct vty *vty) * \param[in] ntype Node Type * \param[cmd] element to be installed */ -void install_element(enum node_type ntype, struct cmd_element *cmd) +void install_element(int ntype, struct cmd_element *cmd) { struct cmd_node *cnode; @@ -1897,7 +1897,7 @@ char **cmd_complete_command(vector vline, struct vty *vty, int *status) * Note also that this function relies on the is_config_child callback to * recognize non-config nodes if go_parent_cb is not set. */ -enum node_type vty_go_parent(struct vty *vty) +int vty_go_parent(struct vty *vty) { switch (vty->node) { case AUTH_NODE: @@ -3319,7 +3319,7 @@ void host_config_set(const char *filename) host.config = talloc_strdup(tall_vty_cmd_ctx, filename); } -void install_default(enum node_type node) +void install_default(int node) { install_element(node, &config_help_cmd); install_element(node, &config_list_cmd); @@ -3331,7 +3331,7 @@ void install_default(enum node_type node) install_element(node, &show_running_config_cmd); } -void vty_install_default(enum node_type node) +void vty_install_default(int node) { install_default(node); -- 2.3.5 From holger at freyther.de Mon Aug 3 10:03:19 2015 From: holger at freyther.de (Holger Hans Peter Freyther) Date: Mon, 3 Aug 2015 12:03:19 +0200 Subject: [PATCH 1/5] paging: Move the silent_call code to use the subscriber request Message-ID: <1438596203-72434-1-git-send-email-holger@freyther.de> From: Holger Hans Peter Freyther Coordinate with the normal subscriber channel requests instead of going to page ourselves. This might lead to getting a channel that is of a different type though. --- openbsc/src/libmsc/silent_call.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/openbsc/src/libmsc/silent_call.c b/openbsc/src/libmsc/silent_call.c index 010c2b4..e9ece18 100644 --- a/openbsc/src/libmsc/silent_call.c +++ b/openbsc/src/libmsc/silent_call.c @@ -118,11 +118,10 @@ int silent_call_reroute(struct gsm_subscriber_connection *conn, struct msgb *msg /* initiate a silent call with a given subscriber */ int gsm_silent_call_start(struct gsm_subscriber *subscr, void *data, int type) { - int rc; + struct subscr_request *req; - rc = paging_request(subscr->group->net, subscr, type, - paging_cb_silent, data); - return rc; + req = subscr_request_channel(subscr, type, paging_cb_silent, data); + return req != NULL; } /* end a silent call with a given subscriber */ -- 2.3.5 From holger at freyther.de Mon Aug 3 10:03:21 2015 From: holger at freyther.de (Holger Hans Peter Freyther) Date: Mon, 3 Aug 2015 12:03:21 +0200 Subject: [PATCH 3/5] paging: Go through all BTS to stop paging In-Reply-To: <1438596203-72434-1-git-send-email-holger@freyther.de> References: <1438596203-72434-1-git-send-email-holger@freyther.de> Message-ID: <1438596203-72434-3-git-send-email-holger@freyther.de> From: Holger Hans Peter Freyther As the comment says we should not rely that the paging occurs on the current LAC. We might page at more BTS. Walk all the BTS to stop paging. No callbacks will be issued by this stop operation. --- openbsc/src/libbsc/paging.c | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/openbsc/src/libbsc/paging.c b/openbsc/src/libbsc/paging.c index 6b46c6d..9ae28e0 100644 --- a/openbsc/src/libbsc/paging.c +++ b/openbsc/src/libbsc/paging.c @@ -391,28 +391,21 @@ void paging_request_stop(struct gsm_bts *_bts, struct gsm_subscriber *subscr, struct gsm_subscriber_connection *conn, struct msgb *msg) { - struct gsm_bts *bts = NULL; + struct gsm_bts *bts; log_set_context(BSC_CTX_SUBSCR, subscr); + /* Stop this first and dispatch the request */ if (_bts) _paging_request_stop(_bts, subscr, conn, msg); - do { - /* - * FIXME: Don't use the lac of the subscriber... - * as it might have magically changed the lac.. use the - * location area of the _bts as reconfiguration of the - * network is probably happening less often. - */ - bts = gsm_bts_by_lac(subscr->group->net, subscr->lac, bts); - if (!bts) - break; - - /* Stop paging */ - if (bts != _bts) - _paging_request_stop(bts, subscr, NULL, NULL); - } while (1); + /* Make sure to cancel this everywhere else */ + llist_for_each_entry(bts, &subscr->group->net->bts_list, list) { + /* Sort of an optimization. */ + if (bts == _bts) + continue; + _paging_request_stop(bts, subscr, NULL, NULL); + } } void paging_update_buffer_space(struct gsm_bts *bts, uint16_t free_slots) -- 2.3.5 From holger at freyther.de Mon Aug 3 10:03:20 2015 From: holger at freyther.de (Holger Hans Peter Freyther) Date: Mon, 3 Aug 2015 12:03:20 +0200 Subject: [PATCH 2/5] paging: In case paging failed stop it everywhere In-Reply-To: <1438596203-72434-1-git-send-email-holger@freyther.de> References: <1438596203-72434-1-git-send-email-holger@freyther.de> Message-ID: <1438596203-72434-2-git-send-email-holger@freyther.de> From: Holger Hans Peter Freyther In case we can't page on a BTS then stop it everywhere. The callers of paging_request assume that this is kind of an atomic operation and we should help with that. --- openbsc/src/libbsc/paging.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openbsc/src/libbsc/paging.c b/openbsc/src/libbsc/paging.c index 8bc10e6..6b46c6d 100644 --- a/openbsc/src/libbsc/paging.c +++ b/openbsc/src/libbsc/paging.c @@ -341,8 +341,10 @@ int paging_request(struct gsm_network *network, struct gsm_subscriber *subscr, break; rc = paging_request_bts(bts, subscr, type, cbfn, data); - if (rc < 0) + if (rc < 0) { + paging_request_stop(NULL, subscr, NULL, NULL); return rc; + } num_pages += rc; } while (1); -- 2.3.5 From holger at freyther.de Mon Aug 3 10:03:22 2015 From: holger at freyther.de (Holger Hans Peter Freyther) Date: Mon, 3 Aug 2015 12:03:22 +0200 Subject: [PATCH 4/5] paging: Stop paging everywhere before dispatching any signal In-Reply-To: <1438596203-72434-1-git-send-email-holger@freyther.de> References: <1438596203-72434-1-git-send-email-holger@freyther.de> Message-ID: <1438596203-72434-4-git-send-email-holger@freyther.de> From: Holger Hans Peter Freyther --- openbsc/src/libmsc/gsm_subscriber.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/openbsc/src/libmsc/gsm_subscriber.c b/openbsc/src/libmsc/gsm_subscriber.c index 4559de5..145cbdd 100644 --- a/openbsc/src/libmsc/gsm_subscriber.c +++ b/openbsc/src/libmsc/gsm_subscriber.c @@ -84,6 +84,15 @@ static int subscr_paging_dispatch(unsigned int hooknum, unsigned int event, OSMO_ASSERT(subscr->is_paging); + /* + * Stop paging on all other BTS. E.g. if this is + * the first timeout on a BTS then the others will + * timeout soon as well. Let's just stop everything + * and forget we wanted to page. + */ + paging_request_stop(NULL, subscr, NULL, NULL); + subscr->is_paging = 0; + /* Inform parts of the system we don't know */ sig_data.subscr = subscr; sig_data.bts = conn ? conn->bts : NULL; @@ -96,15 +105,6 @@ static int subscr_paging_dispatch(unsigned int hooknum, unsigned int event, &sig_data ); - /* - * Stop paging on all other BTS. E.g. if this is - * the first timeout on a BTS then the others will - * timeout soon as well. Let's just stop everything - * and forget we wanted to page. - */ - paging_request_stop(NULL, subscr, NULL, NULL); - subscr->is_paging = 0; - llist_for_each_entry_safe(request, tmp, &subscr->requests, entry) { llist_del(&request->entry); request->cbfn(hooknum, event, msg, data, request->param); -- 2.3.5 From holger at freyther.de Mon Aug 3 10:03:23 2015 From: holger at freyther.de (Holger Hans Peter Freyther) Date: Mon, 3 Aug 2015 12:03:23 +0200 Subject: [PATCH 5/5] paging: Forget we were paging after the dispatch In-Reply-To: <1438596203-72434-1-git-send-email-holger@freyther.de> References: <1438596203-72434-1-git-send-email-holger@freyther.de> Message-ID: <1438596203-72434-5-git-send-email-holger@freyther.de> From: Holger Hans Peter Freyther So in case somebody is starting paging from within a paging expired callback we would dispatch the paging request right away with the same failure. --- openbsc/src/libmsc/gsm_subscriber.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openbsc/src/libmsc/gsm_subscriber.c b/openbsc/src/libmsc/gsm_subscriber.c index 145cbdd..442e84c 100644 --- a/openbsc/src/libmsc/gsm_subscriber.c +++ b/openbsc/src/libmsc/gsm_subscriber.c @@ -91,7 +91,6 @@ static int subscr_paging_dispatch(unsigned int hooknum, unsigned int event, * and forget we wanted to page. */ paging_request_stop(NULL, subscr, NULL, NULL); - subscr->is_paging = 0; /* Inform parts of the system we don't know */ sig_data.subscr = subscr; @@ -112,6 +111,7 @@ static int subscr_paging_dispatch(unsigned int hooknum, unsigned int event, } /* balanced with the moment we start paging */ + subscr->is_paging = 0; subscr_put(subscr); return 0; } -- 2.3.5 From apaijmans at gmail.com Mon Aug 3 10:16:45 2015 From: apaijmans at gmail.com (Albert Paijmans) Date: Mon, 3 Aug 2015 12:16:45 +0200 Subject: cheap femtocell Message-ID: Hello, I was wondering if there is any progress with femtocells specifically the AT&T/Cisco 3g microcell, SFR Home 3g or the Vodafone Sure Signal v1/v2? These are quite cheap to pick up on ebay so it would be great if one could use those as a femtocell for Openbsc. The AT&T version 1 at least is hackable and I haven?t found much info on it working with Openbsc. http://comments.gmane.org/gmane.comp.mobile.openbsc.general/544 Most of the info is quite old. Is anybody still working on this? Thanks, Albert -------------- next part -------------- An HTML attachment was scrubbed... URL: From Holger Tue Aug 4 11:18:09 2015 From: Holger (Holger) Date: Tue, 4 Aug 2015 13:18:09 +0200 Subject: [PATCH 2/2] subscr: Fix subscr refcount issue in case of message error In-Reply-To: <1438687089-76685-1-git-send-email-holger@moiji-mobile.com> References: <1438687089-76685-1-git-send-email-holger@moiji-mobile.com> Message-ID: <1438687089-76685-2-git-send-email-holger@moiji-mobile.com> From: Holger Hans Peter Freyther In case the SMPP payload didn't include the right fields we would leak the subscr reference count. --- openbsc/src/libmsc/smpp_openbsc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openbsc/src/libmsc/smpp_openbsc.c b/openbsc/src/libmsc/smpp_openbsc.c index 057a9d0..a2fa0f4 100644 --- a/openbsc/src/libmsc/smpp_openbsc.c +++ b/openbsc/src/libmsc/smpp_openbsc.c @@ -110,6 +110,7 @@ static int submit_to_sms(struct gsm_sms **psms, struct gsm_network *net, /* ERROR: we cannot have both! */ LOGP(DLSMS, LOGL_ERROR, "SMPP Cannot have payload in " "TLV _and_ in the header\n"); + subscr_put(dest); return ESME_ROPTPARNOTALLWD; } sms_msg = t->value.octet; @@ -120,6 +121,7 @@ static int submit_to_sms(struct gsm_sms **psms, struct gsm_network *net, } else { LOGP(DLSMS, LOGL_ERROR, "SMPP neither message payload nor valid sm_length.\n"); + subscr_put(dest); return ESME_RINVPARLEN; } -- 2.3.5 From Holger Tue Aug 4 11:18:47 2015 From: Holger (Holger) Date: Tue, 4 Aug 2015 13:18:47 +0200 Subject: [PATCH] paging: Provide information about pending requests Message-ID: <1438687127-76768-1-git-send-email-holger@moiji-mobile.com> From: Holger Hans Peter Freyther For debugging it is nice to know how many requests are pending. Simply count it and print it besides the paging part. --- openbsc/src/libmsc/vty_interface_layer3.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/openbsc/src/libmsc/vty_interface_layer3.c b/openbsc/src/libmsc/vty_interface_layer3.c index 71fff93..f49c53a 100644 --- a/openbsc/src/libmsc/vty_interface_layer3.c +++ b/openbsc/src/libmsc/vty_interface_layer3.c @@ -58,8 +58,10 @@ extern struct gsm_network *gsmnet_from_vty(struct vty *v); static void subscr_dump_full_vty(struct vty *vty, struct gsm_subscriber *subscr) { int rc; + int reqs; struct gsm_auth_info ainfo; struct gsm_auth_tuple atuple; + struct llist_head *entry; char expire_time[200]; vty_out(vty, " ID: %llu, Authorized: %d%s", subscr->id, @@ -107,8 +109,12 @@ static void subscr_dump_full_vty(struct vty *vty, struct gsm_subscriber *subscr) "%a, %d %b %Y %T %z", localtime(&subscr->expire_lu)); expire_time[sizeof(expire_time) - 1] = '\0'; vty_out(vty, " Expiration Time: %s%s", expire_time, VTY_NEWLINE); - vty_out(vty, " Paging: %s paging%s", - subscr->is_paging ? "is" : "not", VTY_NEWLINE); + + reqs = 0; + llist_for_each(entry, &subscr->requests) + reqs += 1; + vty_out(vty, " Paging: %s paging Requests: %d%s", + subscr->is_paging ? "is" : "not", reqs, VTY_NEWLINE); vty_out(vty, " Use count: %u%s", subscr->use_count, VTY_NEWLINE); } -- 2.3.5 From Holger Tue Aug 4 11:18:08 2015 From: Holger (Holger) Date: Tue, 4 Aug 2015 13:18:08 +0200 Subject: [PATCH 1/2] subscr: Fix potential subscr ref count issue Message-ID: <1438687089-76685-1-git-send-email-holger@moiji-mobile.com> From: Holger Hans Peter Freyther In case the subscriber is currently busy we would omit the subscr_put. This seems to be very hard to hit as the subscr need to be active and at the same time be selected for the purge operation. --- openbsc/src/libmsc/gsm_subscriber.c | 1 + 1 file changed, 1 insertion(+) diff --git a/openbsc/src/libmsc/gsm_subscriber.c b/openbsc/src/libmsc/gsm_subscriber.c index 4559de5..085acb1 100644 --- a/openbsc/src/libmsc/gsm_subscriber.c +++ b/openbsc/src/libmsc/gsm_subscriber.c @@ -353,6 +353,7 @@ static void subscr_expire_callback(void *data, long long unsigned int id) LOGP(DMM, LOGL_DEBUG, "Not expiring subscriber %s (ID %llu)\n", subscr_name(s), id); subscr_update_expire_lu(s, conn->bts); + subscr_put(s); return; } -- 2.3.5 From holger at freyther.de Tue Aug 4 13:13:00 2015 From: holger at freyther.de (Holger Freyther) Date: Tue, 4 Aug 2015 15:13:00 +0200 Subject: osmo-nitb hangs with large hlr.sqlite3 file In-Reply-To: References: Message-ID: > On 22 Jun 2015, at 12:35, F Abdu wrote: > > Dear Experts, Hi, > > The system is sited is a busy area. The system works fine for few days but hangs once the hlr.sqlite3 file size reaches near 12 MB and that causes the osmo-nitb to take 99% of the cpu usage. I used "./osmo-nitb -m -P -C" to run the system. The hlr.sqlite3 file increases @2MB/Day. The 'Subscriber' table of the hlr.sqlite3 file adds a large number of IMSI with authorized=0. Tables like Counters, Eqipment and EquipmentWatch are filling up with lots of data. Now the only solution to this problem is to manually delete the data from the tables. where do you operate OpenBSC? holger From holger at freyther.de Tue Aug 4 13:14:50 2015 From: holger at freyther.de (Holger Freyther) Date: Tue, 4 Aug 2015 15:14:50 +0200 Subject: OpenBSC + Huawei BTS 3900B In-Reply-To: References: Message-ID: > On 12 Jun 2015, at 22:11, ????? ????? wrote: > > Hi all. Hi! > I'm working on probation on mobile operator as a student. > Currently, I'm trying to create site for testing, using Huawei BTS 3900B and OpenBSC software. > But I can't set up it. > I have a several questions: > 1) Huawei BTS uses Abis over IP, how can I connect this BTS to OpenBSC. > 2) Are there any examples of configuration in this case? You are lucky! You are the first with a BTS 3900B BTS. This means you can try to understand the protocol and see what it takes to add support for this BTS. Patches are welcome! kind regards holger From holger at freyther.de Wed Aug 5 17:42:59 2015 From: holger at freyther.de (Holger Freyther) Date: Wed, 5 Aug 2015 19:42:59 +0200 Subject: [PATCH 2/2] nitb: Add a mode to not use TMSI for normal operation In-Reply-To: <5E50B264-201D-4D45-8C1E-124F2EB1F404@freyther.de> References: <1436873554-12616-1-git-send-email-holger@freyther.de> <1436873554-12616-2-git-send-email-holger@freyther.de> <55B78148.4010608@autistici.org> <5E50B264-201D-4D45-8C1E-124F2EB1F404@freyther.de> Message-ID: > On 28 Jul 2015, at 16:51, Holger Freyther wrote: > > > oops and sorry, when trying to move quickly. The bigger question is why > this passed on the CI. I always write the yes/no case so it should fail. the code wasn?t in master yet.. so that is why it didn?t go through the CI and didn?t trigger a build error :) From diegoferalonso at gmail.com Thu Aug 6 11:20:14 2015 From: diegoferalonso at gmail.com (Diego Fernandez Alonso) Date: Thu, 6 Aug 2015 13:20:14 +0200 Subject: dvnixload error: Entry point not found Message-ID: Hello. I have a problem with my sysmoBTS. When I start the bts I receive a BOOTME message. So after identify in the SysmoBTS Manual the problem like broken UBL, I tried to follow the manual using the dvnixload utility. I installed the binutils-multiarch package and others neccesary for the execution of the divnixload, but during the proccess I get an error: root at ubun-osmo:/home/osmo-user/Documentos# ./dvnixload -p /dev/ttyUSB0 ubl-sysmobts-v2.elf u-boot-sysmobts-v2.elf dvnixload info: Using cross compiler "" dvnixload info: Expecting messages: [BOOTME] [BOOTPSP] [I_ME] dvnixload info: [BOOTME] received dvnixload error: Entry point not found dvnixload error: Entry point not found Do someone know why I get an "Entry point not found" message and how I can fix it? Thank you so much!! -------------- next part -------------- An HTML attachment was scrubbed... URL: From ravi.varun00 at gmail.com Thu Aug 6 15:33:59 2015 From: ravi.varun00 at gmail.com (Ravi Shankar) Date: Thu, 6 Aug 2015 21:03:59 +0530 Subject: MNC starting with zero Message-ID: Dear Sir As we know that mnc 01 and 1 are different for GSM. In config file even on providing MCC 001 and mnc 01 its flashes mcc as 1 and mnc as 1. How to get over from this issue and get the network as 001-01 instead of 1-1. Regards. Ravi -------------- next part -------------- An HTML attachment was scrubbed... URL: From holger at freyther.de Thu Aug 6 18:22:10 2015 From: holger at freyther.de (Holger Freyther) Date: Thu, 6 Aug 2015 20:22:10 +0200 Subject: dvnixload error: Entry point not found In-Reply-To: References: Message-ID: <79819A91-C3A1-40D2-BF3E-A9387AB8FB4F@freyther.de> > On 06 Aug 2015, at 13:20, Diego Fernandez Alonso wrote: > > Hello. > > I have a problem with my sysmoBTS. When I start the bts I receive a BOOTME message. So after identify in the SysmoBTS Manual the problem like broken UBL, I tried to follow the manual using the dvnixload utility. I installed the binutils-multiarch package and others neccesary for the execution of the divnixload, but during the proccess I get an error: How did you get the system into that state? > > root at ubun-osmo:/home/osmo-user/Documentos# ./dvnixload -p /dev/ttyUSB0 ubl-sysmobts-v2.elf u-boot-sysmobts-v2.elf > dvnixload info: Using cross compiler "" > dvnixload info: Expecting messages: [BOOTME] [BOOTPSP] [I_ME] > dvnixload info: [BOOTME] received > dvnixload error: Entry point not found > dvnixload error: Entry point not found > > Do someone know why I get an "Entry point not found" message and how I can fix it? so this means that ?objdump? got executed. You can execute dvnixload with ?-d 5? (in addition to the normal arguments) and you will get detailed output. It looks like ubuntu has done something funny to binutils-multiarch. When executing the above you will see the command that was executed, e.g. execute it by hand and analyse the output. holger From diegoferalonso at gmail.com Fri Aug 7 12:08:56 2015 From: diegoferalonso at gmail.com (Diego Fernandez Alonso) Date: Fri, 7 Aug 2015 14:08:56 +0200 Subject: dvnixload error: Entry point not found In-Reply-To: <79819A91-C3A1-40D2-BF3E-A9387AB8FB4F@freyther.de> References: <79819A91-C3A1-40D2-BF3E-A9387AB8FB4F@freyther.de> Message-ID: Hi Holger, thanks for the mail. I'm not sure how the system could get that state. I was working correctly with the BTS months ago and I switched it off. When I started the system a couple of days ago, "BOOTME" it was the only response I received. And the BTS was always in the same place, this was very strange for me. I executed dvnixload with -d 5: root at ubun-osmo:/home/osmo-user/Documentos# ./dvnixload -p /dev/ttyUSB0 ubl-sysmobts-v2.elf u-boot-sysmobts-v2.elf -d 5 and one of the outputs was: dvnixload debug2: OUTPUT count is 0 So, with this and the fact that maybe I had some problem with binutils-multiarch on my ubuntu 14.04 LTS running in VirtualBox, I used a laptop with a Kali Linux installed. The OUTPUT count was 1, but I don?t receive the message [BEGIN] root at kali:~# ./dvnixload -p /dev/ttyUSB0 ubl-sysmobts-v2.elf u-boot-sysmobts-v2.elf dvnixload info: Using cross compiler "" dvnixload info: Expecting messages: [BOOTME] [BOOTPSP] [I_ME] dvnixload info: [BOOTME] received dvnixload info: Sending ACK sequence dvnixload info: Sending CRC ($BC258B07) dvnixload info: Sending size ($00002A88 bytes) dvnixload info: Sending entry point ($00002214) dvnixload info: Sending termination sequence dvnixload info: Expecting messages: [BEGIN] In this point is waiting always. But with the option of -d I observed that the message that is receiving is continuously [BOOTME] oot at kali:~# ./dvnixload -p /dev/ttyUSB0 ubl-sysmobts-v2.elf u-boot-sysmobts-v2.elf -d 5 dvnixload info: Using cross compiler "" dvnixload debug1: Running command: test -f ubl-sysmobts-v2.elf dvnixload debug1: Running command: file ubl-sysmobts-v2.elf | grep ELF 1> /dev/null 2>&1 dvnixload debug1: Running command: test -f u-boot-sysmobts-v2.elf dvnixload debug1: Running command: file u-boot-sysmobts-v2.elf | grep ELF 1> /dev/null 2>&1 dvnixload debug2: baud_rate_index = 6 dvnixload info: Expecting messages: [BOOTME] [BOOTPSP] [I_ME] dvnixload debug3: [0] 0x20 dvnixload debug3: [1] 0x42 dvnixload debug3: [2] 0x4F dvnixload debug3: [3] 0x4F dvnixload debug3: [4] 0x54 dvnixload debug3: [5] 0x4D dvnixload debug3: [6] 0x45 dvnixload debug3: [7] 0x00 dvnixload debug1: Reading: [BOOTME] dvnixload info: [BOOTME] received dvnixload debug1: Running command: objcopy -R .ddrram -R .selfcopy --gap-fill 0xFF -S -O binary ubl-sysmobts-v2.elf /tmp/ubl.bin 2>&1 dvnixload debug2: run_cmd_get_string() dvnixload debug2: CMD = "readelf -h ubl-sysmobts-v2.elf | grep 'Entry point' | sed 's/.*\(0x[0-9a-f]*\)/\1/'" dvnixload debug2: OUTPUT count is 1 dvnixload info: Sending ACK sequence dvnixload debug2: Sending size = 8 dvnixload debug3: [00] 0x20 dvnixload debug3: [01] 0x20 dvnixload debug3: [02] 0x20 dvnixload debug3: [03] 0x20 dvnixload debug3: [04] 0x41 dvnixload debug3: [05] 0x43 dvnixload debug3: [06] 0x4B dvnixload debug3: [07] 0x00 dvnixload debug2: Written 8 characters dvnixload info: Sending CRC ($BC258B07) dvnixload debug2: Sending size = 8 dvnixload debug3: [00] 0x42 dvnixload debug3: [01] 0x43 dvnixload debug3: [02] 0x32 dvnixload debug3: [03] 0x35 dvnixload debug3: [04] 0x38 dvnixload debug3: [05] 0x42 dvnixload debug3: [06] 0x30 dvnixload debug3: [07] 0x37 dvnixload debug2: Written 8 characters dvnixload info: Sending size ($00002A88 bytes) dvnixload debug2: Sending size = 4 dvnixload debug3: [00] 0x32 dvnixload debug3: [01] 0x41 dvnixload debug3: [02] 0x38 dvnixload debug3: [03] 0x38 dvnixload debug2: Written 4 characters dvnixload info: Sending entry point ($00002214) dvnixload debug2: Sending size = 4 dvnixload debug3: [00] 0x32 dvnixload debug3: [01] 0x32 dvnixload debug3: [02] 0x31 dvnixload debug3: [03] 0x34 dvnixload debug2: Written 4 characters dvnixload info: Sending termination sequence dvnixload debug2: Sending size = 4 dvnixload debug3: [00] 0x30 dvnixload debug3: [01] 0x30 dvnixload debug3: [02] 0x30 dvnixload debug3: [03] 0x30 dvnixload debug2: Written 4 characters dvnixload info: Expecting messages: [BEGIN] dvnixload debug3: [0] 0x20 dvnixload debug3: [1] 0x42 dvnixload debug3: [2] 0x4F dvnixload debug3: [3] 0x4F dvnixload debug3: [4] 0x54 dvnixload debug3: [5] 0x4D dvnixload debug3: [6] 0x45 dvnixload debug3: [7] 0x00 dvnixload debug1: Reading: [BOOTME] dvnixload debug3: [0] 0x20 dvnixload debug3: [1] 0x42 dvnixload debug3: [2] 0x4F dvnixload debug3: [3] 0x4F dvnixload debug3: [4] 0x54 dvnixload debug3: [5] 0x4D dvnixload debug3: [6] 0x45 dvnixload debug3: [7] 0x00 dvnixload debug1: Reading: [BOOTME] dvnixload debug3: [0] 0x90 dvnixload debug3: [1] 0x12 dvnixload debug3: [2] 0x05 dvnixload debug3: [3] 0x0D and so on. I would be very grateful if there is some idea about why this is happening and how solve it. Thanks again. Regards. Diego. 2015-08-06 20:22 GMT+02:00 Holger Freyther : > > > On 06 Aug 2015, at 13:20, Diego Fernandez Alonso < > diegoferalonso at gmail.com> wrote: > > > > Hello. > > > > I have a problem with my sysmoBTS. When I start the bts I receive a > BOOTME message. So after identify in the SysmoBTS Manual the problem like > broken UBL, I tried to follow the manual using the dvnixload utility. I > installed the binutils-multiarch package and others neccesary for the > execution of the divnixload, but during the proccess I get an error: > > > How did you get the system into that state? > > > > > root at ubun-osmo:/home/osmo-user/Documentos# ./dvnixload -p /dev/ttyUSB0 > ubl-sysmobts-v2.elf u-boot-sysmobts-v2.elf > > dvnixload info: Using cross compiler "" > > dvnixload info: Expecting messages: [BOOTME] [BOOTPSP] [I_ME] > > dvnixload info: [BOOTME] received > > dvnixload error: Entry point not found > > dvnixload error: Entry point not found > > > > Do someone know why I get an "Entry point not found" message and how I > can fix it? > > > so this means that ?objdump? got executed. You can execute dvnixload with > ?-d 5? (in > addition to the normal arguments) and you will get detailed output. It > looks like ubuntu > has done something funny to binutils-multiarch. > > When executing the above you will see the command that was executed, e.g. > execute > it by hand and analyse the output. > > holger -------------- next part -------------- An HTML attachment was scrubbed... URL: From holger at freyther.de Fri Aug 7 12:11:57 2015 From: holger at freyther.de (Holger Freyther) Date: Fri, 7 Aug 2015 14:11:57 +0200 Subject: dvnixload error: Entry point not found In-Reply-To: References: <79819A91-C3A1-40D2-BF3E-A9387AB8FB4F@freyther.de> Message-ID: <1B0365F4-6F58-4B42-A703-3FCC42865E63@freyther.de> > On 07 Aug 2015, at 14:08, Diego Fernandez Alonso wrote: > > Hi Holger, thanks for the mail. Hi, > dvnixload debug1: Running command: objcopy -R .ddrram -R .selfcopy --gap-fill 0xFF -S -O binary ubl-sysmobts-v2.elf /tmp/ubl.bin 2>&1 > dvnixload debug2: run_cmd_get_string() > > dvnixload debug2: CMD = "readelf -h ubl-sysmobts-v2.elf | grep 'Entry point' | sed 's/.*\(0x[0-9a-f]*\)/\1/?" well, what do you get when you run the above command on Ubuntu? On Ubuntu you can install an arm???..binutils package as well, then use CROSS_COMPILE=arm???- before invoking the dvnixload. Of course replace ??? with the right name. I don?t use Ubuntu. holger From holger at freyther.de Sat Aug 8 18:56:56 2015 From: holger at freyther.de (Holger Freyther) Date: Sat, 8 Aug 2015 20:56:56 +0200 Subject: [PATCH libosmo-netif 03/18] osmux: add circuit helper functions In-Reply-To: <1437488613-3943-4-git-send-email-pablo@gnumonks.org> References: <1437488613-3943-1-git-send-email-pablo@gnumonks.org> <1437488613-3943-4-git-send-email-pablo@gnumonks.org> Message-ID: > On 21 Jul 2015, at 16:23, pablo at gnumonks.org wrote: Hi! > +static struct batch_list_node * > +osmux_batch_add_circuit(struct osmux_batch *batch, int ccid) > +{ > + struct batch_list_node *circuit; > + > + circuit = osmux_batch_find_circuit(batch, ccid); > + if (circuit != NULL) { > + LOGP(DLMIB, LOGL_ERROR, "circuit %u already exists!\n", ccid); > + return NULL; > + } Okay very defensive but no performance issue right now. Patches 1-3 look good! holger From holger at freyther.de Sat Aug 8 19:00:30 2015 From: holger at freyther.de (Holger Freyther) Date: Sat, 8 Aug 2015 21:00:30 +0200 Subject: [PATCH libosmo-netif 07/18] osmux: count pending messages to be transformed in the batch In-Reply-To: <1437488613-3943-8-git-send-email-pablo@gnumonks.org> References: <1437488613-3943-1-git-send-email-pablo@gnumonks.org> <1437488613-3943-8-git-send-email-pablo@gnumonks.org> Message-ID: > On 21 Jul 2015, at 16:23, pablo at gnumonks.org wrote: > > From: Pablo Neira Ayuso > > Add a new field to count the number of messages in the batch that are pending > to be transformed to osmux. Use this new field to check when to enable the > osmux timer. okay, when one counts a list one needs to be careful to have it balanced. While having a look if it is balanced I noticed this in the original code: static struct msgb *osmux_build_batch(struct osmux_in_handle *h) { ? llist_for_each_entry_safe(node, tnode, &batch->node_list, head) { struct msgb *cur, *tmp; int ctr = 0; llist_for_each_entry_safe(cur, tmp, &node->list, list) { struct rtp_hdr *rtph; int add_osmux_hdr = 0; #ifdef DEBUG_MSG ... #endif rtph = osmo_rtp_get_hdr(cur); if (rtph == NULL) return NULL; When and how will this package be dropped? Patches 4-7 look good too! From holger at freyther.de Sat Aug 8 19:04:12 2015 From: holger at freyther.de (Holger Freyther) Date: Sat, 8 Aug 2015 21:04:12 +0200 Subject: [PATCH libosmo-netif 08/18] osmux: introduce osmux_xfrm_input_close_circuit() In-Reply-To: <1437488613-3943-9-git-send-email-pablo@gnumonks.org> References: <1437488613-3943-1-git-send-email-pablo@gnumonks.org> <1437488613-3943-9-git-send-email-pablo@gnumonks.org> Message-ID: <448BCBC1-2CDE-47D6-B763-87EBBB0CBD68@freyther.de> > On 21 Jul 2015, at 16:23, pablo at gnumonks.org wrote: > > > + llist_del(&circuit->head); > + talloc_free(circuit); What happens if there is a single circuit and the batch timer was running? I assume it will timeout not be rescheduled? From holger at freyther.de Sat Aug 8 19:08:53 2015 From: holger at freyther.de (Holger Freyther) Date: Sat, 8 Aug 2015 21:08:53 +0200 Subject: [PATCH libosmo-netif 09/18] osmux: introduce osmux_xfrm_input_open_circuit() In-Reply-To: <1437488613-3943-10-git-send-email-pablo@gnumonks.org> References: <1437488613-3943-1-git-send-email-pablo@gnumonks.org> <1437488613-3943-10-git-send-email-pablo@gnumonks.org> Message-ID: > On 21 Jul 2015, at 16:23, pablo at gnumonks.org wrote: > > > @@ -185,6 +198,7 @@ struct osmux_batch { > unsigned int remaining_bytes; > uint8_t seq; > uint32_t nmsgs; > + int dummy; ndummy? From holger at freyther.de Sat Aug 8 19:11:39 2015 From: holger at freyther.de (Holger Freyther) Date: Sat, 8 Aug 2015 21:11:39 +0200 Subject: [PATCH libosmo-netif 17/18] tests: compile tests with debugging symbols, ie. -g In-Reply-To: <1437488613-3943-18-git-send-email-pablo@gnumonks.org> References: <1437488613-3943-1-git-send-email-pablo@gnumonks.org> <1437488613-3943-18-git-send-email-pablo@gnumonks.org> Message-ID: > On 21 Jul 2015, at 16:23, pablo at gnumonks.org wrote: > > -AM_CFLAGS = -Wall -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) > +AM_CFLAGS = -Wall -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) -g I like -ggdb3 :) In terms of the tests. You run the code but I don?t see many asserts. Could you please explain how the ?no voice traffic? code tests? Would a lack of data end printing a message that would cause the test to fail? holger From laforge at gnumonks.org Sat Aug 8 20:38:18 2015 From: laforge at gnumonks.org (Harald Welte) Date: Sat, 8 Aug 2015 22:38:18 +0200 Subject: MNC starting with zero In-Reply-To: References: Message-ID: <20150808203818.GL32544@nataraja> On Thu, Aug 06, 2015 at 09:03:59PM +0530, Ravi Shankar wrote: > How to get over from this issue and get the network as 001-01 instead of > 1-1. mcc and mnc are handled as integer variables all over the code, I don't think it is possibele without some major changes. Actually, I would guess that rather than changing it from integer to string, it might make sense to have a boolean flag for 2digit/3digit MNC. But basically you would have to review the entire codebase for that. So far nobody has required 3-digit MNC with OpenBSC, as far as I know. -- - Harald Welte http://laforge.gnumonks.org/ ============================================================================ "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6) From laforge at gnumonks.org Sat Aug 8 20:48:38 2015 From: laforge at gnumonks.org (Harald Welte) Date: Sat, 8 Aug 2015 22:48:38 +0200 Subject: MNCC and LCR In-Reply-To: <559E41DF.1050503@fairwaves.co> References: <559E41DF.1050503@fairwaves.co> Message-ID: <20150808204838.GM32544@nataraja> On Thu, Jul 09, 2015 at 11:41:51AM +0200, ? wrote: > So, what am I missing? Where does this version difference comes from? I think this is due to jolly having a custom branch of openbsc, where he incremented the version - as well as incrementing it in lcr master. So now if you use master of both, the version number will be diferent. But I may be mistaken here. > What do you think? I think the MNCC code is quite different on either side of the interface: NITB as the GSM network side and LCR as the "call agent". As such I'm not sure how much shared code there would be? -- - Harald Welte http://laforge.gnumonks.org/ ============================================================================ "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6) From holger at freyther.de Sun Aug 9 18:02:32 2015 From: holger at freyther.de (Holger Freyther) Date: Sun, 9 Aug 2015 20:02:32 +0200 Subject: MNCC and LCR In-Reply-To: <20150808204838.GM32544@nataraja> References: <559E41DF.1050503@fairwaves.co> <20150808204838.GM32544@nataraja> Message-ID: <86EEB952-3A98-42DC-BCD9-918128098356@freyther.de> > On 08 Aug 2015, at 22:48, Harald Welte wrote: > > I think this is due to jolly having a custom branch of openbsc, where he > incremented the version - as well as incrementing it in lcr master. So > now if you use master of both, the version number will be diferent. > > But I may be mistaken here. LCR master has ?rtp-bridge? MNCC commands (create, modify and the unused delete one). And this has lead to bumping the version number. I have recently re-implemented RTP bridge (but different to Andreas?s original implementation in NITB). Audio can now directly flow from a BTS to .. somewhere else. From pablo at gnumonks.org Mon Aug 10 08:10:12 2015 From: pablo at gnumonks.org (Pablo Neira Ayuso) Date: Mon, 10 Aug 2015 10:10:12 +0200 Subject: [PATCH libosmo-netif 07/18] osmux: count pending messages to be transformed in the batch In-Reply-To: References: <1437488613-3943-1-git-send-email-pablo@gnumonks.org> <1437488613-3943-8-git-send-email-pablo@gnumonks.org> Message-ID: <20150810081012.GA3509@salvia> On Sat, Aug 08, 2015 at 09:00:30PM +0200, Holger Freyther wrote: > > > On 21 Jul 2015, at 16:23, pablo at gnumonks.org wrote: > > > > From: Pablo Neira Ayuso > > > > Add a new field to count the number of messages in the batch that are pending > > to be transformed to osmux. Use this new field to check when to enable the > > osmux timer. > > okay, when one counts a list one needs to be careful to have it balanced. While > having a look if it is balanced I noticed this in the original code: > > static struct msgb *osmux_build_batch(struct osmux_in_handle *h) > { > > ? > > > llist_for_each_entry_safe(node, tnode, &batch->node_list, head) { > struct msgb *cur, *tmp; > int ctr = 0; > > llist_for_each_entry_safe(cur, tmp, &node->list, list) { > struct rtp_hdr *rtph; > int add_osmux_hdr = 0; > > #ifdef DEBUG_MSG > ... > #endif > > rtph = osmo_rtp_get_hdr(cur); > if (rtph == NULL) > return NULL; > > > When and how will this package be dropped? If the RTP message that we received is malformed. Although we already checked this when enqueuing the packet into the circuit list before the transformation happens, so it should be safe to remove the NULL check. But let me revisit this in a follow up patch. > Patches 4-7 look good too! Thanks Holger. From pablo at gnumonks.org Mon Aug 10 08:26:52 2015 From: pablo at gnumonks.org (Pablo Neira Ayuso) Date: Mon, 10 Aug 2015 10:26:52 +0200 Subject: [PATCH libosmo-netif 08/18] osmux: introduce osmux_xfrm_input_close_circuit() In-Reply-To: <448BCBC1-2CDE-47D6-B763-87EBBB0CBD68@freyther.de> References: <1437488613-3943-1-git-send-email-pablo@gnumonks.org> <1437488613-3943-9-git-send-email-pablo@gnumonks.org> <448BCBC1-2CDE-47D6-B763-87EBBB0CBD68@freyther.de> Message-ID: <20150810082652.GB3509@salvia> On Sat, Aug 08, 2015 at 09:04:12PM +0200, Holger Freyther wrote: > > > On 21 Jul 2015, at 16:23, pablo at gnumonks.org wrote: > > > > > > + llist_del(&circuit->head); > > + talloc_free(circuit); > > > What happens if there is a single circuit and the batch timer was > running? I assume it will timeout not be rescheduled? Good point. Looking at osmux_xfrm_input_deliver() and assuming the ndummy counter became zero, it will not be rescheduled. Regarding the normal voice path, I think it should be possible to pass an empty msgb to the deliver() callback if the timer is called after the circuit is gone, let me have a careful look at this. From pablo at gnumonks.org Mon Aug 10 08:27:23 2015 From: pablo at gnumonks.org (Pablo Neira Ayuso) Date: Mon, 10 Aug 2015 10:27:23 +0200 Subject: [PATCH libosmo-netif 09/18] osmux: introduce osmux_xfrm_input_open_circuit() In-Reply-To: References: <1437488613-3943-1-git-send-email-pablo@gnumonks.org> <1437488613-3943-10-git-send-email-pablo@gnumonks.org> Message-ID: <20150810082723.GC3509@salvia> On Sat, Aug 08, 2015 at 09:08:53PM +0200, Holger Freyther wrote: > > > On 21 Jul 2015, at 16:23, pablo at gnumonks.org wrote: > > > > > > @@ -185,6 +198,7 @@ struct osmux_batch { > > unsigned int remaining_bytes; > > uint8_t seq; > > uint32_t nmsgs; > > + int dummy; > > ndummy? OK, will rename this. From pablo at gnumonks.org Mon Aug 10 08:33:32 2015 From: pablo at gnumonks.org (Pablo Neira Ayuso) Date: Mon, 10 Aug 2015 10:33:32 +0200 Subject: [PATCH libosmo-netif 17/18] tests: compile tests with debugging symbols, ie. -g In-Reply-To: References: <1437488613-3943-1-git-send-email-pablo@gnumonks.org> <1437488613-3943-18-git-send-email-pablo@gnumonks.org> Message-ID: <20150810083332.GD3509@salvia> On Sat, Aug 08, 2015 at 09:11:39PM +0200, Holger Freyther wrote: > > > On 21 Jul 2015, at 16:23, pablo at gnumonks.org wrote: > > > > -AM_CFLAGS = -Wall -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) > > +AM_CFLAGS = -Wall -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) -g > > I like -ggdb3 :) OK, will change this. > In terms of the tests. You run the code but I don?t see many asserts. Could you > please explain how the ?no voice traffic? code tests? Would a lack of data end > printing a message that would cause the test to fail? The test most likely will timeout if it doesn't get any voice traffic. But I think it's a good idea to add more asserts. In summary: 1) Will rename dummy to ndummy. 2) Will mangle this patch to replace -g to -ggdb3. And I will push out this patchset, then will send two follow up patches: 3) Will revisit the one timer running + circuit gone scenario. This will come in a follow up patch since this problem since to be there since the beginning. 4) Will add more asserts to validate osmux outputs from tests. Fine with this procedure? Let me know if I'm missing anything. Thanks for reviewing. From holger at freyther.de Mon Aug 10 08:29:21 2015 From: holger at freyther.de (Holger Freyther) Date: Mon, 10 Aug 2015 10:29:21 +0200 Subject: [PATCH libosmo-netif 17/18] tests: compile tests with debugging symbols, ie. -g In-Reply-To: <20150810083332.GD3509@salvia> References: <1437488613-3943-1-git-send-email-pablo@gnumonks.org> <1437488613-3943-18-git-send-email-pablo@gnumonks.org> <20150810083332.GD3509@salvia> Message-ID: <1CC8A7D5-6A82-4905-9F40-AD6790CEAA82@freyther.de> > On 10 Aug 2015, at 10:33, Pablo Neira Ayuso wrote: > > On Sat, Aug 08, 2015 at 09:11:39PM +0200, Holger Freyther wrote: >> >>> On 21 Jul 2015, at 16:23, pablo at gnumonks.org wrote: >>> >>> -AM_CFLAGS = -Wall -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) >>> +AM_CFLAGS = -Wall -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) -g >> >> I like -ggdb3 :) > > OK, will change this. This was just personal taste. No need to update if -g was good enough for you. I tend to compile with CFLAGS=?-Og -ggdb3? make > Fine with this procedure? Let me know if I'm missing anything. yes, that is fine. From Max.Suraev at fairwaves.co Mon Aug 10 10:24:17 2015 From: Max.Suraev at fairwaves.co (=?UTF-8?B?4piO?=) Date: Mon, 10 Aug 2015 12:24:17 +0200 Subject: MNCC and LCR In-Reply-To: <20150808204838.GM32544@nataraja> References: <559E41DF.1050503@fairwaves.co> <20150808204838.GM32544@nataraja> Message-ID: <55C87BD1.3090105@fairwaves.co> 08.08.2015 22:48, Harald Welte ?????: > > I think the MNCC code is quite different on either side of the > interface: NITB as the GSM network side and LCR as the "call agent". As > such I'm not sure how much shared code there would be? > Yes, but it's not only about 2 existing implementations. What if we'd like to add MNCC support to freeswitch? kamailio? asterisk? whatever-other-thing? Having readily available protocol implementation as part of some library would make it a lot easier to implement. It'll also make protocol version tracking much simpler. -- best regards, Max, http://fairwaves.co From laforge at gnumonks.org Mon Aug 10 15:10:31 2015 From: laforge at gnumonks.org (Harald Welte) Date: Mon, 10 Aug 2015 17:10:31 +0200 Subject: MNCC and LCR In-Reply-To: <55C87BD1.3090105@fairwaves.co> References: <559E41DF.1050503@fairwaves.co> <20150808204838.GM32544@nataraja> <55C87BD1.3090105@fairwaves.co> Message-ID: <20150810151031.GE19001@nataraja> On Mon, Aug 10, 2015 at 12:24:17PM +0200, ? wrote: > Having readily available protocol implementation as part of some > library would make it a lot easier to implement. It'll also make > protocol version tracking much simpler. from my point of view there is nothing as a plain 'protocol implementation', but you would basically have to invent portable/stable data structures, associated APIs, etc. Given that MNCC is not complex but rather simply a way of encoding primitives that get shoved left and right, I'm not sure what such 'yet another representation for the MNCC primitives' would bring, except more code that needs to be written, and that needs to be traversed. >From my point of view, the header file is probably everything that you would need to share. From the very dispatch of the received primitives, everything will be very much dependent on the actual MNCC handler (lcr, freeswitch, etc.) who all have their own architecture, data structures, etc. The issue gets even more simplified by the fact that MNCC doesn't even have a real/portable wire encoding (think of TLVs, ...) that's independent of the 'structs' that we pass around over the socket. Feel free to convince me otherwise, but at least so far I do not see how that shared/common code would look like :) Regards, Harald -- - Harald Welte http://laforge.gnumonks.org/ ============================================================================ "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6) From jerlbeck at sysmocom.de Thu Aug 13 10:20:01 2015 From: jerlbeck at sysmocom.de (Jacob Erlbeck) Date: Thu, 13 Aug 2015 12:20:01 +0200 Subject: Using GPRS In-Reply-To: <1181995749.412535.1437933744646.JavaMail.zimbra@kvk.uni-obuda.hu> References: <708982557.334479.1437777029114.JavaMail.zimbra@kvk.uni-obuda.hu> <2082705239.393803.1437903342655.JavaMail.zimbra@kvk.uni-obuda.hu> <696067074.395622.1437906650312.JavaMail.zimbra@kvk.uni-obuda.hu> <146701592.398859.1437910760157.JavaMail.zimbra@kvk.uni-obuda.hu> <1181995749.412535.1437933744646.JavaMail.zimbra@kvk.uni-obuda.hu> Message-ID: <55CC6F51.6040800@sysmocom.de> Hi On 26.07.2015 20:02, Sipos Csaba wrote: > I will try to give you as many feedback as possible. :-) > > I finally have a more or less working setup. At least there is no crash whatsoever, and the PS domain is working, the UE can attach, activate PDP, transfer data to some extent. > > For example when i tried to ping the TUN interface, I got 2500-2600ms latency. That's normal in the default case, since the MS will have to issue a RACH to get an uplink TBF for the response. You can allow to keep the PACCH open for a longer time by configuring pcu dl-tbf-idle-time 2000 This keeps the DL TBF open for the time given (in ms) by periodically sending LLC dummy commands. HTH Jacob -- - Jacob Erlbeck http://www.sysmocom.de/ ======================================================================= * sysmocom - systems for mobile communications GmbH * Alt-Moabit 93 * 10559 Berlin, Germany * Sitz / Registered office: Berlin, HRB 134158 B * Geschaeftsfuehrer / Managing Directors: Holger Freyther, Harald Welte From sipos.csaba at kvk.uni-obuda.hu Thu Aug 13 10:44:00 2015 From: sipos.csaba at kvk.uni-obuda.hu (Sipos Csaba) Date: Thu, 13 Aug 2015 12:44:00 +0200 (CEST) Subject: Using GPRS In-Reply-To: <55CC6F51.6040800@sysmocom.de> References: <2082705239.393803.1437903342655.JavaMail.zimbra@kvk.uni-obuda.hu> <696067074.395622.1437906650312.JavaMail.zimbra@kvk.uni-obuda.hu> <146701592.398859.1437910760157.JavaMail.zimbra@kvk.uni-obuda.hu> <1181995749.412535.1437933744646.JavaMail.zimbra@kvk.uni-obuda.hu> <55CC6F51.6040800@sysmocom.de> Message-ID: <1383865019.3060282.1439462640818.JavaMail.zimbra@kvk.uni-obuda.hu> Hi Jacob, Thanks for the info, will try that. What algorithm (PCU) would you prefer if the goal is to maximize the single UE throughput? Regards, Csaba ----- Eredeti ?zenet ----- Felad?: "Jacob Erlbeck" C?mzett: "Sipos Csaba" M?solatot kap: "OpenBSC Mailing List" Elk?ld?tt ?zenetek: Cs?t?rt?k, 2015. Augusztus 13. 12:20:01 T?rgy: Re: Using GPRS Hi On 26.07.2015 20:02, Sipos Csaba wrote: > I will try to give you as many feedback as possible. :-) > > I finally have a more or less working setup. At least there is no crash whatsoever, and the PS domain is working, the UE can attach, activate PDP, transfer data to some extent. > > For example when i tried to ping the TUN interface, I got 2500-2600ms latency. That's normal in the default case, since the MS will have to issue a RACH to get an uplink TBF for the response. You can allow to keep the PACCH open for a longer time by configuring pcu dl-tbf-idle-time 2000 This keeps the DL TBF open for the time given (in ms) by periodically sending LLC dummy commands. HTH Jacob -- - Jacob Erlbeck http://www.sysmocom.de/ ======================================================================= * sysmocom - systems for mobile communications GmbH * Alt-Moabit 93 * 10559 Berlin, Germany * Sitz / Registered office: Berlin, HRB 134158 B * Geschaeftsfuehrer / Managing Directors: Holger Freyther, Harald Welte From jerlbeck at sysmocom.de Thu Aug 13 10:57:05 2015 From: jerlbeck at sysmocom.de (Jacob Erlbeck) Date: Thu, 13 Aug 2015 12:57:05 +0200 Subject: Using GPRS In-Reply-To: <1383865019.3060282.1439462640818.JavaMail.zimbra@kvk.uni-obuda.hu> References: <2082705239.393803.1437903342655.JavaMail.zimbra@kvk.uni-obuda.hu> <696067074.395622.1437906650312.JavaMail.zimbra@kvk.uni-obuda.hu> <146701592.398859.1437910760157.JavaMail.zimbra@kvk.uni-obuda.hu> <1181995749.412535.1437933744646.JavaMail.zimbra@kvk.uni-obuda.hu> <55CC6F51.6040800@sysmocom.de> <1383865019.3060282.1439462640818.JavaMail.zimbra@kvk.uni-obuda.hu> Message-ID: <55CC7801.8060801@sysmocom.de> Hi Csaba, On 13.08.2015 12:44, Sipos Csaba wrote: > What algorithm (PCU) would you prefer if the goal is to maximize the single UE throughput? UL is one PDCH in general with either algorithm. For DL: Algo B (multislot) if you have >1 PDCH. In branch jerlbeck/master (which will be merged to master soon) you can also use 'alloc-algorithm dynamic' which will provide a higher DL throughput if there are only a few connections and will move over to algo A on higher usage. Regards Jacob > > ----- Eredeti ?zenet ----- > Felad?: "Jacob Erlbeck" > C?mzett: "Sipos Csaba" > M?solatot kap: "OpenBSC Mailing List" > Elk?ld?tt ?zenetek: Cs?t?rt?k, 2015. Augusztus 13. 12:20:01 > T?rgy: Re: Using GPRS > > Hi > > On 26.07.2015 20:02, Sipos Csaba wrote: >> I will try to give you as many feedback as possible. :-) >> >> I finally have a more or less working setup. At least there is no crash whatsoever, and the PS domain is working, the UE can attach, activate PDP, transfer data to some extent. >> >> For example when i tried to ping the TUN interface, I got 2500-2600ms latency. > > That's normal in the default case, since the MS will have to issue a > RACH to get an uplink TBF for the response. You can allow to keep the > PACCH open for a longer time by configuring > > pcu > dl-tbf-idle-time 2000 > > This keeps the DL TBF open for the time given (in ms) by periodically > sending LLC dummy commands. > > HTH > > Jacob > > > > -- - Jacob Erlbeck http://www.sysmocom.de/ ======================================================================= * sysmocom - systems for mobile communications GmbH * Alt-Moabit 93 * 10559 Berlin, Germany * Sitz / Registered office: Berlin, HRB 134158 B * Geschaeftsfuehrer / Managing Directors: Holger Freyther, Harald Welte From mike.mcternan at wavemobile.com Tue Aug 18 16:39:45 2015 From: mike.mcternan at wavemobile.com (Mike McTernan (wavemobile)) Date: Tue, 18 Aug 2015 16:39:45 +0000 Subject: MNC starting with zero In-Reply-To: <20150808203818.GL32544@nataraja> References: <20150808203818.GL32544@nataraja> Message-ID: > But basically you would have to review the entire codebase for that. I have done that, made and been testing these changes and have it on my todo list to get the changes into git... Ravi, note it's an MNC of 00n and 0n or even 0nn and nn that differ; MNC can be 2 or 3 digits. Kind Regards, Mike From laforge at gnumonks.org Tue Aug 18 17:30:27 2015 From: laforge at gnumonks.org (Harald Welte) Date: Tue, 18 Aug 2015 19:30:27 +0200 Subject: subdir-objects / autoconf Message-ID: <20150818173027.GO5665@nataraja> Hi Holger, I added libosmocore commit 7c942ba1475a366cc7c8a129fbdd335166ce21c6 during the camp as at the simtrace/osmocombb/openbsc workshop, several participants could not build the respective software packages. This behavior was observed by Kevin and me, and adding subdir-objects resolved the problem. Due to the hectic nature of a workshop where everyone is waiting for the build to succeed on the system of all participants we did not have time to record the specific distribution versions at that time. On Debian unstable with autoconf 2.50 / automake 1.15, the build generates the following warnings: =============== src/gsm/Makefile.am:15: warning: source file 'milenage/aes-encblock.c' is in a subdirectory, src/gsm/Makefile.am:15: but option 'subdir-objects' is disabled automake: warning: possible forward-incompatibility. automake: At least a source file is in a subdirectory, but the 'subdir-objects' automake: automake option hasn't been enabled. For now, the corresponding output automake: object file(s) will be placed in the top-level directory. However, automake: this behaviour will change in future Automake versions: they will automake: unconditionally cause object files to be placed in the same subdirectory automake: of the corresponding sources. automake: You are advised to start using 'subdir-objects' option throughout your automake: project, to avoid future incompatibilities. =============== The project still builds afterwards on this Debian system, so indeed it is just a warning. However, the warning quite clearly indicates that the use of subdir-objects is not optional in the future! So I'm not sure your revert of the assciated commit is the right way to proceed. The point seems to be that 'make distclean' wants to remove the generated objects for the tests, but the latter only are compiled when 'make check' is used, but not in the default build. Any ideas? -- - Harald Welte http://laforge.gnumonks.org/ ============================================================================ "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6) From pablo at gnumonks.org Wed Aug 19 00:52:45 2015 From: pablo at gnumonks.org (Pablo Neira Ayuso) Date: Wed, 19 Aug 2015 02:52:45 +0200 Subject: [PATCH libosmo-netif 17/18] tests: compile tests with debugging symbols, ie. -g In-Reply-To: <1CC8A7D5-6A82-4905-9F40-AD6790CEAA82@freyther.de> References: <1437488613-3943-1-git-send-email-pablo@gnumonks.org> <1437488613-3943-18-git-send-email-pablo@gnumonks.org> <20150810083332.GD3509@salvia> <1CC8A7D5-6A82-4905-9F40-AD6790CEAA82@freyther.de> Message-ID: <20150819005245.GA20020@salvia> On Mon, Aug 10, 2015 at 10:29:21AM +0200, Holger Freyther wrote: [...] > > Fine with this procedure? Let me know if I'm missing anything. > > yes, that is fine. Just pushed out this to master, including a patch to rename dummy to ndummy as you suggested. Will follow up soon by reviewing the other concerns you spot during review. Cheers from Seattle! From holger at freyther.de Wed Aug 19 05:51:11 2015 From: holger at freyther.de (Holger Freyther) Date: Wed, 19 Aug 2015 07:51:11 +0200 Subject: [PATCH libosmo-netif 17/18] tests: compile tests with debugging symbols, ie. -g In-Reply-To: <20150819005245.GA20020@salvia> References: <1437488613-3943-1-git-send-email-pablo@gnumonks.org> <1437488613-3943-18-git-send-email-pablo@gnumonks.org> <20150810083332.GD3509@salvia> <1CC8A7D5-6A82-4905-9F40-AD6790CEAA82@freyther.de> <20150819005245.GA20020@salvia> Message-ID: <59F23110-FCED-499D-936D-8EBF49740A38@freyther.de> > On 19 Aug 2015, at 02:52, Pablo Neira Ayuso wrote: > Hi! > Just pushed out this to master, including a patch to rename dummy to > ndummy as you suggested. Will follow up soon by reviewing the other > concerns you spot during review. the CI fails because of missing documentation strings in the new command Documentation error (missing docs): Documentation error (missing docs): with the VTY code every parameter needs to be documented in this case it needs to be: osmux dummy on off Given the error message I think everything but off is documented. enjoy the city! holger From holger at freyther.de Wed Aug 19 05:56:43 2015 From: holger at freyther.de (Holger Freyther) Date: Wed, 19 Aug 2015 07:56:43 +0200 Subject: subdir-objects / autoconf In-Reply-To: <20150818173027.GO5665@nataraja> References: <20150818173027.GO5665@nataraja> Message-ID: > On 18 Aug 2015, at 19:30, Harald Welte wrote: > > Hi Holger, Hi, > This behavior was observed by Kevin and me, and adding subdir-objects > resolved the problem. Due to the hectic nature of a workshop where > everyone is waiting for the build to succeed on the system of all > participants we did not have time to record the specific distribution > versions at that time. > The point seems to be that 'make distclean' wants to remove the > generated objects for the tests, but the latter only are compiled when > 'make check' is used, but not in the default build. > > Any ideas? The CI has been broken since the 15th of August and the easiest way to get it building again was to revert. Now that some versions have broken subdir-objects and some versions (it would be good to know which one) actually require it to work we have some options: * Contact automake/automake-ng folks and ask for support * Require the minimum version for automake that has a working subdir-objects * Don?t use make distcheck in the CI and enable subdir-objects * Don?t have a recursive make holger From 246tnt at gmail.com Wed Aug 19 09:18:12 2015 From: 246tnt at gmail.com (Sylvain Munaut) Date: Wed, 19 Aug 2015 11:18:12 +0200 Subject: subdir-objects / autoconf In-Reply-To: References: <20150818173027.GO5665@nataraja> Message-ID: Hi, I pushed a tnt/subdir-objects branch to libosmocore. Here I now have both subdir-objects and make distcheck working. If people want to give it a shot ... http://git.osmocom.org/libosmocore/log/?h=tnt/subdir-objects Cheers, Sylvain From holger at freyther.de Wed Aug 19 09:31:09 2015 From: holger at freyther.de (Holger Freyther) Date: Wed, 19 Aug 2015 11:31:09 +0200 Subject: subdir-objects / autoconf In-Reply-To: References: <20150818173027.GO5665@nataraja> Message-ID: <43F81045-3EE1-4E1F-ADB2-B780D897DB2A@freyther.de> > On 19 Aug 2015, at 11:18, Sylvain Munaut <246tnt at gmail.com> wrote: > > Hi, > > I pushed a tnt/subdir-objects branch to libosmocore. > > Here I now have both subdir-objects and make distcheck working. > If people want to give it a shot ... > > http://git.osmocom.org/libosmocore/log/?h=tnt/subdir-objects thank you! feel free to push it to master and we can see what the old automake/gcc/etc. is going to say about that :) From 246tnt at gmail.com Wed Aug 19 09:44:29 2015 From: 246tnt at gmail.com (Sylvain Munaut) Date: Wed, 19 Aug 2015 11:44:29 +0200 Subject: subdir-objects / autoconf In-Reply-To: <43F81045-3EE1-4E1F-ADB2-B780D897DB2A@freyther.de> References: <20150818173027.GO5665@nataraja> <43F81045-3EE1-4E1F-ADB2-B780D897DB2A@freyther.de> Message-ID: >> I pushed a tnt/subdir-objects branch to libosmocore. >> >> Here I now have both subdir-objects and make distcheck working. >> If people want to give it a shot ... >> >> http://git.osmocom.org/libosmocore/log/?h=tnt/subdir-objects > > thank you! feel free to push it to master and we can see what the old > automake/gcc/etc. is going to say about that :) Ok, seemed to work. Cheers, Sylvain From ptrkrysik at gmail.com Thu Aug 20 07:52:42 2015 From: ptrkrysik at gmail.com (Piotr Krysik) Date: Thu, 20 Aug 2015 09:52:42 +0200 Subject: 8-PSK modulation/demodulation Message-ID: <55D5874A.3060301@gmail.com> Hi all, I'm developing gr-gsm - the ancestor of Airprobe's gsm-receiver. I want to add support for 8-PSK reception. I'm going to implement a demodulator (preferably doing also channel equalization) and also modulator (currently mostly to generate test data). I don't want to duplicate work that was already done so I want to ask if you are aware of any publicly available 8-PSK implementations (or partial implementations) aimed at supporting EDGE reception? Also I will greatly appreciate pointing to any documents containing good information on this topic. -- Best Regards, Piotr Krysik From sipos.csaba at kvk.uni-obuda.hu Thu Aug 20 08:08:36 2015 From: sipos.csaba at kvk.uni-obuda.hu (Sipos Csaba) Date: Thu, 20 Aug 2015 10:08:36 +0200 (CEST) Subject: 8-PSK modulation/demodulation In-Reply-To: <55D5874A.3060301@gmail.com> References: <55D5874A.3060301@gmail.com> Message-ID: <802133388.4058322.1440058116523.JavaMail.zimbra@kvk.uni-obuda.hu> Hi Piotr, The digital signal processor part of the OpenBSC project is Osmo-TRX. Please take a look here: http://cgit.osmocom.org/osmo-trx/ It implements an almost full featured 2G transceiver, including modulation, demodulation. Tom Tsou is the maintainer of that part of the code. He is fairly busy, but I copied him to this mail, lets see if he can point you in the correct direction. I would recommend you to read Toms masters thesis in this area: http://scholar.lib.vt.edu/theses/available/etd-09242012-133001/unrestricted/Tsou_T_T_2012.pdf It will give you a nice insight how Osmo-TRX works, and what are the challenges to implement something you want. There is a clear intention to improve OpenBSC with EDGE capability, so your work in this regard will be greatly appreciated. Regards, Csaba ----- Original Message ----- From: "Piotr Krysik" To: openbsc at lists.osmocom.org Sent: Thursday, August 20, 2015 9:52:42 AM Subject: 8-PSK modulation/demodulation Hi all, I'm developing gr-gsm - the ancestor of Airprobe's gsm-receiver. I want to add support for 8-PSK reception. I'm going to implement a demodulator (preferably doing also channel equalization) and also modulator (currently mostly to generate test data). I don't want to duplicate work that was already done so I want to ask if you are aware of any publicly available 8-PSK implementations (or partial implementations) aimed at supporting EDGE reception? Also I will greatly appreciate pointing to any documents containing good information on this topic. -- Best Regards, Piotr Krysik From alexander.chemeris at gmail.com Sat Aug 22 03:22:46 2015 From: alexander.chemeris at gmail.com (Alexander Chemeris) Date: Fri, 21 Aug 2015 23:22:46 -0400 Subject: [PATCH] msc: Add channel information to the meas_feed, bump version to v1 Message-ID: Hi all, Attached is a patch for the openbsc which extends meas_feed with channel information - type and id (bts/trx/ts/ss). This is used by the web incarnation of meas_vis utility we wrote [1]. Originally it was a pure copy of the original meas_vis, but when we deployed it at Rhizomatica, they suggested it would be more useful if the channel information is displayed. It would be great to see this patch merged to master. When/if this is merged, I'll submit a patch with meas_json utility which listens on the meas_feed socket and converts it to JSON format digestible by web tools. This JSON is what meas_web uses as a data feed. [1] https://github.com/fairwaves/meas_web PS Apologies for attaching the patch instead of inlining it. GMail would ruin it. -- Regards, Alexander Chemeris. CEO, Fairwaves, Inc. https://fairwaves.co -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-msc-Add-channel-information-to-the-meas_feed-bump-ve.patch Type: text/x-patch Size: 2060 bytes Desc: not available URL: From holger at freyther.de Sat Aug 22 09:35:05 2015 From: holger at freyther.de (Holger Freyther) Date: Sat, 22 Aug 2015 11:35:05 +0200 Subject: [PATCH] msc: Add channel information to the meas_feed, bump version to v1 In-Reply-To: References: Message-ID: > On 22 Aug 2015, at 05:22, Alexander Chemeris wrote: > > Hi all, Hi! > It would be great to see this patch merged to master. patch looks good. As the original meas_viz has been created by Harald I will wait a week before merging it. have a nice weekend holger From diegoferalonso at gmail.com Mon Aug 24 10:35:26 2015 From: diegoferalonso at gmail.com (Diego Fernandez Alonso) Date: Mon, 24 Aug 2015 12:35:26 +0200 Subject: dvnixload error: Entry point not found In-Reply-To: <1B0365F4-6F58-4B42-A703-3FCC42865E63@freyther.de> References: <79819A91-C3A1-40D2-BF3E-A9387AB8FB4F@freyther.de> <1B0365F4-6F58-4B42-A703-3FCC42865E63@freyther.de> Message-ID: Hi Holger; Thanks for the mail, I was on Holidays, now I'm trying to continue with the solution. >I well, what do you get when you run the above command on Ubuntu? On Ubuntu you can install >an arm???..binutils package as well, then use CROSS_COMPILE=arm???- before invoking the >dvnixload. Of course replace ??? with the right name. I don?t use Ubuntu. I followed a guide for installing an ARM Cross-Compilation but the problem is the same. http://docs.kali.org/development/arm-cross-compilation-environment apt-get install git-core gnupg flex bison gperf libesd0-dev build-essential zip curl libncurses5-dev zlib1g-dev gcc-multilib g++-multilib dpkg --add-architecture i386 apt-get update apt-get install ia32-libs cd ~ mkdir -p arm-stuff/kernel/toolchains cd arm-stuff/kernel/toolchains git clone git://github.com/offensive-security/gcc-arm-eabi-linaro-4.6.2.git export ARCH=arm export CROSS_COMPILE=~/arm-stuff/kernel/toolchains/gcc-arm-eabi-linaro-4.6.2 /bin/arm-eabi- Everything was ok. Now I launch the command: root at kali:~# ./dvnixload -p /dev/ttyUSB0 ubl-sysmobts-v2.elf u-boot-sysmobts-v2.elf -d 5 dvnixload info: Using cross compiler "/root/arm-stuff/kernel/toolchains/gcc-arm-eabi-linaro-4.6.2/bin/arm-eabi-" dvnixload debug1: Running command: test -f ubl-sysmobts-v2.elf dvnixload debug1: Running command: file ubl-sysmobts-v2.elf | grep ELF 1> /dev/null 2>&1 dvnixload debug1: Running command: test -f u-boot-sysmobts-v2.elf dvnixload debug1: Running command: file u-boot-sysmobts-v2.elf | grep ELF 1> /dev/null 2>&1 dvnixload debug2: baud_rate_index = 6 dvnixload info: Expecting messages: [BOOTME] [BOOTPSP] [I_ME] dvnixload debug3: [0] 0x20 dvnixload debug3: [1] 0x42 dvnixload debug3: [2] 0x4F dvnixload debug3: [3] 0x4F dvnixload debug3: [4] 0x54 dvnixload debug3: [5] 0x4D dvnixload debug3: [6] 0x45 dvnixload debug3: [7] 0x00 dvnixload debug1: Reading: [BOOTME] dvnixload info: [BOOTME] received dvnixload debug1: Running command: /root/arm-stuff/kernel/toolchains/gcc-arm-eabi-linaro-4.6.2/bin/arm-eabi-objcopy -R .ddrram -R .selfcopy --gap-fill 0xFF -S -O binary ubl-sysmobts-v2.elf /tmp/ubl.bin 2>&1 dvnixload debug2: run_cmd_get_string() dvnixload debug2: CMD = "/root/arm-stuff/kernel/toolchains/gcc-arm-eabi-linaro-4.6.2/bin/arm-eabi-readelf -h ubl-sysmobts-v2.elf | grep 'Entry point' | sed 's/.*\(0x[0-9a-f]*\)/\1/'" dvnixload debug2: OUTPUT count is 1 dvnixload info: Sending ACK sequence dvnixload debug2: Sending size = 8 dvnixload debug3: [00] 0x20 dvnixload debug3: [01] 0x20 dvnixload debug3: [02] 0x20 dvnixload debug3: [03] 0x20 dvnixload debug3: [04] 0x41 dvnixload debug3: [05] 0x43 dvnixload debug3: [06] 0x4B dvnixload debug3: [07] 0x00 dvnixload debug2: Written 8 characters dvnixload info: Sending CRC ($BC258B07) dvnixload debug2: Sending size = 8 dvnixload debug3: [00] 0x42 dvnixload debug3: [01] 0x43 dvnixload debug3: [02] 0x32 dvnixload debug3: [03] 0x35 dvnixload debug3: [04] 0x38 dvnixload debug3: [05] 0x42 dvnixload debug3: [06] 0x30 dvnixload debug3: [07] 0x37 dvnixload debug2: Written 8 characters dvnixload info: Sending size ($00002A88 bytes) dvnixload debug2: Sending size = 4 dvnixload debug3: [00] 0x32 dvnixload debug3: [01] 0x41 dvnixload debug3: [02] 0x38 dvnixload debug3: [03] 0x38 dvnixload debug2: Written 4 characters dvnixload info: Sending entry point ($00002214) dvnixload debug2: Sending size = 4 dvnixload debug3: [00] 0x32 dvnixload debug3: [01] 0x32 dvnixload debug3: [02] 0x31 dvnixload debug3: [03] 0x34 dvnixload debug2: Written 4 characters dvnixload info: Sending termination sequence dvnixload debug2: Sending size = 4 dvnixload debug3: [00] 0x30 dvnixload debug3: [01] 0x30 dvnixload debug3: [02] 0x30 dvnixload debug3: [03] 0x30 dvnixload debug2: Written 4 characters dvnixload info: Expecting messages: [BEGIN] dvnixload debug3: [0] 0x20 dvnixload debug3: [1] 0x42 dvnixload debug3: [2] 0x4F dvnixload debug3: [3] 0x4F dvnixload debug3: [4] 0x54 dvnixload debug3: [5] 0x4D dvnixload debug3: [6] 0x45 dvnixload debug3: [7] 0x00 dvnixload debug1: Reading: [BOOTME] dvnixload debug3: [0] 0x20 dvnixload debug3: [1] 0x42 dvnixload debug3: [2] 0x4F dvnixload debug3: [3] 0x4F dvnixload debug3: [4] 0x54 dvnixload debug3: [5] 0x4D dvnixload debug3: [6] 0x45 dvnixload debug3: [7] 0x00 dvnixload debug1: Reading: [BOOTME] dvnixload debug3: [0] 0x00 dvnixload debug3: [0] 0x12 dvnixload debug3: [1] 0x05 dvnixload debug3: [2] 0x0D dvnixload debug1: Reading: [ ] dvnixload debug3: [0] 0x51 dvnixload debug3: [1] 0x35 dvnixload debug3: [2] 0x15 dvnixload debug3: [3] 0x01 dvnixload debug3: [4] 0x20 dvnixload debug3: [5] 0x42 dvnixload debug3: [6] 0x4B dvnixload debug3: [7] 0x98 dvnixload debug3: [8] 0x54 dvnixload debug3: [9] 0x4D dvnixload debug3: [10] 0x45 dvnixload debug3: [11] 0x00 dvnixload debug1: Reading: [Q5 BK?TME] dvnixload debug3: [0] 0x20 dvnixload debug3: [1] 0x86 dvnixload debug3: [2] 0x4F dvnixload debug3: [3] 0x4C dvnixload debug3: [4] 0x54 dvnixload debug3: [5] 0x4D dvnixload debug3: [6] 0x8A dvnixload debug3: [7] 0x00 dvnixload debug1: Reading: [?OLTM?] dvnixload debug3: [0] 0x20 dvnixload debug3: [1] 0x42 dvnixload debug3: [2] 0x4D dvnixload debug3: [3] 0x4F dvnixload debug3: [4] 0x54 dvnixload debug3: [5] 0x4D dvnixload debug3: [6] 0x45 dvnixload debug3: [7] 0x00 dvnixload debug1: Reading: [BMOTME] dvnixload debug3: [0] 0x20 dvnixload debug3: [1] 0x42 dvnixload debug3: [2] 0x4F dvnixload debug3: [3] 0x4F dvnixload debug3: [4] 0x54 dvnixload debug3: [5] 0x4D dvnixload debug3: [6] 0x45 dvnixload debug3: [7] 0x00 dvnixload debug1: Reading: [BOOTME] dvnixload debug3: [0] 0x20 dvnixload debug3: [1] 0x42 dvnixload debug3: [2] 0x4F dvnixload debug3: [3] 0x4F dvnixload debug3: [4] 0x54 dvnixload debug3: [5] 0x4D dvnixload debug3: [6] 0x45 dvnixload debug3: [7] 0x00 Again the message [BEGIN] is being expected, but only [BOOTME] is received. I'm not sure if maybe I should use the recovery mode pressing the reset button for trying by other way. Thanks so much. Diego. -------------- next part -------------- An HTML attachment was scrubbed... URL: From holger at freyther.de Mon Aug 24 11:24:11 2015 From: holger at freyther.de (Holger Freyther) Date: Mon, 24 Aug 2015 13:24:11 +0200 Subject: dvnixload error: Entry point not found In-Reply-To: References: <79819A91-C3A1-40D2-BF3E-A9387AB8FB4F@freyther.de> <1B0365F4-6F58-4B42-A703-3FCC42865E63@freyther.de> Message-ID: <0D0D7C27-CC6E-43F1-9D24-D9EBA043C2AE@freyther.de> > On 24 Aug 2015, at 12:35, Diego Fernandez Alonso wrote: > > > Hi Holger; Hi, your issue changed from ?Entry point not found? to something else. > dvnixload debug1: Reading: [Q5 BK?TME] the RBL doesn?t output such values. You have some issues with the serial console now. Maybe the cable broke, maybe the serial board has some issues. Inspect the serial cable. > I'm not sure if maybe I should use the recovery mode pressing the reset button for trying by other way. At this point the reset button has no influence. The RBL (bootloader inside the SoC that loads software from the NAND or serial) is activated because it couldn?t load a valid image from the NAND flash. From ciaby at autistici.org Tue Aug 25 10:42:25 2015 From: ciaby at autistici.org (Ciaby) Date: Tue, 25 Aug 2015 12:42:25 +0200 Subject: [PATCH] Add SMPP support in the debian build, include libsmpp34-dev as a dependency. Message-ID: <55DC4691.5020301@autistici.org> This is the last out-of-tree patch that we're still using to package OpenBSC in Rhizomatica. Adding SMPP support in the Debian packages shouldn't be an issue, right? Cheers Ciaby -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Add-SMPP-support-in-the-debian-build-include-libsmpp.patch Type: text/x-patch Size: 1590 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 801 bytes Desc: OpenPGP digital signature URL: From laforge at gnumonks.org Wed Aug 26 11:40:33 2015 From: laforge at gnumonks.org (Harald Welte) Date: Wed, 26 Aug 2015 13:40:33 +0200 Subject: [PATCH] msc: Add channel information to the meas_feed, bump version to v1 In-Reply-To: References: Message-ID: <20150826114033.GV1065@nataraja> Hi Holger, On Sat, Aug 22, 2015 at 11:35:05AM +0200, Holger Freyther wrote: > patch looks good. As the original meas_viz has been created by Harald I > will wait a week before merging it. Thanks (but then with that rule you might have to wait on a lot of patches, I suppose). Merging it is fine with me! I'll try to be more present on the lists. -- - Harald Welte http://laforge.gnumonks.org/ ============================================================================ "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6) From mike.mcternan at wavemobile.com Fri Aug 28 15:12:18 2015 From: mike.mcternan at wavemobile.com (Mike McTernan (wavemobile)) Date: Fri, 28 Aug 2015 15:12:18 +0000 Subject: [PATCH] openbsc: unhardwire MGCP endpoint id Message-ID: Hi Folks, At present endpoint IDs are assumed to end with @mgw when trying to find/match non-e1 endpoint ids. Unless the MGCP peer supports compatible configuration, DNS or a hosts file may need to be setup to meet the hardwired host name requirement in the openBsc MGCP, and then we can still only run one BSC. The attached patch makes a simple change to use either the configured local_ip or source_addr, matching logic used in SDP responses. It also improves the error message when an endpoint can't be found. Please consider for inclusion to mainline. Kind Regards, Mike -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: mgcp-endpoint-id.patch Type: application/octet-stream Size: 1313 bytes Desc: mgcp-endpoint-id.patch URL: From holger at freyther.de Fri Aug 28 15:46:59 2015 From: holger at freyther.de (Holger Freyther) Date: Fri, 28 Aug 2015 17:46:59 +0200 Subject: [PATCH] openbsc: unhardwire MGCP endpoint id In-Reply-To: References: Message-ID: > On 28 Aug 2015, at 17:12, Mike McTernan (wavemobile) wrote: > > Hi Folks, > > At present endpoint IDs are assumed to end with @mgw when trying to find/match non-e1 endpoint ids. Unless the MGCP peer supports compatible configuration, DNS or a hosts file may need to be setup to meet the hardwired host name requirement in the openBsc MGCP, and then we can still only run one BSC. > > The attached patch makes a simple change to use either the configured local_ip or source_addr, matching logic used in SDP responses. It also improves the error message when an endpoint can?t be found. > the cellmgr-ng had a more complete object model (vtrunks, e1 id..) but what about simplifying the code and just checking for the ?@?? If somebody addresses us. E.g. the hostname on the existing deployments is not ?mgw? and unless I am missing something neither cfg->local_ip nor cfg->source_addr hold ?mgw? as name? Any reason not to remove the hostname check? holger From mike.mcternan at wavemobile.com Fri Aug 28 16:16:27 2015 From: mike.mcternan at wavemobile.com (Mike McTernan (wavemobile)) Date: Fri, 28 Aug 2015 16:16:27 +0000 Subject: [PATCH] openbsc: unhardwire MGCP endpoint id In-Reply-To: References: Message-ID: > what about simplifying the code and just checking for the ?@?? That's good. Nice and simple, while ensuring that the numeric portion was at least fully parsed. > Any reason not to remove the hostname check? None that I can think of. Kind Regards, Mike From holger at freyther.de Sat Aug 29 06:07:36 2015 From: holger at freyther.de (Holger Freyther) Date: Sat, 29 Aug 2015 08:07:36 +0200 Subject: [PATCH] openbsc: unhardwire MGCP endpoint id In-Reply-To: References: Message-ID: <7FE87464-FBBA-43A3-A485-3C2A120EBE8F@freyther.de> > On 28 Aug 2015, at 18:16, Mike McTernan (wavemobile) wrote: > > None that I can think of. great, do you have time to prepare a revised patch? holger From diegoferalonso at gmail.com Wed Aug 5 15:42:21 2015 From: diegoferalonso at gmail.com (Diego Fernandez Alonso) Date: Wed, 05 Aug 2015 15:42:21 -0000 Subject: dvnixload error: Entry point not found Message-ID: Hello. I have a problem with my sysmoBTS. When I start the bts I receive a BOOTME message. So after identify in the SysmoBTS Manual the problem like broken UBL, I tried to follow the manual using the dvnixload utility. I installed the binutils-multiarch package and others neccesarys for the execution of the divnixload, but during the proccess I get an error: root at ubun-osmo:/home/osmo-user/Documentos# ./dvnixload -p /dev/ttyUSB0 ubl-sysmobts-v2.elf u-boot-sysmobts-v2.elf dvnixload info: Using cross compiler "" dvnixload info: Expecting messages: [BOOTME] [BOOTPSP] [I_ME] dvnixload info: [BOOTME] received dvnixload error: Entry point not found dvnixload error: Entry point not found Do someone know why I get an "Entry point not found" message and how I can fix it? Thank you so much!! Diego. -------------- next part -------------- An HTML attachment was scrubbed... URL: