kern/131781: [ndis] ndis keeps dropping the link

Paul B. Mahol onemda at gmail.com
Wed Feb 18 07:33:58 PST 2009


On 2/18/09, Adam K Kirchhoff <adamk at voicenet.com> wrote:
> On Wed, 18 Feb 2009 12:06:21 +0100
> "Paul B. Mahol" <onemda at gmail.com> wrote:
>
>> On 2/17/09, Adam K Kirchhoff <adamk at voicenet.com> wrote:
>> > On Tuesday 17 February 2009 17:14:07 Paul B. Mahol wrote:
>> >> On 2/17/09, Adam K Kirchhoff <adamk at voicenet.com> wrote:
>> >> > On Tue, 17 Feb 2009 19:22:22 +0100
>> >> >
>> >> > "Paul B. Mahol" <onemda at gmail.com> wrote:
>> >> >> http://www.freebsd.org/cgi/query-pr.cgi?pr=131781
>> >> >>
>> >> >> This one should not happen, 108 rate should get recognized.
>> >> >> I will try to reproduce it on CURRENT.
>> >> >>
>> >> >> To OP, could you try 7 STABLE after 31 Jan? I guess it should not
>> >> >> change anything but you never know.
>> >> >
>> >> > Sorry, I must have copied and pasted the uname output from the wrong
>> >> > machine.  This is actually FreeBSD 7.1-STABLE #4: Mon Feb 16 16:37:18
>> >> > EST 2009 :-)
>> >>
>> >> miniport dump NDIS_STATUS_UNSUPPORTED_MEDIA for error in
>> >> ndis_setstate() for setting OID_802_11_CONFIGURATION.
>> >
>> > Sorry if I seem slow, but are you asking me to check something there, or
>> > just
>> > stating what you think the problem is? :-)
>>
>> You can add printf() before "ndis_set_info(sc,
>> OID_802_11_CONFIGURATION, &config, &len);" in ndis_setstate_80211() to
>> check what value for config.nc_dsconfig is by default.
>
> I'll try that shortly.
>
>> Also try changing "sysctl debug.ndis=1" and post console debug ouput
>> again.
>
> This was strange.  If I boot up and enable debugging before I try to
> run '/etc/rc.d/netif start ndis0' everything works just fine.  I get an
> IP address and stay connected (at least under a light load).  This is
> the output:
>
> ndis_newstate: INIT -> INIT
> ndis0: NDIS ERROR: c00013a7 (unknown error)
> ndis0: NDIS ERROR: c0001392 (unknown error)

these two errors means:

EVENT_NDIS_ADAPTER_CHECK_ERROR
EVENT_NDIS_INVALID_VALUE_FROM_ADAPTER

Looks like minport driver doesnt like your card.
Are you absolutly sure that you are using right miniport driver?

> Setting BSSID to ff:ff:ff:ff:ff:ff
> Setting ESSID to ""
> ndis0: no matching rate for: 108
> ndis_newstate: INIT -> RUN
> ndis0: link state changed to UP
> ndis_newstate: RUN -> INIT
> Setting channel to 2412000kHz
> ndis0: couldn't change DS config to 2412000kHz: 19
> Setting BSSID to ff:ff:ff:ff:ff:ff
> Setting ESSID to "Mckella280Front"
> ndis0: link state changed to DOWN
> ndis0: no matching rate for: 108
> ndis_newstate: INIT -> RUN
> ndis0: link state changed to UP
>
> If I then stop the network on that device, disable debug, and try to
> start it up again, I get the same problem as before:
>
> ndis0: couldn't change DS config to 2412000kHz: 19
> ndis0: link state changed to DOWN
> ndis0: no matching rate for: 108
> ndis0: link state changed to UP
> ndis0: couldn't change DS config to 2412000kHz: 19
> ndis0: link state changed to DOWN
> ndis0: no matching rate for: 108
> ndis0: link state changed to UP
> ndis0: link state changed to DOWN
>
> If I then stop the network, enable debugging, and start up the network,
> the problem persists.
>

You are starting ndis0 in same way in both cases?

-- 
Paul


More information about the freebsd-net mailing list