KDE networkmanager not converting WEP passphrase

My friend and I spent two weeks trying to find out why my openSUSE laptop wouldn’t connect to his router using WEP. We finally figured out that the KDE networkmanager was not translating the passphrase into the hexidecimal number (default key #1). Once we entered the hexidecimal number, it connected with no problems. He uses Ubuntu on his test laptop (Windows guy). Ubuntu, and kubuntu via live CD, both connected only using the passphrase. I didn’t have an openSUSE Gnome live CD to test weather this is KDE specific or not. Can anyone confirm or deny this bug in openSUSE Gnome, or is it an openSUSE specific bug?

I’ve never actually used WEP, so I could be wrong here.

It is my impression that passphrases were never properly standardized for WEP, and therefore the conversion from passphrase to hex key is not reliable. They fixed that for WPA, but left WEP as it was, probably to avoid causing even more confusion.

I’m pretty sure this is normal - but I could be wrong
Larry will know

I don’t know why he still uses WEP. It used to be because their Wii didn’t support WPA2, but that isn’t the case anymore. I forgot to mention that Windows 7 also connects just using the passphrase. I wonder if Ubuntu/Windows has some bits in networkmanager that we don’t have. Kubuntu uses the Ubuntu backend, and the KDE frontend to work around this I think. It was odd that only openSUSE wouldn’t connect. Maybe Larry can enlighten me on this mystery.

On 02/06/2011 12:36 PM, caf4926 wrote:
>
> I’m pretty sure this is normal - but I could be wrong
> Larry will know

It is normal. The IEEE never standardized. Some products use one form, and some
the other. In particular, Windows and Linux are different. You can use a
passphrase to set up your router, but copy down the key and use it for all
clients. For WPA/WRA2, there is only one allowed conversion, thus the passphrase
is OK.

As for using WEP, it can be broken in 5 minutes, or less. It is OK to keep the
idle curious out of your network, but it is no security. It takes more work, but
WPA can also be cracked. If you want real security use WPA2 with a long phrase
(> 20 characters) that cannot be found in a dictionary. Mine is a 28 character
phrase where the spaces are replaced by special characters. It is easily
remembered, but quite secure.

I wonder what method Ubuntu uses to make this work? Ubuntu connected consistently with only the passphrase for WEP 128bit, which means it knew how to make the conversion from the ascii passphrase we entered to the 26 character hexadecimal (default key #1). I don’t want to get flamed. I use openSUSE, but if there is something to make openSUSE better, I think it should be explored. I’m in over my head. I found a script in Kubuntu in /etc/wpa_supplicant named functions.sh that seems to hold some key to the WEP problem. I haven’t found the equivalent bits in openSUSE.


/etc/wpa_supplicant/functions.sh:462:   *-psk|*-passphrase|*-passwd*|*-wep-key*)
/etc/wpa_supplicant/functions.sh:539:           wep_key*)
/etc/wpa_supplicant/functions.sh:540:                   ENC_TYPE="WEP"
/etc/wpa_supplicant/functions.sh:550:   if  "$ENC_TYPE" = "WEP" ]; then
/etc/wpa_supplicant/functions.sh:554:                                   # 64/128/152/256-bit WEP
/etc/wpa_supplicant/functions.sh:567:                           wpa_msg stderr "WARNING: plaintext or ascii WEP key has $KEY_LEN characters,"
/etc/wpa_supplicant/functions.sh:788:           if  -n "$IF_WPA_WEP_KEY0" ]; then
/etc/wpa_supplicant/functions.sh:789:                   wpa_key_check_and_set "$IF_WPA_WEP_KEY0" \
/etc/wpa_supplicant/functions.sh:790:                           wep_key0 wpa-wep-key0
/etc/wpa_supplicant/functions.sh:793:           if  -n "$IF_WPA_WEP_KEY1" ]; then
/etc/wpa_supplicant/functions.sh:794:                   wpa_key_check_and_set "$IF_WPA_WEP_KEY1" \
/etc/wpa_supplicant/functions.sh:795:                           wep_key1 wpa-wep-key1
/etc/wpa_supplicant/functions.sh:798:           if  -n "$IF_WPA_WEP_KEY2" ]; then
/etc/wpa_supplicant/functions.sh:799:                   wpa_key_check_and_set "$IF_WPA_WEP_KEY2" \
/etc/wpa_supplicant/functions.sh:800:                           wep_key2 wpa-wep-key2
/etc/wpa_supplicant/functions.sh:803:           if  -n "$IF_WPA_WEP_KEY3" ]; then
/etc/wpa_supplicant/functions.sh:804:                   wpa_key_check_and_set "$IF_WPA_WEP_KEY3" \
/etc/wpa_supplicant/functions.sh:805:                           wep_key3 wpa-wep-key3
/etc/wpa_supplicant/functions.sh:808:           wpa_cli_do "$IF_WPA_WEP_TX_KEYIDX" raw \
/etc/wpa_supplicant/functions.sh:809:                   set_network wep_tx_keyidx wpa-wep-tx-keyidx

There is nothing better about WEP anyway
And yes, this is openSUSE