[BusyBox 0001401]: install option in modprobe.conf doesn't work

bugs at busybox.net bugs at busybox.net
Fri Jun 22 21:19:28 UTC 2007

A NOTE has been added to this issue. 
Reported By:                quitte
Assigned To:                BusyBox
Project:                    BusyBox
Issue ID:                   1401
Category:                   Kernel Module Support
Reproducibility:            always
Severity:                   feature
Priority:                   normal
Status:                     assigned
Date Submitted:             06-21-2007 18:54 PDT
Last Modified:              06-22-2007 14:19 PDT
Summary:                    install option in modprobe.conf doesn't work
The install and remove options in modprobe.conf do not work at all. The
--ignore-install option is missing,too.
from the modprobe.conf manpage:
install modulename command...
                 This  is  the  most powerful primitive in modprobe.conf:
it tells modprobe to run your command
                 instead of inserting the module in the kernel as normal. 
The command can be  any  shell  com&http://busybox.net/bugs/view.php?id=8208;
                 mand:  this  allows  you to do any kind of complex
processing you might wish.  For example, if
                 the module "fred" worked better with the module "barney" 
already  installed  (but  it  didn’t
                 depend on it, so modprobe won’t automatically load it),
you could say "install fred /sbin/mod&http://busybox.net/bugs/view.php?id=8208;
                 probe barney; /sbin/modprobe --ignore-install fred",
which would do what you wanted.  Note the
                 --ignore-install,  which  stops  the second modprobe from
re-running the same install command.
                 See also remove below.

                 You can also use install to make  up  modules  which 
don’t  otherwise  exist.   For  example:
                 "install  probe-ethernet /sbin/modprobe e100 ||
/sbin/modprobe eepro100", which will try first
                 the e100 driver, then the eepro100 driver, when you do
"modprobe probe-ethernet".


 vda - 06-22-07 04:48  
> For example, if the module "fred" worked better with the module "barney"
already installed...

...you have to mail lkml and help kernel people to improve "fred" to not
need to jump thru the hoops like this.

It's not a bug. It's a "missing feature which exists in standard
modprobe". I am not convinced yet we want to turn busybox modprobe into
generic application launcher by having this peculiar option.

Please explain why do you need that. 

 quitte - 06-22-07 12:59  
Unfortunately the linux kernel mainatiners can do nothing about it as the
problems I ran into are with proprietary modules. And getting the vendor
to fix things seems to be completely impossible. The device is a dsl, wlan
and phone router based on the ti ar7.
I'll try to explain what I wanted to use this feature for by examples:

The usb, wlan and dsl drivers all need a proprietary module loaded before
they can be loaded. This module can not be distributed because of its
license and the usb hci driver gives no clue why it doesn't work if that
module isn't loaded in the first place.

There are multiple variations of this device that all work with the same
modules but need different firmware files and module options. As an
alternative to letting modprobe run a script that figures out which
firmware to load and which modules to use it should be doable by changing
modprobe.conf from an init script. But doing it at the time that loading
the module is requested seems to make a lot more sense to me.

The dsl driver provides an atm interface that has to be made into an
ethernet interface before being usable with pppd. While it might be
possible to run the necessary scripts for setting that up through hotplug
events, doing so from modprobe.conf makes more sense to me - as the device
is never hotplugged. 

 bernhardf - 06-22-07 14:19  
If you desparately need such advanced features, then i suggest you use the
big modutils.

Apart from that, can't you simply have an /etc/modules which content gets
autoloaded: (sample from my debian host). See how all your (module
related) problems are solved :)

# Loop over every line in /etc/modules.
echo -n 'Loading modules: '
(cat /etc/modules; echo) | # make sure there is a LF at the end
while read module args
        case "$module" in
                \#*|"") continue ;;
        echo -n "$module "
        modprobe $module $args

Issue History 
Date Modified   Username       Field                    Change               
06-21-07 18:54  quitte         New Issue                                    
06-21-07 18:54  quitte         Status                   new => assigned     
06-21-07 18:54  quitte         Assigned To               => BusyBox         
06-21-07 19:02  quitte         Issue Monitored: quitte                      
06-22-07 04:48  vda            Note Added: 0002498                          
06-22-07 12:59  quitte         Note Added: 0002499                          
06-22-07 14:19  bernhardf      Note Added: 0002500                          

More information about the busybox-cvs mailing list