Re: network unrachable problem [SOLVED]
On 06/04/13 16:25, Bob Proulx wrote:
> Tony van der Hoff wrote:
>> Certainly, with eth0 unplugged, ifconfig shows it to be still up, and ip
>> route show shows both interfaces, so that's very likely the cause.
>
> Sounds like the problem. Because I am pretty sure that ifplugd has
> been given the responsibility to monitor the link status and to bring
> the interface up and down appropriately. If that isn't working then
> these kinds of problems will arise.
>
> A couple of hints that may help. It is okay to have multiple default
> routes. They are used in priority order. If you have two interfaces
> and both are using dhcp then both will get a default route. (Normally
> when configuring static interfaces only one is assigned a default
> route.) The last one configured will be the default route used. When
> an interface is downed a default route associated with it will be
> removed from the route table. Being removed the next available
> default route would then become active.
>
> The Linux kernel changed the display order for routes. In Squeeze the
> Linux kernel displays the order is the traditional order with the
> priority display listing from top to bottom and the first matching
> route wins. In Wheezy the Linux kernel reverses this display order
> and it is from bottom to top instead of top to bottom. I consider
> this a bug although I am sure someone did it intentionally. The
> difference between kernel versions is definitely annoying.
>
>> However, ifplugd is running, as shown by ps; an instance for each
>> interface. My /etc/default/ifplugd is identical to yours.
>
> I should say that on my only Pi system at the moment I have been
> hacking on it severely. I have been playing with the bonding
> interface and so poking around in this area. I have deviated from
> the-stock-install quite a few places in the process during my
> experiments. So I probably no longer have a good match to what you
> see on your system. So the works-for-me statement about this may be
> due to my modifications. Sorry. I am going to be setting up a
> pristine Pi here in a day or so and that will give me an opportunity
> to recreate the stock setup. I am sure I will run into your problem
> there.
>
>> If I manually pull down eth0, and then restore the cable, then it comes
>> up automatically.
>>
>> Digging around in /etc/udev, I find it is practically empty; is udev
>> still the way devices are detected?
>
> Yes. And I also noticed but had not investigated yet that
> 70-persistent-net.rules isn't being created. But I was thinking it
> was probably something broken on my system. But it could be an early
> init script that is actively removing or avoiding it due to the way
> the Pi is designed to be used. This is causing me problems due to my
> Pi having three network interfaces but I assumed it was something I
> caused on my system. But I guess not.
>
Well, From reading the man pages (always a good idea) I discovered that
ifplugd calls ifup/ifdown to do its actual work.
Manually invoking "ifdown eth0" returned an error "eth0 not configured",
so I guessed that is why ifplugd was not doing its job properly.
Further reading revealed that the stanza "auto eth0" is required in
/etc/network/interfaces for the kernel to be able to autoconfigure the
interface. That stanza was missing. I instated it, and re-booted.
It is now working correctly.
I dont know whether my hackery caused the problem, or whether the
interfaces file was missing it from the start; if it was, I'd consider
it a bug. But then would it be a raspian, or a wheezy bug?
--
Tony van der Hoff | mailto:tony@vanderhoff.org
Buckinghamshire, England |
Reply to: