[ltp] Please help me pick out my next thinkpad

Marius Gedminas linux-thinkpad@linux-thinkpad.org
Fri, 13 Jun 2008 00:41:16 +0300

Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Jun 12, 2008 at 10:08:14AM -0700, John Jason Jordan wrote:
> On Thu, 12 Jun 2008 13:51:39 +0300
> Marius Gedminas <mgedmin@b4net.lt> dijo:
> > On Wed, Jun 11, 2008 at 10:44:23PM -0700, John Jason Jordan wrote:
> > > Ever since my upgrade from Gutsy x86_64 to Hardy x86_64 I have been
> > > using the 4965. Previously I used a Netgear PCMCIA card because of
> > > problems with the 4965.
> > >=20
> > > The situation is now tolerable, but I still get random disconnects, or
> > > sometimes I remain connected but lose my DHCP lease. For example,
> > > sitting in the library at the university almost directly under an
> > > access point, wicd shows 95%, I connect without problem. I access the
> > > library catalog, find what I want, and then go to writing a text
> > > document. Fifteen minutes later I need to access the library catalog
> > > again and discover that I have been disconnected, or that I am still
> > > connected but my DHCP lease is gone.
> >=20
> > That sounds like you either
> >=20
> >   (A) have two DHCP daemons running in parallel
> >=20
> > or
> >=20
> >   (B) have a buggy Network Manager that doesn't understand you successf=
> >       acquired a DHCP lease.
> >=20
> > I suffered from condition (A) a while back.  IIUC it was the combinatio=
n of
> > Ubuntu/Debian's network configuration scripts interpreting my "please
> > bring up eth1 automatically" config in /etc/network/interfaces by "hey,
> > let's run dhclient3 on it" while at the same time network-manager
> > interpreted the same configuration as "hey, let me run *my* dhcp client
> > on it".  Every 10 minutes or so one of the DHCP clients would drop all
> > existing IP addresses from the interface and start requesting new ones.
> I doubt that it is network manager, because it is not installed. It was
> uninstalled automatically when I installed wicd. Yet the problem
> continues.

I should've realized that when you said the connection drops after 10
minutes rather than 60 seconds.

> However, your first point (A) strikes a chord. At home my house is
> wired for gigabit ethernet, so I have no wireless at all. When I get
> home I put the T61 in its mini-dock and the network is "just there."=20
> So how do I find out if I have two DHCP daemons running in parallel? I
> suppose I'd have to be at the university or somewhere connected via
> wireless to see, since I am sure the wireless is not running at home
> (never get disconnected at home). Is there a command line tool I can
> use to see if I have two daemons running? (Note that I am a dummy about
> such things.)

The good thing about network-manager, is that when it works, it works --
and it makes you forget how to debug these kinds of problems at the
lower levels.

One way to see if you've several dhclients is to look at the output of

  $ pstree | grep dhc

here I have only one, controlled by some magic dhcdbd daemon ("wowels
are a precious natural resource and must be conserved at all costs")
that collaborates with network-manager.

One command that I used to use a lot when I needed the Internet to start

  sudo killall dhclient dhclient3

followed by manually reconnecting (sudo ifup eth1 --force; or clicking
on network-manager, or whatever method you use -- I've no idea what wicd

Ah, before you do this, you should realize that this is the "use a
bigger hammer" approach that may have its own downsides.  For example,
it may be that it's the dhclient running on eth0 that allows you to just
plug in the laptop into a docking station and have wired network
suddenly working.  If you kill it, the next time you may have to bring
the wired connection manually.

A little digression follows, that you may freely skip (and probably
should, as it might cause more confusion than usefulness).

Now that you mention using both wired and wireless networks at the same
time, I seem to remember (I wish I had written this stuff now, but it's
hard to be disciplined when you need Internet NOW!) that sometimes the
problem was caused by a dhclient on the disconnected eth0 suddenly
deciding that it might be a great idea to add a new default route via
eth0 with some half-remembered IP address I last used a month ago.

Two default routes don't exactly work, and I've *no* idea how dhclient
managed it, because "sudo route add default" never let *me* add more
than one default route.

Anyway, I'm rambling.  If you've the time and the knowledge, you could
check whether this was the case by running

  $ ip route

and seeing if you have two default routes, say

  default via dev eth1=20
  default via dev eth0  scope link  metric 1000=20

and then deleting the offending one with

  $ sudo ip route del default via eth0

That won't help if the problem is that the correct default route via
eth1 was dropped or replaced, in which case the big hammer or "kill all
dhclients and reconnect" should work.

I'm afraid I'm not very coherent this evening.  I know I should delete
this email and try again, but I love my words too much to do that :(

Marius Gedminas
<AdamV> SamB: PHP's basic control structure is the "database=20
        timeout error".                       -- from Twisted.Quotes

Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

Version: GnuPG v1.4.6 (GNU/Linux)