udev: fix quectelqmi gps interface

Using location-reporting requires both the 'aux' and 'gps' interfaces;
the GPS interface is interface 1, not 2.
This commit is contained in:
Jonas Bonn 2017-09-08 04:40:39 +02:00 committed by Denis Kenzior
parent 0f2d1278c4
commit 1f5aa70b53
1 changed files with 9 additions and 2 deletions

View File

@ -876,7 +876,7 @@ static gboolean setup_quectel(struct modem_info *modem)
static gboolean setup_quectelqmi(struct modem_info *modem)
{
const char *qmi = NULL, *net = NULL, *gps = NULL;
const char *qmi = NULL, *net = NULL, *gps = NULL, *aux = NULL;
GSList *list;
DBG("%s", modem->syspath);
@ -894,8 +894,11 @@ static gboolean setup_quectelqmi(struct modem_info *modem)
else if (g_strcmp0(info->subsystem, "usbmisc") == 0)
qmi = info->devnode;
} else if (g_strcmp0(info->interface, "255/0/0") == 0 &&
g_strcmp0(info->number, "02") == 0) {
g_strcmp0(info->number, "01") == 0) {
gps = info->devnode;
} else if (g_strcmp0(info->interface, "255/0/0") == 0 &&
g_strcmp0(info->number, "02") == 0) {
aux = info->devnode;
}
}
@ -909,8 +912,12 @@ static gboolean setup_quectelqmi(struct modem_info *modem)
ofono_modem_set_string(modem->modem, "Device", qmi);
ofono_modem_set_string(modem->modem, "NetworkInterface", net);
DBG("gps=%s aux=%s", gps, aux);
if (gps)
ofono_modem_set_string(modem->modem, "GPS", gps);
if (aux)
ofono_modem_set_string(modem->modem, "Aux", aux);
ofono_modem_set_driver(modem->modem, "gobi");