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]"