# ipw2200 cannot use encryption

## jbc28

Hi,

For some time now I've been trying to get my intel 2200 wireless card working with encryption.

No luck. I think I'm missing kernel options as whenever I try to set keys/encryption I get: 

```

Error for wireless request "Set Encode" (8B2A) :

    SET failed on device eth1 ; Operation not supported.

```

Hopefully relevant kernel info:

#

# Cryptographic options

#

All set to Y

Without encryption the card works perfectly. 

Thanks for any help you can give,

J

----------

## jajirov

I use the same drivers, you're trying to use WEP and WPA? only WEP? driver version would also help..

bye

----------

## jbc28

Driver version is 1.0.3. Neither WEP nor WPA work.

Thanks for your help,

J

----------

## jajirov

So when you type 

iwconfig eth1 essid XXX enc AAAAAAAAAAA

replacing XXX and AAAAAAAA with the apropiate parameters it gives you the error code you showed?

----------

## jbc28

Yup, that's exactly what happens. Really not sure why. As I say no encryption works fine.

J

----------

## beatryder

Have you tried using the ~x86 version 1.0.4

```

# ACCEPT_KEYWORDS="~x86" emerge ipw2200 ipw2200-firmware

```

that should install the latest version, 1.0.4

That or you can use wpa-supplicant

there is a how to on the gentoo-wiki.org

----------

## jbc28

I don't think I should need to. Any problems with the driver I'm using now will still be there, it's probably bad kernel config.

I wish I knew what I needed to change

----------

## beatryder

I am using the newest version of the ipw2200 drivers, there is updated firmware as well.

Its not going to hurt you try it, at least this way we can rule out the possibility

----------

## jbc28

Tried the 1.04 drivers, same result. As you say worth a try.

If anyone has working kernel config maybe they could tell me what I'm missing? 

All the encryption options are enabled, I can't think what's wrong!

----------

## jajirov

Here's my config file, compare

```

#

# Cryptographic options

#

CONFIG_CRYPTO=y

# CONFIG_CRYPTO_HMAC is not set

# CONFIG_CRYPTO_NULL is not set

# CONFIG_CRYPTO_MD4 is not set

# CONFIG_CRYPTO_MD5 is not set

# CONFIG_CRYPTO_SHA1 is not set

# CONFIG_CRYPTO_SHA256 is not set

# CONFIG_CRYPTO_SHA512 is not set

# CONFIG_CRYPTO_WP512 is not set

# CONFIG_CRYPTO_DES is not set

# CONFIG_CRYPTO_BLOWFISH is not set

# CONFIG_CRYPTO_TWOFISH is not set

# CONFIG_CRYPTO_SERPENT is not set

CONFIG_CRYPTO_AES_586=m

# CONFIG_CRYPTO_CAST5 is not set

# CONFIG_CRYPTO_CAST6 is not set

# CONFIG_CRYPTO_TEA is not set

CONFIG_CRYPTO_ARC4=m

# CONFIG_CRYPTO_KHAZAD is not set

# CONFIG_CRYPTO_ANUBIS is not set

# CONFIG_CRYPTO_DEFLATE is not set

CONFIG_CRYPTO_MICHAEL_MIC=m

# CONFIG_CRYPTO_CRC32C is not set

# CONFIG_CRYPTO_TEST is not set

```

and this works perfectly for me

compare and let us know how it goes

----------

## kottlettstanze

Are you sure that all modules have been loaded? lsmod should show something like this:

```
ieee80211_crypt_tkip     9732  0

ieee80211_crypt_ccmp     6852  0

ieee80211_crypt_wep     4164  0

ipw2200               175112  0

ieee80211              44228  1 ipw2200

ieee80211_crypt         4872  5 ieee80211_crypt_tkip,ieee80211_crypt_ccmp,ieee80211_crypt_wep,ipw2200,ieee80211
```

BTW, if you like to use swsusp2, you might need the 1.0.4 version.

----------

## jbc28

All modules loaded, all encryption options included as modules. Try to turn on encryption and the same problem's there:

```
SET failed on device eth1 ; Operation not supported.
```

If anyone has a sony vaio pcg-z1xmp a working kernel config is probably all I need. As I said, without encryption it works fine.

J

----------

## pijalu

 *jbc28 wrote:*   

> All modules loaded, all encryption options included as modules. Try to turn on encryption and the same problem's there:
> 
> ```
> SET failed on device eth1 ; Operation not supported.
> ```
> ...

 

To avoid to spam the forum, i got a working Sony vaio VGN FS-115M with working ipw2200 and encryption, pm me your email and i will send you my current kernel config (2.6.12) and wireless conf.d file

In case of, what the output of  

```

lspci | grep 2200

```

and 

```

lsmod | grep 2200

```

and

```

iwconfig

```

----------

## dager

I was using an old version of the ipw2200 drivers (0.15) and all was working well.  I upgraded my kernel from 2.6.9 to 2.6.12, and had to unmerg emerge ipw2200 because it is a module. with the old version of the drivers, everything worked perfectly, with the new version, i'm getting the same error message whenever i attempt to set the WEP Encryption.  Works on open network, just not with WEP

Error for wireless request "Set Encode" (8B2A) :

    SET failed on device eth1 ; Operation not supported.

If anyone has found a solution to this problem, I could use the help.  

p.s. I still have my old sources from ipw2200 0.15, if someone can tell me how to installl them? (i don't have the ebuild) it would be greatly appreciated.   thanks

----------

## pijalu

What version are you using ?

On my gentoo-2.6.12-r6, no WEP problems with following versions:

 *Quote:*   

> 
> 
> [ebuild   R   ] net-wireless/ipw2200-1.0.6  -debug 0 kB
> 
> [ebuild   R   ] net-wireless/ipw2200-firmware-2.3  0 kB
> ...

 

Maybe try re-emerging all these one (after a portage sync)

```

emerge ipw2200 ipw2200-firmware ieee80211

```

After a clean reboot, try a 

```

iwconfig ethX enc "s:test"

```

With ethX your wifi card

and check for errors...

If any, post them and include the result of 

```

lsmod

iwconfig

emerge -pv ipw2200 ipw2200-firmware ieee80211 wireless-tools

```

----------

## dager

ok, here's what happend.  

I first did this

```
emerge -C ipw2200 && emerge -C ipw2200-firmware && emerge -C ieee80211
```

then did this

```
emerge -C ipw2200 && emerge -C ipw2200-firmware && emerge -C ieee80211
```

well....

```
Calculating dependencies

!!! All ebuilds that could satisfy "ieee80211" have been masked.

!!! One of the following masked packages is required to complete your request:

- net-wireless/ieee80211-1.0.1 (masked by: ~x86 keyword)

- net-wireless/ieee80211-1.0.3 (masked by: ~x86 keyword)

- net-wireless/ieee80211-1.0.2 (masked by: ~x86 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or

section 2.2 "Software Availability" in the Gentoo Handbook.

trino dager # echo "=net-wireless/ieee80211-1.0.3" >> /etc/portage/package.keywords

trino dager # emerge ieee80211 -a

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[blocks B     ] <=net-wireless/ipw2200-1.0.4 (is blocking net-wireless/ieee80211-1.0.3)

[ebuild  N    ] net-wireless/ieee80211-1.0.3

!!! Error: The above package list contains packages which cannot be installed

!!!        on the same system.
```

And do you mean ipw2200-1.0.3 ???? 1.0.6 isn't in portage.  

but anyway, after i do that, i check out the section on blocked packages

http://www.gentoo.org/doc/en/handbook/2005.0/handbook-x86.xml?part=2&chap=1#doc_chap4

and i unmerge the offending package (ipw2200)

everything seems fine and dandy, ieee80211 emerges sucessfully, but then when i try...

```
trino dager # emerge -a ipw2200

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[blocks B     ] net-wireless/ieee80211 (is blocking net-wireless/ipw2200-1.0.3)

[ebuild  N    ] net-wireless/ipw2200-1.0.3

!!! Error: The above package list contains packages which cannot be installed

!!!        on the same system.
```

i get the same problem again in the other direction.   

Thanks for your help, not sure what to do now..... i'll try some things... 

oh, and right now, 

```
trino dager # lsmod

Module                  Size  Used by

ipw2200               149096  -

ieee80211              36580  -

ieee80211_crypt         4264  -
```

```
trino dager # iwconfig

lo        no wireless extensions.

eth0      no wireless extensions.

eth1      unassociated  ESSID:off/any

          Mode:Managed  Channel=0  Access Point: 00:00:00:00:00:00

          Bit Rate=0 kb/s   Tx-Power=20 dBm

          RTS thr:off   Fragment thr:off

          Encryption key:off

          Power Management:off

          Link Quality:0  Signal level:0  Noise level:0

          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
```

eth1 is my wireless device

```
trino dager # emerge -pv ipw2200 ipw2200-firmware ieee80211 wireless-tools

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[blocks B     ] net-wireless/ieee80211 (is blocking net-wireless/ipw2200-1.0.3)

[blocks B     ] <=net-wireless/ipw2200-1.0.4 (is blocking net-wireless/ieee80211-1.0.3)

[ebuild  N    ] net-wireless/ipw2200-1.0.3  -debug 0 kB

[ebuild   R   ] net-wireless/ipw2200-firmware-2.2  0 kB

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

[ebuild     U ] sys-libs/readline-5.0-r2 [4.3-r5] 1,777 kB

[ebuild  N    ] sys-apps/sysvinit-2.86  -bootstrap -build -ibm (-selinux) -static 100 kB

[ebuild     U ] app-shells/bash-3.0-r12 [2.05b-r9] -bashlogger -build +nls 2,404 kB

[ebuild     U ] sys-apps/baselayout-1.11.13 [1.9.4-r6] -bootstrap -build -static -unicode 152 kB

[ebuild     U ] net-wireless/wireless-tools-27-r1 [27_pre26] +nls 183 kB
```

thanks...

----------

## pijalu

easiest thing to do (to be sure everything is clean and nice, and avoid blocking pkg) :

Remove all ipw2200 things

```

emerge unmerge ipw2200 ipw2200-firmware ieee80211

```

Unmask latest ipw2200 versions...

```

echo "net-wireless/ieee80211 ~x86" >> /etc/portage/package.keywords

echo "net-wireless/ipw2200 ~x86" >>/etc/portage/package.keywords

echo "net-wireless/ipw2200-firmware ~x86" >>/etc/portage.keywords

```

Try to emerge ipw2200 alone, he should come up with his right deps (this should emerge the firware and ieee as well)

```

emerge ipw2200

```

note:1.0.6 is for ~x86, ~amd64 is at 1.0.4

Then retry a nice reboot or rmmod all ipw2200 modules manually (obviously the ones name ipw2200/ieee80211 family) and modprobe them...

give a shoot to dmesg to see what's on the hood...

```

dmesg | grep ipw2200

dmesg | grep ieee80211

```

You should get these one with lsmod

```

ipw2200               171528  0

firmware_class          7552  1 ipw2200

ieee80211              44164  1 ipw2200

ieee80211_crypt         4612  2 ipw2200,ieee80211

```

If fine up to here, give a try to the wep... should works... or at least i hope it will  :Wink: 

If not, errors and the result of the 2 dmesg  :Smile: 

----------

## dager

ok.... here's what happend..

```
trino dager # emerge unmerge ipw2200 ipw2200-firmware ieee80211

--- Couldn't find ipw2200 to unmerge.

 net-wireless/ipw2200-firmware

    selected: 2.2

   protected: none

     omitted: none

 net-wireless/ieee80211

    selected: 1.0.3

   protected: none

     omitted: none

>>> 'Selected' packages are slated for removal.

>>> 'Protected' and 'omitted' packages will not be removed.
```

unmerge went fine.... but then..

```
trino dager # echo "net-wireless/ieee80211 ~x86" >> /etc/portage/package.keywords

trino dager # echo "net-wireless/ipw2200 ~x86" >>/etc/portage/package.keywords

trino dager # echo "net-wireless/ipw2200-firmware ~x86" >>/etc/portage.keywords
```

ok, echo to unmaske the packages... but...

```
trino dager # emerge ipw2200

Calculating dependencies /

!!! All ebuilds that could satisfy "=net-wireless/ipw2200-firmware-2.3" have been masked.

!!! One of the following masked packages is required to complete your request:

- net-wireless/ipw2200-firmware-2.3 (masked by: ~x86 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or

section 2.2 "Software Availability" in the Gentoo Handbook.

!!!    (dependency required by "net-wireless/ipw2200-1.0.6" [ebuild])

```

so i try

```
trino dager # echo "net-wireless/ipw2200-firmware-2.3.ebuild ~x86" >>/etc/portage.keywords

```

thinking that i need to unmask that specific ebuild??? but when i try

```
trino dager # emerge ipw2200

Calculating dependencies /

!!! All ebuilds that could satisfy "=net-wireless/ipw2200-firmware-2.3" have been masked.

!!! One of the following masked packages is required to complete your request:

- net-wireless/ipw2200-firmware-2.3 (masked by: ~x86 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or

section 2.2 "Software Availability" in the Gentoo Handbook.

!!!    (dependency required by "net-wireless/ipw2200-1.0.6" [ebuild])

```

 :Confused: 

also..

```
trino dager # dmesg |grep ipw2200

ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.3

ipw2200: Copyright(c) 2003-2004 Intel Corporation

ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
```

```
trino dager # dmesg |grep ieee80211

ieee80211_crypt: registered algorithm 'NULL'
```

```
trino dager # lsmod

Module                  Size  Used by

ipw2200               149096  -

ieee80211              36580  -

ieee80211_crypt         4264  -
```

----------

## pijalu

my fault, made a typo... sorry

it should be

```

echo "net-wireless/ipw2200-firmware ~x86" >>/etc/portage/package.keywords

```

Not portage.keywords.... keywords for specific packages are stored in /etc/portage/package.keywords

(And ALWAYS take care to use >> , otherwise you will delete the previous content of the files)

 :Rolling Eyes: 

You can delete the /etc/portage.keywords btw  :Wink: 

```

rm /etc/portage.keywords

```

With this, everything should be fine  :Smile: 

----------

## dager

Ok, everything installed w/o a hitch, but one thing.  I use app-admin/quickswitch to mange my network connections.  If i do 

```
iwconfig eth1 key <mykey>
```

I don't get the old error message, but if i try to use quickswitch 

```
switchto networkName
```

i get this error

```
trino dager # switchto wiest

QuickSwitch 1.05 Mohit Muthanna, Paul Seamons 2002

Using service: wiest

Can't exec "/usr/sbin/iwconfig": No such file or directory at /usr/bin/switchtoline 655.

Can't exec "/usr/sbin/iwconfig": No such file or directory at /usr/bin/switchtoline 655.
```

i know this isn't really the post for this, but can someone help me w/ this, or direct me to a different connection manager?? perhaps one that i can setup to initailize from Grub on startup ? (two different questions i know, can someone direct me to the post for one or both problems??)

thanks..

----------

## pijalu

A dirty fix to your problem with "quickswitch"

```

ln -s /sbin/iwconfig /usr/sbin/iwconfig

```

(Should be some conf files, but i don't use quickswitch... so...  :Smile:  )

EDIT:

You should edit the conf file (/etc/quickswitch/switchto.conf i guess) of quick switch to point to the right iwconfig 

```

...

iwconfig=/sbin/iwconfig

...

```

Note:You can get the full iwconfig path using (if not /sbin/iwconfig, change in the config withthe path of your system)

```

type iwconfig

```

----------

## pijalu

For the grub thing, i guess you wish to have multiple entry to load with the right access point ?

If it really what you want, here come the trick

Add to /etc/conf.d/local.start the following 

```

ENTRYNAME="quickswitch"

for entry in `cat /proc/cmdline`

do

   item=`echo $entry | awk -F\= '{print $1}'`

   if [[ $item == "$ENTRYNAME" ]]

   then

      value=`echo $entry | awk -F\= '{print $2}'`

      echo "QuickSwitching to $value"

      /usr/bin/switchto $value

   fi

done

```

Now, you can add multiple grub entry with a kernel param called "quickswitch"

example:(need to be changed following YOUR configuration/kernel/...)

```

title Home_gentoo-2.6.12-r6

root (hd0,7)

kernel (hd0,7)/vmlinuz-2.6.12-gentoo-r6 ro root=/dev/hda7 video=vesafb:mtrr,ywrap,1280x800-16@60 resume=/dev/hda6 quickswitch=home

title Office_gentoo-2.6.12-r6

root (hd0,7)

kernel (hd0,7)/vmlinuz-2.6.12-gentoo-r6 ro root=/dev/hda7 video=vesafb:mtrr,ywrap,1280x800-16@60 resume=/dev/hda6 quickswitch=office

```

To have a grub entry to load with a call to switchto home and one with a switchto office

----------

## AgtSkippy

wait wait wait a minute...

at the VERY beginning, could it have been possible that you needed to add "s:" as in. "s:AAAAA" to your key?  This is only necessary with ASCII encryption keys, but I didn't see if you had tried this... of course, you may have. I'm gonna go read the thread again...

like so...

```
#iwconfig eth1 essid XXX enc s:AAAAA
```

lol, just a thought...

----------

## dager

No, i use HEX keys for my network, so that wasn't the problem  :Smile: 

Hmm, everything was working, i was about to try seting up the boot params, and i emerged something that stops X from starting up.... i can still start x w/ my old kernel, but wireless dosen't work on it, so i'll just have to troublshoot through lan

----------

## pijalu

 *dager wrote:*   

> No, i use HEX keys for my network, so that wasn't the problem 
> 
> Hmm, everything was working, i was about to try seting up the boot params, and i emerged something that stops X from starting up.... i can still start x w/ my old kernel, but wireless dosen't work on it, so i'll just have to troublshoot through lan

 

For your wireless, normally a re-emerge of ipw2200 and ieee80211 should make it work on the old kernel

```

emerge ipw2200 ieee80211

```

(Unless you have disabled some settings in the "old" kernel config....)

----------

## dager

Getting wireless to work under my old kernel is less a concern as getting X to work under my new kernel.  I'm not sure what it is.... reply to my thread https://forums.gentoo.org/viewtopic-t-366772-highlight-.html <-- here if you want to help me w/ that problem.. re-emerging the drivers seems to work to get it working wherever i need them to.. although i think that i've got the wireless problem under control.. 

tx

----------

## dager

Hmmm, probably me just not knowing enough but, how do i start a wireless connection? all i need is

```
iwconfig eth1 essid nameOfAP

iwconfig eth1 key MYHEXKEY
```

when i do that, everything shows up fine when i run iwconfig, but when i try to

```
# ping www.google.com

ping: unknown host www.google.com
```

Looks like the computer doesn't have any dhcp?? but if it ry

```
# ping 10.0.1.254

connect: Network is unreachable
```

not sure what i'm doing wrong... the network is up, i can ping the devices via lan and via windows wireless connection...

----------

## pijalu

The problem is you didn't launch dhcp yet on this device (from what i see)

Give a try to 

```

ifconfig ethX up (the interface MUST be up)

iwconfig ethX essid MYESSID key xxxxx channel X (try associated)

iwconfig (check you are associated - AP mac should be correct)

dhcpcd ethX (this one will get an IP and the gateway)

ifconfig ethX (check you got an IP)

```

then 

```

route

```

should give you something like

```

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.123.0   *               255.255.255.0   U     0      0        0 eth0

loopback        localhost.local 255.0.0.0       UG    0      0        0 lo

default         192.168.123.254 0.0.0.0         UG    0      0        0 eth0

```

Hope this will help

----------

## dager

Hmm, i figured it was a lack of dhcp, but i wasn't quite shure how to go about it, Works now, thanks!

----------

## XMath

Hi there,

i`d like to go back to the thread starters problem:

 *jbc28 wrote:*   

> Hi,
> 
> For some time now I've been trying to get my intel 2200 wireless card working with encryption.
> 
> No luck. I think I'm missing kernel options as whenever I try to set keys/encryption I get: 
> ...

 

Try 

```
iwpriv eth1
```

and check if 8B2A is the correct code for SetEncode.

I figured this out because when i try iwconfig eth1 power on, i get:

```
MobileGentoo ~ # iwconfig eth1 power on

Error for wireless request "Set Power Management" (8B2C) :

    SET failed on device eth1 ; Operation not supported.

```

iwpriv gives me:

```
MobileGentoo ~ # iwpriv eth1

eth1      Available private ioctl :

          set_power        (8BE0) : set   1 int   & get   0

          get_power        (8BE1) : set   0       & get  80 char

          set_mode         (8BE2) : set   1 int   & get   0

          get_mode         (8BE3) : set   0       & get  80 char

          set_preamble     (8BE4) : set   1 int   & get   0

          get_preamble     (8BE5) : set   0       & get  16 char

          reset            (8BE6) : set   0 int   & get   0

          sw_reset         (8BE7) : set   0 int   & get   0

          monitor          (8BE8) : set   2 int   & get   0

```

And iwpriv eth1 set_power 1 works fine.

As you can see iwconfig uses 8B2C where iwpriv gives 8BE0.

Has anyone an idea how to fix this?

EDIT: Ok, well it was a user failure. It must be iwconfig eth1 power 1, not iwconfig eth1 power on.  :Embarassed: 

----------

