Message ID | 546CD94D.9060509@broadcom.com |
---|---|
State | Awaiting Upstream, archived |
Delegated to: | David Miller |
Headers | show |
19.11.2014 20:54, Arend van Spriel wrote: [] > In our last email exchange I got the impression you switch to Intel board and did not want to keep replacing cards for testing. I especially wrote that I have several days to try things out and if you'll be quick it will be possible for me to test things. You never replied before now (which is some more months later). > Nice to hear you have an alternative setup for this and I assume are willing to do some testing. > > I submitted two patches upstream and additionally I have attached two other that are still under review. Could you try these patches and sent me the content of the two debugfs files 'macstat' and 'hardware' after a stall has occurred. You didn't tell which kernel it is based on. So I tried it on 3.16, ofcourse the patches didn't apply so I hand-edited the debug printf in drivers/net/wireless/brcm80211/brcmsmac/debug.c (in 3.16 it didn't use seq_printf yet). So now I have a `hardware' file (in brcmsmac/bcma0:0/ subdir in debugfs), but not macstat. Here's the contents `hardware' one: chipnum 0x4313 chiprev 0x1 chippackage 0x8 corerev 0x18 boardid 0x1795 boardvendor 0x103c boardrev P107 boardflags 0x402201 boardflags2 0x884 ucoderev 0x262032c radiorev 0x1 phytype 0x8 phyrev 0x1 anarev 0xa nvramrev 8 Since there's no macstats, I guess it is not very useful, so before digging for too deep, I ask which kernel do you want me to try here. Thanks, /mjt -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
19.11.2014 22:58, Michael Tokarev wrote: > 19.11.2014 20:54, Arend van Spriel wrote: [] >> I submitted two patches upstream and additionally I have attached two other that are still under review. Could you try these patches and sent me the content of the two debugfs files 'macstat' and 'hardware' after a stall has occurred. > > You didn't tell which kernel it is based on. So I tried it on 3.16, Ok, I misunderstood you apparently, -- I only tried 2 patches, while I should try all 4. So here it goes. The hardware info again: > chipnum 0x4313 > chiprev 0x1 > chippackage 0x8 > corerev 0x18 > boardid 0x1795 > boardvendor 0x103c > boardrev P107 > boardflags 0x402201 > boardflags2 0x884 > ucoderev 0x262032c > radiorev 0x1 > phytype 0x8 > phyrev 0x1 > anarev 0xa > nvramrev 8 Macstat: txallfrm: 287 txrtsfrm: 118 txctsfrm: 25 txackfrm: 60 txdnlfrm: 0 txbcnfrm: 0 txfunfl[8]: 0 0 0 0 0 0 0 0 txtplunfl: 0 txphyerr: 0 pktengrxducast: 0 pktengrxdmcast: 0 rxfrmtoolong: 330 rxfrmtooshrt: 16 rxinvmachdr: 722 rxbadfcs: 4306 rxbadplcp: 7257 rxcrsglitch: 61757 rxstrt: 6667 rxdfrmucastmbss: 41 rxmfrmucastmbss: 25 rxcfrmucast: 116 rxrtsucast: 0 rxctsucast: 59 rxackucast: 19 rxdfrmocast: 70 rxmfrmocast: 84 rxcfrmocast: 211 rxrtsocast: 3 rxctsocast: 20 rxdfrmmcast: 9 rxmfrmmcast: 1486 rxcfrmmcast: 0 rxbeaconmbss: 377 rxdfrmucastobss: 0 rxbeaconobss: 1086 rxrsptmout: 94 bcntxcancl: 0 rxf0ovfl: 0 rxf1ovfl: 0 rxf2ovfl: 0 txsfovfl: 0 pmqovfl: 0 rxcgprqfrm: 0 rxcgprsqovfl: 0 txcgprsfail: 0 txcgprssuc: 0 prs_timeout: 0 rxnack: 0 frmscons: 0 txnack: 0 txglitch_nack: 38 txburst: 4 bphy_rxcrsglitch: 2 phywatchdog: 0 bphy_badplcp: 0 As far as I can see, the stats are never updated during stall, no numbers are changing, at least while the download is waiting for the next packet. Sometimes wpa_supplicant does something little, so some stats gets updated, eg, this is how it looks like after about 2..3 minutes: txallfrm: 420 txrtsfrm: 201 txctsfrm: 25 txackfrm: 69 txdnlfrm: 0 txbcnfrm: 0 txfunfl[8]: 0 0 0 0 0 0 0 0 txtplunfl: 0 txphyerr: 0 pktengrxducast: 0 pktengrxdmcast: 0 rxfrmtoolong: 1908 rxfrmtooshrt: 73 rxinvmachdr: 4115 rxbadfcs: 15064 rxbadplcp: 42368 rxcrsglitch: 36620 rxstrt: 26393 rxdfrmucastmbss: 48 rxmfrmucastmbss: 27 rxcfrmucast: 158 rxrtsucast: 0 rxctsucast: 92 rxackucast: 25 rxdfrmocast: 113 rxmfrmocast: 390 rxcfrmocast: 962 rxrtsocast: 38 rxctsocast: 59 rxdfrmmcast: 48 rxmfrmmcast: 7681 rxcfrmmcast: 0 rxbeaconmbss: 1505 rxdfrmucastobss: 0 rxbeaconobss: 6059 rxrsptmout: 171 bcntxcancl: 0 rxf0ovfl: 0 rxf1ovfl: 0 rxf2ovfl: 0 txsfovfl: 0 pmqovfl: 0 rxcgprqfrm: 0 rxcgprsqovfl: 0 txcgprsfail: 0 txcgprssuc: 0 prs_timeout: 0 rxnack: 0 frmscons: 0 txnack: 0 txglitch_nack: 41 txburst: 4 bphy_rxcrsglitch: 5 phywatchdog: 0 bphy_badplcp: 0 This is with 3.18-tobe kernel (current Linus git). Dunno if this is helpful or not... Thanks, /mjt -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/wireless/brcm80211/brcmutil/utils.c b/drivers/net/wireless/brcm80211/brcmutil/utils.c index 0f7e1c7..1575a1d 100644 --- a/drivers/net/wireless/brcm80211/brcmutil/utils.c +++ b/drivers/net/wireless/brcm80211/brcmutil/utils.c @@ -292,4 +292,20 @@ void brcmu_dbg_hex_dump(const void *data, size_t size, const char *fmt, ...) print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, data, size); } EXPORT_SYMBOL(brcmu_dbg_hex_dump); + +/* Produce a human-readable string for boardrev */ +char *brcmu_boardrev_str(u32 brev, char *buf) +{ + char c; + + if (brev < 0x100) { + snprintf(buf, 8, "%d.%d", (brev & 0xf0) >> 4, brev & 0xf); + } else { + c = (brev & 0xf000) == 0x1000 ? 'P' : 'A'; + snprintf(buf, 8, "%c%03x", c, brev & 0xfff); + } + return (buf); +} +EXPORT_SYMBOL(brcmu_boardrev_str); + #endif /* defined(DEBUG) */ diff --git a/drivers/net/wireless/brcm80211/include/brcmu_utils.h b/drivers/net/wireless/brcm80211/include/brcmu_utils.h index 8ba445b..a043e29 100644 --- a/drivers/net/wireless/brcm80211/include/brcmu_utils.h +++ b/drivers/net/wireless/brcm80211/include/brcmu_utils.h @@ -218,4 +218,6 @@ void brcmu_dbg_hex_dump(const void *data, size_t size, const char *fmt, ...) } #endif +char *brcmu_boardrev_str(u32 brev, char *buf); + #endif /* _BRCMU_UTILS_H_ */