# IPW2200 and Kernel 2.6.14

## zx2c4

I just installed 2.6.14 and unmerged the ipw2200 and ieee80211 drivers, and compiled in the ones from the kernel, however I can't seem to get the kernel drivers working.

Taken from another website:

```
it says in dmesg many things..

eth1 (WE) : Driver using old /proc/net/wireless support, please fix

driver !

ipw2200: failed to send RTS_THRESHOLD command

ipw2200: failed to send FRAG_THRESHOLD command

fglrx: Unknown symbol verify_area

ipw2200: failed to send POWER_MODE command

ipw2200: failed to send TX_POWER command

ipw2200: failed to send RTS_THRESHOLD command

ipw2200: No space for Tx

ipw2200: failed to send FRAG_THRESHOLD command

ipw2200: No space for Tx

ipw2200: failed to send POWER_MODE command

ipw2200: No space for Tx

ipw2200: failed to send TX_POWER command
```

I have almost the same problem.

----------

## dgaffuri

I don't know of your specific error, but note that ipw2200 version in 2.6.14 is 1.0.0, which may or may not work for your card. If you want you may keep the gentoo packages until they will be updated in a future kernel version. I succesfully compiled

```
[ebuild   R   ] net-wireless/ieee80211-1.1.6  -debug 0 kB

[ebuild   R   ] net-wireless/ipw2200-1.0.8  -debug -radiotap 0 kB
```

on Gentoo 2.6.14 yesterday, there was a problem with the sandbox for ieee80211 but it seems it have been solved.

Obviously you have to disable ieee80211 and ipw2200 in kernel before doing it.

----------

## zx2c4

Why do they not add the latest to the kernel?

----------

## dgaffuri

Good question, they're waiting for Intel people to do something.

http://marc.theaimsgroup.com/?l=linux-kernel&m=112716382914915&w=2

----------

## btlee

i could solve the problem after i applied git-patch 

and then replaced ipw2200.c/ipw2200.h of kernel into the ones of ipw2200 package.

----------

## zx2c4

what is the git-patch?

----------

## btlee

 *zx2c4 wrote:*   

> what is the git-patch?

 

AFAIK, git patch is make(?) by Linus.

look at the folllowing url.

http://www.kernel.org/

----------

## zx2c4

is it in portage?

----------

## dgaffuri

Git "patch" is the daily snapshot of the Linus kernel tree. Would you like to use a daily snapshot as your kernel? I would wait at least a couple of weeks for 2.6.15-rc1. Anyway ipw2200 have not been updated in the kernel tree. Rather than substituting sources I strongly suggest to disable iee80211 and ipw2200 from kernel and use up to date packages from portage.

----------

## btlee

as you said, git is a snapshot version, but it is a snapshot for a stable kernel.

i think that git for stable kernel is more stable than rc version.

----------

## zx2c4

The kernel was released 2 days ago. These drivers have been out for ages. Why does the kernel have old drivers?

----------

## dgaffuri

What do you mean exactly with "a snapshot of a stable kernel"? Stable kernels are 2.6.x and 2.6.x.y. Git snapshots are daily photographs of the state of the kernel while progressing to the next release. In the first two weeks from a major one (2.6.x) all new features are thrown in the git tree (and we are exactly in this phase). After that 2.6.(x + 1)-rc1 is made and in the following (some months) only stabilizing patches are accepted, progressing through release candidates until stable 2.6.(x + 1). In the meanwhile 2.6.x.y stables are released including only bug fixes.

----------

## dgaffuri

 *zx2c4 wrote:*   

> The kernel was released 2 days ago. These drivers have been out for ages. Why does the kernel have old drivers?

 

Look the answer just above

 *dgaffuri wrote:*   

> Good question, they're waiting for Intel people to do something.
> 
> http://marc.theaimsgroup.com/?l=linux-kernel&m=112716382914915&w=2

 

----------

## anggarda

Got the my centrino working off the vanilla kernel. 

I compiled, the ipw2200 as a modules whilst building the ieee80211 into the kernel. 

Had to emerge ipw2200-firmware version 2.3 off portage. 

Cleaner implementation. 

Salut.

----------

## dgaffuri

 *anggarda wrote:*   

> Got the my centrino working off the vanilla kernel. 
> 
> I compiled, the ipw2200 as a modules whilst building the ieee80211 into the kernel. 
> 
> Had to emerge ipw2200-firmware version 2.3 off portage. 
> ...

 

Didi you emerge ipw2200 (I suppose so or you would have needed firmware 2.2) or you've used the kernel version? In the first case, which version of ipw2200?

----------

## anggarda

I believe the recommended firmware revision for version 1.0 of the driver(in the kernel) is version 2.2 

As mentioned, I emerged "ipw2200-firmware-2.3.ebuild", version 2.3 gives me better reception strength compared to version 2.2 

I didn't have to emerge "ipw2200" nor "ieee80211". 

"ieee80211" was build in the kernel. 

"ipw2200" was compiled as a module. Do not build this directly into the kernel, you'll run into problems with firmware loading. 

Salut.

----------

## dgaffuri

I've seen that ipw2100 and 2200 drivers have been updated to the latest version in Linus git repository, so they will be in 2.6.15-rc1 (which I think is about to be released).   :Very Happy: 

----------

## taskara

Forgive my ignorance, but can anyone tell me how I can grab a specific patch from the git?

Wondering if I can apply the patch to fix ipw2200 to 2.6.14 kernel?

-c

----------

## dgaffuri

You have to know which patches to apply, and it's not said they will work without applying other patches too. 2.6.15 is near (I'm running my laptop on rc5 without problems, and I used the portage provided modules with 2.6.14).

Anyway, if you don't want to get a local git repository, you may go to http://www.kernel.org and click on the "C" link near 2.6.15-rc5. Here you will see all commits in reverse chronological order. If you want to find those applied to a file you may click on the "tree" link in the line below the header. Once you find a commit you may find changes by clicking on the "commitdiff" link.

If you instead have a local repository you may use

```
git-whatchanged <path to file>
```

and once you find the desired patch use the commits in the line above it

```
diff-tree <new commit> (from <old commit>)
```

to run

```
git diff <old commit> <new commit>
```

I'm sure there are better ways, but I don't know them.   :Very Happy: 

----------

