Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
init script for hostapd[solved]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Networking & Security
View previous topic :: View next topic  
Author Message
Adel Ahmed
Veteran
Veteran


Joined: 21 Sep 2012
Posts: 1523

PostPosted: Wed Dec 04, 2013 10:07 am    Post subject: init script for hostapd[solved] Reply with quote

I'm trying to start hostap automatically on boot, So I wrote a simple init script:

localhost ~ # cat /etc/init.d/router
#!/sbin/runscript
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

depend() {
after xdm
}

start() {
hostapd /etc/hostapd/hostapd.conf > /var/log/router.log 2>&1 &
#/etc/init.d/iptables start
ifconfig wlan0 192.168.0.1/24
}

stop() {
echo bye
}


If I run this script manually, everything is fine, If I add the script to the default run level, hostapd is running, iwconfig show wlan0 is running in master mode, ifconfig show wlan0 has no IP and I cannot connect to this Access point
when I looked at /var/log/router.log (hostapd's output), i found this error:
handle probe req: send: resource temporarily unavailable
I want hostap to start automatically on boot, and then the IP should be assigned to that interface
I don't mind other approaches as long as the job gets done, I'm using gnome 2.32.1-r2, openrc 0.11.8

thanks


Last edited by Adel Ahmed on Fri Dec 06, 2013 7:30 pm; edited 1 time in total
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1668

PostPosted: Wed Dec 04, 2013 10:08 am    Post subject: Reply with quote

why don't u use the hostapd script, that is already there?
Back to top
View user's profile Send private message
Adel Ahmed
Veteran
Veteran


Joined: 21 Sep 2012
Posts: 1523

PostPosted: Wed Dec 04, 2013 10:47 am    Post subject: Reply with quote

same result, a manual start works while the autostart yields the same result
EDIT: actually the wireless interface comes up briefly and is lost afterwards
I'll install rsyslog and start debugging
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3131

PostPosted: Wed Dec 04, 2013 12:34 pm    Post subject: Reply with quote

i bet it's the same issue
https://forums.gentoo.org/viewtopic-p-7451478.html#7451478
Back to top
View user's profile Send private message
Adel Ahmed
Veteran
Veteran


Joined: 21 Sep 2012
Posts: 1523

PostPosted: Wed Dec 04, 2013 12:51 pm    Post subject: Reply with quote

nope

I can't find any logs under /var/log, the only one that had any helpful info was /var/log/rc.log:

sometimes I get:
* Starting hostapd ...
Configuration file: /etc/hostapd/hostapd.conf
nl80211: Failed to set interface wlan0 into AP mode
nl80211 driver initialization failed.
* start-stop-daemon: failed to start `/usr/sbin/hostapd'


In usually get:
* Starting hostapd ...
Configuration file: /etc/hostapd/hostapd.conf
Using interface wlan0 with hwaddr 00:60:b3:xx:xx:xx and ssid "test"

and I always end up with no wireless AP
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3131

PostPosted: Wed Dec 04, 2013 5:26 pm    Post subject: Reply with quote

have you triggered that rc-update --update command? This is what I linked, not entire topic
Do you have logger installed?

What does this command say?
grep -v '^$\|^#' /etc/hostapd/hostapd.conf /etc/conf.d/hostapd /etc/conf.d/net
Back to top
View user's profile Send private message
Adel Ahmed
Veteran
Veteran


Joined: 21 Sep 2012
Posts: 1523

PostPosted: Wed Dec 04, 2013 5:59 pm    Post subject: Reply with quote

yup I have :D
and here's the output of those very interesting options, definitely gonna look them up and learn how to use them, thanks:
localhost ~ # grep -v '^$\|^#' /etc/hostapd/hostapd.conf /etc/conf.d/hostapd /etc/conf.d/net
/etc/hostapd/hostapd.conf:interface=wlan0
/etc/hostapd/hostapd.conf:driver=nl80211
/etc/hostapd/hostapd.conf:ssid=test
/etc/hostapd/hostapd.conf:hw_mode=g
/etc/hostapd/hostapd.conf:channel=7
/etc/hostapd/hostapd.conf:wpa=1
/etc/hostapd/hostapd.conf:wpa_passphrase=password
/etc/hostapd/hostapd.conf:wpa_key_mgmt=WPA-PSK
/etc/hostapd/hostapd.conf:wpa_pairwise=TKIP
/etc/hostapd/hostapd.conf:rsn_pairwise=CCMP
/etc/hostapd/hostapd.conf:logger_syslog=-1
/etc/hostapd/hostapd.conf:logger_syslog_level=4
/etc/conf.d/hostapd:INTERFACES="wlan0"
/etc/conf.d/hostapd:CONFIGS="/etc/hostapd/hostapd.conf"
/etc/conf.d/hostapd:OPTIONS=""
/etc/conf.d/net:config_eth0=( "192.168.1.6 netmask 255.255.255.0" )
/etc/conf.d/net:routes_eth0=( "default gw 192.168.1.1" )
/etc/conf.d/net:dns_servers_eth0=( "8.8.8.8" )
/etc/conf.d/net:modules_wlan0=( "wpa_supplicant" )
/etc/conf.d/net: wpa_supplicant_wlan0=( "-Dwext" )
/etc/conf.d/net:config_wlan0=( "192.168.0.1 brd 192.168.0.255 netmask 255.255.255.0" )
/etc/conf.d/net:routes_wlan0=( "default via 192.168.0.1" )

so this command looks for something that does not begin with a # or a $, am I getting this right? also is this a regular expression?
Back to top
View user's profile Send private message
Adel Ahmed
Veteran
Veteran


Joined: 21 Sep 2012
Posts: 1523

PostPosted: Thu Dec 05, 2013 7:37 am    Post subject: Reply with quote

yet restarting the init script seems to be working, I have removed the 'need net.wlan0' don't know if this makes any difference( I have done this earlier to get the script working in the first place)
Back to top
View user's profile Send private message
Adel Ahmed
Veteran
Veteran


Joined: 21 Sep 2012
Posts: 1523

PostPosted: Thu Dec 05, 2013 5:09 pm    Post subject: Reply with quote

I have temporarily worked around the problem by addin the at command to another init script
still gonna try working on it though
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3131

PostPosted: Thu Dec 05, 2013 6:38 pm    Post subject: Reply with quote

ok, i hav never set hostapd with wpa, so I might get things wrong at this point, but isn't hostapd for master mode the same thing wpa_supplican't is for client mode?
I mean, for master mode you set passphrase in hostapd.conf. Why you want to use 2 different tools for doing the same thing at the same time?
I've picked up first "get started fast" howto on hostapd just to make sure http://nims11.wordpress.com/2012/04/27/hostapd-the-linux-way-to-create-virtual-wifi-access-point/ I know it's not for gentoo, but hey, hostapd is hostapd, and it will read hsotapd's config regardless of distro :)

so, probably the right thing to do will be (probably is the keyword here... I'm using old, weak wep, yet I'd give this a try)
remove those lines as they probably make mess
/etc/conf.d/net:modules_wlan0=( "wpa_supplicant" )
/etc/conf.d/net: wpa_supplicant_wlan0=( "-Dwext" )

those 2 will make services related to network start hostapd instead of wlan0 directly
add line: rc_net_wlan0_provide="!net" to /etc/conf.d/net
add add line :rc_provide="net" to /etc/conf.d/hostapd (or make your dhcpd rc_need="hostapd" - assuming you have dhcpd for your local network)


Also, I don't get the purpose of line below, considering you already have an interface with IP address in the same subnet. I don't know how it's handled, might do nothing or prevent you from sending anything to this subnet (or anything at all using this interface)
/etc/conf.d/net:routes_wlan0=( "default via 192.168.0.1" )

hostapd does know what interface it needs, it's init script has some magic that takes care of it. You don't have to explicitly state it
and yes, this command contains regular expression. It says "ignore every line that is empty or begins with #". In other words ->skip comments and the rest of crap. (well, in fact it's buggy, but with default configs works well enough for me to give up on handling whitespace too)
Back to top
View user's profile Send private message
Logicien
Veteran
Veteran


Joined: 16 Sep 2005
Posts: 1555
Location: Montréal

PostPosted: Thu Dec 05, 2013 7:44 pm    Post subject: Reply with quote

Use the wlan0 wireless interface as a Wpa server and client at the same time and give to this interface the same Ip address and route cannot be a sane configuration.

Why use Wpa_supplicant client on wlan0 if it is a Wpa server with Hostapd? I never seen that at the same time.

Why use Wpa_supplicant client on wlan0 if no dhcp request is made?

Why use Wpa_supplicant if static IP address and route is set on wlan0?

Why give the same IP adress and route 192.168.0.1 to wlan0? I never seen an interface be routed to itself. This mean that the traffic that cannot be routed through 192.168.0.0 and arrive to 192.168.0.1 will be routed through 192.168.0.0 by the default route 192.168.0.1. The traffic will go back on the interface and communication with other networks will be impossible.

Hostapd is usefull if the clients it authenticate can receive an Ip configuration from a Dhcp server on the Ap interface. The Ap interface IP address is on the same network than the one receive by the Dhcp clients.
_________________
Paul
Back to top
View user's profile Send private message
Adel Ahmed
Veteran
Veteran


Joined: 21 Sep 2012
Posts: 1523

PostPosted: Thu Dec 05, 2013 8:44 pm    Post subject: Reply with quote

about that route thing, I removed it, that does make sense :D, it's just a habit to set the default gateway even If I'm at the gw :)
I removed both lines and I'm getting the same result
Back to top
View user's profile Send private message
Logicien
Veteran
Veteran


Joined: 16 Sep 2005
Posts: 1555
Location: Montréal

PostPosted: Fri Dec 06, 2013 3:09 am    Post subject: Reply with quote

Before, you say wlan0 have run in master mode. Have you ever check if it really support that mode?
Code:
iw phy


Look for
Code:
Supported interface modes:
...
* AP
...

_________________
Paul
Back to top
View user's profile Send private message
Adel Ahmed
Veteran
Veteran


Joined: 21 Sep 2012
Posts: 1523

PostPosted: Fri Dec 06, 2013 7:42 am    Post subject: Reply with quote

thanks for your reply
here's the result:
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor


I'm not having troubles running the interface in master mode, I have a problem running the if in master mode automatically, I can't pinpoint the problem though
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3131

PostPosted: Fri Dec 06, 2013 8:58 am    Post subject: Reply with quote

What do you do to run it manually?

Also, result of `rc-update show` might be usefull
Back to top
View user's profile Send private message
Adel Ahmed
Veteran
Veteran


Joined: 21 Sep 2012
Posts: 1523

PostPosted: Fri Dec 06, 2013 9:36 am    Post subject: Reply with quote

well it's already started so I issue /etc/init.d/hostapd restart, and if it's not, I use start instead. It works in both cases

localhost pri # rc-update show
atd | default
bootmisc | boot
consolekit | default
dbus | default
devfs | sysinit
dhcpd | default
dmesg | sysinit
hostapd | default
hostname | boot
hwclock | boot
keymaps | boot
killprocs | shutdown
lm_sensors | default
local | default
localmount | boot
modules | boot
mount-ro | shutdown
mtab | boot
named | default
net.lo | boot
procfs | boot
root | boot
rsyslog | default
savecache | shutdown
sshd | default
swap | boot
swapfiles | boot
sysctl | boot
sysfs | sysinit
termencoding | boot
tigervnc | default
tmpfiles.setup | boot
udev | sysinit
udev-mount | sysinit
udev-postmount | default
urandom | boot
vnc | default
wicd | default
xdm | default
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3131

PostPosted: Fri Dec 06, 2013 6:26 pm    Post subject: Reply with quote

*Staring at a glass ball, playing psychic, writing answers to not-yet-asked questions and stating things you haven't mentioned.

You've got a PC you want to turn into a wireless router. Your setup is (the internet) -//- (eth0) <your wtf-trouble-somePC>(wlan0) ))) local network
For some reason, you have decided to use WICD as network manager, even though you only have 1 interface in client mode to manage, even though it's handled automagicaly by provided-by-default netifrc.
At the begining of this topic, you were trying to manage your wlan0 with 3 (sic!) services at the same time: netifrc+hostapd, wicd, wpa_supplicant. (Still missing NM though XD )

So, with wpa_Supplicant exterminated, you stil lhave conflicting wicd and netifrc+hostapd. Hostapd and wicd surely both provide net, so hostapd is launched first, as it's before wicd in alphabetical order. Once it's set, wicd is launched and overwrites whatever hostapd has done turning your wlan0 into client again.

I think that's 3rd WTF pointed out by now.

So, make your mind on the way you go for cofiguring network interfaces and clean up the mess after the other.

Also, sniffing another problem: have you limited dhcpd to your wlan0? Default config provides some protection from this, but you might me sending DHCP offers to computers in your ISP network as well as to computers in your local network. And I bet neither you nor your ISP want this
Back to top
View user's profile Send private message
Adel Ahmed
Veteran
Veteran


Joined: 21 Sep 2012
Posts: 1523

PostPosted: Fri Dec 06, 2013 6:48 pm    Post subject: Reply with quote

yes that is correct :D
a simple removal of wicd fixed things and hostapd is starting as an init script :D
and my DHCP is only listening on the local netowrk :D
Problem solved.
and I configured a static ip for wlan0 by adding the following to /etc/hostapd/hostapd.conf
own_ip_addr=192.168.0.1


thanks for your help, you have been most helpful
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Networking & Security All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum