ndis driver: invalid argument (freebsd 8.0)

David Horn dhorn2000 at gmail.com
Mon Dec 7 14:33:15 UTC 2009


On Mon, Dec 7, 2009 at 12:28 AM, Anh K. Huỳnh <xkyanh at gmail.com> wrote:
>
> Hi,
>
> On Sun, 6 Dec 2009 22:05:33 -0500
> Glen Barber <glen.j.barber at gmail.com> wrote:
>
> > Hi
> >
> > On Sun, Dec 6, 20309 at 9:17 PM, Anh K. Huỳnh <xkyanh at gmail.com>
> > wrote:
> > > Hi all,
> > >
> > > I compiled `bcmwl5` module by `ndisgen` then loaded that module
> > > successfully, but I get the `invalid argument` error:
> > >
> > > $ ifconfig ndis0 ssid TOM-and-JERRY
> > > ifconfig: SIOCS80211: Invalid argument
> > >
> > > What's wrong to my ndis driver? I read /usr/src/UPDATING and
> > > wireless section in the Handbook but found nothing special. So I
> > > post here for your helps.
> > >
> >
> > 1.) Are your kernel and userland in sync?
> >
> > 2.) What is the output of 'uname -a'?  If 8.X, read the 20080420
> > entry in src/UPDATING.
> >
>
> I am using 8.0-RELEASE (upgraded from 7.2-RELEASE). I've read the 20080420 entry and configured my card successfully. (I read that section before asking in list but I confused.)
>

If you have your /usr/src/ and kernel in sync (when you generated your
ndis module), then try something like:

ifconfig wlan0 create wlandev ndis0
ifconfig wlan0 ssid TOM-and-JERRY

via rc.conf:

wlans_ndis0="wlan0"
ifconfig_wlan0="ssid TOM-and-JERRY"

>From wlan(4) man page:

Drivers provide 802.11 functionality through wlan interfaces that are
     created at runtime using interface cloning.  This is done with the
     ifconfig(8) create command or using the wlans_IFX variable in rc.conf(5).
     Some drivers support the creation of multiple wlan interfaces that share
     the same underlying device; this is the way by which ``multi-bss sup-
     port'' is provided but it can also be used to create WDS links and other
     interesting applications.

If you use WPA wireless security and DHCP on your wireless network,
you should also look at wpa_supplicant(8) and wpa_supplicant.conf(5)
and use something like:

wlans_ndis0="wlan0"
ifconfig_wlan0="WPA DHCP"

and setup your /etc/wpa_supplicant.conf file as required with
something like (entries vary based upon exact setup of your wireless
network.  See wpa_supplicant.conf man page):

     ctrl_interface=/var/run/wpa_supplicant
     ctrl_interface_group=wheel
     network={
	     ssid="TOM-and-JERRY"
	     key_mgmt=WPA-PSK
	     psk="very secret passphrase"
     }


and of course make sure that the generated ndis module is loaded (via
kldload or via /boot/loader.conf) before attempting to clone the
interface with "ifconfig wlan0 create wlandev ndis0"  See kldstat(8)
man page and utility if you are unsure if your generated ndis kernel
module is loaded.

Good Luck.

--Dave Horn


More information about the freebsd-questions mailing list