Re: converted ath(4) for testing Was: [Testers needed!] WiFi drivers changes

From: Oliver Pinter <oliver.pinter_at_hardenedbsd.org>
Date: Mon, 1 Jun 2015 22:46:33 +0200
On Mon, Jun 1, 2015 at 9:55 PM, Oliver Pinter
<oliver.pinter_at_hardenedbsd.org> wrote:
> On Mon, Jun 1, 2015 at 9:47 PM, Oliver Pinter
> <oliver.pinter_at_hardenedbsd.org> wrote:
>> On Mon, Jun 1, 2015 at 5:37 PM, Gleb Smirnoff <glebius_at_freebsd.org> wrote:
>>>   Hi!
>>>
>>> I've converted the ath(4), probably the most complex ieee80211 driver.
>>>
>>> The updated diff is uploaded to https://reviews.freebsd.org/D2655.
>>>
>>> Pretty sure it will panic or fail on first try :) Nevertheless,
>>> asking for your help. Please try to run it and report any problems
>>> to me.
>>
>> Hi!
>>
>> Do you have compile tested the code? I got this build error:
>>
>> --- if_ath.o ---
>> /usr/src/sys/dev/ath/if_ath.c:5732:26: error: no member named 'ic_ifp'
>> in 'struct ieee80211com'; did you mean 'ic_dfs'?
>>         struct ifnet *ifp = ic->ic_ifp;
>>                                 ^~~~~~
>>                                 ic_dfs
>> /usr/src/sys/net80211/ieee80211_var.h:197:29: note: 'ic_dfs' declared here
>>         struct ieee80211_dfs_state ic_dfs;      /* DFS state */
>>                                    ^
>> /usr/src/sys/dev/ath/if_ath.c:5732:16: error: initializing 'struct
>> ifnet *' with an expression of incompatible type 'struct
>> ieee80211_dfs_state'
>>         struct ifnet *ifp = ic->ic_ifp;
>>                       ^
>>
>
> diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c
> index 53763a6..b719ed4 100644
> --- a/sys/dev/ath/if_ath.c
> +++ b/sys/dev/ath/if_ath.c
> _at__at_ -5729,8 +5729,7 _at__at_ ath_scan_end(struct ieee80211com *ic)
>  static void
>  ath_update_chw(struct ieee80211com *ic)
>  {
> -       struct ifnet *ifp = ic->ic_ifp;
> -       struct ath_softc *sc = ifp->if_softc;
> +       struct ath_softc *sc = ic->ic_softc;
>
>         DPRINTF(sc, ATH_DEBUG_STATE, "%s: called\n", __func__);
>         ath_set_channel(ic);
> diff --git a/sys/dev/ath/if_ath_tdma.c b/sys/dev/ath/if_ath_tdma.c
> index fd23db1..d4c9ccd 100644
> --- a/sys/dev/ath/if_ath_tdma.c
> +++ b/sys/dev/ath/if_ath_tdma.c
> _at__at_ -359,7 +359,7 _at__at_ ath_tdma_update(struct ieee80211_node *ni,
>  #define        TU_TO_TSF(_tu)  (((u_int64_t)(_tu)) << 10)
>         struct ieee80211vap *vap = ni->ni_vap;
>         struct ieee80211com *ic = ni->ni_ic;
> -       struct ath_softc *sc = ic->ic_ifp->if_softc;
> +       struct ath_softc *sc = ic->ic_softc;
>         struct ath_hal *ah = sc->sc_ah;
>         const HAL_RATE_TABLE *rt = sc->sc_currates;
>         u_int64_t tsf, rstamp, nextslot, nexttbtt, nexttbtt_full;
>

And the same test against my atheros seems like working fine, both the
secondary VAP creation and destruction. I'm able to run kismet without
panic, and that seems too working fine.

In ath case I got some LOR during boot and during kismet, see the
attached dmesgs.

One confusing thing, that the underlaying devices (ath0 and iwn0) has
gone from ifconfig, and that's a little confusing, when you have
multiple pci card and try to create multiple VAP to specific device.

op_at_opn ~> ifconfig wlan0 scan
SSID/MESH ID    BSSID              CHAN RATE   S:N     INT CAPS
IRA             f4:ec:38:e4:48:b8    1   54M -91:-96  100 EPS  RSN
Fridel          38:60:77:d4:6b:81    1   54M -83:-96  100 EP   RSN HTCAP WPA WME
B4              f8:1a:67:38:9d:d8    6   54M -86:-96  100 EPS  RSN
HTCAP WPA WME ATH WPS
fagi            f8:d1:11:bd:f9:f6    6   54M -92:-96  100 EPS  RSN
HTCAP WPA WME ATH WPS
Koka            10:fe:ed:b5:c7:6a   11   54M -77:-96  100 EPS  RSN
HTCAP WPA WME ATH WPS
Otti-home       b0:c5:54:86:16:9a   11   54M -93:-96  100 EPS  HTCAP
WPA RSN WME WPS
teszt           f8:1a:67:40:1d:b0   13   54M -93:-96  100 EPS  RSN
HTCAP WPA WME ATH WPS
Linksys70385    20:aa:4b:78:31:e4    2   54M -96:-96  100 EPS  RSN HTCAP WME WPS
teszt2          20:e5:2a:5d:30:2a    3   54M -93:-96  100 EP   HTCAP RSN WME WPS
hellooo         c0:4a:00:ea:5a:ea    5   54M -74:-96  100 EPS  RSN HTCAP ATH
op_at_opn ~> ifconfig wlan0 list ap
SSID/MESH ID    BSSID              CHAN RATE   S:N     INT CAPS
IRA             f4:ec:38:e4:48:b8    1   54M -91:-96  100 EPS  RSN
Fridel          38:60:77:d4:6b:81    1   54M -83:-96  100 EP   RSN HTCAP WPA WME
B4              f8:1a:67:38:9d:d8    6   54M -86:-96  100 EPS  RSN
HTCAP WPA WME ATH WPS
fagi            f8:d1:11:bd:f9:f6    6   54M -92:-96  100 EPS  RSN
HTCAP WPA WME ATH WPS
Koka            10:fe:ed:b5:c7:6a   11   54M -77:-96  100 EPS  RSN
HTCAP WPA WME ATH WPS
Otti-home       b0:c5:54:86:16:9a   11   54M -93:-96  100 EPS  HTCAP
WPA RSN WME WPS
teszt           f8:1a:67:40:1d:b0   13   54M -93:-96  100 EPS  RSN
HTCAP WPA WME ATH WPS
Linksys70385    20:aa:4b:78:31:e4    2   54M -96:-96  100 EPS  RSN HTCAP WME WPS
teszt2          20:e5:2a:5d:30:2a    3   54M -93:-96  100 EP   HTCAP RSN WME WPS
hellooo         c0:4a:00:ea:5a:ea    5   54M -74:-96  100 EPS  RSN HTCAP ATH
op_at_opn ~> ifconfig wlan0 list sta
ADDR               AID CHAN RATE RSSI IDLE  TXSEQ  RXSEQ CAPS FLAG
c0:4a:00:ea:5a:ea    4    5 135M 20.0    0      7     64 EPS  AEHTRS+
RSN HTCAP ATH

>>>
>>> --
>>> Totus tuus, Glebius.
>>> _______________________________________________
>>> freebsd-current_at_freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>>> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"

Received on Mon Jun 01 2015 - 18:46:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:58 UTC