Hello,
can anybody point me to some reading to better understand how Fedora loads modules, in which order and from which directories etc., especially with regards to Fedora 6. I've read a lot around but nothing that gives me a firm idea
I am trying to understand how I can install certain modules at boot up and conversely how I can change a module from being installed automatically to manually using modprobe. In order to do that I need to know more about modules that installed at bootup
Thanks in advance Al
--- Al Graziano al.graziano@gmail.com wrote:
Hello,
can anybody point me to some reading to better understand how Fedora loads modules, in which order and from which directories etc., especially with regards to Fedora 6. I've read a lot around but nothing that gives me a firm idea
I am trying to understand how I can install certain modules at boot up and conversely how I can change a module from being installed automatically to manually using modprobe. In order to do that I need to know more about modules that installed at bootup
Thanks in advance Al
-- fedora-list mailing list fedora-list@redhat.com To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
If you want to add some modules at bootup, you need to add them to /etc/modprobe.conf with a particular line for them. For instance, I have a smartlink modem, which gets loaded automatically with the line added to modprobe.conf.
[olivares@localhost ~]$ cat /etc/modprobe.conf alias eth0 3c59x alias snd-card-0 snd-ali5451 options snd-card-0 index=0 options snd-ali5451 index=0 remove snd-ali5451 { /usr/sbin/alsactl store 0
/dev/null 2>&1 || : ; }; /sbin/modprobe -r
--ignore-remove snd-ali5451 install slamr modprobe --ignore-install ungrab-winmodem ; modprobe --ignore-install slamr; test -e /dev/slamr0 || (/bin/mknod -m 660 /dev/slamr0 c 242 0 2>/dev/null && chgrp uucp /dev/slamr0)
To not automatically load them at bootime, there is a file /etc/modprobe.d/blacklist which lists the one that you do not want loaded at bootup time,
[olivares@localhost ~]$ cat /etc/modprobe.d/blacklist # # Listing a module here prevents the hotplug scripts from loading it. # Usually that'd be so that some other driver will bind it instead, # no matter which driver happens to get probed first. Sometimes user # mode tools can also control driver binding. # # Syntax: driver name alone (without any spaces) on a line. Other # lines are ignored. #
# watchdog drivers blacklist i8xx_tco
# framebuffer drivers blacklist aty128fb blacklist atyfb blacklist radeonfb blacklist i810fb blacklist cirrusfb blacklist intelfb blacklist kyrofb blacklist i2c-matroxfb blacklist hgafb blacklist nvidiafb blacklist rivafb blacklist savagefb blacklist sstfb blacklist neofb blacklist tridentfb blacklist tdfxfb blacklist virgefb blacklist vga16fb
# ISDN - see bugs 154799, 159068 blacklist hisax blacklist hisax_fcpcipnp
Hope this helps,
Antonio
____________________________________________________________________________________ 8:00? 8:25? 8:40? Find a flick in no time with the Yahoo! Search movie showtime shortcut. http://tools.search.yahoo.com/shortcuts/#news
Thank you. I was already doing that but my problem at the moment is that I have a driver for my wireless card, ipw3945 and that gets loaded even if I don't specify it in the modprobe.conf
I installed the driver through rpm so it must have have copied itself to a directory where modules are read at boot time. As far as I know modules to be loaded are contained in /lib/modules/'uname -r'/... or /etc/rc.modules
but when I searched for the ipw3945 driver it, I found it in the following directory
/proc/irq/17/ipw3945 /sys/module/ipw3945 /sys/bus/pci/drivers/ipw3945
I cannot find any of the above directories in the init boot scripts ( I may not have looked good enough) and that's why I was trying to understand how Fedora 6 loads modules at boot time
Thanks again Al
Antonio Olivares wrote:
--- Al Graziano al.graziano@gmail.com wrote:
Hello,
can anybody point me to some reading to better understand how Fedora loads modules, in which order and from which directories etc., especially with regards to Fedora 6. I've read a lot around but nothing that gives me a firm idea
I am trying to understand how I can install certain modules at boot up and conversely how I can change a module from being installed automatically to manually using modprobe. In order to do that I need to know more about modules that installed at bootup
Thanks in advance Al
-- fedora-list mailing list fedora-list@redhat.com To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
If you want to add some modules at bootup, you need to add them to /etc/modprobe.conf with a particular line for them. For instance, I have a smartlink modem, which gets loaded automatically with the line added to modprobe.conf.
[olivares@localhost ~]$ cat /etc/modprobe.conf alias eth0 3c59x alias snd-card-0 snd-ali5451 options snd-card-0 index=0 options snd-ali5451 index=0 remove snd-ali5451 { /usr/sbin/alsactl store 0
/dev/null 2>&1 || : ; }; /sbin/modprobe -r
--ignore-remove snd-ali5451 install slamr modprobe --ignore-install ungrab-winmodem ; modprobe --ignore-install slamr; test -e /dev/slamr0 || (/bin/mknod -m 660 /dev/slamr0 c 242 0 2>/dev/null && chgrp uucp /dev/slamr0)
To not automatically load them at bootime, there is a file /etc/modprobe.d/blacklist which lists the one that you do not want loaded at bootup time,
[olivares@localhost ~]$ cat /etc/modprobe.d/blacklist # # Listing a module here prevents the hotplug scripts from loading it. # Usually that'd be so that some other driver will bind it instead, # no matter which driver happens to get probed first. Sometimes user # mode tools can also control driver binding. # # Syntax: driver name alone (without any spaces) on a line. Other # lines are ignored. #
# watchdog drivers blacklist i8xx_tco
# framebuffer drivers blacklist aty128fb blacklist atyfb blacklist radeonfb blacklist i810fb blacklist cirrusfb blacklist intelfb blacklist kyrofb blacklist i2c-matroxfb blacklist hgafb blacklist nvidiafb blacklist rivafb blacklist savagefb blacklist sstfb blacklist neofb blacklist tridentfb blacklist tdfxfb blacklist virgefb blacklist vga16fb
# ISDN - see bugs 154799, 159068 blacklist hisax blacklist hisax_fcpcipnp
Hope this helps,
Antonio
8:00? 8:25? 8:40? Find a flick in no time with the Yahoo! Search movie showtime shortcut. http://tools.search.yahoo.com/shortcuts/#news
Al Graziano wrote:
Thank you. I was already doing that but my problem at the moment is that I have a driver for my wireless card, ipw3945 and that gets loaded even if I don't specify it in the modprobe.conf
I installed the driver through rpm so it must have have copied itself to a directory where modules are read at boot time.
What rpm did you install it from? I've been using the package kindly provided by ATrpms. You can see the list of files included in the rpm by using the -ql (query, list) option to rpm:
$ rpm -ql ipw3945-kmdl-2.6.20-1.2933.fc6 /lib/modules/2.6.20-1.2933.fc6/updates /lib/modules/2.6.20-1.2933.fc6/updates/drivers /lib/modules/2.6.20-1.2933.fc6/updates/drivers/net /lib/modules/2.6.20-1.2933.fc6/updates/drivers/net/wireless /lib/modules/2.6.20-1.2933.fc6/updates/drivers/net/wireless/ipw3945.ko
You may need to use another query first to determine what the package name is. ATrpms uses the $(module)-kmdl-$(kernel-version) scheme. You could find all the rpms with ipw3945 in the name via:
$ rpm -qa '*ipw3945*' ipw3945-1.2.0-18.2.fc6.at.i386 ipw3945d-1.7.22-4.at.i386 ... ipw3945-kmdl-2.6.20-1.2933.fc6-1.2.0-18.2.fc6.at.i686 ipw3945-ucode-1.14.2-4.at.noarch
Alternatively, you can query the rpm file directly by adding the -p option:
$ rpm -qpl /path/to/ipw3945-kmdl-2.6.20-1.2933.fc6.rpm ...
but when I searched for the ipw3945 driver it, I found it in the following directory
/proc/irq/17/ipw3945 /sys/module/ipw3945 /sys/bus/pci/drivers/ipw3945
How did you do the search? I'd use find or locate. Using find:
$ find /lib/modules/ -name '*ipw3945*' ... /lib/modules/2.6.20-1.2933.fc6/updates/drivers/net/wireless/ipw3945.ko
Incidentally, I don't know if it will come together well before the release, but the current F7 kernels include the newer iwlwifi drivers for the ipw3945 cards. It doesn't require the regulatory daemon any longer and thus has a good chance of making into the upstream kernel sources. So hopefully it will just work out of the box.
Thanks Todd,
as it turns out I was doing my search looking for ipw3945, which of course didn't return the .ko which is the driver, and that was in the /lib/modules/.. directory, hence loaded by the OS at boot time
I got the exact same packages from ATrpms, and I have noticed that putting the required dependencis int he modprobe.con file to launch the regulatory daemon is enough. So you don't have to add anything to rc.local. There was an issue with modprobe that it was executed while the file systems was still in ro mode and did not allow the daemon to write the PID, but somehow the modprobe configuration is enough (unless I am getting confused after a day on my laptop!)
Incidentally, do you know how to replace the driver associated to a PCMCIA card and where that association is maintained. It used to be in the /etc/pcmcia.conf but it doens't seem to work anymore.
Ciao Al Todd Zullinger wrote:
Al Graziano wrote:
Thank you. I was already doing that but my problem at the moment is that I have a driver for my wireless card, ipw3945 and that gets loaded even if I don't specify it in the modprobe.conf
I installed the driver through rpm so it must have have copied itself to a directory where modules are read at boot time.
What rpm did you install it from? I've been using the package kindly provided by ATrpms. You can see the list of files included in the rpm by using the -ql (query, list) option to rpm:
$ rpm -ql ipw3945-kmdl-2.6.20-1.2933.fc6 /lib/modules/2.6.20-1.2933.fc6/updates /lib/modules/2.6.20-1.2933.fc6/updates/drivers /lib/modules/2.6.20-1.2933.fc6/updates/drivers/net /lib/modules/2.6.20-1.2933.fc6/updates/drivers/net/wireless /lib/modules/2.6.20-1.2933.fc6/updates/drivers/net/wireless/ipw3945.ko
You may need to use another query first to determine what the package name is. ATrpms uses the $(module)-kmdl-$(kernel-version) scheme. You could find all the rpms with ipw3945 in the name via:
$ rpm -qa '*ipw3945*' ipw3945-1.2.0-18.2.fc6.at.i386 ipw3945d-1.7.22-4.at.i386 ... ipw3945-kmdl-2.6.20-1.2933.fc6-1.2.0-18.2.fc6.at.i686 ipw3945-ucode-1.14.2-4.at.noarch
Alternatively, you can query the rpm file directly by adding the -p option:
$ rpm -qpl /path/to/ipw3945-kmdl-2.6.20-1.2933.fc6.rpm ...
but when I searched for the ipw3945 driver it, I found it in the following directory
/proc/irq/17/ipw3945 /sys/module/ipw3945 /sys/bus/pci/drivers/ipw3945
How did you do the search? I'd use find or locate. Using find:
$ find /lib/modules/ -name '*ipw3945*' ... /lib/modules/2.6.20-1.2933.fc6/updates/drivers/net/wireless/ipw3945.ko
Incidentally, I don't know if it will come together well before the release, but the current F7 kernels include the newer iwlwifi drivers for the ipw3945 cards. It doesn't require the regulatory daemon any longer and thus has a good chance of making into the upstream kernel sources. So hopefully it will just work out of the box.
Al Graziano wrote:
Thanks Todd,
No problem.
I got the exact same packages from ATrpms, and I have noticed that putting the required dependencis int he modprobe.con file to launch the regulatory daemon is enough.
At some point in the past that was giving me grief at boot time and I ended up creating an init script to start the daemon (taken from the FreshRPMS package). But if it's working, don't mess with it. :)
Incidentally, do you know how to replace the driver associated to a PCMCIA card and where that association is maintained. It used to be in the /etc/pcmcia.conf but it doens't seem to work anymore.
Sorry, I don't. I don't have any experience with pcmcia cards at all.
Al Graziano wrote:
Thank you. I was already doing that but my problem at the moment is that I have a driver for my wireless card, ipw3945 and that gets loaded even if I don't specify it in the modprobe.conf
I installed the driver through rpm so it must have have copied itself to a directory where modules are read at boot time. As far as I know modules to be loaded are contained in /lib/modules/'uname -r'/... or /etc/rc.modules
The /lib/modules/'uname -r' directory tree contains the actual modules that get loaded. /etc/modprobe.conf and the /etc/modprobe.d directory contain information that helps deside what module gets loaded. The blacklist files are used to prevent modules from being loaded. From /etc/modprobe.d/blacklist:
# Listing a module here prevents the hotplug scripts from loading it. # Usually that'd be so that some other driver will bind it instead, # no matter which driver happens to get probed first. Sometimes user # mode tools can also control driver binding. # #
but when I searched for the ipw3945 driver it, I found it in the following directory
/proc/irq/17/ipw3945 /sys/module/ipw3945 /sys/bus/pci/drivers/ipw3945
I cannot find any of the above directories in the init boot scripts ( I may not have looked good enough) and that's why I was trying to understand how Fedora 6 loads modules at boot time
These directories are system directories - the /proc directory reflects the state of the running system. The sys directory entries are created when you
With the ipw3945 driver, you have more then just the kernel module getting loaded. There is also a firmware file, and a daemon that gets run. You probably have a script in /etc/rc.d/init.d that takes care of that. (I have it on my laptop, but I don't remember the name right now.)
Mikkel