Back to validation page.

Feature

Release 0.40-pre

Pass/Fail

Features defined by 802.11  
Driver load

Hardware - ipw2100 laptop with 802.11b wireless capabilities.
OS - Fedora 9 (or Gentoo 1.4).
Kernel version - 2.6.x (x = version required per main website)
Driver and helper software - Latest version as defined by main website.  Follow INSTALL for installation.

Most tests assume you have loaded the firmware as described in INSTALL before attempting to load the driver.  They also assume the driver is not currently loaded.  Tests also assume you are using eth1 and that eth1 is not up.

All tests below are performed as root on laptop.

Steps specific to Averatec models are shown in blue.

Using Averatec 5110H.

Using Fedora Core release 1.

Using 2.6.4 kernel.

modprobe tests

% lsmod | grep ipw2100 <- Verify ipw2100 module is not loaded.
% modprobe -v av5100 <- Verify no error messages appear.
% modprobe -v ipw2100 <- Verify no error messages appear.
% ifup eth1 <- Verify no error messages appear.
% lsmod | grep ipw2100 <- Verify ipw2100 module is loaded.
% ifconfig eth1 <- Verify valid IP address has been assigned.
% ping <machine on network> -I eth1 <- Verify ping command comes back with data.

Pass

Issues

ISSUE 931396 in DB

Error messages appear after ifup eth1:

Error for wireless request "Set Bit Rate" (8B20) :
    SET failed on device eth1 ; Operation not supported.
Cannot get driver information:  Operation not supported

Determining IP information for eth1... done

This is just a missing feature (need to support Set Bit Rate).  I think my card doesn't support bit rate.

Note:  You can ping ipw2100.sf.net, but not intel.com --> should change INSTALL instructions. --> Fixed in 40-pre2

insmod tests

% lsmod | grep ipw2100 <- Verify ipw2100 module is not loaded.
% modprobe -v av5100 (if not already done)
% insmod -p /lib/modules/2.6.*/kernel/drivers/net/wireless/ipw2100/ipw2100ko <- Verify no error messages appear.
% ifup eth1 <- Verify no error messages appear.
% lsmod | grep ipw2100 <- Verify ipw2100 module is loaded.
% ifconfig eth1 <- Verify valid IP address has been assigned.
% ping <machine on network> -I eth1 <- Verify ping command comes back with data.

Pass

Issues

Same issues as for modprobe.

Timing of av5100 load

% lsmod | grep ipw2100 <- Verify ipw2100 module is not loaded.
% modprobe -v ipw2100 <- Verify no error messages appear.

% modprobe -v av5100 <- Verify no error messages appear.
% ifup eth1 <- Verify no error messages appear.
% lsmod | grep ipw2100 <- Verify ipw2100 module is loaded.
% ifconfig eth1 <- Verify valid IP address has been assigned.
% ping <machine on network> -I eth1 <- Verify ping command comes back with data.

Pass

Issues

Same issues as for modprobe.

Maybe this is known, but if you try to modprobe ipw2100 and rmmod ipw2100 without having already modprobed av5100, it takes a while.

I get the console error message (also shows up in dmesg):

Message from syslogd@localhost at <time> ...
localhost kernel:  unregister_netdevice: waiting for eth1 to become free.  Usage count=4

Message from syslogd@localhost at <time> ...
localhost kernel:  unregister_netdevice:  waiting for eth1 to become free.  Usage count = 5.

Sometimes the module is removed at the end, sometimes it isn't.

Note:  I was able to narrow this into a timing issue (if you do the rmmod < 20 seconds after the modprobe, this happens).  Putting on the back burner for now.l

Network interface timing tests 1

% ifdown eth1 <- Bring network interface down before test.
% modprobe av5100 (if not already done)
% modprobe ipw2100 <- Verify no error messages appear.
% ifup eth1
Ensure no hangs or unexpected behavior.
% ifconfig eth1 <- Verify interface is up.
% ping <machine on network> -I eth1 <- Verify ping command comes back with data.

Pass

Same issues as for modprobe.

Network interface timing tests 2

% ifdown eth1 <- Bring interface down
% rmmod ipw2100 <- Remove module
% modprobe av5100 (if not already done)
% ifup eth1 <- Try to bring network interface up before driver load (should fail)
% modprobe ipw2100
Ensure no hangs or unexpected behavior.  Note:  This is not the correct load conditions, so error messages may appear.
% lsmod | grep ipw2100 <- Verify ipw2100 module is loaded.
% ifconfig eth1
% ping <machine on network> -I eth1
the last two commands should come back with errors because eth1 should not be loaded yet.

Fail

If I try to do an ifup eth1 afterwards, I get the error:

ipw2100 device eth1 does not seem to be present, delaying initialization

This is the message I see the first time I try to do the ifup eth1 as well.

If I try to do an ifdown eth1, I get the error:

SIOCGIFFLAGS:  No such device.

Then, I can never get the interface back up and have to reboot.

Note:  I tried this with my network cable unplugged and the 8139too and got different messages.

Do continue investigating since a reboot is required.

Driver load timing tests

% lsmod | grep ipw2100 <- Verify ipw2100 module is not loaded.
% modprobe av5100 (if not already done)
% modprobe ipw2100 <- Verify no error messages appear.
% ifup eth1
Wait 1 minute.  Verify system does not hang (regression issue).
% ifconfig eth1 <- Verify interface is up.
% ping <machine on network> -I eth1 <- Verify ping command comes back with data.

Pass
Driver load timing tests2

% lsmod | grep ipw2100 <- Verify ipw2100 module is not loaded.
% modprobe ipw2100 <- Verify no error messages appear.
Run the next two commands immediately after one another.
% ifup eth1
% iwconfig eth1 essid <new essid>

Verify system does not hang (regression issue).
% ifconfig eth1 <- Verify interface is up.
% ping <machine on network> -I eth1 <- Verify ping command comes back with data.

SKIP
System Restart

Configure system to load driver on startup, restart machine, and verify driver is loaded.

SKIP
System load tests

- TODO - Need to create a script that does basic system load.  Probably, it will run top, ls, and some basic file IO commands.
- Run system load script.
% lsmod | grep ipw2100 <- Verify ipw2100 module is not loaded.
% modprobe ipw2100 <- Verify no error messages appear.
% ifup eth1
% lsmod | grep ipw2100 <- Verify ipw2100 module is loaded.
% ifconfig eth1 <- Verify valid IP address has been assigned.
% ping <machine on network> -I eth1 <- Verify ping command comes back with data.
Verify output from all above commands comes back within 1 second.

SKIP
Driver unload

Hardware - ipw2100 laptop with 802.11b wireless capabilities.
OS - Fedora 9 (or Gentoo 1.4).
Kernel version - 2.6.x (x = version required per main website)
Driver and helper software - Latest version as defined by main website.  Follow INSTALL for installation.

Most tests assume you have loaded the firmware as described in INSTALL before attempting to load the driver.  Tests also assume you are using eth1.

All tests below are performed as root on laptop.

 
modprobe tests

% lsmod | grep ipw2100 <- Verify ipw2100 module is loaded.
% ifdown eth1 <- Verify no error messages appear.
% ifconfig eth1 <- Verify no IP address is assigned.
% modprobe -r ipw2100 <- Verify no error messages appear.
% modprobe -r av5100 <- Verify no error messages appear.
% lsmod | grep ipw2100 <- Verify ipw2100 module is no longer loaded.
% lsmod | grep av5100  <- Verify av5100 module is no longer loaded.

Pass
rmmod tests

% lsmod | grep ipw2100 <- Verify ipw2100 module is loaded.
% ifdown eth1 <- Verify no error messages appear.
% ifconfig eth1 <- Verify no IP address is assigned.
% rmmod ipw2100 <- Verify no error messages appear.
% rmmod av5100 <- Verify no error messages appear.
% lsmod | grep ipw2100 <- Verify ipw2100 module is no longer loaded.
% lsmod | grep av5100  <- Verify av5100 module is no longer loaded.

Pass
Remove before network down

% ifconfig eth1 <- Verify IP address is assigned (network is up)
% lsmod | grep ipw2100 <- Verify ipw2100 module is loaded.
% rmmod ipw2100 <- Verify no error messages appear.
% rmmod av5100 <- Verify no error messages appear.
% lsmod | grep ipw2100 <- Verify ipw2100 module is no longer loaded.
% lsmod | grep av5100  <- Verify av5100 module is no longer loaded.
% ifdown eth1 <- Verify no error messages appear.

 
System load tests

- TODO - Need to create a script that does basic system load.  Probably, it will run top, ls, and some basic file IO commands.
- Run system load script.
% lsmod | grep ipw2100 <- Verify ipw2100 module is loaded.
% ifdown eth1 <- Verify no error messages appear.
% ifconfig eth1 <- Verify no IP address is assigned.
% rmmod ipw2100 <- Verify no error messages appear.
% rmmod av5100 <- Verify no error messages appear.
% lsmod | grep ipw2100 <- Verify ipw2100 module is no longer loaded.
% lsmod | grep av5100  <- Verify av5100 module is no longer loaded.

SKIP
System Restart tests

- Configure system to not load driver on startup.  With driver still loaded, restart system.  Verify driver not loaded on startup and no errors received.
- Configure system to reload driver on startup.  With driver still loaded, restart system.  Verify driver reloaded on startup and no errors received.

SKIP
Adhoc

Not doing these tests now, since ad hoc support is not yet available.

 
TODO - Complete this SKIP
Association

STA
Hardware - ipw2100 laptop with 802.11b wireless capabilities.
OS - Fedora 9 (or Gentoo 1.4).
Kernel version - 2.6.x (x = version required per main website)
Driver and helper software - Latest version as defined by main website.  Follow INSTALL for installation.

Most tests assume you have loaded the firmware as described in INSTALL before attempting to load the driver.  Tests also assume you are using eth1.

These tests assume that the driver is already loaded using:
% modprobe -v ipw2100 <- Verify no error messages appear.
% ifup eth1

AP (need 2 for all tests)
Hardware - b AP

Tests assume AP is configured using its web interface as described in the AP's manual.  Tests assume AP's SSID is <APSSID>

All tests below are performed as root on laptop.

 
Basic test

AP:

Configure for channel 6, and open authentication.
Configure SSID to APSSID.  Ensure that APSSID is different than current SSID so that the test actually verifies association takes place.

Driver:

% ping <machine on network> -I eth1 <- Verify ping fails because SSID hasn't been configured yet.
% iwconfig eth1 key off
% iwconfig eth1 essid <APSSID>
% iwconfig <-- Verify essid has been set.
Driver should be associating.  Verify with:
% ping <machine on network> -I eth1 <- Verify ping command comes back with data.

Pass

Association with invalid AP SSID

% iwconfig eth1 key off
% iwconfig eth1 essid invalidSSID
Wait 1 minute.
Ensure no hard lockups or hangs occur.  Verify no association has taken place via:
% ping <machine on network> -I eth1 <- Verify no data is returned.

Pass
Association with two APs

% iwconfig eth1 key off
% iwconfig eth1 essid <APSSID1>
% iwconfig
<-- Verify essid has been set to APSSID1.
Driver should be associating.  Verify with:
% ping <machine on network> -I eth1 <- Verify ping command comes back with data.
% iwconfig eth1 essid <APSSID2>
% iwconfig
<-- Verify essid has been set to APSSID2.
Driver should be associating.  Verify with:
% ping <machine on network> -I eth1 <- Verify ping command comes back with data.

SKIP
Multiple STAs association

Ensure two different STAs running ipw2100 driver can associate with the same AP.

SKIP
Two APs with same SSID, one off

Configure 2 APs for the same SSID.  Configure the system for that SSID.  Turn one AP on, leave the other off.  Verify association and use ping.  Turn that AP off, turn the other on.  Verify association and use ping.

SKIP 
Two APs same SSID, both on

Configure 2 APs for the same SSID.  Configure the system for that SSID.  Turn both APs on.  Ensure the system deals with the two APs gracefully.

SKIP 
APs off

Driver:
% rmmod ipw2100
% ifdown eth1

AP:  Turn AP off.

Driver:
% modprobe ipw2100
% ifup eth1

Ensure that the only error message received is the one stating the AP cannot be found (I get a ping failure for this.)

Note:  There was a regression where loading when not in range of AP gave ipw2100: Fatal interrupt. Scheduling firmware restart. ipw2100: eth1: Restarting adapter. errors.

Pass
Basic BSS test

Configure two machines to associate to the same AP.  Put a web server on one machine.  Ensure when both machines are associated that the second machine can view the first machine's web page.

SKIP
Basic ESS test

Perform basic BSS test above, except move one of the machines into a different room during testing and ensure the web page is always viewable.

SKIP
WEP Tests

Run through all tests above, except do extra step of:
% iwconfig eth1 key on
at start of testing.

SKIP - Need to enable this in my module.  Come back to this one.
Fragmentation - Tx and Rx

Hardware - ipw2100 laptop with 802.11b wireless capabilities.
OS - Fedora 9 (or Gentoo 1.4).
Kernel version - 2.6.x (x = version required per main website)
Driver and helper software - Latest version as defined by main website.  Follow INSTALL for installation.

Tests assume you have loaded the firmware as described in INSTALL before attempting to load the driver.  Tests assume debug output is compiled in.  Tests also assume you are using eth1.

These tests assume that the driver is already loaded using:
% modprobe -v ipw2100 <- Verify no error messages appear.
% ifup eth1

All tests below are performed as root on laptop.

Before running tests, set /proc/net/ipw2100/debug_level to 8192 in order to display debug info when fragmentation is occurring (and verify the code path of the test).

 
Basic transmit (Tx) test

% iwconfig eth1 frag 300
% iwconfig
<-- Verify fragmentation threshold is 290B
Now, the laptop is configured to fragment when packet size > 300.  So, if we can send a ping with packet size > 300, and it actually makes it to the other machine (as verified by a valid response), then we know that the fragmented packets were able to be reassembled.

% ping -c 3 -I eth1 <machine on network>
<-- Verify response received.
% ping -c 3 -I eth1 -s 400 <machine on network>
<-- Verify final output says "3 packets transmitted, 3 received"
% ping -c 3 -I eth1 -s 500 <machine on network>
<-- Verify final output says "3 packets transmitted, 3 received"
% ping -c 3 -I eth1 -s 600 <machine on network>
<-- Verify final output says "3 packets transmitted, 3 received"
% ping -c 3 -I eth1 -s 700 <machine on network>
<-- Verify final output says "3 packets transmitted, 3 received"
% dmesg <-- Verify fragmentation did occur.  For 400, 500 it should be 2 frames.  For 600, 700 it should be 3 frames.
% iwconfig
Verify Tx numbers have been incremented (can check against ifconfig).

Pass

In general, many times I will miss 1 or 2 packets.  Is this always typical?  I've tried changing the fragmentation parameters to be higher, and still have the same results.

Also, I'm wondering what the max is that I can set fragmentation threshold to?  It won't let me go past 2340, it seems.

Basic receive (Rx) test

Configure the AP frag threshold to 300 from another laptop.  So, if we can receive a response from a ping with a packet size > 300, then we know that the laptop was able to reassemble the fragmented packets from the AP.
% ping -c 3 -I eth1 ipw2100_laptop_ip <-- Verify response received.
% ping -c 3 -I eth1 -s 400 ipw2100_laptop_ip
<-- Verify final output says "3 packets transmitted, 3 received"
% ping -c 3 -I eth1 -s 500 ipw2100_laptop_ip
<-- Verify final output says "3 packets transmitted, 3 received"
% ping -c 3 -I eth1 -s 600 ipw2100_laptop_ip
<-- Verify final output says "3 packets transmitted, 3 received"
% ping -c 3 -I eth1 -s 700 ipw2100_laptop_ip
  <-- Verify final output says "3 packets transmitted, 3 received"
% dmesg <-- Verify fragmentation did occur.
% iwconfig
Verify Rx numbers have been incremented (can check against ifconfig).

 
Interferance test

% ping -c 3 -I eth1 -s 400 <machine on network>
Run this command multiple times on laptop while also using a cell phone nearby.  Verify that all packets are received.  If delay is significant, may want to try graphing the degradation in quality.  Other tools to cause interference:  microwave ovens, Bluetooth enabled devices, other wireless LANS.  Ideally, test with a 2.4 GHz wireless phone.

SKIP
Collision detection test

This test is the closest we get to verifying that fragmentation actually occurs.

Set up collision monitor tool to monitor the number of collisions on the network.

Run through Tx and Rx tests with the fragmentation threshold set to various values between 256 and 2, 048 bytes.  Ensure that the collision rate is smaller when the fragmentation threshold is smaller.

SKIP

RTS/CTS

Verify that RTS/CTS works by:
- Set up two machines and disable RTS/CTS.
- Place a script that performs multiple pings to a machine on the LAN (TODO - create script) on both machines.
- Run script and verify that collisions occur.
- Enable RTS/CTS on both machines.
- Run script again and verify that no collisions occur.

SKIP
Adhoc - Not in product yet.  May end up being covered above. SKIP
Fragmentation fixed test

% iwconfig eth1 frag fixed
% iwconfig
TBD how I should verify this.

SKIP

Need to learn what this means --> Note:  It doesn't appear to revert back to a fixed setting.

Fragmentation auto test

% iwconfig eth1 frag auto
% iwconfig
Verify fragmentation happens automatically (Need to expand verification here when this works.)

Fail - ISSUE 931396 in DB

Get error:

Error for wireless request "Set Fragmentation Threshold" (8B24) :
  SET failed on device eth1; Invalid argument

iwconfig shows fragmentation has not been turned off.

Fragmentation off test

% iwconfig eth1 frag off
% iwconfig
Verify fragmentation has been turned off.

Fail - ISSUE 931396 in DB

Get error:

Error for wireless request "Set Fragmentation Threshold" (8B24) :
  SET failed on device eth1; Invalid argument

iwconfig shows fragmentation has not been turned off.

WEP

Hardware - ipw2100 laptop with 802.11b wireless capabilities.
OS - Fedora 9 (or Gentoo 1.4).
Kernel version - 2.6.x (x = version required per main website)
Driver and helper software - Latest version as defined by main website.  Follow INSTALL for installation.

Tests assume you have loaded the firmware as described in INSTALL before attempting to load the driver.  Tests assume debug output is compiled in.  Tests also assume you are using eth1.  Tests assume WEP is compiled in.

All tests below are performed as root on laptop.

 
Large amounts of data test

Send large amounts of data through the network (200Mb-400Mb) with WEP enabled and verify send/receive works correctly.

 
TODO - Write out other WEP tests:

- Associate with an AP with WEP enabled laptop and AP.
- Associate with an AP with WEP enabled laptop, not AP.
- Check that iwconfig always shows WEP enabled.
- Basic Tx/Rx with WEP
- Higher load Tx/Rx with WEP (above)
- May also want to just do the network, power consumption, and other stress tests with and without WEP.

 
Kernel messages

- For every test where applicable, check the kernel log messages to ensure they are valid.
- One regression test is to make sure they point to
/proc/net/ipw2100.
- Check debug log to ensure all messages are valid.

Pass
Performance/Stress

Hardware - ipw2100 laptop with 802.11b wireless capabilities.
OS - Fedora 9 (or Gentoo 1.4).
Kernel version - 2.6.x (x = version required per main website)
Driver and helper software - Latest version as defined by main website.  Follow INSTALL for installation.

Tests assume you have loaded the firmware as described in INSTALL before attempting to load the driver.  Tests assume debug output is compiled in.  Tests also assume you are using eth1.

All tests below are performed as root on laptop.

 
High Tx and Rx rate

TBD the steps

SKIP
High CPU load

TBD the steps

SKIP
Tests with pre-emption disabled

TBD the steps

SKIP
User space tools  
iwconfig - Parameter and functionality tests

Hardware - ipw2100 laptop with 802.11b wireless capabilities.
OS - Fedora 9 (or Gentoo 1.4).
Kernel version - 2.6.x (x = version required per main website)
Driver and helper software - Latest version as defined by main website.  Follow INSTALL for installation.

Tests assume you have loaded the firmware as described in INSTALL before attempting to load the driver.  Tests also assume you are using eth1.

All tests below are performed as root on laptop.

 
iwconfig parameter tests  
iwconfig basic test

- iwconfig eth1
Verify the data in red below is what was configured.
Verify the data in green below is correct.

TODO - Expand on how to configure and verify expected values.
Regression issue where Noise level wasn't being set correctly.  Should be fixed after 0.38.

eth1      IEEE 802.11b  ESSID:"ESSID"  Nickname:"nickname"
          Mode:Managed  Channel:0  Access Point: 00:00:00:00:00:00
          Bit Rate=0kb/s   Tx-Power=0 dBm
          Retry:on   RTS thr=2304 B   Fragment thr:2332 B
          Encryption key:off
          Link Quality:0/0  Signal level:-90 dBm  Noise level:-75 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
 
iwconfig essid

- iwconfig eth1 essid <new essid> (Done implicitly via above tests.)
-
iwconfig eth1 essid any; iwconfig eth1 essid on -> Do not run until promiscuous mode enabled.

 

 
iwconfig nwid

- iwconfig eth1 nwid <valid network id>
Configure two machines to be in the same network and ensure they can communicate.
- Configure two machines to be in different networks and ensure they cannot communicate. (? Valid?)

- iwconfig eth1 nwid on; iwconfig eth1 nwid off --> Do not run until promiscuous mode enabled.

 
iwconfig freq

Just do some parameter testing:

- iwconfig eth1 freq 2.333G
- iwconfig eth1 freq 1001
- iwconfig eth1 freq 1000 (should error)
-
iwconfig eth1 freq 0 (should error)
-
iwconfig eth1 freq -1 (should error)

 
iwconfig chan

Just do some parameter testing:

- iwconfig eth1 chan 1000
-
iwconfig eth1 chan 999
-
iwconfig eth1 chan 1
-
iwconfig eth1 chan 2.333G (should error)
- iwconfig eth1 chan 1001 (should error)
- iwconfig eth1 chan 0 (should error)
-
iwconfig eth1 chan -1 (should error)

 
iwconfig sens

- iwconfig eth1 sens -## Set the threshold to be various values and ensure correct behavior (or error messages received):  0, 80, 120, 1000, -1

 
iwconfig mode

These tests are done implicitly with above tests.

 
iwconfig ap

Note:  It is not a defect to not connect to the closer AP, this is merely a guideline.  Need to add network tests similar to those below because the network requires to connect to the network specified in iwconfig.

- Configure two access points.  Run iwconfig eth1 ap <less close AP> and verify driver connects to that AP.  Run iwconfig eth1 ap any and verify driver connects back to the closer AP.
- Configure two access points.  Run
iwconfig eth1 ap <less close AP> and verify driver connects to that AP.  Run iwconfig eth1 ap off and verify driver is still connected to the less close AP.  Turn that AP off.  Verify driver connects to the other AP.
- Configure two access points.  Run
iwconfig eth1 ap <closer AP> and verify driver connects to that AP.  Run iwconfig eth1 ap any and verify driver stays connected to the current AP.

 
iwconfig nick

% iwconfig eth1 nickname Testing Nickname
% iwconfig eth1
Verify output in red.

eth1      IEEE 802.11b  ESSID:"..."  Nickname:"Testing Nickname"
          Mode:Managed  Channel:0  Access Point: 00:00:00:00:00:00
          Bit Rate=0kb/s   Tx-Power=0 dBm
          Retry:on   RTS thr=... B   Fragment thr:... B
          Encryption key:off
          Link Quality:0/0  Signal level:... dBm  Noise level:... dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
 
iwconfig rate

Note:  These tests only work on cards that support multiple bit rates.

Just perform parameter testing, such as:

- iwconfig eth1 rate 11M
-
iwconfig eth1 rate 15000000
-
iwconfig eth1 rate 0
- iwconfig eth1 rate -1

 
iwconfig rts  
iwconfig frag  
iwconfig key  
iwconfig enc  
iwconfig power  
iwconfig txpower

Note:  Hasn't been implemented yet.

 
iwconfig retry  
iwconfig commit  
iwconfig functionality tests  
iwconfig with no AP

With no AP connected, run:
% iwconfig eth1
Ensure that output received reflects that there is no AP:
- ESSID is blank
- Channel is 0
- AP is all 0s
- Bit rate is 0
- Link quality is 0%  (Regression issue where link quality was showing as 100%.)

 
iwlist - TODO  
iwspy - TODO  
iwpriv - TODO  
One off list - Until root cause is known, watch mailing list for frequency of user sitings.  
Corrupt payload issue (C3 related)

Users are seeing a payload packet too large error when switching into C3 state (= power saving state that is entered when idle.  C3 = more power savings than C1 and C2, but greater latency to return to C0).

Root cause = The PCI configuration space is being reset by the suspend/resume, which results in the C3 hang upon resume.

 
Fatal interrupt (unknown cause):

Users are seeing error messages like:
>>ipw2100: Fatal interrupt. Scheduling firmware restart.
>>ipw2100: wlan0: Restarting adapter.
>
> ipw2100: attempt to use fw ordinals before they have been loaded.

James speculates it's because the fatal interrupt triggers the firmware reload, which pings hotplug to download the bits. It looks like the firmware loaded once and was unresponsive (no fatal interrupt--just hung) and so the HW commands timed out.
We haven't found the cause of the fatal interrupt, but I did find out why the card wasn't able to initialize (or at least a main contributing factor)... when I switched the ISR to do its work outside of interrupt context, I wasn't thinking and just did this via schedule_work and the default work queue.  0.38 changes the code to correctly use a tasklet.

 
Hotplug firmware reload issue

TODO - Add details here.

Workaround is to use legacy fw loader.

 
Tools  
- Use ifplugd (http://www.stud.uni-hamburg.de/users/lennart/projects/ifplugd/) to automatically initiate module loading and connect. SKIP
Performance and Power Consumption  
Placeholder for test of network throughput performance (netbench/netprof?). SKIP - tests being created
Placeholder for test of power consumption (/proc/acpi/battery/*) when unplugged. SKIP - tests being created
Suspend/Resume/Power Control  
Suspend machine running machine and ensure system works as expected when resumed.  TODO - Expand this test as well as this section.  
Wait for processor to go into save power state.  Check logs to ensure link was always available.  (Regression issue where link went down for a few seconds during suspend.)  
LED verification - unsure if all this functionality is in the product yet

If laptop has a wireless LED, verify that it does:  off when the interface is down, flashing when it's up but not connected (e.g. RF kill switch turns the radio off) and permanently on when connected.

This should match /proc/net/ipw2100/state.

 
LED verification

Bring interface down with:
% ifconfig eth1 down
Verify that the LED goes off and stays off (regression issue where it came back on after a few seconds because the hang check timer was restarting the firmware and bringing the adapter back up).

 
Install/Uninstall Testing  
Comparison test -> full install on 2.4, 2.6 kernel is equivalent to patches install [After this test, the tests below can be performed on a full install or a patches install.]  
Latest Linux 2.4 kernel  
Latest Linux 2.6 kernel  
FC1 2.4 kernel  
Debian 2.4 kernel  
SuSE 2.4 kernel  
Gentoo 2.4 kernel  
README verification  
Content verification SKIP
TODO tests  
This section lists the features that still need to be tested or certain aspects of features that haven't been tested.

- Fragmentation --> Current tests only cover that, if fragmentation happens, no data is lost.  No tests exist to ensure that packets actually are fragmented.
- WEP -->  Current tests only cover that association functions as desired with WEP enabled.  Tests do not check that data is truly encrypted or test the encryption modes.
- IBSS/Adhoc tests - Needs to be added
- Suspend, Resume, Power control - Needs to be added
- Promiscuous (raw) support - Needs to be added

 

Copyright (c) 2004 Intel Corporation.  All rights reserved.