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>