SOLVED - [kind of] 3.0 Shared Key Wireless Error

Please post any bugs you have found
Message
Author
friedsonjm
Posts: 208
Joined: Sat 10 Mar 2007, 14:49

#46 Post by friedsonjm »

... and latest release is:
release Name: 0.9.3.3

Notes:
3b454351fd533bdf361a7fbc525a525f madwifi-0.9.3.3.tar.bz2
20349fdcaf38b8ae3296ef09146e5851 madwifi-0.9.3.3.tar.gz


Changes:
This release fixes a remote DoS security issue, as well as
compilation for kernel 2.6.23.

More detailed information about this release is available at
[1] and in the announcement made on the mailing lists (see
archives, for example [2]).

[1] http://madwifi.org/wiki/Releases/0.9.3.2
[2] http://article.gmane.org/gmane.linux.dr ... user/13222

friedsonjm
Posts: 208
Joined: Sat 10 Mar 2007, 14:49

#47 Post by friedsonjm »

Spent some time tonight playing with ndiswrapper and various windoze versions of the driver; no dice, same problem with all. Am concluding that this is certainly not a driver issue, per say. Am out of things to suggest at this point.
jf

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#48 Post by tempestuous »

friedsonjm, I just compiled wpa_supplicant in Puppy 3.0 to see if this will fix the problem.
If WPA now works from the Wizard, that's great ... but I really need you to run the commands manually, because this way you will see any error messages.

First, I suggest you install the madwifi-0.9.3.3-patch-k2.6.21.7.pet from earlier in this thread. It's the latest version of the ath_pci driver, and the patch should not make too much difference.

Then modify /etc/wpa_supplicant.conf to include your ESSID and Personal Security Key.

Now install the new wpa_supplicant package, and run these commands -

Code: Select all

rmmod ath_pci
modprobe ath_hal
modprobe wlan
modprobe wlan_scan_ap
modprobe wlan_wep
modprobe wlan_tkip
modprobe wlan_ccmp
modprobe ath_pci
ifconfig ath0 up
rm /var/run/wpa_supplicant/*
wpa_supplicant -i ath0 -D wext -c /etc/wpa_supplicant.conf -dd
If the wpa_supplicant command runs successfully, now open a second terminal and do this -

Code: Select all

rm /etc/dhcpc/*.pid
dhcpcd -t 30 -h puppypc -d ath0
If no success, reboot and run the entire sequence again, but this time add this command after "ifconfig ath0 up" -

Code: Select all

iwpriv ath0 mode 11g
EDIT: not "iwpriv ath0 mode 3"

If this iwpriv command fails, please just run this -

Code: Select all

iwpriv
and report the list of iwpriv parameters.
Attachments
wpa_supplicant-0.5.8-test01.pet
compiled under Puppy 3.00
(140.93 KiB) Downloaded 337 times
Last edited by tempestuous on Thu 15 Nov 2007, 17:46, edited 1 time in total.

friedsonjm
Posts: 208
Joined: Sat 10 Mar 2007, 14:49

#49 Post by friedsonjm »

Bombing out after ifconfig ath0 up
I lost the error message, can try for it again if need be.
Using the wizard, and plugging in the passphrase results, WPA tries to work, but a connection is never established...

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#50 Post by tempestuous »

friedsonjm wrote:Bombing out after ifconfig ath0 up
That suggests that the ath_pci driver has failed to load properly, or is not compatible with your wifi device ...
which makes no sense, because you said in an earlier post that you could get unencrypted connections.
Are you sure you ran the modprobe commands correctly?

Or maybe the ndiswrapper driver is still loaded? If so, unload this from the Wizard. Preferably, uninstall the ndiswrapper driver.

friedsonjm
Posts: 208
Joined: Sat 10 Mar 2007, 14:49

#51 Post by friedsonjm »

More than just unencrypted.. You will love this... tried the wireless WPA at work today, just as it is 'out of the box,' and it worked fine! WPA2 connection.. now, this is what I've found:

1. Work WPA key is 13 digits long.
2. Home WPA key is the bare minimum 8 digits long. [But works with windoze and other PCLINUXOS.]

After playing around with this, I've found that Puppy rejects anything shorter than 9 digits long, not the 8 demanded by WPA. That is the error message that has been driving us all crazy. For whatever reason, even using the passphrase does not get around this 'checking.'

I have not changed my home network - too many machines in my house already configured for what I'm using. Will try that next week if we still don't have 'it' solved.

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#52 Post by tempestuous »

There's no need to change the passphrase on your network.
To connect with WPA using an 8 digit passphrase, just run the commands manually.
I'm 99% sure that wpa_supplicant will work fine when run this way. It's just the Wizard that is failing to accommodate a shorter passphrase. Eventually the Wizard will be fixed ... but I need to make a separate post about this, because the Wizard was written by several different people.

friedsonjm
Posts: 208
Joined: Sat 10 Mar 2007, 14:49

#53 Post by friedsonjm »

I did try all manually; same result, would not connect WPA at home.

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#54 Post by tempestuous »

friedsonjm,
There's not enough detail in your reporting to diagnose the problem, but here's the status so far:
friedsonjm wrote:tried the wireless WPA at work today, just as it is 'out of the box,' and it worked fine!
OK, so the Network Wizard DOES work (which I already knew), at least in some situations.
friedsonjm wrote:Puppy rejects anything shorter than 9 digits long, not the 8 demanded by WPA.
This suggests that the Wizard fails to handle an 8 digit WPA passphrase ... but there are other possible differences between your work and home wifi networks, besides passphrase length.
friedsonjm wrote:I did try all manually; same result, would not connect WPA at home.
So even when you bypass the Wizard, WPA connection still fails. Then the Wizard is not necessarily at fault.
... but I'm concerned that you may not be running the commands correctly. A surefire way to check this would be to run the manual commands at work, where we have established that WPA connections are possible with your hardware.
I would like to confirm that you can definitely run the commands and successfully connect to your work network.
The correct sequence of commands is listed 5 posts earlier in this thread.
If unsuccessful, PLEASE advise the exact command that gave the error, and what the error was.

And let me double-check; the very first step is to modify your /etc/wpa_supplicant.conf file to contain your SSID and passphrase.

And also let me check something else; your home and work networks use WPA encryption, right? Not WPA2?

friedsonjm
Posts: 208
Joined: Sat 10 Mar 2007, 14:49

#55 Post by friedsonjm »

Hmmm.. home is WPA-PSK, work is WPA2 .. jf

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#56 Post by tempestuous »

OK, WPA2 is fine, but I need to know that.

So the correct commands to connect to your work network are slightly different:
modify /etc/wpa_supplicant2.conf (not /etc/wpa_supplicant.conf)

and in the wpa_supplicant command, substitute /etc/wpa_supplicant.conf with /etc/wpa_supplicant2.conf

friedsonjm
Posts: 208
Joined: Sat 10 Mar 2007, 14:49

#57 Post by friedsonjm »

1st note: wpa_supplicant2.conf is:

ctrl_interface=/var/run/wpa_supplicant
ap_scan=2

network={
ssid="xxxxxx"
psk=" my psk key "
proto=RSN
key_mgmt=WPA-PSK
group=CCMP TKIP
}

friedsonjm
Posts: 208
Joined: Sat 10 Mar 2007, 14:49

#58 Post by friedsonjm »

Code:
rmmod ath_pci
modprobe ath_hal
modprobe wlan
modprobe wlan_scan_ap
modprobe wlan_wep
modprobe wlan_tkip
modprobe wlan_ccmp
modprobe ath_pci
ifconfig ath0 up
rm /var/run/wpa_supplicant/*

at this point returns:
rm: cannot remove 'var/run/wpa_supplicant/*' No such file or directory

I went in and found the directory and removed manually

wpa_supplicant -i ath0 -D wext -c /etc/wpa_supplicant2.conf -dd

failed to connect, adding:
iwpriv ath0 mode 3
and running all again..


running iwpriv in a separate window get me a lot of lines! Is there some way to output the results of this to a file? In old 'DOS' days, I would have redirected output to a text file with ">", which seems to work here, too! Will have to boot up the other machine on ethernet to continue this...

and here is the rest of it, the iwpriv output:

ath0 Available private ioctls :
setoptie (8BEE) : set 256 byte & get 0
getoptie (8BEF) : set 0 & get 256 byte
setkey (8BF2) : set 60 byte & get 0
delkey (8BF4) : set 7 byte & get 0
setmlme (8BF0) : set 42 byte & get 0
addmac (8BF6) : set 1 addr & get 0
delmac (8BF8) : set 1 addr & get 0
kickmac (8BFE) : set 1 addr & get 0
wds_add (8BFA) : set 1 addr & get 0
wds_del (8BFC) : set 1 addr & get 0
setchanlist (8BE6) : set 32 byte & get 0
getchanlist (8BE7) : set 0 & get 32 byte
getchaninfo (8BED) : set 0 & get 2044 byte
mode (8BE2) : set 6 char & get 0
get_mode (8BE3) : set 0 & get 6 char
setwmmparams (8BE4) : set 4 int & get 0
getwmmparams (8BE5) : set 3 int & get 1 int
cwmin (0001) : set 3 int & get 0
get_cwmin (0001) : set 2 int & get 1 int
cwmax (0002) : set 3 int & get 0
get_cwmax (0002) : set 2 int & get 1 int
aifs (0003) : set 3 int & get 0
get_aifs (0003) : set 2 int & get 1 int
txoplimit (0004) : set 3 int & get 0
get_txoplimit (0004) : set 2 int & get 1 int
acm (0005) : set 3 int & get 0
get_acm (0005) : set 2 int & get 1 int
noackpolicy (0006) : set 3 int & get 0
get_noackpolicy (0006) : set 2 int & get 1 int
setparam (8BE0) : set 2 int & get 0
getparam (8BE1) : set 1 int & get 1 int
authmode (0003) : set 1 int & get 0
get_authmode (0003) : set 0 & get 1 int
protmode (0004) : set 1 int & get 0
get_protmode (0004) : set 0 & get 1 int
mcastcipher (0005) : set 1 int & get 0
get_mcastcipher (0005) : set 0 & get 1 int
mcastkeylen (0006) : set 1 int & get 0
get_mcastkeylen (0006) : set 0 & get 1 int
ucastciphers (0007) : set 1 int & get 0
get_uciphers (0007) : set 0 & get 1 int
ucastcipher (0008) : set 1 int & get 0
get_ucastcipher (0008) : set 0 & get 1 int
ucastkeylen (0009) : set 1 int & get 0
get_ucastkeylen (0009) : set 0 & get 1 int
keymgtalgs (0015) : set 1 int & get 0
get_keymgtalgs (0015) : set 0 & get 1 int
rsncaps (0016) : set 1 int & get 0
get_rsncaps (0016) : set 0 & get 1 int
hostroaming (000C) : set 1 int & get 0
get_hostroaming (000C) : set 0 & get 1 int
privacy (000D) : set 1 int & get 0
get_privacy (000D) : set 0 & get 1 int
countermeasures (000E) : set 1 int & get 0
get_countermeas (000E) : set 0 & get 1 int
dropunencrypted (000F) : set 1 int & get 0
get_dropunencry (000F) : set 0 & get 1 int
wpa (000A) : set 1 int & get 0
get_wpa (000A) : set 0 & get 1 int
driver_caps (0010) : set 1 int & get 0
get_driver_caps (0010) : set 0 & get 1 int
maccmd (0011) : set 1 int & get 0
wmm (0012) : set 1 int & get 0
get_wmm (0012) : set 0 & get 1 int
hide_ssid (0013) : set 1 int & get 0
get_hide_ssid (0013) : set 0 & get 1 int
ap_bridge (0014) : set 1 int & get 0
get_ap_bridge (0014) : set 0 & get 1 int
inact (0017) : set 1 int & get 0
get_inact (0017) : set 0 & get 1 int
inact_auth (0018) : set 1 int & get 0
get_inact_auth (0018) : set 0 & get 1 int
inact_init (0019) : set 1 int & get 0
get_inact_init (0019) : set 0 & get 1 int
abolt (001A) : set 1 int & get 0
get_abolt (001A) : set 0 & get 1 int
dtim_period (001C) : set 1 int & get 0
get_dtim_period (001C) : set 0 & get 1 int
bintval (001D) : set 1 int & get 0
get_bintval (001D) : set 0 & get 1 int
doth (001E) : set 1 int & get 0
get_doth (001E) : set 0 & get 1 int
doth_pwrtgt (001F) : set 1 int & get 0
get_doth_pwrtgt (001F) : set 0 & get 1 int
doth_reassoc (0020) : set 1 int & get 0
compression (0021) : set 1 int & get 0
get_compression (0021) : set 0 & get 1 int
ff (0022) : set 1 int & get 0
get_ff (0022) : set 0 & get 1 int
turbo (0001) : set 1 int & get 0
get_turbo (0001) : set 0 & get 1 int
xr (0023) : set 1 int & get 0
get_xr (0023) : set 0 & get 1 int
burst (0024) : set 1 int & get 0
get_burst (0024) : set 0 & get 1 int
doth_chanswitch (8BE8) : set 2 int & get 0
pureg (0025) : set 1 int & get 0
get_pureg (0025) : set 0 & get 1 int
ar (0026) : set 1 int & get 0
get_ar (0026) : set 0 & get 1 int
wds (0027) : set 1 int & get 0
get_wds (0027) : set 0 & get 1 int
bgscan (0028) : set 1 int & get 0
get_bgscan (0028) : set 0 & get 1 int
bgscanidle (0029) : set 1 int & get 0
get_bgscanidle (0029) : set 0 & get 1 int
bgscanintvl (002A) : set 1 int & get 0
get_bgscanintvl (002A) : set 0 & get 1 int
mcast_rate (002B) : set 1 int & get 0
get_mcast_rate (002B) : set 0 & get 1 int
coverageclass (002C) : set 1 int & get 0
get_coveragecls (002C) : set 0 & get 1 int
countryie (002D) : set 1 int & get 0
get_countryie (002D) : set 0 & get 1 int
scanvalid (002E) : set 1 int & get 0
get_scanvalid (002E) : set 0 & get 1 int
regclass (003B) : set 1 int & get 0
get_regclass (003B) : set 0 & get 1 int
dropunenceapol (003C) : set 1 int & get 0
get_dropunencea (003C) : set 0 & get 1 int
shpreamble (003D) : set 1 int & get 0
get_shpreamble (003D) : set 0 & get 1 int
rssi11a (002F) : set 1 int & get 0
get_rssi11a (002F) : set 0 & get 1 int
rssi11b (0030) : set 1 int & get 0
get_rssi11b (0030) : set 0 & get 1 int
rssi11g (0031) : set 1 int & get 0
get_rssi11g (0031) : set 0 & get 1 int
rate11a (0032) : set 1 int & get 0
get_rate11a (0032) : set 0 & get 1 int
rate11b (0033) : set 1 int & get 0
get_rate11b (0033) : set 0 & get 1 int
rate11g (0034) : set 1 int & get 0
get_rate11g (0034) : set 0 & get 1 int
uapsd (0035) : set 1 int & get 0
get_uapsd (0035) : set 0 & get 1 int
sleep (0036) : set 1 int & get 0
get_sleep (0036) : set 0 & get 1 int
qosnull (0037) : set 1 int & get 0
pspoll (0038) : set 1 int & get 0
eospdrop (0039) : set 1 int & get 0
get_eospdrop (0039) : set 0 & get 1 int
markdfs (003A) : set 1 int & get 0
get_markdfs (003A) : set 0 & get 1 int
setiebuf (8BEA) : set 1032 byte & get 0
getiebuf (8BE9) : set 0 & get 1032 byte
setfilter (8BEC) : set 4 byte & get 0

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#59 Post by tempestuous »

friedsonjm wrote:rm: cannot remove 'var/run/wpa_supplicant/*' No such file or directory
That's no problem, we're just aiming to remove the wpa_supplicant process file, if it still exists, from the last time that wpa_supplicant was used.
friedsonjm wrote:I went in and found the directory and removed manually
Careful, don't delete the directory. wpa_supplicant may fail without it.
friedsonjm wrote:running iwpriv in a separate window get me a lot of lines!
It appears that "mode 3" has been replaced by "mode 11g", so the correct command should be -

Code: Select all

iwpriv ath0 mode 11g

friedsonjm
Posts: 208
Joined: Sat 10 Mar 2007, 14:49

#60 Post by friedsonjm »

Is there some way to run these commands as some sort of 'batch' file, and redirect the output to a file?
jf

EDIT:
As in -
you essentially do the same thing you do in dos. you put a series of
commands in a text file. you can name it blah.bat if you want but the
extension isn't relivant. after you make the text file you chmod it
$chmod +x file.sh
this makes it so you can execute the file.
then to execute you type
$./file.sh
unless the shell script is located in your path. then you just type
$file.sh

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#61 Post by tempestuous »

Sure, but normally you would try each command one at a time until you know they all work.
Once you know the sequence works, create a new text document (in Geany, for example) with this at the top

Code: Select all

#!/bin/sh
Then add your commands, and save the file. Let's say we call it "myscript.sh"
Now we just need to make this script executable -

Code: Select all

chmod 775 myscript.sh
myscript.sh is then an executable script.

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#62 Post by tempestuous »

Let me add some extra information before you spend too much time fruitlessly.

Forget about the iwpriv command. That is supposed to work around an incompatibility problem between the ath_pci driver and wpa_supplicant, but since we know that you can establish a connection using the Wizard, this problem should not be affecting you.

By examining the wpa_supplicant code in the Wizard (which was written by rarsa) I just remembered an important configuration parameter: ap_scan
You will see that the default ap_scan value in /etc/wpa_supplicant.conf is 2. But the value can also be 0 or 1, and I remember that this can be a critical setting. I seem to remember that it relates to scanning by the driver / scanning by wpa_supplicant / no scanning.
rarsa's code has some clever way of working out the optimum value for your driver, but you can just experiment with using 0 and 1.

laptopnewbee
Posts: 166
Joined: Sun 20 Aug 2006, 03:43

#63 Post by laptopnewbee »

having read the bulk of this thread, and seeing that some seem to still be having trouble, i will add a 'for what it's worth' here.

in 2.13 i was able to use wpa with the atheros chipset using the network wizard (version 2.14.8 ). i also got best connection results using the win98 drivers and ndiswrapper. there is one thing that i had to do before ndiawrapper would work though, and i don't know if it was due to the netgear driver package, or if it is the same with all atheros driver packages. this one thing is that i had to open xterm and use the source command on the .cat file in the package.

Code: Select all

# source <filename>.cat
i was able to do this by mounting the cd for the card, and navigating to the win98 folder then opening the xterm window there. this put usable .inf and .sys files in my puppy partition which would have to be the ones used when i inserted them in ndiswrapper for use from the wizard. this also gave me a single blinky using the interface name 'wlan0'.

since my pcmcia slot went south before 2.17 came out i can't test any of this with the newer kernel myself, but i offer this info so that someone with working equipment can test it all out. i do understand that there may be components of that version of the wizard which are not compatable with the new kernel, but maybe such things can be overcome with a little recompiling.
so much to learn, so late a start.

friedsonjm
Posts: 208
Joined: Sat 10 Mar 2007, 14:49

#64 Post by friedsonjm »

After way too much experimentation, I'm up on WPA. Here is what I found with my Atheros-based Dlink G630 card:

1. Can't use an 8-digit key, must be at least 9, or you get the "must be between 8 and 63 digits" error. I'm not talking about using wpa_passphrase, I'm referring to the number of digits in the pre-shared key entry you make in the wizard.

2. WPS-TKIP, sometimes known as WPA personal, does not work. Has to be WPA2. I'm using the 'personal' version, not the 'enterprise' version.

3. The Linux driver in Puppy works at the office.. but not at home! This, despite both routers being Linksys, both on WPA2, etc.

4. Using ndiswrapper, the windoze driver does work with my system at home, in WPA2 mode, with at least a 9-digit key, etc. Note, the .inf file is CVN3AB.inf 16K 08:19:00 13 May 2005.

I'm going to have to see if the Windoze driver will work at work; switching back and forth is more trouble than I want to go through!

YMMV, of course...

jf

Post Reply