# wireless card hangs, 100% processor usage by ksoftirqd

## jnewland

I've been encountering an extremely strange error recently - occasionally I will notice that no network traffic is successfully being sent from my wireless card (actiontec 802.11b PCI card, using the orinoco_pci drivers). When this happens, I notice that a process by the name of ksoftirqd_CPU0 is taking 100% of the system processor time on my machine. All attempts to kill this process fail. At this point, my kernel log fills up with this message:

```
Jan  7 02:51:58 [kernel] eth0: Error -110 writing Tx descriptor to BAP

...

repeat 100 or so times

...

Jan  7 02:51:59 [kernel] eth0: Error -110 writing Tx descriptor to BAP

...

etc

```

     Initially, I had support for the wireless card copiled directly into the kernel, but since, I have compiled all of necessary modules and load those as needed. What is especially interesting is that if I unload the modules orinoco_pci, orinoco, and hermes (in that order), ksoftirqd_CPU0 starts behaving again. So....I've crafted a script that I call /sbin/fixnet that I run whenever this error occurs.

```
#/sbin/fixnet

#stop all net related services

/etc/init.d/sshd stop

...

/etc/init.d/net.eth0 stop

#remove modules

rmmod orinoco_pci

rmmod orinoco

rmmod hermes

#stick them right back in

insmod hermes

insmod orinoco

insmod orinoco_pci

#re-start needed services

/etc/init.d/net.eth0 start

...

/etc/init.d/sshd start

```

This works when the problem occurs when I'm physically at the machine, BUT it seems to happen at a much higher rate when I am logged in remotely via ssh (particularly when a large amount of data is sent over the ssh connection, such as when I'm watching a compile from work, etc) or downloading/uploading files remotely via ftp.

I've done some googling on this, and have come up empty. I found one other occasion of someone getting 100% with ksoftirqd, but that was related to HIL keyboard drivers being compiled into the kernel. They are not compiled into my current kernel (which, btw, is vanilla-sources 2.4.20). Anyone have any ideas? I'm lost here.   :Crying or Very sad: 

----------

## krt

Try using a different driver, such as HostAP.  You can find it here: http://hostap.epitest.fi/

I had similar issues when using prism2 drivers with my prism2.5 chipset based nic.  After installing HostAP, they all went away.

----------

## soroko

Same simptomps with Netgear MA401 card  :Sad: 

Is there a known working resolution to this problem?

----------

## Reformist

Same symptons here. Huge problem, big pain in the butt, fairly elusive. Didn't even notice 100% of my cpu was being taken w hen my network stopped working; I was just looking for the cause of the network failure, but sure enough ksoftirqd has 88% of my cpu and dmesg reports "eth1: Error -110 writing Tx descriptor to BAP" about a billion times.

Also, I'm using Netgear MA401 with built in kernel drivers (orinoco).

Edit: I'm also using ACPI with Gentoo Sources.

----------

## CodeHacker84

I also have had trouble with 100% CPU usage (on a kernel without ACPI, for those of you who have read my other posts...completely different problem).  I'd say that there's a bug in the drivers.  It's probably another problem related to interrupts; when it affects a daemon named "ksoftirqd_CPU0."  But then again, these are only guesses and they're probably dead wrong.

----------

## Gnufsh

Try disabling I/O APIC.

----------

## thehyperintelligentslug

Are you guys using WEP?

I've just been looking up some details about getting WEP to work with my Netgear MA401 and i'm sure I saw that error message somewhere in a mailinglist...

----------

## thehyperintelligentslug

My lunchtimes 'googling' dug up:

http://www.seattlewireless.net/index.cgi/OrinocoDriver gave me a link to http://www.ozlabs.com/people/dgibson/dldwd/README.orinoco readme which says;

 *Quote:*   

> 
> 
> Q: Why do I get lots of "Error -16 writing packet header to BAP" messages in my log?
> 
> A: This is an error reported by the firmware, but it is triggered by a major bug in all versions of the driver prior to 0.09a. Upgrade to the latest driver as soon as possible.
> ...

 

This post may also be useful.

----------

## nerdbert

never got any "-16 writing packet header to BAP" errors, but have the same ksoftirq problem. Always thought this is a tribute to the (fairly unstable) atmelwlandriver available from sourceforge. I use this for my Netgear MA101.

The only thing which comforts me is that the WinXP drivers supplied by Netgear is far more unstable   :Laughing: 

----------

## Reformist

I don't use WEP, nor do I have it enabled. Problem is persistent ;-)

----------

## thehyperintelligentslug

What version of the orinoco is everyone using?

I'm using the version in the 2.4.20 r1 release of gentoo-sources which is version 11-something (at work so can't check machine).

I did try to use the pcmcia-cs version last night but didn't get very far (no communication).

I would be interested to hear if the problem is as bad with version 13b (pcmcia-cs) of the driver.

----------

## thehyperintelligentslug

I updated the kernel drivers using the following method;

1.) Downloaded the latest orinoco stuff from the site - version 13b (or c).

2.) Uncompressed them and copied the *.c and *.h (not the Makefile) files over the ones in /usr/src/linux/drivers/net/wireless.

3.) Recompiled.

It's probably not the best way of doing this but it worked and I don't seem to have any 'Error -110' 's.

----------

## Reformist

Nice job thehyperintelligentslug (weird name), I'll be trying this soon to see if it takes care of the problem on my machine as well.

----------

## Arendtsen

 *thehyperintelligentslug wrote:*   

> I updated the kernel drivers using the following method;
> 
> 1.) Downloaded the latest orinoco stuff from the site - version 13b (or c).
> 
> 2.) Uncompressed them and copied the *.c and *.h (not the Makefile) files over the ones in /usr/src/linux/drivers/net/wireless.
> ...

 

I did just the same after almost throwing the card out the window.

But I works... and thank you thehyperintelligentslug!

----------

## Reformist

Also note, the newest kernel (2.5.67 at the time of posting) fixes this problem for me in its entirety.

----------

## cayenne

 *Reformist wrote:*   

> Also note, the newest kernel (2.5.67 at the time of posting) fixes this problem for me in its entirety.

 

I'm running into the same type problem. I have kernel 2.6.4-rc1, and cannot connect to the box without the wireless card for the moment.

I've seen about 3 different suggestions...what was the definitive answer? Is it to change the kernel?

If so, can someone give me some links how to do this manually, as I'll have to sneakernet all the files over there and don't quite know where to put everything.

Thanks in advance,

cayenne

----------

## cayenne

Anyone? Anyone?

Bueller?

 :Smile: 

----------

