Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 108026

Summary: Net rc script won't run for interfaces added by coldplug
Product: Gentoo Linux Reporter: Matt Whitlock <gentoo>
Component: [OLD] baselayoutAssignee: Roy Marples (RETIRED) <uberlord>
Status: RESOLVED INVALID    
Severity: normal CC: gregkh
Priority: High    
Version: 2005.1   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Matt Whitlock 2005-10-03 17:26:31 UTC
# ls /etc/init.d/net.*
lrwxrwxrwx  1 root root     6 Apr 20 09:14 /etc/init.d/net.ath0 -> net.lo*
lrwxrwxrwx  1 root root     6 Sep  9 04:14 /etc/init.d/net.eth0 -> net.lo*
-rwxr-xr-x  1 root root 26960 Sep  9 04:14 /etc/init.d/net.lo*

# rc-update show
               acpid |      default
            bootmisc | boot
             checkfs | boot
           checkroot | boot
               clock | boot
            coldplug | boot
         consolefont | boot
         crypto-loop |
          domainname |
                famd |
              hdparm | boot
            hostname | boot
             hotplug | boot
                 i8k |
             keymaps | boot
              kismet |
                lisa |
               local |      default
          localmount | boot
             metalog |      default
             modules | boot
            net.ath0 |      default
            net.eth0 |      default
              net.lo | boot
            netmount |      default
                nscd |
          ntp-client |      default
                ntpd |
             numlock |
             portmap |
             pwcheck |
             reslisa |
           rmnologin | boot
              rsyncd |
               samba |
           saslauthd |
              serial |
                sshd |      default
            svnserve |
           syndaemon |
             urandom | boot
          vixie-cron |      default
                 xdm |      default


Init output for non-parallel startup:

 * Mounting proc at /proc ...
 * Mounting sysfs at /sys ...
 * Mounting /dev for udev ...
 * Configuring system to use udev ...
 *   Setting /sbin/udevsend as hotplug agent ...
 * Mounting devpts at /dev/pts ...
 * Activating (possible) swap ...
Adding 506036k swap on /dev/hda2.  Priority:-1 extents:1
 * Checking root filesystem ...
Reiserfs super block in block 16 on 0x303 of format 3.6 with standard journal
Blocks (total/free): 7675040/1945328 by 4096 bytes
Filesystem is clean
Filesystem seems mounted read-only. Skipping journal replay.
Checking internal tree..finished
 * Remounting root filesystem read/write ...
 * Setting hostname to matt-notebook ...
 * Checking all filesystems ...
/dev/hda1: clean, 42/10040 files, 4978/40128 blocks
 * Mounting local filesystems ...
 * Mounting USB device filesystem (usbfs) ...
 * Activating (possibly) more swap ...
 * Setting system clock to hardware clock [UTC] ...
 * Mounting tmpfs at /var/lib/init.d ...
 * Caching service dependencies ...
 * Starting hdparm ...
 * Running hdparm on /dev/hda ...
 * Configuring kernel parameters ...
 * Updating environment ...
 * Cleaning /var/lib/net-scripts/state ...
 * Cleaning /var/lock, /var/run ...
 * Cleaning /tmp directory ...
 * Coldplugging input devices ...
 * Coldplugging isapnp devices ...
 * Coldplugging pci devices ...
 * Coldplugging pnp devices ...
 * Coldplugging usb devices ...
 * Loading key mappings ....
 * Setting terminal encoding to UTF-8 ...
 * Setting user font ...
 * Starting lo
 *   Running preup function
 *   Bringing up lo
 *     127.0.0.1/8
 *   Adding routes
 *     127.0.0.1/8
 * Initializing random number generator ...
INIT: Entering runlevel: 3
 * Starting acpid
 * Starting metalog
 * Starting eth0
 *   Running preup function
 *     No link on eth0, aborting configuration
 *     preup eth0 failed
 * Mounting network filesystems ...
 * Setting clock via the NTP client 'ntpdate' ...
 * Starting sshd ...
 * Starting vixie-cron ...
 * Setting up kdm ...
 * Starting local ...


Init output for parallel startup:

 * Mounting proc at /proc ...
 * Mounting sysfs at /sys ...
 * Mounting /dev for udev ...
 * Configuring system to use udev ...
 *   Setting /sbin/udevsend as hotplug agent ...
 * Mounting devpts at /dev/pts ...
 * Activating (possible) swap ...
Adding 506036k swap on /dev/hda2.  Priority:-1 extents:1
 * Checking root filesystem ...
Reiserfs super block in block 16 on 0x303 of format 3.6 with standard journal
Blocks (total/free): 7675040/1945328 by 4096 bytes
Filesystem is clean
Filesystem seems mounted read-only. Skipping journal replay.
Checking internal tree..finished
 * Remounting root filesystem read/write ...
 * Setting hostname to matt-notebook ...
 * Checking all filesystems ...
/dev/hda1: clean, 42/10040 files, 4978/40128 blocks
 * Mounting local filesystems ...
 * Mounting USB device filesystem (usbfs) ...
 * Activating (possibly) more swap ...
 * Setting system clock to hardware clock [UTC] ...
 * Mounting tmpfs at /var/lib/init.d ...
 * Caching service dependencies ...
 * Starting service hdparm
 * Starting service coldplug
 * Starting service keymaps
 * Starting service bootmisc
 * Service hdparm started OK
 * Starting service hotplug
 * Starting service rmnologin
 * Service hotplug started OK
 * Starting service net.lo
 * Starting service consolefont
 * Service keymaps started OK
 * Service rmnologin started OK
 * Starting service urandom
 * Service bootmisc started OK
 * Service urandom started OK
 * Service consolefont started OK
 * Service coldplug started OK
 * Service net.lo started OK
INIT: Entering runlevel: 3
 * Starting service acpid
 * Starting service metalog
 * Service acpid started OK
 * Starting service netmount
 * Service metalog started OK
 * Starting service ntp-client
 * Starting service net.eth0
 * Starting service sshd
 * Starting service vixie-cron
 * Starting service xdm
 * Starting service local
 * Service xdm started OK
 No link on eth0, aborting configuration
 preup eth0 failed
 * FAILED to start service net.eth0!
 * ERROR:  Problem starting needed services.
 *         "netmount" was not started.
 * FAILED to start service netmount!
 * ERROR:  Problem starting needed services.
 *         "ntp-client" was not started.
 * FAILED to start service ntp-client!
 * ERROR:  Problem starting needed services.
 *         "sshd" was not started.
 * FAILED to start service sshd!
 * Service vixie-cron started OK
 * Service local started OK


Notice that neither startup sequence shows anything related to net.ath0.  And 
yet...

# rc-status
Runlevel: default
 xdm                             [ started ]
 ntp-client                      [ stopped ]
 sshd                            [ stopped ]
 acpid                           [ started ]
 local                           [ started ]
 vixie-cron                      [ started ]
 metalog                         [ started ]
 net.ath0                        [ started ]
 net.eth0                        [ stopped ]
 netmount                        [ stopped ]

net.ath0 is started!  When did that happen?  ntp-client, sshd, and netmount all 
failed to start, even though net.ath0 started ok.  What?!

Weird.  Any ideas?
Comment 1 SpanKY gentoo-dev 2005-10-03 17:45:07 UTC
remove hotplug/coldplug and try again
Comment 2 Matt Whitlock 2005-10-03 19:13:58 UTC
I removed coldplug and hotplug from my startup using rc-update.  I added 
ath_pci to my modules.autoload.d since I didn't think it would be inserted 
otherwise.

Now it works:

 * Mounting proc at /proc ...
 * Mounting sysfs at /sys ...
 * Mounting /dev for udev ...
 * Configuring system to use udev ...
 *   Setting /sbin/udevsend as hotplug agent ...
 * Mounting devpts at /dev/pts ...
 * Activating (possible) swap ...
Adding 506036k swap on /dev/hda2.  Priority:-1 extents:1
 * Checking root filesystem ...
Reiserfs super block in block 16 on 0x303 of format 3.6 with standard journal
Blocks (total/free): 7675040/1927520 by 4096 bytes
Filesystem is clean
Filesystem seems mounted read-only. Skipping journal replay.
Checking internal tree..finished
 * Remounting root filesystem read/write ...
 * Setting hostname to matt-notebook ...
 * Using /etc/modules.autoload.d/kernel-2.6 as config:
 *   Loading module ath_pci ...
 * Autoloaded 1 module(s)
 * Checking all filesystems ...
/dev/hda1: clean, 48/10040 files, 7660/40128 blocks
 * Mounting local filesystems ...
 * Mounting USB device filesystem (usbfs) ...
 * Activating (possibly) more swap ...
 * Setting system clock to hardware clock [UTC] ...
 * Mounting tmpfs at /var/lib/init.d ...
 * Caching service dependencies ...
 * Starting service hdparm
 * Service hdparm started OK
 * Starting service keymaps
 * Starting service bootmisc
 * Starting service net.lo
 * Starting service urandom
 * Starting service rmnologin
 * Starting service consolefont
 * Service rmnologin started OK
 * Service urandom started OK
 * Service keymaps started OK
 * Service net.lo started OK
 * Service bootmisc started OK
 * Service consolefont started OK
INIT: Entering runlevel: 3
 * Starting service acpid
 * Starting service metalog
 * Service acpid started OK
 * Starting service net.eth0
 * Starting service ntp-client
 * Service metalog started OK
 * Starting service netmount
 * Starting service vixie-cron
 * Starting service sshd
 * Starting service net.ath0
 * Starting service xdm
 * Starting service local
 * Service xdm started OK
 No link on eth0, aborting configuration
 preup eth0 failed
 * FAILED to start service net.eth0!
 Configuration not set for ath0 - assuming dhcp
 * Service net.ath0 started OK
 * Service netmount started OK
 * Service sshd started OK
 * Service ntp-client started OK
 * Service vixie-cron started OK
 * Service local started OK

I readded hotplug and coldplug to boot, and it still works.

So something funny is happening with net.ath0 when I just have hotplug 
inserting the ath_pci module into the kernel rather than loading it with 
modules.autoload.d.  I'd rather let hotplug do it so it doesn't load if I don't 
have my wireless card inserted, but I will leave it as is for now.  Thanks.
Comment 3 SpanKY gentoo-dev 2005-10-03 19:22:12 UTC
i'm pretty sure you're not supposed to use hotplug
Comment 4 Roy Marples (RETIRED) gentoo-dev 2005-10-05 03:51:50 UTC
Heh - everything is working as it should :)

With your config, I would recommend setting RC_STRICT_NET_CHECKING="lo" in
/etc/conf.d/rc so that all net services come up even when none are actually "up".

Let coldplug load net.ath0 as it should (better than hardcoding it in the
modules.autoload.d).

As spanky said the hotplug init script isn't used anymore (hotplug itself is,
just not the init script as coldplug has replaced it)

Re-open if you disagree