SOLVED - [kind of] 3.0 Shared Key Wireless Error

Please post any bugs you have found
Message
Author
peterw
Posts: 430
Joined: Wed 19 Jul 2006, 12:12
Location: UK

WPA and Atheros

#41 Post by peterw »

Hi All

After a lot of tries I am coming to some sort of conclusion. I agree with tempestuous. I have two problems.
Problem 1.
The acer has gone through phases when. under Puppy, it did load the Atheros driver and allowed it to transmit and receive. The wireless button on the front may have something to do with it. In the past I have looked at the acerhk work but do not have the skill to incorporate the programme into Puppy. Have now tried tempestuous's irqpoll and pci=biosrq on a CD boot of Puppy (2.15 and 3.01 retro) and still can't get the Atheros card to run. It is loaded but I don't get the ath0 button. I have added a PCMIA ASUS card with rt2500 chipset to the acer. I can load the driver and I can get the ra0 button but could not get it to connect to an open or WPA modem/router.
I can run other Linux distros on the acer and they work fine. I am now working on the acer under PClinux.

Problem 2.
Puppy seems to have a problem with WPA. And this has confused my attempts to connect wirelessly. I have had two wireless modem/routers on the go one open and one WPA. I have used my old PM laptop with an ASUS 107 PCMIA card with rt2500 chipset. I have then run various versions of Puppy booting totally into RAM with the following results.
Puppy versions 2.13 to 2.16.1. I can connect both to the open and the WPA sources. I have to load the driver with the wizard and then use RuTuilt to finalise the connection. The wizard could not connect me. I have to scan with RuTuilt and then connect. It takes up to 3 attempts on the WPA source.
Puppy version 2.17 can' see and connect to open or WPA sources.
Puppy version 3.0 and 3.0.1retro. I can see and connect to the open source and can see the WPA source. This is not surprising because for some reason the programme tells me that the driver does not support WPA encryption.

From the above I can see that Puppy is different from some other distros is not Acer friendly and that either the Raelink rt2500 drivers have changed or the Linux/Puppy base Linux system has changed to knock out WPA encryption. I am not sure about whether the Atheros card can be made compatable with Puppy because the system is now playing up. I am sure that the Atheros card is not straight out of the box compatable with WPA.

I am now running out of Puppy options since I do not have the skills to investigate this further.

Regards.

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

#42 Post by friedsonjm »

NOTE: I am also running my old P2120 laptop under Pclinxos, although I certainly have not given up on Puppy!

Maybe a port of the Pclinux or other wireless subsystem might be 'best?'

Easier said than done, I'm sure...

jf

peterw
Posts: 430
Joined: Wed 19 Jul 2006, 12:12
Location: UK

Wireless problem Acer laptop and Atheros card

#43 Post by peterw »

Just a note to add to my earlier work. I know that Raelink rt2500 does not need wpa_ supplicant because the driver has WPA built in whilst the Atheros driver from Madwifi loads a driver and adds the WPA with the wpa_supplicant file. Therefore, my work on comparing the two in Puppy my not be totally fair. I also know that something has gone wrong with the Ralink drivers. Earlier this year I bought a wirless pci card (with Ralink chips) for a friends PC from the Linux Emporium and can remember that they wrote about the problem and had a temporary work around but it did not include a WPA fix.

I also don't intend to give up on Puppy. On the old RM laptop I use the older Puppy versions but do not have a Puppy way forward yet on the Acer.

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

#44 Post by friedsonjm »

Not saying I understand all this, but found at http://alien.slackbook.org/dokuwiki/dok ... re:madwifi

WPA debugging

*
[If you run a kernel older than 2.6.14 :] Was wpa_supplicant compiled with support for madwifi?
Run the command wpa_supplicant on the commandline, and verify that the output mentions madwifi = MADWIFI 802.11 support (Atheros, etc.) under drivers:. If not, you will have to find another package which has the support for madwifi compiled in, or build a wpa_supplicant package yourself, and make sure that the build script finds the madwifi source code on your box.

*
Debug the WPA authentication process.
Make sure the network interface is down (run

/etc/rc.d/rc.inet1 ath0_stop

to make sure). Start the wpa_supplicant daemon as a foreground process with additional debugging enabled:

wpa_supplicant -dw -c/etc/wpa_supplicant.conf -Dwext -iath0

Then activate the network interface in another terminal (run

/etc/rc.d/rc.inet1 ath0_start)

Look at the output of wpa_supplicant in the first terminal, it might give you pointers to look for a solution.

*
Get a run-time status overview of the supplicant:
As root, run

wpa_cli status

to see the current status of wpa_supplicant’s authentication process.

*
Debug Slackwares network intitialization.
Change

DEBUG_ETH_UP="no"

to

DEBUG_ETH_UP="yes"

in /etc/rc.d/rc.inet1.conf and look for logger messages that are written to /var/log/messages. Maybe those messages will help you trace your problem.
NOTE: with debugging enabled, Slackware will write your WEP/WPA keys to the message log as well, in clear text!

*
The WPA association might take a long time.
Start the interface again after a little time, this may help if it takes wpa_supplicant a long time to associate (no restart, just a start):

/etc/rc.d/rc.inet1 ath0_start

If this makes your wirelesss work, but the problem occurs often, you can change the ‘wait’ time for the WPA authentication process by editing the file /etc/rc.d/rc.inet1.conf and adding the line

WLAN_WPAWAIT[?]=30

or any other larger value that helps your particular setup.
NOTE: in the last line make sure that you replace the questionmark in [?] with the array value that matches your wireless card configuration In the above example this array index would be [1].

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

#45 Post by friedsonjm »

Don't know if this will help but:
From http://damnsmalllinux.org/wiki/index.ph ... less_Cards
I found that my G630 needs madwifi-ng
source and compiled versions at
http://madwifi.org/wiki/UserDocs/Gettin ... tSnapshots
download mirror at:
http://sourceforge.net/project/showfile ... p_id=82936
jf

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

Post Reply