On Wed, Jan 13, 2016 at 02:18:47PM +0100, Christoph R. Murauer wrote:
> > On Wed, Jan 13, 2016 at 01:20:08PM +0100, Christoph R. Murauer wrote:
> >> OT and only for the archive : iwm0 works not (dhcp ends always with
> >> no
> >> link ... sleeping) with a TP-Link M7350 (4G / LTE modem)
> >
> > Not very off-topic since development for 11n support is on-going.
> >
> > Can you please check if it works as expected if you run one of
> > these commands?
> >
> > ifconfig iwm0 media autoselect mode 11a
> >
> > ifconfig iwm0 media autoselect mode 11g
> >
> > If either command fixes it, you're probably seeing an interoperability
> > problem in 11n mode with this particular AP.
> >
>
> Hello !
>
> Thanks for your answer.
> Default output after reboot using /etc/hostname.iwm0
>
> ifconfig iwm0
> iwm0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> lladdr cc:3d:82:52:2b:5a
> priority: 4
> groups: wlan
> media: IEEE802.11 autoselect
> status: no network
> ieee80211: nwid TP-LINK_M7350_6D1625 wpakey <not displayed>
> wpaprotos wpa1,wpa2 wpaakms psk wpaciphers tkip,ccmp
> wpagroupcipher tkip
>
> more /etc/hostname.iwm0
> nwid TP-LINK_M7350_6D1625
> wpakey 21154320
> dhcp
>
> No worry, factory defaults. Content is a copy of /etc/hostname.urtwn0.
>
> Booth lines have no effect with this AP.
>
> Output for urtwn0 using /etc/hostname.urtwn0 also since reboot.
>
> urtwn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> lladdr c4:e9:84:06:6c:a7
> priority: 4
> groups: wlan egress
> media: IEEE802.11 autoselect (OFDM54 mode 11g)
> status: active
> ieee80211: nwid TP-LINK_M7350_6D1625 chan 9 bssid
> 3c:46:d8:6d:16:25 20dBm wpakey <not displayed> wpaprotos
> wpa1,wpa2 wpaakms psk wpaciphers tkip,ccmp wpagroupcipher tkip
> inet 192.168.0.104 netmask 0xffffff00 broadcast 192.168.0.255
>
> ifconfig iwm0 scan works.
>
> If I switch back to b it works with the Nexus 7 (also not with a and g).
>
> ifconfig iwm0 media autoselect mode 11b
> dhclient iwm0
> iwm0: no link ........... got link
> DHCPREQUEST on iwm0 to 255.255.255.255
> DHCPACK from 192.168.43.1 (02:1a:11:f4:84:91)
> bound to 192.168.43.89 -- renewal in 1800 seconds.
>
> ifconfig iwm0
> iwm0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> lladdr cc:3d:82:52:2b:5a
> priority: 4
> groups: wlan
> media: IEEE802.11 autoselect mode 11b (DS1 mode 11b)
> status: active
> ieee80211: nwid AP chan 6 bssid 02:1a:11:f4:84:91 100% wpakey
> <not displayed> wpaprotos wpa1,wpa2 wpaakms psk wpaciphers
> tkip,ccmp wpagroupcipher tkip
> inet 192.168.43.89 netmask 0xffffff00 broadcast 192.168.43.255
>
> Tried the TP-Link AP with b again with the same result.
>
> Maybe it helps.
Please try this diff.
I suspect this bug is causing all sorts of problems.
Index: ieee80211.c
===================================================================
RCS file: /cvs/src/sys/net80211/ieee80211.c,v
retrieving revision 1.57
diff -u -p -r1.57 ieee80211.c
--- ieee80211.c 12 Jan 2016 09:28:09 -0000 1.57
+++ ieee80211.c 13 Jan 2016 14:19:26 -0000
@@ -749,8 +749,10 @@ ieee80211_setmode(struct ieee80211com *i
modeflags = chanflags[mode];
for (i = 0; i <= IEEE80211_CHAN_MAX; i++) {
c = &ic->ic_channels[i];
- if (mode == IEEE80211_MODE_AUTO ||
- (c->ic_flags & modeflags) == modeflags)
+ if (mode == IEEE80211_MODE_AUTO) {
+ if (c->ic_flags != 0)
+ break;
+ } else if ((c->ic_flags & modeflags) == modeflags)
break;
}
if (i > IEEE80211_CHAN_MAX) {
@@ -764,8 +766,10 @@ ieee80211_setmode(struct ieee80211com *i
memset(ic->ic_chan_active, 0, sizeof(ic->ic_chan_active));
for (i = 0; i <= IEEE80211_CHAN_MAX; i++) {
c = &ic->ic_channels[i];
- if (mode == IEEE80211_MODE_AUTO ||
- (c->ic_flags & modeflags) == modeflags)
+ if (mode == IEEE80211_MODE_AUTO) {
+ if (c->ic_flags != 0)
+ setbit(ic->ic_chan_active, i);
+ } else if ((c->ic_flags & modeflags) == modeflags)
setbit(ic->ic_chan_active, i);
}
/*