2017-05-22 29 views
0

此代码对树莓PI3运行试图在脚本有条件

我有一个脚本/etc/rc2.d/S05frameapp有条件地启动hostapd启动/ usr/sbin目录/ hostapd(查看是否无线(此部分被运行,如果没有wifi已经建立一套该设备)

echo "restarting etho" 
/sbin/ifup wlan0 

echo "Starting hostapd"; 
/usr/bin/nohup /usr/sbin/hostapd -B -P /var/run/hostapd.pid /etc/hostapd/hostapd.conf >> /tmp/hostapd.log 2>&1 & 

echo "Starting dnsmasq "; 
/usr/sbin/service dnsmasq start; 

echo "Starting wifi_config node"; 
cd /home/wifi_listener/ 
/usr/bin/nohup /usr/local/bin/node app.js >> /tmp/nodeapp.log 2>&1 & 

从nohup的已设置或不)

脚本,在/tmp/hostapd.log我见

cat /tmp/hostapd.log 
Configuration file: /etc/hostapd/hostapd.conf 
Failed to create interface mon.wlan0: -95 (Operation not supported) 
Could not set channel for kernel driver 
Interface initialization failed 
wlan0: interface state UNINITIALIZED->DISABLED 
wlan0: AP-DISABLED 
wlan0: Unable to setup interface. 
hostapd_free_hapd_data: Interface wlan0 wasn't started 

,但如果我现在登录(通过硬连线网络),并运行以下它的工作原理...

#/usr/sbin/hostapd -B -P /var/run/hostapd.pid /etc/hostapd/hostapd.conf 
Configuration file: /etc/hostapd/hostapd.conf 
Failed to create interface mon.wlan0: -95 (Operation not supported) 
wlan0: Could not connect to kernel driver 
Using interface wlan0 with hwaddr b8:27:eb:40:bd:a4 and ssid 
"WhatUlooknAtWillis" 
wlan0: interface state UNINITIALIZED->ENABLED 
wlan0: AP-ENABLED 

,所以我想kinfod这可能是一个时间问题?这就是为什么我现在有脚本运行S05

感谢您的帮助

回答

1

我发现这个问题。 它开始hostapd和的dnsmasq的顺序

是你需要先启动的dnsmasq修复,然后开始hostapd

echo "Starting dnsmasq "; 
/usr/sbin/service dnsmasq start 

echo "Starting hostapd"; 
/usr/bin/nohup /usr/sbin/hostapd -B -P /var/run/hostapd.pid /etc/hostapd/hostapd.conf >> /tmp/hostapd.log 2>&1 &