mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-07-22 02:35:25 +00:00
2008-05-28 Tambet Ingo <tambet@gmail.com>
Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>. * src/nm-gsm-device.c: Don't try to reset the modem before PIN is checked, it doesn't work on some devices. git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3696 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
parent
eb18d37516
commit
622a3e3880
|
@ -1,3 +1,10 @@
|
|||
2008-05-28 Tambet Ingo <tambet@gmail.com>
|
||||
|
||||
Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
|
||||
|
||||
* src/nm-gsm-device.c: Don't try to reset the modem before PIN is
|
||||
checked, it doesn't work on some devices.
|
||||
|
||||
2008-05-28 Tambet Ingo <tambet@gmail.com>
|
||||
|
||||
* src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure
|
||||
|
|
|
@ -310,6 +310,49 @@ do_register (NMSerialDevice *device)
|
|||
automatic_registration (device);
|
||||
}
|
||||
|
||||
static void
|
||||
init_full_done (NMSerialDevice *device,
|
||||
int reply_index,
|
||||
gpointer user_data)
|
||||
{
|
||||
gsm_device_set_pending (NM_GSM_DEVICE (device), 0);
|
||||
|
||||
switch (reply_index) {
|
||||
case 0:
|
||||
do_register (device);
|
||||
break;
|
||||
case -1:
|
||||
nm_warning ("Modem second stage initialization timed out");
|
||||
nm_device_state_changed (NM_DEVICE (device), NM_DEVICE_STATE_FAILED);
|
||||
break;
|
||||
default:
|
||||
nm_warning ("Modem second stage initialization failed");
|
||||
nm_device_state_changed (NM_DEVICE (device), NM_DEVICE_STATE_FAILED);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
init_modem_full (NMSerialDevice *device)
|
||||
{
|
||||
guint id;
|
||||
char *responses[] = { "OK", "ERROR", "ERR", NULL };
|
||||
|
||||
/* At this point we know that SIM has been unlocked, and we can safely
|
||||
* initialize the modem
|
||||
*/
|
||||
if (!nm_serial_device_send_command_string (device, "ATZ")) {
|
||||
nm_device_state_changed (NM_DEVICE (device), NM_DEVICE_STATE_FAILED);
|
||||
return;
|
||||
}
|
||||
|
||||
id = nm_serial_device_wait_for_reply (device, 10, responses, responses, init_full_done, NULL);
|
||||
if (id)
|
||||
gsm_device_set_pending (NM_GSM_DEVICE (device), id);
|
||||
else
|
||||
nm_device_state_changed (NM_DEVICE (device), NM_DEVICE_STATE_FAILED);
|
||||
}
|
||||
|
||||
static void
|
||||
enter_pin_done (NMSerialDevice *device,
|
||||
int reply_index,
|
||||
|
@ -318,10 +361,9 @@ enter_pin_done (NMSerialDevice *device,
|
|||
NMSettingGsm *setting;
|
||||
|
||||
gsm_device_set_pending (NM_GSM_DEVICE (device), 0);
|
||||
|
||||
switch (reply_index) {
|
||||
case 0:
|
||||
do_register (device);
|
||||
init_modem_full (device);
|
||||
break;
|
||||
case -1:
|
||||
nm_warning ("Did not receive response for secret");
|
||||
|
@ -484,7 +526,6 @@ init_modem (NMSerialDevice *device, gpointer user_data)
|
|||
{
|
||||
guint id;
|
||||
char *responses[] = { "OK", "ERROR", "ERR", NULL };
|
||||
|
||||
if (!nm_serial_device_send_command_string (device, "ATZ E0")) {
|
||||
nm_device_state_changed (NM_DEVICE (device), NM_DEVICE_STATE_FAILED);
|
||||
return;
|
||||
|
|
Loading…
Reference in a new issue