So ich habe das Problem jetzt isolieren können:
Hostapd sucht beim Start von ht40 brav nach anderen APs, die sich in seinem Einzugsgebiet befinden können (Stichwort: OLBC).
Das scheint wirklich nur mein AP zu machen, die anderen (liegen fast alle auch channel 1 ^^) interessiert das wohl kaum.
Wenn man hostapd im Debug-Mode startet (-dd), ist dieser auch sehr gesprächig:
random: Trying to read entropy from /dev/random
Configuration file: /etc/hostapd/hostapd.conf
nl80211: interface wlan0 in phy phy0
rfkill: initial event: idx=0 type=1 op=0 soft=0 hard=0
nl80211: Using driver-based off-channel TX
nl80211: TDLS supported
nl80211: TDLS external setup
nl80211: Add own interface ifindex 3
nl80211: Set mode ifindex 3 iftype 3 (AP)
nl80211: Create interface iftype 6 (MONITOR)
nl80211: New interface mon.wlan0 created: ifindex=10
nl80211: Add own interface ifindex 10
BSS count 1, BSSID mask 00:00:00:00:00:00 (0 bits)
nl80211: Regulatory information - country=00
nl80211: 2402-2472 @ 40 MHz
nl80211: 2457-2482 @ 20 MHz
nl80211: 2474-2494 @ 20 MHz
nl80211: 5170-5250 @ 40 MHz
nl80211: 5735-5835 @ 40 MHz
nl80211: Added 802.11b mode based on 802.11g information
Allowed channel: mode=1 chan=1 freq=2412 MHz max_tx_power=14 dBm
Allowed channel: mode=1 chan=2 freq=2417 MHz max_tx_power=15 dBm
Allowed channel: mode=1 chan=3 freq=2422 MHz max_tx_power=15 dBm
Allowed channel: mode=1 chan=4 freq=2427 MHz max_tx_power=15 dBm
Allowed channel: mode=1 chan=5 freq=2432 MHz max_tx_power=15 dBm
Allowed channel: mode=1 chan=6 freq=2437 MHz max_tx_power=15 dBm
Allowed channel: mode=1 chan=7 freq=2442 MHz max_tx_power=15 dBm
Allowed channel: mode=1 chan=8 freq=2447 MHz max_tx_power=15 dBm
Allowed channel: mode=1 chan=9 freq=2452 MHz max_tx_power=15 dBm
Allowed channel: mode=1 chan=10 freq=2457 MHz max_tx_power=15 dBm
Allowed channel: mode=1 chan=11 freq=2462 MHz max_tx_power=15 dBm
Allowed channel: mode=0 chan=1 freq=2412 MHz max_tx_power=14 dBm
Allowed channel: mode=0 chan=2 freq=2417 MHz max_tx_power=15 dBm
Allowed channel: mode=0 chan=3 freq=2422 MHz max_tx_power=15 dBm
Allowed channel: mode=0 chan=4 freq=2427 MHz max_tx_power=15 dBm
Allowed channel: mode=0 chan=5 freq=2432 MHz max_tx_power=15 dBm
Allowed channel: mode=0 chan=6 freq=2437 MHz max_tx_power=15 dBm
Allowed channel: mode=0 chan=7 freq=2442 MHz max_tx_power=15 dBm
Allowed channel: mode=0 chan=8 freq=2447 MHz max_tx_power=15 dBm
Allowed channel: mode=0 chan=9 freq=2452 MHz max_tx_power=15 dBm
Allowed channel: mode=0 chan=10 freq=2457 MHz max_tx_power=15 dBm
Allowed channel: mode=0 chan=11 freq=2462 MHz max_tx_power=15 dBm
Scan for neighboring BSSes prior to enabling 40 MHz channel
Scan requested (ret=0) - scan timeout 10 seconds
Interface initialization will be completed in a callback
random: Got 20/20 bytes from /dev/random
RTM_NEWLINK: operstate=0 ifi_flags=0x1002 ()
nl80211: Ignore interface down event since interface mon.wlan0 is up
RTM_NEWLINK: operstate=0 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'mon.wlan0' added
Unknown event 5
RTM_NEWLINK: operstate=0 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
nl80211: if_removed already cleared - ignore event
nl80211: Event message available
nl80211: Scan trigger
nl80211: Event message available
nl80211: New scan results available
nl80211: Received scan results (4 BSSes)
40 MHz affected channel range: [2422,2472] MHz
Neighboring BSS: 00:23:08:81:23:f9 freq=2412 pri=1 sec=5
40 MHz pri/sec mismatch with BSS 00:23:08:81:23:f9 <2412,2432> (chan=1+) vs. <2457,2437>
20/40 MHz operation not permitted on channel pri=10 sec=6 based on overlapping BSSes
Completing interface initialization
Mode: IEEE 802.11g Channel: 10 Frequency: 2457 MHz
nl80211: Set freq 2457 (ht_enabled=1 sec_channel_offset=0)
RATE[0] rate=10 flags=0x1
RATE[1] rate=20 flags=0x1
RATE[2] rate=55 flags=0x1
RATE[3] rate=110 flags=0x1
RATE[4] rate=60 flags=0x0
RATE[5] rate=90 flags=0x0
RATE[6] rate=120 flags=0x0
RATE[7] rate=180 flags=0x0
RATE[8] rate=240 flags=0x0
RATE[9] rate=360 flags=0x0
RATE[10] rate=480 flags=0x0
RATE[11] rate=540 flags=0x0
Flushing old station entries
Deauthenticate all stations
wpa_driver_nl80211_set_key: ifindex=3 alg=0 addr=(nil) key_idx=0 set_tx=0 seq_len=0 key_len=0
wpa_driver_nl80211_set_key: ifindex=3 alg=0 addr=(nil) key_idx=1 set_tx=0 seq_len=0 key_len=0
wpa_driver_nl80211_set_key: ifindex=3 alg=0 addr=(nil) key_idx=2 set_tx=0 seq_len=0 key_len=0
wpa_driver_nl80211_set_key: ifindex=3 alg=0 addr=(nil) key_idx=3 set_tx=0 seq_len=0 key_len=0
Using interface wlan0 with hwaddr 74:2f:68:93:8a:68 and ssid 'LinuxWireless'
Deriving WPA PSK based on passphrase
SSID - hexdump_ascii(len=13):
4c 69 6e 75 78 57 69 72 65 6c 65 73 73 LinuxWireless
PSK (ASCII passphrase) - hexdump_ascii(len=16): [REMOVED]
PSK (from passphrase) - hexdump(len=32): [REMOVED]
Get randomness: len=32 entropy=0
GMK - hexdump(len=32): [REMOVED]
Get randomness: len=32 entropy=0
Key Counter - hexdump(len=32): [REMOVED]
WPA: Delay group state machine start until Beacon frames have been configured
nl80211: Set beacon (beacon_set=0)
WPA: Start group state machine to set initial keys
WPA: group state machine entering state GTK_INIT (VLAN-ID 0)
Get randomness: len=16 entropy=0
GTK - hexdump(len=16): [REMOVED]
WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0)
wpa_driver_nl80211_set_key: ifindex=3 alg=3 addr=0x462eea key_idx=1 set_tx=1 seq_len=0 key_len=16
broadcast key
wpa_driver_nl80211_set_operstate: operstate 0->1 (UP)
netlink: Operstate: linkmode=-1, operstate=6
wlan0: Setup of interface done.
RTM_NEWLINK: operstate=1 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
nl80211: if_removed already cleared - ignore event
mgmt::deauth cb
Add randomness: count=1 entropy=0
Add randomness: count=2 entropy=1
Recht schnell fällt auf, dass der gleich bei dem erst-gefundenen AP die Idee mit 40Mhz verwirft - zu meinem Ärger.
Fazit wäre, egal was ich mache, auch mit anderer Wifi Karte/Stick, ich würde nie über 72,2 MBit/s kommen, (obwohl die Fritzbox sich darum auch nicht gekümmert hat),
weil hostapd ein braver Wifi-Ap ist.
Mein Weg wird jetzt sein, mit hilfe dieser Parameter in der Hostapd:
##### Neighbor table ##########################################################
# Maximum number of entries kept in AP table (either for neigbor table or for
# detecting Overlapping Legacy BSS Condition). The oldest entry will be
# removed when adding a new entry that would make the list grow over this
# limit. Note! WFA certification for IEEE 802.11g requires that OLBC is
# enabled, so this field should not be set to 0 when using IEEE 802.11g.
# default: 255
#ap_table_max_size=255
# Number of seconds of no frames received after which entries may be deleted
# from the AP table. Since passive scanning is not usually performed frequently
# this should not be set to very small value. In addition, there is no
# guarantee that every scan cycle will receive beacon frames from the
# neighboring APs.
# default: 60
#ap_table_expiration_time=3600
ein wenig Unheil zu stiften, sollte ich damit keinen Erfolg haben,
kompiliere ich hostapd komplett neu und deaktiviere den Scan 😉
Hat jemand sonst eine Idee, wie man diesen Solidaritätsmodus schonend deaktivieren kann?
Egal welchen Kanal ich wähle, er fliegt immer gleich beim erst gefundenen anderen AP raus..