OpenWrt Forum Archive

Topic: Wifi on AR7 (with acx-mac80211)

The content of this topic has been archived between 30 Mar 2018 and 12 Apr 2018. Unfortunately there are posts – most likely complete pages – missing.

I can successfully authenticate against my WPA2 network with EAP-TLS on the single wlan0 interface, and ping works.
When I try to bridge wlan0 with eth0, authentication is successful too but I can't communicate through the bridge!
For example:

# ping 192.168.0.1
phy0: tx error 0x20, buf 04!
phy0: tx error 0x20, buf 05!
phy0: tx error 0x20, buf 06!
phy0: tx error 0x20, buf 07!
phy0: tx error 0x20, buf 08!
...

and all pings get lost.

If I remove eth0 from the bridge, ping works. Maybe this issue is OT, but if someone here knows why it happens any help will be appreciated smile

(Last edited by heruan on 1 Nov 2007, 18:28)

I have a similar problem with a DLink G664T. I try to use an ad-hoc network together with olsrd. I can see the network with iwlist wlan0 scanning but sending doesnt work, my log has the same error message.

I can confirm this: when the wlan0 interface is part of a bridge, wpa_supplicant stops working.

Without the bridge:

# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf
updating initial settings on iface activation
get_mask 0x00000000, set_mask 0x0006CEBE
important setting has been changed. Need to update packet templates, too
updating transmit power: 15 dBm
updating antenna value: 0x4A
updating Energy Detect (ED) threshold: 0
acx111 doesn't support ED!
updating Channel Clear Assessment (CCA) value: 0x00
acx111 doesn't support CCA!
updating channel to: 1   
updating: enable Tx
FIXME: Possibly broken code in acx_s_update_card_settings() at /home/giovanni/workspace/openwrt/trunk/build_dir/linux-ar7/acx-mac80211-20071003/common.c:3593
updating: enable Rx on channel: 1
updating regulatory domain: 0x41
FIXME: Possibly broken code in acx_s_set_sane_reg_domain() at /home/giovanni/workspace/openwrt/trunk/build_dir/linux-ar7/acx-mac80211-20071003/common.c:3301
updating WEP key settings
get_mask 0x00000000, set_mask 0x00020000
important setting has been changed. Need to update packet templates, too
Virtual interface added (type: 0x00000002, ID: 5, MAC: 00:xx:xx:xx:xx:24)
ioctl[SIOCSIWAUTH]: Operation not supported
WEXT auth param 4 value 0x0 - ioctl[SIOCSIWAUTH]: Operation not supported
WEXT auth param 5 value 0x1 - get_mask 0x00000000, set_mask 0x00008000
Trying to associate with 00:xx:xx:xx:xx:87 (SSID='Telperion' freq=2412 MHz)
ioctl[SIOCSIWAUTH]: Operation not supported
WEXT auth param 5 value 0x1 - Associated with 00:xx:xx:xx:xx:87
CTRL-EVENT-EAP-STARTED EAP authentication started
OpenSSL: pending error: error:0D07803A:lib(13):func(120):reason(58)
OpenSSL: pending error: error:140C800D:lib(20):func(200):reason(13)
OpenSSL: pending error: error:0D0680A8:lib(13):func(104):reason(168)
OpenSSL: pending error: error:0D07803A:lib(13):func(120):reason(58)
OpenSSL: pending error: error:0D09A00D:lib(13):func(154):reason(13)
OpenSSL: pending error: error:140CB00D:lib(20):func(203):reason(13)
CTRL-EVENT-EAP-METHOD EAP vendor 0 method 13 (TLS) selected
OpenSSL: tls_connection_handshake - Failed to read possible Application Data error:00000000:lib(0):func(0):remac80211-phy0: failed to set key (0, 00:xx:xx:xx:xx:87) to hardware (-150)
ason(0)
Cmac80211-phy0: failed to set key (1, ff:ff:ff:ff:ff:ff) to hardware (-150)
TRL-EVENT-EAP-SUCCESS EAP authentication completed successfully
WPA: Key negotiation completed with 00:xx:xx:xx:xx:87 [PTK=CCMP GTK=TKIP]
CTRL-EVENT-CONNECTED - Connection to 00:xx:xx:xx:xx:87 completed (auth) [id=0 id_str=]

Inside the bridge:

# brctl addbr br0
# brctl addif br0 wlan0
device wlan0 entered promiscuous mode
# wpa_supplicant -b br0 -i wlan0 -c /etc/wpa_supplicant.conf
updating initial settings on iface activation
get_mask 0x00000000, set_mask 0x0006CEBE
important setting has been changed. Need to update packet templates, too
updating transmit power: 15 dBm
updating antenna value: 0x4A
updating Energy Detect (ED) threshold: 0
acx111 doesn't support ED!
updating Channel Clear Assessment (CCA) value: 0x00
acx111 doesn't support CCA!
updating channel to: 1   
updating: enable Tx
FIXME: Possibly broken code in acx_s_update_card_settings() at /home/giovanni/workspace/openwrt/trunk/build_dir/linux-ar7/acx-mac80211-20071003/common.c:3593
updating: enable Rx on channel: 1
updating regulatory domain: 0x41
FIXME: Possibly broken code in acx_s_set_sane_reg_domain() at /home/giovanni/workspace/openwrt/trunk/build_dir/linux-ar7/acx-mac80211-20071003/common.c:3301
updating WEP key settings
get_mask 0x00000000, set_mask 0x00020000
important setting has been changed. Need to update packet templates, too
Virtual interface added (type: 0x00000002, ID: 5, MAC: 00:xx:xx:xx:xx:24)
ioctl[SIOCSIWAUTH]: Operation not supported
WEXT auth param 4 value 0x0 - ioctl[SIOCSIWAUTH]: Operation not supported
WEXT auth param 5 value 0x1 - get_mask 0x00000000, set_mask 0x00008000
Trying to associate with 00:xx:xx:xx:xx:87 (SSID='Telperion' freq=2412 MHz)
Associated with 00:xx:xx:xx:xx:87
Authentication with 00:xx:xx:xx:xx:87 timed out.
CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
Trying to associate with 00:xx:xx:xx:xx:87 (SSID='Telperion' freq=2412 MHz)
Associated with 00:xx:xx:xx:xx:87
Authentication with 00:xx:xx:xx:xx:87 timed out.
CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
Trying to associate with 00:xx:xx:xx:xx:87 (SSID='Telperion' freq=2412 MHz)
Associated with 00:xx:xx:xx:xx:87
CTRL-EVENT-TERMINATING - signal 2 received
...

I get the same also without "-b br0" option.

Adding wlan0 to the bridge *after* authenticating with wpa_supplicant works:

# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.000f3da0d924       no              wlan0
# ping 192.168.12.254
PING 192.168.12.254 (192.168.12.254): 56 data bytes
64 bytes from 192.168.12.254: seq=0 ttl=64 time=5.284 ms
64 bytes from 192.168.12.254: seq=1 ttl=64 time=5.162 ms
64 bytes from 192.168.12.254: seq=2 ttl=64 time=4.646 ms
64 bytes from 192.168.12.254: seq=3 ttl=64 time=4.606 ms

But only if wlan0 is the only interface on the bridge.
When I add eth0 to the bridge I get:

# brctl addif br0 eth0
device eth0 entered promiscuous mode
# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.000d08000302       no              eth0
                                                        wlan0
# ping 192.168.12.254
PING 192.168.12.254 (192.168.12.254): 56 data bytes
phy0: tx error 0x20, buf 03! (excessive Tx retries due to either distance too high or unable to Tx or Tx frame error - try changing 'iwconfig txpower XXX' or 'sens'itivity or 'retry')
phy0: tx error 0x20, buf 04! (excessive Tx retries due to either distance too high or unable to Tx or Tx frame error - try changing 'iwconfig txpower XXX' or 'sens'itivity or 'retry')
phy0: tx error 0x20, buf 05! (excessive Tx retries due to either distance too high or unable to Tx or Tx frame error - try changing 'iwconfig txpower XXX' or 'sens'itivity or 'retry')
phy0: several excessive Tx retry errors occurred, attempting to recalibrate radio. Radio drift might be caused by increasing card temperature, please check the card before it's too late!
phy0: tx error 0x20, buf 06! (excessive Tx retries due to either distance too high or unable to Tx or Tx frame error - try changing 'iwconfig txpower XXX' or 'sens'itivity or 'retry')
Jobs still to be run: 4
phy0: tx error 0x20, buf 07! (excessive Tx retries due to either distance too high or unable to Tx or Tx frame error - try changing 'iwconfig txpower XXX' or 'sens'itivity or 'retry')
phy0: tx error 0x20, buf 08! (excessive Tx retries due to either distance too high or unable to Tx or Tx frame error - try changing 'iwconfig txpower XXX' or 'sens'itivity or 'retry')
...

This is my ifconfig and iwconfig:

# ifconfig
br0       Link encap:Ethernet  HWaddr 00:XX:XX:XX:XX:02  
          inet addr:192.168.12.5  Bcast:192.168.12.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1200 (1.1 KiB)  TX bytes:1022 (1022.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:15 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1680 (1.6 KiB)  TX bytes:1680 (1.6 KiB)

wlan0     Link encap:Ethernet  HWaddr 00:XX:XX:XX:XX:24  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:39 errors:0 dropped:0 overruns:0 frame:0
          TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6545 (6.3 KiB)  TX bytes:5771 (5.6 KiB)

wmaster0  Link encap:UNSPEC  HWaddr 00-XX-XX-XX-XX-24-00-00-00-00-00-00-00-00-00-00  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

# iwconfig
eth0      no wireless extensions.

eth1      no wireless extensions.

wmaster0  no wireless extensions.

wlan0     IEEE 802.11b  ESSID:"Telperion"  
          Mode:Managed  Frequency:2.412 GHz  Access Point: 00:XX:XX:XX:XX:87   
          Bit Rate=1 Mb/s   Tx-Power=27 dBm   
          Retry min limit:7   RTS thr:off   Fragment thr=2346 B   
          Encryption key:XXXX-...-XXXX [2]
          Link Quality:9  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

(Last edited by heruan on 2 Nov 2007, 10:36)

I have only a DSL-G604T to test OpenWRT.
I wonder if only with acx-mac80211 it's impossible to bridge eth0 and wlan0, or maybe it's an higher level issue...

Anyone can confirm me this impossibility to bridge wireless interface with the lan switch?

Thank you!

P.S. I opened https://dev.openwrt.org/ticket/2674 so confirm also there, thanks!

(Last edited by heruan on 10 Nov 2007, 12:26)

I closed the ticket with the following comment:
"Bridging a client mode interface does not work due to a limitation in 802.11 This is not acx-mac80211 specific"

Are there working patches for newer kernels (linux 2.6.25, 2.6.26)?
Out of the box, the current OpenWrt cannot compile this driver.
So there is not really a good working WLAN driver for AR7 routers :-(

Stefan

Hi,

I am wondering if anyone can assist me in my compilation of acx-mac80211.

I am receiving the following errors when running 'make':

root@OpenWrt:/tmp/acx-mac80211-20080805# make
make -C /lib/modules/2.6.26.8/build M=/tmp/acx-mac80211-20080805 CONFIG_ACX_MAC80211=m CONFIG_ACX_MAC80211_PCI=y EXTRA_CFLAGS=" -DCONFIG_ACX_MAC80211=1  -DCONFIG_ACX_MAC80211_PCI=1" modules
make[1]: Entering directory `/lib/modules/2.6.26.8/build'
make[1]: *** No rule to make target `modules'.  Stop.
make[1]: Leaving directory `/lib/modules/2.6.26.8/build'
make: *** [all] Error 2

My router is a Netgear DG834G v2 running the latest version of OpenWrt. I am currently attempting to use the router to connect to an existing access point with WPA2 encryption.

I would greatly appreciate any help in this matter. Thanks.

The discussion might have continued from here.