This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/baseband-devel@lists.osmocom.org/.
Вадим Яницкий axilirator at gmail.comPrevious patch did not fixed one more bug: old code reads GPSD port with a colon. I have fixed it. Final patch version: diff --git a/src/host/layer23/include/osmocom/bb/common/sap_interface.h b/src/host/layer23/include/osmocom/bb/common/sap_interface.h index bf19356..e4e64ce 100644 --- a/src/host/layer23/include/osmocom/bb/common/sap_interface.h +++ b/src/host/layer23/include/osmocom/bb/common/sap_interface.h @@ -11,6 +11,7 @@ int osmosap_sapsocket(struct osmocom_ms *ms, const char *path); int osmosap_init(struct osmocom_ms *ms); enum osmosap_state { + SAP_SOCKET_ERROR, SAP_NOT_CONNECTED, SAP_IDLE, SAP_CONNECTION_UNDER_NEGOTIATION, diff --git a/src/host/layer23/src/common/sap_interface.c b/src/host/layer23/src/common/sap_interface.c index a56f4f2..33bfa6c 100644 --- a/src/host/layer23/src/common/sap_interface.c +++ b/src/host/layer23/src/common/sap_interface.c @@ -515,7 +515,8 @@ int sap_open(struct osmocom_ms *ms, const char *socket_path) rc = connect(ms->sap_wq.bfd.fd, (struct sockaddr *) &local, sizeof(local)); if (rc < 0) { fprintf(stderr, "Failed to connect to '%s'\n", local.sun_path); - set->sap_socket_path[0] = 0; + // set->sap_socket_path[0] = 0; + ms->sap_entity.sap_state == SAP_SOCKET_ERROR; close(ms->sap_wq.bfd.fd); return rc; } diff --git a/src/host/layer23/src/common/sim.c b/src/host/layer23/src/common/sim.c index 8e8d7bf..df9fbd2 100644 --- a/src/host/layer23/src/common/sim.c +++ b/src/host/layer23/src/common/sim.c @@ -188,7 +188,7 @@ static int sim_apdu_send(struct osmocom_ms *ms, uint8_t *data, uint16_t length) /* adding SAP client support * it makes more sense to do it here then in L1CTL */ - if(ms->settings.sap_socket_path[0] == 0) { + if(ms->sap_entity.sap_state == SAP_SOCKET_ERROR) { LOGP(DSIM, LOGL_INFO, "Using built-in SIM reader\n"); l1ctl_tx_sim_req(ms, data, length); } else { diff --git a/src/host/layer23/src/mobile/vty_interface.c b/src/host/layer23/src/mobile/vty_interface.c index 5782a17..fd0fd0c 100644 --- a/src/host/layer23/src/mobile/vty_interface.c +++ b/src/host/layer23/src/mobile/vty_interface.c @@ -1067,7 +1067,7 @@ DEFUN(cfg_no_gps_enable, cfg_no_gps_enable_cmd, "no gps enable", } #ifdef _HAVE_GPSD -DEFUN(cfg_gps_host, cfg_gps_host_cmd, "gps host HOST:PORT", +DEFUN(cfg_gpsd_host, cfg_gpsd_host_cmd, "gpsd host HOST:PORT", "GPS receiver\nSelect gpsd host and port\n" "IP and port (optional) of the host running gpsd") { @@ -1075,7 +1075,7 @@ DEFUN(cfg_gps_host, cfg_gps_host_cmd, "gps host HOST:PORT", if (colon != NULL) { memcpy(g.gpsd_host, argv[0], colon - argv[0] - 1); g.gpsd_host[colon - argv[0]] = '\0'; - memcpy(g.gpsd_port, colon, strlen(colon)); + memcpy(g.gpsd_port, colon + 1, strlen(colon)); g.gpsd_port[strlen(colon)] = '\0'; } else { snprintf(g.gpsd_host, ARRAY_SIZE(g.gpsd_host), "%s", argv[0]); @@ -1499,8 +1499,7 @@ static int config_write(struct vty *vty) struct osmocom_ms *ms; #ifdef _HAVE_GPSD - vty_out(vty, "gpsd host %s%s", g.gpsd_host, VTY_NEWLINE); - vty_out(vty, "gpsd port %s%s", g.gpsd_port, VTY_NEWLINE); + vty_out(vty, "gpsd host %s:%s%s", g.gpsd_host, g.gpsd_port, VTY_NEWLINE); #endif vty_out(vty, "gps device %s%s", g.device, VTY_NEWLINE); if (g.baud) @@ -2822,7 +2821,7 @@ int ms_vty_init(void) install_element(ENABLE_NODE, &delete_forbidden_plmn_cmd); #ifdef _HAVE_GPSD - install_element(CONFIG_NODE, &cfg_gps_host_cmd); + install_element(CONFIG_NODE, &cfg_gpsd_host_cmd); #endif install_element(CONFIG_NODE, &cfg_gps_device_cmd); install_element(CONFIG_NODE, &cfg_gps_baud_cmd); 2016-01-01 22:35 GMT+06:00 Вадим Яницкий <axilirator at gmail.com>: > Happy New Year to all lists members! > > This patch fixes two bugs in mobile app: > 1) If SAP connection fails mobile app does not save the sap-socket param > in mobile.cfg. > 2) The write command saves two unreadable strings: > gpsd host HOST > gpsd port PORT > > instead of: > gpsd host HOST:PORT > > Patch source: > diff --git a/src/host/layer23/include/osmocom/bb/common/sap_interface.h > b/src/host/layer23/include/osmocom/bb/common/sap_interface.h > index bf19356..e4e64ce 100644 > --- a/src/host/layer23/include/osmocom/bb/common/sap_interface.h > +++ b/src/host/layer23/include/osmocom/bb/common/sap_interface.h > @@ -11,6 +11,7 @@ int osmosap_sapsocket(struct osmocom_ms *ms, const char > *path); > int osmosap_init(struct osmocom_ms *ms); > > enum osmosap_state { > + SAP_SOCKET_ERROR, > SAP_NOT_CONNECTED, > SAP_IDLE, > SAP_CONNECTION_UNDER_NEGOTIATION, > diff --git a/src/host/layer23/src/common/sap_interface.c > b/src/host/layer23/src/common/sap_interface.c > index a56f4f2..33bfa6c 100644 > --- a/src/host/layer23/src/common/sap_interface.c > +++ b/src/host/layer23/src/common/sap_interface.c > @@ -515,7 +515,8 @@ int sap_open(struct osmocom_ms *ms, const char > *socket_path) > rc = connect(ms->sap_wq.bfd.fd, (struct sockaddr *) &local, > sizeof(local)); > if (rc < 0) { > fprintf(stderr, "Failed to connect to '%s'\n", local.sun_path); > - set->sap_socket_path[0] = 0; > + // set->sap_socket_path[0] = 0; > + ms->sap_entity.sap_state == SAP_SOCKET_ERROR; > close(ms->sap_wq.bfd.fd); > return rc; > } > diff --git a/src/host/layer23/src/common/sim.c > b/src/host/layer23/src/common/sim.c > index 8e8d7bf..df9fbd2 100644 > --- a/src/host/layer23/src/common/sim.c > +++ b/src/host/layer23/src/common/sim.c > @@ -188,7 +188,7 @@ static int sim_apdu_send(struct osmocom_ms *ms, > uint8_t *data, uint16_t length) > > /* adding SAP client support > * it makes more sense to do it here then in L1CTL */ > - if(ms->settings.sap_socket_path[0] == 0) { > + if(ms->sap_entity.sap_state == SAP_SOCKET_ERROR) { > LOGP(DSIM, LOGL_INFO, "Using built-in SIM reader\n"); > l1ctl_tx_sim_req(ms, data, length); > } else { > diff --git a/src/host/layer23/src/mobile/vty_interface.c > b/src/host/layer23/src/mobile/vty_interface.c > index 5782a17..9ac2221 100644 > --- a/src/host/layer23/src/mobile/vty_interface.c > +++ b/src/host/layer23/src/mobile/vty_interface.c > @@ -1067,7 +1067,7 @@ DEFUN(cfg_no_gps_enable, cfg_no_gps_enable_cmd, "no > gps enable", > } > > #ifdef _HAVE_GPSD > -DEFUN(cfg_gps_host, cfg_gps_host_cmd, "gps host HOST:PORT", > +DEFUN(cfg_gps_host, cfg_gps_host_cmd, "gpsd host HOST:PORT", > "GPS receiver\nSelect gpsd host and port\n" > "IP and port (optional) of the host running gpsd") > { > @@ -1499,8 +1499,7 @@ static int config_write(struct vty *vty) > struct osmocom_ms *ms; > > #ifdef _HAVE_GPSD > - vty_out(vty, "gpsd host %s%s", g.gpsd_host, VTY_NEWLINE); > - vty_out(vty, "gpsd port %s%s", g.gpsd_port, VTY_NEWLINE); > + vty_out(vty, "gpsd host %s:%s%s", g.gpsd_host, g.gpsd_port, > VTY_NEWLINE); > #endif > vty_out(vty, "gps device %s%s", g.device, VTY_NEWLINE); > if (g.baud) > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/baseband-devel/attachments/20160103/42ddf7e2/attachment.htm>