Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Feb 2011 13:57:10 +0100
From:      Paul Schenkeveld <freebsd@psconsult.nl>
To:        freebsd-stable@freebsd.org
Subject:   Re: Is /etc/rc.conf scriptable?
Message-ID:  <20110201125710.GA81081@psconsult.nl>
In-Reply-To: <20110201123506.GA97242@fbsd.t60.cpu>
References:  <20110201123506.GA97242@fbsd.t60.cpu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Feb 01, 2011 at 08:35:06PM +0800, Yue Wu wrote:
> Hi list,
> 
> I'm trying to do something to make rc.conf can act conditionally
> 
> What I want is:
> 
> 1. List the wireless access points,
> 
> grep if there is one which bssid is 'bb:bb:bb:bb:bb:bb',
> 
> if there is, then set ifconfig_wlan0 to the value:
> 
>     "inet 192.168.1.111 netmask 255.255.255.0 WPA"
> 
> 2. check if bitlbee has been installed, if so, then let bitlbee
> service start.
> 
> 
> So I tried with following settings in rc.conf, but all of them failed,
> i.e., the networking can't be connected and bitlbee service doesn't
> run.
> 
> /etc/rc.conf
> 
> if ifconfig wlan0 list scan 2>/dev/null | grep -q 'bb:bb:bb:bb:bb:bb' >/dev/null 2>&1; then
>     ifconfig_wlan0="inet 192.168.1.111 netmask 255.255.255.0 WPA"
> fi
> if [ -x /usr/local/sbin/bitlbee ]; then
>     bitlbee_enable="YES"
> fi

/etc/rc.conf is scriptable (unless you are also using a dashboard or
other software that wants to interpret/update /etc/rc.conf).

Your problem here is that rc.conf is read (and executed) before wlan0
gets created.  After creation of an interface, /etc/start_if.<interface>
is called, perhaps you could use that but keep in mind it's run just
after creation of the interface so if you use it for wlan0 and need the
output of a station scan you should use ifconfig wlan0 scan instead of
ifconfig wlan0 list scan.  This may take some time during which your
boot process is stalled.

> My question is, how to achieve what I want? The simpler, the better :)

Otherwise, perhaps devd could help you to run your script asynchronously
after wlan0 is created.

Regards,

Paul Schenkeveld



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110201125710.GA81081>