Subject: Re: wi0 going mute?
To: None <current-users@netbsd.org>
From: Paul Ripke <stix@stix.homeunix.net>
List: current-users
Date: 02/05/2004 02:05:07
Finally managed to upgrade userland, so testing is a bit simpler.
userland + kernel is currently 20040128.

On Monday, Jan 26, 2004, at 13:44 Australia/Sydney, David Young wrote:
>
> Does ifconfig tell you that OACTIVE is set?  Is there a lot of 
> broadcast
> traffic on this net?

OACTIVE is set when "mute". There shouldn't be much broadcast traffic,
one Mac laptop is the only other node. I occasionally see a few DHCP
requests from systems elsewhere, but my laptop is the only one in the
arp tables, and I can get wi0 to go mute with the laptop idle.

> See if it prolongs the inevitable when you increase WI_NTXRSS from 10
> to 40 or 160.  Also, it would be interesting to see what the content of
> sc->sc_rssd[] is when wi_stop cleans it up after you 'ifconfig wi0 
> down'.

I should have time to try bumping WI_NTXRSS tomorrow...

sc_rssd, when OACTIVE and UP, is:

(gdb) print ((struct wi_softc *)ifnet.tqh_first.if_softc).sc_rssd
$7 = {
{rd_desc = {id_len = 116, id_rateidx = 3, id_node = 0xc0c32800, id_rssi 
= 35 '#'}, rd_next = {sle_next = 0x0}},
{rd_desc = {id_len = 116, id_rateidx = 3, id_node = 0x0, id_rssi = 35 
'#'}, rd_next = {sle_next = 0xc0959da4}},
{rd_desc = {id_len = 64, id_rateidx = 3, id_node = 0xc0952a00, id_rssi 
= 35 '#'}, rd_next = {sle_next = 0xc0959e58}},
{rd_desc = {id_len = 116, id_rateidx = 3, id_node = 0x0, id_rssi = 35 
'#'}, rd_next = {sle_next = 0xc0959dcc}},
{rd_desc = {id_len = 132, id_rateidx = 3, id_node = 0x0, id_rssi = 33 
'!'}, rd_next = {sle_next = 0xc0959dcc}},
{rd_desc = {id_len = 26, id_rateidx = 0, id_node = 0x0, id_rssi = 35 
'#'}, rd_next = {sle_next = 0xc0959e1c}},
{rd_desc = {id_len = 116, id_rateidx = 3, id_node = 0x0, id_rssi = 35 
'#'}, rd_next = {sle_next = 0xc0959da4}},
{rd_desc = {id_len = 64, id_rateidx = 3, id_node = 0xc0952a00, id_rssi 
= 35 '#'}, rd_next = {sle_next = 0xc0959dcc}},
{rd_desc = {id_len = 75, id_rateidx = 3, id_node = 0xc0952a00, id_rssi 
= 35 '#'}, rd_next = {sle_next = 0xc0959e30}},
{rd_desc = {id_len = 116, id_rateidx = 3, id_node = 0x0, id_rssi = 35 
'#'}, rd_next = {sle_next = 0xc0959e08}}}

After ifconfig down, all id_node = 0x0.

Some time after ifconfig down && up:

(gdb) print ((struct wi_softc *)ifnet.tqh_first.if_softc).sc_rssd
$24 = {
{rd_desc = {id_len = 1532, id_rateidx = 3, id_node = 0x0, id_rssi = 34 
'"'}, rd_next = {sle_next = 0x0}},
{rd_desc = {id_len = 75, id_rateidx = 3, id_node = 0x0, id_rssi = 34 
'"'}, rd_next = {sle_next = 0xc0959e30}},
{rd_desc = {id_len = 1532, id_rateidx = 3, id_node = 0x0, id_rssi = 34 
'"'}, rd_next = {sle_next = 0xc0959de0}},
{rd_desc = {id_len = 1532, id_rateidx = 3, id_node = 0x0, id_rssi = 34 
'"'}, rd_next = {sle_next = 0xc0959df4}},
{rd_desc = {id_len = 1532, id_rateidx = 3, id_node = 0x0, id_rssi = 34 
'"'}, rd_next = {sle_next = 0xc0959e58}},
{rd_desc = {id_len = 644, id_rateidx = 3, id_node = 0x0, id_rssi = 34 
'"'}, rd_next = {sle_next = 0xc0959e44}},
{rd_desc = {id_len = 644, id_rateidx = 3, id_node = 0x0, id_rssi = 34 
'"'}, rd_next = {sle_next = 0xc0959e08}},
{rd_desc = {id_len = 532, id_rateidx = 3, id_node = 0x0, id_rssi = 34 
'"'}, rd_next = {sle_next = 0xc0959e1c}},
{rd_desc = {id_len = 644, id_rateidx = 3, id_node = 0x0, id_rssi = 34 
'"'}, rd_next = {sle_next = 0xc0959dcc}},
{rd_desc = {id_len = 1532, id_rateidx = 3, id_node = 0x0, id_rssi = 34 
'"'}, rd_next = {sle_next = 0xc0959da4}}}

Cheers,
--
Paul Ripke
Unix/OpenVMS/TSM/DBA
I love deadlines. I like the whooshing sound they make as they fly by.
-- Douglas Adams