Cannot unload if_iwi module
John Baldwin
jhb at freebsd.org
Wed Oct 25 17:33:37 UTC 2006
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
More information about the freebsd-current
mailing list