# [UNSOLVED] ipw2200 and kernel panic

## jph_void

Hello i never had problem with my wifi NIC but now for a change, no luck.

Eeach time i modprobe the ipw2200 module (kernel version, the portage one is masked and pending for removal but seems to work!) i get a kernel panic.

In fact each time the card switch is ON (its on a laptop, Toshiba m70). If i modprobe it with the NIC turned OFF there is no kernel panic until i do a 

```

# /etc/init.d/net.eth1 start

```

Here is the first line of the kernel panic message (someone know how to retrive the complete message not by hand?):

```

BUG: unable to handle kernel NULL pointer dereference at virtual address 00000ac8

```

Well it worked great before. Do you think is only a bug in the ipw2200 kernel module or do you suspect something else?

----------

## eccerr0r

I've not had any problems with the in-kernel version...are you sure it's picking up the right module?  Cleaned up the old stuff yet?

dmesg should dump out some of the logs, it could help...

----------

## jph_void

Thanks for your reply.

When you says "cleaning the old stuff" do you means there is still some parts of the portage module version that can conflict with then kernel one ?

If this is the case i don't know how to clean it. But i can tell you that i have remerged gentoo-sources and linux-headers.

Does this help ?

----------

## d2_racing

Maybe you have to do this :

```

#cd /usr/src/linux

# make clean

# make proper

# make menuconfig

```

This will clean all your configuration properly.

----------

## jph_void

If i hard-link the module into the kernel there is just a problem at loading the firmware at boot : 

```

ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection

ipw2200: ipw2200-bss.fw request_firmware failed: Reason -2

ipw2200: Unable to load firmware: -2

ipw2200: failed to register network device

ipw2200: probe of 0000:06:02.0 failed with error -5

```

I read on the net its related to udev ? Some say creating a special rule to udev could solve the problem but i don't know what to do.

What do you think about it ?

----------

## nabla²

Sorry for that useless posting, I just want to say I have the same problem here.  I did a emerge -e system which did not solve the problem. This should have installed the kernel sources new, but I did not make clean. I will try this today in the evening (and if it fails another kernel...). 

I think the problem should not depend on whether putting the module into the kernel directly or loading it via modprobe. It is a real segmentation fault I get. AFAIK the kernel needs the firmware before mounting all the other drives and then fails because the firmware is on one of them, if you compile the module into the kernel.

----------

## jph_void

Hello nabla, our problem seems to differe only by virtual address value.

But you compiled it as a module. I try in my case to hardlink as much as possible into the kernel, so the solution would be to modify udev rules (which have difficulties with firmware if you hardlink), but i don"t know how. 

If you find something please let me know.

I hope the fact the driver is hardlinked will change the behavior of the kernel when the firmware will load.

----------

## nabla²

My problem is solved.    :Very Happy: 

I installed kernel 2.6.19 (suspend2) and it works now. My guess is that d2_racing is right so when I recompiled my old kernel, already compiled stuff was used. That was not deleted by portage when I reinstalled the sources. I have not tried a fresh install of my old 2.6.18, though.

AFAIK the kernel needs the firmware when the ipw2200 module is loaded. When you compile it into the kernel, the drives are not mounted yet and so it is not found. (dangerous smattering) But what I definitely know is that I had problems with suspend and ipw2200 so I unload and load it when suspending. So I guess it is a good idea to compile it as an outside module. What is the disadvantage of that? I know none.

btw. Radiohead is a really good band.  :Smile: 

----------

