Re: Cannot unload if_iwi module

From: John Baldwin <jhb_at_freebsd.org>
Date: Wed, 25 Oct 2006 13:19:59 -0400
On Sunday 22 October 2006 17:27, Michal Mertl wrote:
> Florent Thoumie wrote:
> > On Sun, 2006-10-22 at 08:43 +0200, Jeremie Le Hen wrote:
> > > Hi,
> > > 
> > > when I try to unload if_iwi module, here is what happens:
> > > 
> > > % jarjarbinks:/<3>dev/iwi:118# kldunload if_iwi
> > > % iwi0: detached
> > > % jarjarbinks:/<3>dev/iwi:119# iwi0: <Intel(R) PRO/Wireless 2200BG> mem 
0xc8218000-0xc8218fff irq 11 at device 3.0 on pci6
> > > % iwi0: Ethernet address: 00:12:f0:2c:f3:6e
> > > % iwi0: [GIANT-LOCKED]
> > > 
> > > The kld is reloaded automatically (I am sure it is reloaded because
> > > the id showed in kldstat(8) changes each time):
> > > 
> > > % jarjarbinks:/<1>share/mk:137# kldstat
> > > % Id Refs Address    Size     Name
> > > %  1   20 0xc0400000 4ef910   kernel
> > > %  2    1 0xc08f0000 e5dc     if_bge.ko
> > > %  3    1 0xc08ff000 4ce4     ums.ko
> > > %  4    1 0xc0904000 b180     umass.ko
> > > %  5    2 0xc382e000 25000    linux.ko
> > > %  6    1 0xc38cb000 2000     rtc.ko
> > > %  9    1 0xc3acf000 e000     if_iwi.ko
> > > % 10    2 0xc3add000 3000     firmware.ko
> > > 
> > > % jarjarbinks:/<3>dev/iwi:122# kldstat
> > > % Id Refs Address    Size     Name
> > > %  1   19 0xc0400000 4ef910   kernel
> > > %  2    1 0xc08f0000 e5dc     if_bge.ko
> > > %  3    1 0xc08ff000 4ce4     ums.ko
> > > %  4    1 0xc0904000 b180     umass.ko
> > > %  5    2 0xc382e000 25000    linux.ko
> > > %  6    1 0xc38cb000 2000     rtc.ko
> > > % 11    1 0xc3acf000 e000     if_iwi.ko
> > > % 12    1 0xc3add000 3000     firmware.ko
> > > 
> > > Any clue how to disable this unwanted behaviour ?
> > 
> > No idea, but the same behavior can be seen with ipw(4) and experimental
> > wpi(4). I seem to recall this didn't happen before the the support for
> > firmware(9) was added.
> 
> It also happens with em(4) to me. I found out it doesn't happen when
> devd is not running. I find it rather strange that the 'pciconf -l'
> command shows driver name (e.g. em0_at_pci...) even after (successfully and
> permanently) unloading the module for a device. The 'devinfo' command
> does not.

I bet devd is running /etc/pccard_ether which tries to use ifconfig to down 
your interface, and when ifconfig em0 down happens, ifconfig notices if_em 
isn't in the kernel and tries to load it.  Handy. :)

-- 
John Baldwin
Received on Wed Oct 25 2006 - 15:33:36 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:01 UTC