# [Solved] Computer boots too fast

## rkfsm

You wouldn't think it'd be a problem, but it is....

I am installing 64bit Gentoo on an AMD64 arch. My wireless network card has the rt73usb chipset which is supported by the Kernel. rt73usb is compiled into the kernel and not as a module.

My problem is that init starts to boot before all the device drivers are loaded. As a result, the init scripts try to bring up the wireless interface before it exists. As a result, my network services don't start and I have to start them manually.

Is there anyone out there who knows a way to stop the init process long enough for all the hardware to be loaded???

RKLast edited by rkfsm on Fri Apr 17, 2009 3:25 pm; edited 1 time in total

----------

## NeddySeagoon

rkfsm,

What runlevel is your net.wlan0 in ?

The startup order is taken care of by the runlevel and the service interdependancies.

Are you using the parallel startup ?

Thats known to be broken for some combinations of devices

----------

## rkfsm

I am not using parallel startup and it is under the hotplugd runlevel...

```
Runlevel: default

 pciparm                                                           [  started  ]

 net.wlan0                                                         [  started  ]

 syslog-ng                                                         [  started  ]

 named                                                             [  started  ]

 netmount                                                          [  started  ]

 acpid                                                             [  started  ]

 hald                                                              [  started  ]

 gpm                                                               [  started  ]

 alsasound                                                         [  started  ]

 cupsd                                                             [  started  ]

 numlock                                                           [  started  ]

 sshd                                                              [  started  ]

 vixie-cron                                                        [  started  ]

 local                                                             [  started  ]

Runlevel: hotplugged

 net.wlan0                                                         [  started  ]

 udev-postmount                                                    [  started  ]

Runlevel: needed

 udev-mount                                                        [  started  ]

 sysfs                                                             [  started  ]

 dbus                                                              [  started  ]

Runlevel: manual

 udev-postmount                                                    [  started  ]
```

----------

## NeddySeagoon

rkfsm,

Try net.wlan0 in the default runlevel.

hotplugging will still start it when you plug it in

I don't have a hotplug runlevel or if I do, its empty.

----------

## Tekeli Li

How is it even possible for kernel to start init before it loaded all the required drivers, especially if the drivers are compiled in, and there is no parallel startup going on?

----------

## synss

 *rkfsm wrote:*   

> rt73usb is compiled into the kernel and not as a module.

 

Then the driver is there from the beginning. Your problem sounds more like an udev problem. Although I am only guessing. To answer directly your question (but this is a hack and not a proper solution) you can add a delay with the command sleep(1) in any shell script. You may try to add sleep 5 in a pre-up section in net.wlan0.

----------

## Hu

Some devices are a bit slow to initialize.  The kernel drivers may be loaded and probing, but it could still take some seconds before the device has initialized far enough for the driver to make it visible as an interface.  Some USB keyboards are particularly bad about completing initialization after userland is running.

----------

## toralf

What's about setting RC_PLUG_SERVICES within /etc/conf.d/rc to "!*" ?

----------

## cwr

Try tinkering with /etc/conf.d/rc RC_NET_STRICT_CHECKING.  That may help

you to get the dependencies in order.

Will

----------

## rkfsm

Putting a sleep 15s command in the preup function of /etc/conf.d/net seems to do the trick.

```
preup() {

if [[ ${IFACE} == "wlan0" ]]; then

        sleep 15s

fi

return 0

}

```

----------

