Improved Network Wizard (and rc.network)

Under development: PCMCIA, wireless, etc.
Post Reply
Message
Author
User avatar
Béèm
Posts: 11763
Joined: Wed 22 Nov 2006, 00:47
Location: Brussels IBM Thinkpad R40, 256MB, 20GB, WiFi ipw2100. Frugal Lin'N'Win

Re: Firewire detection and configuration via the NW wizard

#136 Post by Béèm »

Dougal wrote:
Béèm wrote:For me, personally, there is no hurry. I can get the thing working.
But for newcomers it's not that obvious.
So yes there is work to do and if I can help testing, just say so.
I've tried looking a little at how we could identify interfaces that don't
identify as ethernet.
Does

Code: Select all

cat /sys/class/net/eth2/type
give you 24?

The file include/linux/if_arp.h contains a list of "ARP protocol HARDWARE
identifiers".
In the interfaces that identify as ethernet, the "type" file contains 1,
which seems to match

Code: Select all

#define ARPHRD_ETHER 	1		/* Ethernet 10Mbps		*/
and the wmaster0 has 801 as the type, which seems to match

Code: Select all

#define ARPHRD_IEEE80211 801		/* IEEE 802.11			*/
so I assume your case should be 24:

Code: Select all

#define	ARPHRD_IEEE1394	24		/* IEEE 1394 IPv4 - RFC 2734	*/
I don't have the code for ifconfig here to look through, so I don't know
why it is listed as unspecified...

I could add a check for unspecified interfaces and, if they're named eth[0-9],
add them to the list of interfaces, but I'll need you to check a few things,
to make sure the wizard can find info about them. I'll need the results
of the following commands:

Code: Select all

readlink /sys/class/net/eth2/device
readlink /sys/class/net/eth2/device/driver
ls /sys/class/net/eth2/device
What I'm not sure of is if we should just treat them as normal ethernet
interfaces: doesn't a NIC have some mechanical parts in it that can't be
just emulated in a driver? What I mean is, can it do everything a "normal"
interface can do?
I didn't quite understand the #define part.
I suppose there is nothing to do for me.
Also it isn't ehci1394 but ohci1394
And yes FireWire being more general then ethernet (can be usd for other FireWire devices like cameras, CD/HDD drives, video devices, it might more tricky.
Here is the output you asked for:

Code: Select all

# cat /sys/class/net/eth2/type
24
# 

# readlink /sys/class/net/eth2/device 
../../../fw-host0
# 

# readlink /sys/class/net/eth2/device/driver
../../../../../bus/ieee1394/drivers/nodemgr
# 


# ls /sys/class/net/eth2/device
00061b00200b01ec  host_id        irm_id     is_irm   node_count    selfid_count
0010dc00010c009d  ieee1394_host  is_busmgr  is_root  nodes_active  subsystem
driver            in_bus_reset   is_cycmst  net      power         uevent
# 

# lsmod | grep 1394
eth1394                19460  0 
ohci1394               33456  0 
ieee1394               92216  2 eth1394,ohci1394
# 
# modprobe ehci1394
FATAL: Module ehci1394 not found.
# 
Time savers:
Find packages in a snap and install using Puppy Package Manager (Menu).
[url=http://puppylinux.org/wikka/HomePage]Consult Wikka[/url]
Use peppyy's [url=http://wellminded.com/puppy/pupsearch.html]puppysearch[/url]

mbe
Posts: 18
Joined: Sun 20 Apr 2008, 08:34

Re: wizard testing

#137 Post by mbe »

Dougal wrote:
mbe wrote:1. Scan incorrectly identified my AP as running WPA2 encryption when it is WPA
Oh, my... I guess I'll go back to it just saying "on" or "off"... what does the scan actually show, though? (iwlist wlan0 scan)
Reply:
iwlist wlan0 scan correctly shows cell 01 by hardware mac address and encryption key:on but it shows two entries starting IE: WPA Version 1 Group Cipher : TKIP Pairwise Ciphers Authentication Suites (1) : PSK and IE: IEEE 802.11i/WPA2 Version 1 Group Cipher TKIP Pairwise Ciphers (2) TKIP CCMP Authentication suites (1) PSK
2. I connected by filling in the table manually using the WPA/TKIP tab and then saved the new profile before selecting "use this profile" but the new profile subsequently doesn't appear in drop down select list.[/quote]
Did you name it? Does it exist in the profiles directory (/etc/network-wizard/wireless/profiles)? Reply Yes I named it. I think this is a bug in 4.1Alpha6 as I was running a first boot frugal install. I later found that it DOES appear after I have created a pupsave.2fs file.
3. My AP is broadcasting the SSID but I could not connect unless I used the default "hidden" tick box in the wizard.
Hmm. I think this might be related to the ap_scan parameter we were just discussing. What happens if you select "Driver"? Reply - now works OK with "broadcast" since I created the pupsave file
4. The cleanup may not be fully working, during repeat attempts I found a partially deleted directory at /var/run/wpa_supplicant that root did not have rights to delete.
Well, root not having the rights to delete something seems rather strange... Reply: It was just an empty directory - I changed the access rights and deleted it then carried on. However this hasn't happend since I created a pupsave file

In any case, the question is what's in there: I've made it only clean up what is relevant, so the socket named after your interface should be gone, but other things are left alone (like if there's another instance of wpa_supplicant, it's socket is untouched).[/quote]

mbe
Posts: 18
Joined: Sun 20 Apr 2008, 08:34

wireless wizard testing

#138 Post by mbe »

I tried again from a first boot frugal of 4.1alpha6 overwritten with the updated wizard. - Entered a profile name and ESSID then selected the WPA/TKIP and added a key, changed tick box to broadcast and saved - nothing appeared in the drop down and no profiles were generated in etc/network-wizard/wireless/profiles. Tried several times without result then tried pressing Scan button and selected cell 1 and save. - The profile name then appeared in the drop down but I couldn't connect (presumably because the scan was reporting WPA2 rather than WPA) so I reselected tab for WPA/TKIP and re-entered key then saved and "use this profile" -connection works ! Also there is now a profile in etc/network-wizard/wireless/profiles.
Hope this helps
Martin

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#139 Post by Dougal »

Aitch wrote:As far as booting is concerned, I have an IBM lappy which could in theory boot from various devices in its pcmcia slots
I have various items including a firewire CDR but nothing ever gets recognised until after x is up - far too late to find puppy!
Neither could I get the pcmcia-ide/flash interface to work, so booting an external laptop h/d or a flash CFdisk [or microdrive] failed also
Same for usb, only worse - usb seems the most difficult to enable via pcmcia slot even after puppy has booted
Network -pcmcia also fails [pxe]
The reason the firewire drive isn't recognized at boot is that the firewire modules are not in the initial ramdisk. It should be easy to add support for firewire-booting, it's just never been raised before...
As for pcmcia devices, there is the "pccard" boot option that loads the base pcmcia drivers, which might help.

With all the strange kinds of HW, if you want them supported by the wizard you'll have to manage to get them working yourself first, so I'll know what to implement. I can't just make the code up out of my imagination...
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

Re: wizard testing

#140 Post by Dougal »

mbe wrote:
Dougal wrote:
mbe wrote:1. Scan incorrectly identified my AP as running WPA2 encryption when it is WPA
Oh, my... I guess I'll go back to it just saying "on" or "off"... what does the scan actually show, though? (iwlist wlan0 scan)
iwlist wlan0 scan correctly shows cell 01 by hardware mac address and encryption key:on but it shows two entries starting IE: WPA Version 1 Group Cipher : TKIP Pairwise Ciphers Authentication Suites (1) : PSK and IE: IEEE 802.11i/WPA2 Version 1 Group Cipher TKIP Pairwise Ciphers (2) TKIP CCMP Authentication suites (1) PSK
That's what I assumed was happening: the second IE: line reporting it as WPA2. Does the router support WPA2? I was thinking maybe that's why it reports it. In any case, that info from iwlist is obviously not reliable, so I'd better just go back to the old way, to avoid confusing people.
2. I connected by filling in the table manually using the WPA/TKIP tab and then saved the new profile before selecting "use this profile" but the new profile subsequently doesn't appear in drop down select list.
Did you name it? Does it exist in the profiles directory (/etc/network-wizard/wireless/profiles)?
Yes I named it. I think this is a bug in 4.1Alpha6 as I was running a first boot frugal install. I later found that it DOES appear after I have created a pupsave.2fs file.
I think there might be a problem with saving files in /etc at first boot...
However, something I forgot yesterday: did you fill in the profile details without running a scan first and selecting a network? In such a case the profile will not be saved, since it has no AP MAC address associated with it.
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

Re: wireless wizard testing

#141 Post by Dougal »

mbe wrote:I tried again from a first boot frugal of 4.1alpha6 overwritten with the updated wizard. - Entered a profile name and ESSID then selected the WPA/TKIP and added a key, changed tick box to broadcast and saved - nothing appeared in the drop down and no profiles were generated in etc/network-wizard/wireless/profiles. Tried several times without result then tried pressing Scan button and selected cell 1 and save. - The profile name then appeared in the drop down but I couldn't connect (presumably because the scan was reporting WPA2 rather than WPA) so I reselected tab for WPA/TKIP and re-entered key then saved and "use this profile" -connection works ! Also there is now a profile in etc/network-wizard/wireless/profiles.
Hope this helps
Martin
Yes, it's as I thought: you didn't run a scan first. As I mention above, you need to run a scan first, so there will be an AP MAC associated with the profile (the instructions next to the "Scan" button tell you to scan first...).
The fact that the scan window reported WPA2 is irrelevant -- it is only informational, you need to manually select the WPA/TKIP button and fill in the appropriate fields.
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#142 Post by Dougal »

tempestuous wrote:Yes, it might be worthwhile to reintroduce that feature. From Puppy 4.1 onwards these are the correct commands:

Code: Select all

pccardctl eject
pccardctl insert
It might(?) also be necessary to restart pcmciautils, like this -

Code: Select all

pcmcia-socket-startup
Is it necessary to do eject/insert, rather than just restart?
I figured out where to implement this: when the scan returns no results, id it's a pcmcia device I give a dialog offering to restart the device and re-scan.
(the only problem is that I had to use gxmessage, since Xdialog doesn't allow to specify exit codes...)
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#143 Post by Aitch »

Dougal
I don't know if this will help any?

http://pcmcia-cs.sourceforge.net/ftp/do ... ROG-8.html

and

http://pcmcia-cs.sourceforge.net/

I still need more than just ethernet/usb info in my other thread, please, if you can read a bit deeper,
it includes loads of pcmcia stuff,
or, if tempestuous can add anything?

Thanks

http://www.murga-linux.com/puppy/viewtopic.php?t=32830

Aitch

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#144 Post by BarryK »

I have built the precursor to alpha7, with aug23 version of the Network Wizard.

I'm using a wireless USB interface. The network is open.

I booted off a USB stick, no pup_save file, ran the Network Wizard, it found the network ok, but when I clicked the DHCP button, it timed-out, then reported success.

However, /etc/resolv.conf had not been written to. I examined /var/log/messages, everythings seems ok except there is a message that no dns info supplied.

I ran the Wizard again, this time it worked. I rebooted, no pup_save, this time the Wizard worked first go.

I think that others have reported this problem of the DHCP timing out then reporting success. Perhaps an extra check that /etc/resolv.conf has been updated?

As to why it failed just that one time, I haven't got a clue.
[url]https://bkhome.org/news/[/url]

JustGreg
Posts: 782
Joined: Tue 24 May 2005, 10:55
Location: Connecticut USA

#145 Post by JustGreg »

I tried to do a more rigridous test and get some measured time data. This post is a bit long. I tested these four conditions in the wpa2 configuration file.

1. Use default conditions, neither ap_scan or scan_ssid used. Here are the conf file contents:
ctrl_interface=/var/run/wpa_supplicant
update_config=0
#ap_scan=1 is for broadcasted SSID normally
#ap_scan=1
#ap_scan=2 is for hidden SSID normally
#ap_scan=2
network={
ssid="wireless"
# scan_ssid=1
psk=mykey
proto=RSN
key_mgmt=WPA-PSK
group=CCMP TKIP
}

2. The parameter ap_scan=1 was used. Here are the conf file contents:
ctrl_interface=/var/run/wpa_supplicant
update_config=0
#ap_scan=1 is for broadcasted SSID normally
ap_scan=1
#ap_scan=2 is for hidden SSID normally
#ap_scan=2
network={
ssid="wireless"
# scan_ssid=1
psk=mykey
proto=RSN
key_mgmt=WPA-PSK
group=CCMP TKIP
}

3. The parameter scan_ssid=1 was used. Here are the conf file contents:
ctrl_interface=/var/run/wpa_supplicant
update_config=0
#ap_scan=1 is for broadcasted SSID normally
#ap_scan=1
#ap_scan=2 is for hidden SSID normally
#ap_scan=2
network={
ssid="wireless"
scan_ssid=1
psk=mykey
proto=RSN
key_mgmt=WPA-PSK
group=CCMP TKIP
{

4, Both ap-scan and scan_ssid were set to 1. The conf file contents are:
ctrl_interface=/var/run/wpa_supplicant
update_config=0
#ap_scan=1 is for broadcasted SSID normally
ap_scan=1
#ap_scan=2 is for hidden SSID normally
#ap_scan=2

network={
ssid="wireless"
scan_ssid=1
psk=mykey
proto=RSN
key_mgmt=WPA-PSK
group=CCMP TKIP
}

To get measured data, I pinged my router sixteen (16) times to get a "good" average time to transfer to check for latency effects. I also used the "time" command to see how long the script ran to see if there were any major differences. Here is the code of the test bash script:
#!/bin/sh
# Aug. 25, 2008 Just Greg. This a test script to see the effects of
#ap_scan and scan_ssid with a broadcast or hidden network ssid.
#first remove any old wpa_supplicant or dhcpcd files
if [ -e /var/run/wpa_supplicant/* ]; then rm /var/run/wpa_supplicant/*; fi
if [ -e /var/run/dhcpc*.pid ]; then rm /var/run/dhcpc*.pid; fi
# Make sure wlan0 inteface is up
echo "Starting up wlan0"
ifconfig wlan0 up
# now start wpa_supplicant
# testX is either test1.conf, test2.conf, test3.conf or test4.conf
echo "Starting wpa_supplicant process"
wpa_supplicant -i wlan0 -D wext -c /root/test/testX.conf -B -d
sleep 10
## use dhcpcd for automatic IP address
echo "Starting dhcpcd proces"
dhcpcd -t 30 -h puppypc -d wlan0
#sleep 10
# get wpa_supplicant staus
echo "wpa_supplicant status is"
wpa_cli status
# get ping measurements
echo "Here is the ping data"
ping -c 16 192.168.1.1
# now to terminate for next test
echo "Terminating process and clean up"
dhcpcd -k wlan0
wpa_cli terminate
ifconfig wlan0 down

I found that terminating all three process (wlan0, dhcpcd, wpa_supplicant) was needed to ensure proper operation. I also reset/initialize the wireless router each time before running the test script. I wan to make sure the router was in the same state. Verbose debug was used with both wpa_supplicant and dhcpcd to get any error information that occurred. All four conditions were tested with a broadcast (open) ssid and disabled broacast (hidden) ssid.

I found no real differences between the scripts based on rounding the results to the nearest millisecond and second. They all worked without a problem. Here are the specific results:

Condition 1 (defaults):
Open, average round trip ping time was 2.076 ms and script run time was 27.291s
Hidden, average round trip ping time was 1.987 ms and script run time was 27.363s

Condition 2 (ap_scan=1 only):
Open, average round trip ping time was 2.086 ms and script run time was 27.295s
Hidden, average round trip ping time was 2.093 ms and script run time was 27.394s

Condition 3 (scan_ssid=1):
Open, average round trip ping time was 2.111 ms and script run time was 27.300s
Hidden, average round trip ping time was 1.976 ms and script run time was 27.287s

Condition 4 (both ap_scan and scan_ssid are 1):
Open, average round trip ping time was 1.987 ms and script run time was 27.300s
Hidden, average round trip ping time was 2.012 ms and script run time was 27.289s

Based on the above, I am going to use the defaults (no special parameters) in my wpa2.conf files until I have a problem. The only possible problem, that I can see with the testing, was a limited available set of hardwarewas used. The available hardware was 2goPC using the RT73USB module in Puppy 4 Alpha 6 with Linksys model WRT54G wireless router.

I hope the above helps.
Enjoy life, Just Greg
Live Well, Laugh Often, Love Much

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#146 Post by Dougal »

JustGreg wrote:To get measured data, I pinged my router sixteen (16) times to get a "good" average time to transfer to check for latency effects. I also used the "time" command to see how long the script ran to see if there were any major differences.
Doesn't a ping take vary little time? I would expect you to need to run
a hundred (or a thousand or something) pings to notice the latency...

Anyway, where I thought the latency was supposed to be was in the scanning
that wpa_supplicant does, i.e. the time it takes to establish the connection.
That means you should probably only run the wpa_supplicant command and after
it have (instead of "sleep 10") a loop that checks how long it takes:

Code: Select all

until wpa_cli status | grep COMPLETED 
do sleep 0.5
done
(you might want to reduce the sleep time to make it more accurate...)

In any case, if it works for you with all of them... we probably need to
find someone who actually has problems establishing a connection to see
what the real difference is.
Letting it use the defaults is what I usually prefer, since I tend to think
other people (wpa_supplicant developer) know better than me...
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#147 Post by Dougal »

BarryK wrote:I think that others have reported this problem of the DHCP timing out then reporting success. Perhaps an extra check that /etc/resolv.conf has been updated?
The question is what to check for? Are we sure it will be empty, or maybe it will have info from a previous session?
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

User avatar
peppyy
Posts: 443
Joined: Mon 27 Jun 2005, 23:49
Location: VT USA
Contact:

#148 Post by peppyy »

Sorry it took me so long to reply. I was playing with ACPI and broke the lid button on my laptop, jamming it in the off position so I had no backlight. Takes a lot of screws to get to that non-replaceable part.
Dougal wrote: I don't know why it won't return any results, but there is no reason to press anything before scanning -- that's why I moved the scan button to the top and made it more prominent.
I know for certain on the Senao card that it will not scan unless I load a profile first, even a blank one works on Dingo 4 (kernel 2.6.21.7) I will try to gather all my cards and test each one individually as soon as I find the time.

I just looked again and this time it loaded the hostap_cs module. These cards, Senao, nl-2511cd plus seem to be detected differently every few times they load. Could be a bad batch of cards?

You mean ath5k? What speed does it work at? It is supposed to default to 1M so I added special code to up it to 11M.
I should have been more spesific. Linksys wpc11 v4 I have 5 0r 6 different cards I will try to get results from, most are older 11b cards. I also have a couple internal ones I may be able to test.
Puppy Linux...
It just works!

User avatar
peppyy
Posts: 443
Joined: Mon 27 Jun 2005, 23:49
Location: VT USA
Contact:

#149 Post by peppyy »

Here are my results on the new machine. Thinkpad T30, Puppy 4.0
I hope they are helpful.

Card characteristics and setup.
--------------------
Warpstar a,b,g by NEC
Model: PA-WL/54AG with external antenna jack
AtermWL54AG
Linux and Windows Driver available here
http://www.radarsync.com/driver/d201663 ... rk_adapter

Recognized as: Wireless ath_pci ar5212 802-11abg, ath0
Driver Autoloaded: yes
Scan produces: No networks detected
Comments: Second scan is successful.
-------------------
Network Everywhere 802-11b
Model NWP11B
FCC-ID PKW-WPC11V4
Info found here.
http://www.networkeverywhere.com/products/nwp11b.asp

Recognized as: rtl8180, wlan0 realtek rtl8180l 80211b MAC
Driver Autoloaded: yes
Scan produces: No networks detected
Comments: Clicking any other button before scan makes scan successful.
--------------------
Orinoco Gold Classic with external antenna jack
Type Agere systems
PC24E-11-FC/R
Encryption 128RC4
Info here
http://www.proxim.com/products/wifi/client/goldpccard/

Recognized as: wireless orinoco_cs eth1
Driver Autoloaded: Yes
Scan produces: Success
Comments: This is my old reliable card, it finds open networks automatically
as if it were a wired network. Does not support WPA
-------------------
Linksys Wireless B Notebook Adapter
Cysco Systems
Model WPC11 Ver. 4
Info here
www.linksys.com/download/

Recognized as: rtl8180, wlan0 realtek rtl8180l 80211b MAC
Driver Autoloaded: yes
Scan produces: No networks detected
Comments: Clicking any other button before scan makes scan successful.
--------------------

Senao
Model NL2511CD PLUS
FCC ID: N13-2511CD-PLUS
info here
http://www.senaousa.com/products/SL-2511CDPLUS.html

Recognized as: Prism 2, wlan0
Driver Autoloaded: Will not boot with this card in a socket, Gives EIP Error
Scan produces: No networks detected
Comments: Scan is successful after loading a profile, all blank, use this profile.
----------------------

Internal cards
NOTE: The T30 requires a cmos switch to allow cards other than "Approved IBM cards to be recognized. see "no-1802" in thinkwiki

Mini PCI
Lucent Technologies
Agere chipset
Orinoco Gold or equivalent.

Recognized as: wireless orinoco_cs pcmcia eth1
Driver Autoloaded: Yes
Scan produces: Success
Comments: This is staying in this machine, there were no bios errors, fast boot and good signal.
----------------------

Great work guys, hope I have been some help. I look forward to the finished product. PM me is there is anything else I can do to help.

Now I am off to look into rutilt. I do a lot of wireless network bridges, routers and repeaters and that has been very helpful when it works.
Puppy Linux...
It just works!

JustGreg
Posts: 782
Joined: Tue 24 May 2005, 10:55
Location: Connecticut USA

#150 Post by JustGreg »

Thank you, dougal for the comments. I looked at them and did some research and additional testing using Puppy 4 Alpha 7 on desktop machine. I used the desktop machine because it is at the almost greatest distance from the router. In the past, the desktop had the most trouble connecting.

Dougal Quote: "Doesn't a ping take vary little time? I would expect you to need to run a hundred (or a thousand or something) pings to notice the latency..."

I was looking for a difference in the average value. I will admit that
sixteen data points is on the small size for estimating a statistical mean value from an average. However, I did check the overall combined data set for the standard deviation. The differences in the average
for each data was within one standard deviation. This implies the mean values for each set are the same. Any statistical hypothesis testing would result in no difference. Needing to do a hundred or thousand pings to get a good estimate is a bit much. The estimate of a mean of data group with given number of data values has the Student's T distribution for the probably of a given mean value. The Student's T distribution is a function of the number of data samples. Once the number of data samples is 30 or more, then the Student's T distribution is virtually the same as the normal Gaussian distribution. Most researchers/testers will use the 30 or more data points as a starting point.

I decided to look at the effect of doing 16, 32, 64, and 128 pings. I did this more as experiment for my information since dougal had correctly point out the problem area was the latency in the scanning that wpa_supplicant does, (i.e. the time it takes to establish the connection). It was an interesting exercise.

Between the 16 and 32 data points sets there was no real difference. The 64 and 128 points sets were close to average value of both 16 and 32 sets. But, in the 64 and 128 data sets, one would get one or two pings that would be 10 to 20 times greater than other members of the sets. It appears the time to do run the 64 and 128 pings was long enough for the router operating system to have to do some other high priority task and keep the ping response pending for a time much longer than normal. The final outcome is 32 is a good number
from a practical point and statistical theory.

Dougal quote: "Anyway, where I thought the latency was supposed to be was in the scanning that wpa_supplicant does, i.e. the time it takes to establish the connection. That means you should probably only run the wpa_supplicant command and after it have (instead of "sleep 10") a loop that checks how long it takes."

I took your advice and re-did the test script as follows:

#!/bin/sh
# Aug. 30, 2008 Just Greg. This a test script to see the effects of
#ap_scan and scan_ssid with a broadcast or hidden network ssid.
#Limit the test to only execution of wpa-supplicant
declare -i COUNT=0
#first remove any old wpa_supplicant
if [ -e /var/run/wpa_supplicant/* ]; then rm /var/run/wpa_supplicant/*; fi
# Make sure wlan0 inteface is up
echo "Starting up wlan0"
ifconfig wlan0 up
# now start wpa_supplicant
# testX is either test1.conf, test2.conf, test3.conf or test4.conf
echo "Starting wpa_supplicant process"
# dougal's suggested method with count to measure time
wpa_supplicant -i wlan0 -D wext -c /root/wpa-test/test4.conf -B
until wpa_cli status | grep COMPLETED
do
#sleep 0.01
let "COUNT=COUNT+1"
echo "$COUNT" > /dev/null
done
echo "WPA_Supplicant count is " "$COUNT"
# now to terminate everything for next test
echo "Terminating wpa and ifconfig processes for clean up"
wpa_cli terminate
ifconfig wlan0 down
echo "test2wifi script is finished"

I tried use a low sleep value and the number of times through the loop (COUNT) to get an estimate of time required. I kept getting widely different values. I decided to use a simple command (echo $COUNT > /dev/null) to put a small, but unknown delay. The COUNT value could be used as the measure. I found this worked. For each configuration (test1.conf defaults, test2.conf ap_scan=1, test3.conf scan_ssid=1 and test4.conf both ap_scan and scan_ssid are set), I reset the router to start from a common router state. After the reset, I ran the test script four times.

Here are the count values for the broadcasted SSID:
defaults, Count = 207, 451, 194, 195,
ap_scan=1, Count = 178, 185, 193, 203,
scan_ssid=1, Count = 192, 194, 192, 166,
both are 1, Count = 176, 188, 167, 208.

Here are the count values for the hidden SSID
defaults, Count = 167, 190, 178, 447
ap_scan=1, Count = 168, 192, 189, 187,
scan_ssid=1, Count = 191, 199, 426,191,
both are 1, Count = 199, 188, 189, 194.

The real high counts (451, 447, 426) may be the result of the router operating system doing a higher piriority task like the ping results. The above is nice, but it really is academic exercise.

The good news is the Puppy 4 alpha 7 network wizard works fine with a wpa2 network using a broadcast SSID.

The bad news is Puppy 4 alpha 7 network wizard on my system does not work with a wpa2 network using a hidden SSID. It never connects. I checked with wpa_cli status and found wpa_suplicant never gets past ap association. Additionally, one has to use the scan twice to detect the hidden SSID.

Any thoughts on what to do next?
Enjoy life, Just Greg
Live Well, Laugh Often, Love Much

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#151 Post by Dougal »

peppyy wrote: I know for certain on the Senao card that it will not scan unless I load a profile first, even a blank one works on Dingo 4 (kernel 2.6.21.7) I will try to gather all my cards and test each one individually as soon as I find the time.
This is very strange... I looked very closely at everything that happens
when you do something like load a profile, then at what happens when you
press the "Scan" button, and cannot see anything that can affect the scan...

Pressing the different buttons just sets various GUI-related parameters,
while running the scan literally does just that -- run "iwlist $INTERFACE scan"
(except for the Prism2 card, which uses wlanctl-ng) -- and then parse the
output.

So the only thing I can think of which might be the cause is some timing
problem(?), where the extra delay before the scan does the trick... which
is odd, since I assume you don't always run it immediately upon boot, so
quickly that those couple of seconds matter.

Maybe you should try running a scan manually (iwlist $INTERFACE scan) before
you do the profile loading/button pressing -- see if the scan really fails
or it is the wizard (you'll need to run ifconfig $INTERFACE up before scanning).
Also, maybe try running "tail /var/log/messages" and see if something
happens that might be related to the interface...

I just looked again and this time it loaded the hostap_cs module. These cards, Senao, nl-2511cd plus seem to be detected differently every few times they load. Could be a bad batch of cards?
No, it's something that Barry needs to sort in the startup scripts:
First, the prism2_ modules support the same devices as the hostap_ modules,
but the hostap_ are in-tree and should be the ones used. The only prism2_
module that actually should be included in Puppy is prism2_usb (since there
is no usb support in the hostap_ drivers) -- that is how it used to be in
the past.

Second, I just checked the modules.alias file for my 2.6.24 kernel and it
turns out a lot of device IDs matching hostap_cs also match orinoco_cs!
So you need to get Barry to do something about it -- give one preference
over the other at boot time.
To see the overlap between the two, the following command can be run:

Code: Select all

grep 'hostap_cs\|orinoco_cs' /lib/modules/`uname -r`/modules.alias | sort
(the "full" modules.alias is needed, obviously)
then you just look for identical adjacent lines ending with orinoco_cs and
hostap_cs.
(Turns out there is also overlap between orinoco_nortel and hostap_plx,
orinoco_plx and hostap_plx, orinoco_pci and hostap_pci, and orinoco_tmd
and hostap_plx! Tempestuous, where art thou? It seems the hostap drivers
have been updated more recently, so maybe they are the better ones? Also,
they support WPA in the wizard.)

Now I am off to look into rutilt. I do a lot of wireless network bridges, routers and repeaters and that has been very helpful when it works.
Yes, RutilT is very useful for quickly connecting and getting stats about
the network, but it doesn't have all the little tricks we use to get things
working in the wizard... (also the set_ip.sh script could be improved.)
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#152 Post by Dougal »

JustGreg wrote: I was looking for a difference in the average value. I will admit that
sixteen data points is on the small size for estimating a statistical mean value from an average. However, I did check the overall combined data set for the standard deviation.
I wasn't being that smart about it... I was just thinking about the temporal
accuracy of the measurement (i.e. it is easier to measure how long it takes
you to drive a kilometer and divide by a thousand than to measure how long
it takes to drive a meter...).
I tried use a low sleep value and the number of times through the loop (COUNT) to get an estimate of time required. I kept getting widely different values. I decided to use a simple command (echo $COUNT > /dev/null) to put a small, but unknown delay.
I was actually afraid that if you check too frequently you might add
latency... I don't know what effect the repeated "wpa_cli status" commands
might have.

In any case, I didn't think we need too accurate a measurement, since I only
think the latency is a problem if it's tangible: if it takes 2 seconds to
connect normally but 4 seconds with the extra parameter or something.
The bad news is Puppy 4 alpha 7 network wizard on my system does not work with a wpa2 network using a hidden SSID. It never connects. I checked with wpa_cli status and found wpa_suplicant never gets past ap association. Additionally, one has to use the scan twice to detect the hidden SSID.
And when you try manually (with a script), it does work? Were the above
measurements with WPA or WPA2?

There is one thing in the wizard that might be relevant here: in the
validateWpaAuthentication function, I included something I got from wicd,
where, if it doesn't authenticate in 3 seconds, I run "wpa_cli scan".
Here's the explanation given in wicd:
# This works around authentication validation sometimes failing for
# wpa_supplicant because it remains in a DISCONNECTED state for
# quite a while, after which a rescan is required, and then
# attempting to authenticate. This whole process takes a long
# time, so we manually speed it up if we see it happening.
To see if that is the problem, you can comment out the "*DISCONNECTED*)" part
of the case structure in validateWpaAuthentication (lines 998-1008 in
wag-profiles.sh (the new version I'm just posting)).
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#153 Post by Dougal »

I've just updated the attachment in the parent post.
It only adds the option to reset a pcmcia card if the wireless scan fails
and WPA support for ndiswrapper.


I have also written code for detecting the firewire ethernet interface,
but have not included it yet, since there's one thing I wasn't sure about:
We probably want to configure it with a static IP, right?
The problem is that the static IP code in the wizard requires that
you give a valid set of IP, netmask and gateway -- it even checks.
So just telling it to use 10.0.0.11 isn't enough... (and telling it to
use 10.0.0.11, 10.255.255.255 and 255.0.0.0 didn't work... or maybe that
was just because I was trying with an interface that was not connected to
anything.)

So I need to know if the interface will be configured with the usual
static IP code, or if I need to add a special function that just sets a
IP address and that all (for connecting two computers).
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

User avatar
Béèm
Posts: 11763
Joined: Wed 22 Nov 2006, 00:47
Location: Brussels IBM Thinkpad R40, 256MB, 20GB, WiFi ipw2100. Frugal Lin'N'Win

#154 Post by Béèm »

I have a live network which works ok with following info:

Code: Select all

# ifconfig eth2
eth2      Link encap:UNSPEC  HWaddr 00-06-1B-00-20-0B-01-EC-00-00-00-00-00-00-00-00  
          inet addr:10.0.0.11  Bcast:10.255.255.255  Mask:255.0.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:209 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3354 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:37053 (36.1 KiB)  TX bytes:394095 (384.8 KiB)

# 
I only give

Code: Select all

ifconfig eth2 10.0.0.11
If you want you can sent me your code so I can test.
Time savers:
Find packages in a snap and install using Puppy Package Manager (Menu).
[url=http://puppylinux.org/wikka/HomePage]Consult Wikka[/url]
Use peppyy's [url=http://wellminded.com/puppy/pupsearch.html]puppysearch[/url]

JustGreg
Posts: 782
Joined: Tue 24 May 2005, 10:55
Location: Connecticut USA

#155 Post by JustGreg »

Dougal, Thank you for the information"

Dougal
I wasn't being that smart about it...
I did not think that. In fact, the old engineer in me said, you sure you did enough measurements. That is why I checked a couple of references and confirmed it was on the small side. I did learn you do not want to take too many. . It results in missed pings or a couple of longer ping times.

Dougal
I was actually afraid that if you check too frequently you might add latency... I don't know what effect the repeated "wpa_cli status" commands might have. "
In that case, I did try various values of sleep. It appears the best value was about 0.2 seconds for sleep. Once again, ever so often, I would get one case where it took much longer to connect. This occurred with all test cases. There were some minor differences, but no major difference stood out.

Dougal
And when you try manually (with a script), it does work? Were the above measurements with WPA or WPA2?
Yes, I was able to connect manual with the normal Tempestuous script to either a broadcast or hidden SSID on my WPA2 network. The Puppy 4 alpha 7 network wizard works fine for open. It is on a hidden SSID that the problem occurs. I think most users connect to broadcast SSID network. So, the problem needs to be worked, but is not a killer.

I will try the new version you just posted. I have also looked at the documentation for wpa_supplicant. There is a way to start wpa_supplicant and then configure it with wpa_cli. I will try to do that. If I have some success, then I report it.

Lastly, I have been trying Ubuntu out as an alternative for Window$ on my wife's computer. The Ubuntu connect wizard does not handle a WPA2 network well. It completes forgetting the settings and thinks the network is a WPA one. You have to set up the WPA2 network ever time you want to connect. This is non-starter for my wife. So, it appears everyone has a problem with WPA2.
Enjoy life, Just Greg
Live Well, Laugh Often, Love Much

Post Reply