Please give me a day or so. My nearest CVS (Vienna) is not really fast. The last time it refuses the connection during fetching.
> 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); > } > /*