Re: RT2860 NDIS needs rate.bin, where is it?

Jack Twilley <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
Paul B. Mahol wrote:
> On 3/24/09, Jack Twilley <[email protected]> wrote:
>> Paul B. Mahol wrote:
>>> On 3/23/09, Jack Twilley <[email protected]> wrote:
>>>> NDIS finally works again in 8.0-CURRENT so I thought I'd try to get my
>>>> RT2860 wireless working.  I built the rt2860_sys.ko using ndisgen and
>>>> copied rt2860.bin into /compat/ndis and kldloaded the new module.  NDIS
>>>> complains that it can't open /compat/ndis/rate.bin with errno 2.  I
>>>> don't have a rate.bin to give it, there wasn't one in the Windows bundle
>>>> or the Linux one though it is referenced in the Linux driver source
>>>> code.  I tried copying rt2860.bin to rate.bin but that didn't work.
>>>>
>>>> I tried starting wpa_supplicant anyway, and got this:
>>>>
>>>> Starting wpa_supplicant.
>>>> ioctl[SIOCG80211, op 98, len 32]: Invalid argument
>>>> ELOOP: remaining socket: sock=5 eloop_data=0x28407140
>>>> user_data=0x2840e040 handler=0x8069f40
>>>> /etc/rc.d/wpa_supplicant: WARNING: failed to start wpa_supplicant
>>> Please, tell me that you start wpa_supplicant with -Dndis flag.
>>>
>> I ran 'sh -x /etc/rc.d/wpa_supplicant start ndis0' to see how the script
>> was starting the program.  Here is the original command line:
>>
>> /usr/sbin/wpa_supplicant -s -B -i ndis0 -c /etc/wpa_supplicant.conf -D
>> bsd -P /var/run/wpa_supplicant/ndis0.pid
>>
>> I replaced '-D bsd' with '-D ndis' and still got a return code of 255.
>> I double-checked to ensure the module was loaded, and adding '-dd' did
>> not increase the debug output.
>>
>> I also read the /etc/rc.d/wpa_supplicant script to see how it detected
>> whether or not to use '-D ndis'.  Turns out it calls a function named
>> 'is_ndis_interface()' which checks a sysctl named
>> 'net.wlan.${1#wlan}.%parent' but there is no 'net.wlan.ndis0.%parent',
>> nor is there any 'net.wlan.ndis0' keys.  There *is* 'net.ndis.0.%parent'
>> which is set to pci1 and 'net.ndis.0.%driver' which is set to ndis --
>> the latter sounds like a possibly sensible test for '-D ndis' if you ask
>> me.
>>
>> Anyway, the fact that the sysctl wasn't present makes me think the
>> failure to load /compat/ndis/rate.bin might have caused 'ndis_attach()'
>> to not call 'ndis_create_sysctls()', or 'ndis_attach_pci()' to not call
>> 'ndis_attach()', or so on -- but I can't tell where 'NdisOpenFile()'
>> gets called so I'm not sure.
>>
>> Does this sound reasonable?  What do you think?
> 
> Probably, in my case net.wlan.0.%parent is ndis0
> 
> What is displayed on kldload and device attach on console?
> Try it with sysctl debug.ndis=1.
> 
> 

Here is dmesg output from 'kldload rt2860_sys.ko' after running 'sysctl 
debug.ndis=1':

no match for ZwWriteFile
no match for ZwCreateFile
no match for ZwReadFile
ndis0: <802.11n Wireless LAN Card> mem 0xfbef0000-0xfbefffff irq 19 at 
device0.0 on pci1
ndis0: [ITHREAD]
ndis0: NDIS API version: 5.0
NDIS: open file /compat/ndis/rate.bin failed: 2
attach done.
halting done.

/var/log/messages doesn't have anything new to add -- an unknown USB 
device is detected but that's the camera so I'm not worried.

Jack.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.