Fix: F3607gw not being recognized properly

Reports <foo> Broadband <foo> instead of <foo> Broadband Minicard <foo>

F3607gw Mobile Broadband Data Modem
F3607gw Mobile Broadband Modem
F3607gw Mobile Broadband GPS Port
F3607gw Mobile Broadband Network Adapter
F3607gw Mobile Broadband Device Management
F3607gw Mobile Broadband USIM Port
This commit is contained in:
Denis Kenzior 2009-09-28 12:50:39 -05:00
parent 274cd012c4
commit 2fb723c658
1 changed files with 12 additions and 11 deletions

View File

@ -94,32 +94,33 @@ static const char *get_driver(struct udev_device *udev_device)
static void add_mbm(struct ofono_modem *modem, static void add_mbm(struct ofono_modem *modem,
struct udev_device *udev_device) struct udev_device *udev_device)
{ {
const char *description, *devnode; const char *desc, *devnode;
const char *device, *network; const char *device, *network;
int registered; int registered;
description = udev_device_get_sysattr_value(udev_device, desc = udev_device_get_sysattr_value(udev_device, "device/interface");
"device/interface");
if (description == NULL) if (desc == NULL)
return; return;
registered = ofono_modem_get_integer(modem, "Registered"); registered = ofono_modem_get_integer(modem, "Registered");
if (registered != 0) if (registered != 0)
return; return;
if (g_str_has_suffix(description, "Minicard Modem") == TRUE) { if (g_str_has_suffix(desc, "Minicard Modem") ||
g_str_has_suffix(desc, "Broadband Modem")) {
devnode = udev_device_get_devnode(udev_device); devnode = udev_device_get_devnode(udev_device);
ofono_modem_set_string(modem, MODEM_DEVICE, devnode); ofono_modem_set_string(modem, MODEM_DEVICE, devnode);
} else if (g_str_has_suffix(description, } else if (g_str_has_suffix(desc, "Minicard Data Modem") ||
"Minicard Data Modem") == TRUE) { g_str_has_suffix(desc, "Broadband Data Modem")) {
devnode = udev_device_get_devnode(udev_device); devnode = udev_device_get_devnode(udev_device);
ofono_modem_set_string(modem, DATA_DEVICE, devnode); ofono_modem_set_string(modem, DATA_DEVICE, devnode);
} else if (g_str_has_suffix(description, } else if (g_str_has_suffix(desc, "Minicard GPS Port") ||
"Minicard GPS Port") == TRUE) { g_str_has_suffix(desc, "Broadband GPS Port")) {
devnode = udev_device_get_devnode(udev_device); devnode = udev_device_get_devnode(udev_device);
ofono_modem_set_string(modem, GPS_DEVICE, devnode); ofono_modem_set_string(modem, GPS_DEVICE, devnode);
} else if (g_str_has_suffix(description, } else if (g_str_has_suffix(desc, "Minicard Network Adapter") ||
"Minicard Network Adapter") == TRUE) { g_str_has_suffix(desc, "Broadband Network Adapter")) {
devnode = udev_device_get_property_value(udev_device, devnode = udev_device_get_property_value(udev_device,
"INTERFACE"); "INTERFACE");
ofono_modem_set_string(modem, NETWORK_INTERFACE, devnode); ofono_modem_set_string(modem, NETWORK_INTERFACE, devnode);