Hotplug Installation Aborted

Just put a server together:

MOBO:        SOYO P4-RC350 (on board video, LAN and sound)
CPU:           Intel Celeron D 2.24 GHz
RAM:          256 Mb

Installed Slackware 10.0 kernel 2.4.26. Got Samba working with file and printer sharing.
Anomaly in the install: when I had to get the network working on the MOBO, SOYO supplied a driver which I had to compile and do an insmod. They gave specific instructions. I got the network woring and I noticed the hotplug section, during boot, does not seem to load (it says Aborted). Anyway, I continued on since I was not going to use USB, yet.

I will have to use the USB at some point, so I am looking for any help in order to get this working. SOYO does not have any information on USB drivers in the Linux environment.

Any help is appreciated.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

>  I had to compile and do an insmod
What did you do with "insmod"? Can you provide the command you run with "insmod"?

> during boot, does not seem to load (it says Aborted)
Could you provide the error message (in /var/log/messages  or "dmesg | grep -i err")?

The more details the faster the solution be found.

rathodrAuthor Commented:
The insmod command issued:

insmod velocityget

where velocityget is an object file I copied to the /lib/modules/2.4.26/kernel/drivers/net directory.

During boot, I get messages that go by really fast, but here is what I can make out during bootup:
/etc/hotplug/pci.agent   line xxx:  Aborted    $MODPROBE .....

The /var/log/messages files does not show any errors. There are several times it detectes the USB hub and the 6 ports. It seems to visit the USB a few times.

The dmesg command yields 4 places where "err" shows up. The lines are as follows:
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2

The first is a fluke (I think). The other lines indicate I have a scsi_hostadapter. I don't have any scsi in this machine. Is it possible it is confusing the USB with the scsi?


   You might want to add
alias eth0 velocityget
into /etc/modles.conf

Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

rathodrAuthor Commented:
Getting closer. I found the line in

Checking the file: /etc/rc.d/rc.hotplug, I noticed all it does is issue commands to run based on input. So, I decided to run these commands manually.

When I run:
/etc/hotplug/input.rc start   no errors
/etc/hotplug/pci.rc start      errors (see below)
/etc/hotplug/usb.rc start     no errors

pci.rc runs pci.agent. The errors I get manually are the same ones I see during boot-up:

/etc/hotplug/pci.agent: line 168:  2133 Aborted                 $MODPROBE -n $MODULE >/dev/null 2>&1
/etc/hotplug/pci.agent: line 168:  2173 Aborted                 $MODPROBE -n $MODULE >/dev/null 2>&1
/etc/hotplug/pci.agent: line 168:  2213 Aborted                 $MODPROBE -n $MODULE >/dev/null 2>&1
/etc/hotplug/pci.agent: line 168:  2253 Aborted                 $MODPROBE -n $MODULE >/dev/null 2>&1
/etc/hotplug/pci.agent: line 168:  2293 Aborted                 $MODPROBE -n $MODULE >/dev/null 2>&1
/etc/hotplug/pci.agent: line 168:  2333 Aborted                 $MODPROBE -n $MODULE >/dev/null 2>&1
/etc/hotplug/pci.agent: line 168:  2373 Aborted                 $MODPROBE -n $MODULE >/dev/null 2>&1
/etc/hotplug/pci.agent: line 168:  2413 Aborted                 $MODPROBE -n $MODULE >/dev/null 2>&1
/etc/hotplug/pci.agent: line 168:  2453 Aborted                 $MODPROBE -n $MODULE >/dev/null 2>&1
/etc/hotplug/pci.agent: line 168:  2493 Aborted                 $MODPROBE -n $MODULE >/dev/null 2>&1
/etc/hotplug/pci.agent: line 168:  2534 Aborted                 $MODPROBE -n $MODULE >/dev/null 2>&1
/etc/hotplug/pci.agent: line 168:  2575 Aborted                 $MODPROBE -n $MODULE >/dev/null 2>&1

So, here is the entire pci.agent file for your review:

-----------BEGIN OF FILE: /etc/hotplug/pci.agent-------------------------------------------
# PCI-specific hotplug policy agent.
# This should handle 2.4.* PCI (including Cardbus)  hotplugging,
# with a consistent framework for adding device and driver specific
# treatments.
# Kernel Cardbus/PCI params are:
#      ACTION=%s [add or remove]
#      PCI_CLASS=%06X
#      PCI_ID=%04X:%04X
#      PCI_SLOT_NAME=%s
#      PCI_SUBSYS_ID=%04X:%04X
# If /proc is mounted, /proc/bus/pci/$PCI_SLOT_NAME is almost the name
# of the binary device descriptor file ... just change ':' to '/'.
# On systems using Linux 2.4.* kernels, be sure to use the right
# modutils (2.4.1+).
# 26-Feb-2001      Cleanup, support comments (Gioele Barabucci)
# 13-Jan-2001      Initial version of "new" hotplug agent; needs
#            retesting.
# 17-Jan-2001      Update to latest kernel syntax (Dan Zink)
# 15-Feb-2001      Remove use of "<<" (Adam Richter)
# $Id: pci.agent,v 1.13 2003/09/16 19:42:17 kroah Exp $

cd /etc/hotplug
. hotplug.functions

# generated by modutils, for current 2.4.x kernels

# accumulates list of modules we may care about

if [ "$PCI_CLASS" = ""  -o "$PCI_CLASS" = "" ]; then
    mesg Bad PCI agent invocation
    exit 1

# Each modules.usbmap format line corresponds to one entry in a
# MODULE_DEVICE_TABLE(pci,...) declaration in a kernel file.
# Think of it as a database column with up to three "match specs"
# to associate kernel modules with particular devices or classes
# of device.  The match specs provide a reasonably good filtering
# mechanism, but some driver probe() routines need to provide
# extra filtering.

# inputs to the match algorithm, from kernel by way of /sbin/hotplug
declare -i pci_class
declare -i pci_id_vendor pci_id_device
declare -i pci_subid_vendor pci_subid_device

pci_convert_vars ()
    if [ "$AWK" = "" ]; then
      mesg "can't find awk!"
      exit 1


    set `echo $PCI_ID | $AWK -F: '{print "0x" $1, "0x" $2 }'` ''

    set `echo $PCI_SUBSYS_ID | $AWK -F: '{print "0x" $1, "0x" $2 }'` ''

declare -i PCI_ANY

# stdin is "modules.pcimap" syntax
# on return, ONE matching module was added to $DRIVERS
pci_map_modules ()
    # convert the usb_device_id fields to integers as we read them
    local module ignored
    declare -i vendor device
    declare -i subvendor subdevice
    declare -i class class_mask
    declare -i class_temp

    # comment line lists (current) pci_device_id field names
    read ignored

    # look at each pci_device_id entry
    # collect one match in $DRIVERS
    while read module vendor device subvendor subdevice class class_mask ignored
      # comments are lines that start with "#" ...
      # be careful, they still get parsed by bash!
      case "$module" in
      \#*) continue ;;

      : checkmatch $module

      : vendor $vendor $pci_id_vendor
      if [ $vendor -ne $PCI_ANY -a $vendor -ne $pci_id_vendor ]; then
      : device $device $pci_id_device
      if [ $device -ne $PCI_ANY -a $device -ne $pci_id_device ]; then
      : sub-vendor $subvendor $pci_subid_vendor
      if [ $subvendor -ne $PCI_ANY -a $subvendor -ne $pci_subid_vendor ]; then
      : sub-device $subdevice $pci_subid_device
      if [ $subdevice -ne $PCI_ANY -a $subdevice -ne $pci_subid_device ]; then

      class_temp="$pci_class & $class_mask"
      if [ $class_temp -eq $class ]; then
          DRIVERS="$module $DRIVERS"
          : drivers $DRIVERS

# What to do with this PCI hotplug event?
case $ACTION in



    # on 2.4 systems, modutils maintains MAP_CURRENT
    if [ -r $MAP_CURRENT ]; then
          load_drivers pci $MAP_CURRENT "$LABEL"

    if [ "$DRIVERS" == "" ]; then
      mesg "... no modules for $LABEL"
      exit 2

    debug_mesg PCI $ACTION event not supported
    exit 1

-----------END OF FILE: /etc/hotplug/pci.agent---------------------------------------------

Line 168 of pci.agent is the last line.

Could you also post /etc/hotplug/pci.rc ?

rathodrAuthor Commented:
Just wondering...would it make a difference if I remove the LAN driver and see if the errors clear up? I would still need the drivers, but it may afford the opportunity to see if that is causing the error.

Anyway, here is the file:
-----------BEGIN OF FILE: /etc/hotplug/pci.rc-------------------------------------------
# vim: syntax=sh
# pci.rc      mostly to recover lost boot-time pci hotplug events
# $Id: pci.rc,v 1.7 2003/06/06 18:27:23 dbrownell Exp $


cd /etc/hotplug

# source function library
if [ -f /etc/init.d/functions ]; then
      . /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
      . /etc/rc.d/init.d/functions

. hotplug.functions

# # override any of the defaults?
# if [ -f /etc/sysconfig/pci ]; then
#     . /etc/sysconfig/pci
# fi

pci_boot_events ()
    # FIXME on 2.5, /sys/bus/pci/devices gives some of this
    # information, and more can be gotten with 'lspci'.
    # don't expect pcimodules to exist!!
    LISTER=`type -p pcimodules`
    if [ "$LISTER" = "" -o ! -f /proc/bus/pci/devices -o ! -x pci.agent ]; then
          echo $"** can't synthesize pci hotplug events"

    # make sure the pci agent will run

    # these notifications will be handled by pcimodules
    for BUS in `cd /proc/bus/pci;find * -type d -print`; do
      for SLOT_FUNC in `cd /proc/bus/pci/$BUS; echo *`; do
          : hotplug pci for $PCI_SLOT
          /sbin/hotplug pci

# See how we were called.
case "$1" in
      # echo $"pci stop -- ignored"
      echo $"PCI Status for kernel: "  `uname -srm`
      echo ''

      if [ -f /proc/bus/pci/devices ]; then
          COUNT=`ls /proc/bus/pci | wc -l`
          if [ $COUNT -gt 1 ]; then
            COUNT=`expr $COUNT - 1`
            echo $"PCI up; bus count is $COUNT"
            if [ -x /sbin/lspci ]; then
            echo $"no PCI busses?"
          echo ''
          echo $"no PCI /proc support?"
      echo ''

      # always invoke by absolute path, else PATH=$PATH:
      $0 stop && $0 start
        echo $"Usage: $0 {start|stop|status|restart}"
        exit 1
-----------END OF FILE: /etc/hotplug/pci.rc-------------------------------------------
rathodrAuthor Commented:
BTW: I have the /etc/modules.conf:

alias eth0 velocityget

line. In fact, its the only line in that file.
> if [ "$LISTER" = "" -o ! -f /proc/bus/pci/devices -o ! -x pci.agent ]; then
The line above is the only place "pci.agent" showing up.
It shouldn't execute pci.agent at all.

Could you comment out
#if [ "$LISTER" = "" -o ! -f /proc/bus/pci/devices -o ! -x pci.agent ]; then
#         echo $"** can't synthesize pci hotplug events"
#         return

and try it?


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
rathodrAuthor Commented:
Did that ... same problem. Although, when I rebooted, I had the USB Mass storage pluggged in and turned on. The system actually hanged again. So, I reset the system, this time, turning the USB device off. Anyway, the system came back up with the same errors as above. Here are the lines I commented out:

#    LISTER=`type -p pcimodules`
#    if [ "$LISTER" = "" -o ! -f /proc/bus/pci/devices -o ! -x pci.agent ]; then
#          echo $"** can't synthesize pci hotplug events"
#          return
#    fi

This is starting to become frustrating. Any additional ideas would be appreciated.
rathodrAuthor Commented:
Don't know if this matters, but it appears my mass storage is working. In fact, I can get to all of the files on it. I think the errors above are from modprobe on scsi. In any case, I can close this. Thanks for your help!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.