Re: Re-scanning for available devices/connections after failure

On Thu, 2010-07-15 at 09:45 -0400, Daenyth Blank wrote:
> On Wed, Jul 14, 2010 at 20:58, Dan Williams <dcbw redhat com> wrote:
> > So here's the thing; we don't actually have good enough logic to retry
> > connections when they fail, because for the longest time we didn't have
> > enough information about *why* connections failed to determine whether
> > it was sensible to retry them.
> >
> > Basically, regardless of the 'autoconnect' property, we want NM to
> > attempt reconnection if the connection that just got disconnected was
> > successfully connected when the disconnection happened.  But we also
> > probably want a 'reconnect' counter so that we don't keep retrying the
> > connection indefinitely.  Ideally this ties into each device's state so
> > that if the 3G card is no longer registered to the network (you drove
> > out of range, etc) that we don't try reconnection, but whatever.
> >
> > This likely means modification of nm-policy.c's 'invalid' bit to *not*
> > set it for 3G connections that failed but were connected before.
> >
> > Dan
> >
> Hi Dan,
> Thanks for the info. What I've seen though is that it marks the device
> as not present, and on some boots it doesn't get recognized at all (no
> mention of it in the nm logs whatsoever). When I check the devices
> using dbus, it's not there. Any idea on what could cause this or how I
> could work around it?

For 3G devices this could be a number of things.  If the device simply
isn't seen by NM, that means that ModemManager didn't successfully probe
the device.  So we need to look for it there.

If this happens when the device disconnects, it could be that the
device's firmware is crashing and its dropping off the USB bus.  That's
odd and indicates firmware problems, some of which we can work around in
ModemManager.  Other times the device is just screwed and needs a
firmware update.  If the device isn't recognized at *boot* time, that
could indicate either kernel problems, device problems, or possibly udev

When the device isn't found, lets get some 'dmesg' output from the
kernel to see if the device is actually getting loaded correctly.  Also
see if the device's ports are present in /dev/.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]