So basically, if I do bridge first, then run hostapd as a daemon, it used to work, but with a newer kernel it doesn't, because the bridge needs wlan0 to be in master mode already, which is the job of hostapd. If I do hostapd first via /etc/network/interfaces, then the bridge from the same file, then everything starts up without an error, but I can't do WPA, only after I restart hostapd.

I found a workaround for the first case: "iwconfig wlan0 mode master" doesn't work, but "pre-up iw dev wlan0 set type __ap" does the job. It sets the card to master mode, then the bridge can be set up, then hostapd starts as a daemon and everything is working fine again.

So now the real problem remains, the second case: if hostapd is run from /etc/network/interfaces and I set up a bridge in the same file, then hostapd either doesn't receive EAPOL responses or sends the EAPOL requests to the wrong place and I get EAPOL timeouts in the syslog. Bottom line: no WPA.

Check this interfaces file:

iface eth0 inet manual
iface wlan0 inet manual
  hostapd /etc/hostapd/hostapd.conf
iface br0 inet static
  bridge-ports eth0 wlan0

I'm guessing what it does is this: bring up eth0, then run hostapd in the pre-up stage, then bring up wlan0, then bring up the bridge. The problem could be that hostapd doesn't see the bridge when it starts up, or some property of the bridge or wlan0 changes after it started up.

I grabbed myself a hostapd source code, so if you could give some pointers where to look, I'd be glad to help. How do I debug where it sends EAPOL requests? How do I debug where it expects EAPOL responses from?



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to