[blfs-support] Persistent device names problem

pete peatches at blueyonder.co.uk
Tue Nov 6 05:46:43 PST 2012

On 04/11/12 03:21, Bruce Dubbs wrote:
> pete wrote:
>>    >> forcedeth 0000:00:07.0: ifname eth0, PHY OUI 0x50ef @ 0, addr
>>    >> 00:22:68:72:e6:a1
>>    >> forcedeth 0000:00:07.0: highdma pwrctl mgmt lnktim msi desc-v3
>>    >> cdc_ether 2-7:1.1: eth1: register 'cdc_ether' at usb-0000:00:02.0-7, CDC
>>    >> Ethernet Device, 00:40:7b:71:9b:f3
>>    > What is the output of lspci|grep Ethernet
>> The output of lspci|grep Ethernet:
>> 00:07.0 Bridge: NVIDIA Corporation MCP61 Ethernet (rev a2)
> This doesn't look right.  The only thing you have is a bridge?  You
> should have two ethernet cards.
>>    > Also what are the contents of /etc/udev/rules.d/70-persistent-net.rules?
>> The contents of 70-persistent-net.rules is:
>> # This file was automatically generated by the /lib/udev/write_net_rules
>> # program, run by the persistent-net-generator.rules rules file.
>> #
>> # You can modify it, as long as you keep each rule on a single
>> # line, and change only the value of the NAME= key.
>> # net device module
>> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
>> ATTR{address}=="00:40:7b:71:9b:f3", ATTR{dev_id}=="0x0",
>> ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
>> # net device module
>> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
>> ATTR{address}=="00:22:68:72:e6:a1", ATTR{dev_id}=="0x0",
>> ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
> This looks OK.
>> Provided that the interfaces are recognised correctly at boot up, they
>> both configure OK (etho via dhcpcd and eth1 via ipv4).
>> There is no hotplugging available (as yet). When an interface is connected
>> (except at boot up) it must be manually configured using "ifup ethx".
> No, our scripts don't support hotplugging either.  There would have to
> be some way to call ifup automatically.
>> This hardware setup has worked well for many years on various versions of
>> LFS/BLFS builds (up to LFS-7.0), it is only on this latest version (LFS-7.2)
>> that I have had problems.
>> If there have not been any significant changes to the software since
>> LFS-7.0, maybe I should try a rebuild.
> I wouldn't think reinstalling the whole thing would be needed.  You
> could try installing an older version of udev, say version 173, using
> the LFS -7.0 instructions.
> Another thing to try is to temporarily disable the udev and udev_retry
> scripts and reboot.  Then run '/lib/udev/udevd --debug' followed by
> '/sbin/udevadm trigger --action=add --type=subsystems' and see what is
> printed to stderr.
>     -- Bruce
Bruce, thanks for the suggestions.

I copied a tarball of LFS-7.2 to a spare partition, uninstalled
udev-188 and then installed udev-173 as you suggested.
I also needed to install various bootscripts from LFS-7.0, but
eventally I could boot up the new build.

The interfaces eth0 and eth1 were both configured correctly.
So the problem appears to be with udev-188.

I returned to debugging the original LFS-7.2 build with udev-188.

I decided to change the "NAME" sections in 70-persistent-net.rules
     NAME="eth0" and NAME="eth1"
     NAME="eth2" and NAME="eth3"
to more easily see the effects of any changes I was about to make.

To my surprise, when I rebooted, both interfaces were recognised
and 70-persistent-net.rules was always run as required.

I created ifconfig.eth2 and ifconfig.eth3, rebooted and both interfaces
were configured correctly.

I have tried using several different interface numbers in
70-persistent-net.rules and they all work OK. But for some reason it
does not like the numbers 0 and 1.

This is a workaround I can live with, but it would be interesting
to find out the cause of the problem.

Thanks again for your help.

-- pete

More information about the blfs-support mailing list