Search Linux Wireless

Re: AP6335 with mainline kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Arend,

On Seg, 2017-11-20 at 12:12 +0100, Arend van Spriel wrote:
> On 20-11-17 12:03, Arend van Spriel wrote:
> > 
> > On 17-11-17 16:24, Vanessa Maegima wrote:
> > > 
> > > Hi Arend,
> > > 
> > > On Sex, 2017-11-17 at 13:55 +0100, Arend van Spriel wrote:
> > > > 
> > > > On 11/17/2017 12:08 PM, Vanessa Maegima wrote:
> > > > > 
> > > > > 
> > > > > Hi Arend,
> > > > > 
> > > > > On Sex, 2017-11-10 at 20:58 +0100, Arend van Spriel wrote:
> > > > > > 
> > > > > > 
> > > > > > On 10-11-17 13:43, Vanessa Maegima wrote:
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > Hi,
> > > > > > > 
> > > > > > > On Qui, 2017-09-21 at 12:30 -0300, Vanessa Ayumi Maegima
> > > > > > > wrote:
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > Hi Arend,
> > > > > > > > 
> > > > > > > > On Thu, Sep 21, 2017 at 4:26 AM, Arend van Spriel
> > > > > > > > <arend.vanspriel@xxxxxxxxxxxx> wrote:
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > On 20-09-17 21:33, Vanessa Ayumi Maegima wrote:
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > Hi,
> > > > > > > > > > 
> > > > > > > > > > I am trying to enable Wifi on imx7d-pico using
> > > > > > > > > > mainline
> > > > > > > > > > kernel.
> > > > > > > > > > imx7d-pico
> > > > > > > > > > has an AP6335 chip.
> > > > > > > > > > 
> > > > > > > > > > I am facing some issues related to the nvram file.
> > > > > > > > > > I am
> > > > > > > > > > using
> > > > > > > > > > the
> > > > > > > > > > firmware
> > > > > > > > > > provided by Buildroot (brcmfmac4339-sdio.bin). I
> > > > > > > > > > get the
> > > > > > > > > > following error:
> > > > > > > > > > 
> > > > > > > > > > [    8.630380] brcmfmac: brcmf_sdio_htclk: HT Avail
> > > > > > > > > > timeout
> > > > > > > > > > (1000000):
> > > > > > > > > > clkctl 0x50
> > > > > > > > > > 
> > > > > > > > > > I have tried to use the firmware and nvram provided
> > > > > > > > > > by
> > > > > > > > > > TechNexion
> > > > > > > > > > but I
> > > > > > > > > > get
> > > > > > > > > > the same error.
> > > > > > > > > > 
> > > > > > > > > > Is there anyone that could enable Wifi on AP6335
> > > > > > > > > > using
> > > > > > > > > > kernel
> > > > > > > > > > mainline?
> > > > > > > > > > What nvram file was used?
> > > > > > > > > > 
> > > > > > > > > > I am able to use Wifi on the board if I use the
> > > > > > > > > > firmware,
> > > > > > > > > > nvram
> > > > > > > > > > file and
> > > > > > > > > > kernel
> > > > > > > > > > provided by TechNexion. They use a 4.1 kernel from
> > > > > > > > > > NXP
> > > > > > > > > > with
> > > > > > > > > > the
> > > > > > > > > > bcmdhd
> > > > > > > > > > driver.
> > > > > > > > > > 
> > > > > > > > > > So I know that the hardware is functional.
> > > > > > > > > > 
> > > > > > > > > > Any suggestions as how to get it working with a
> > > > > > > > > > 4.13 and
> > > > > > > > > > brcmfmac
> > > > > > > > > > driver
> > > > > > > > > > is
> > > > > > > > > > appreciated.
> > > > > > > > > So the nvram file is specific to the wifi chipset on
> > > > > > > > > your
> > > > > > > > > platform
> > > > > > > > > so best
> > > > > > > > > to stick with the provided one. The "HT Avail
> > > > > > > > > timeout" most
> > > > > > > > > often
> > > > > > > > > is an
> > > > > > > > > indication that the firmware crashed. So getting more
> > > > > > > > > debug
> > > > > > > > > output
> > > > > > > > > would
> > > > > > > > > help us understand how it ended up like that. Can you
> > > > > > > > > build
> > > > > > > > > the
> > > > > > > > > brcmfmac
> > > > > > > > > with CONFIG_BRCMDBG and load the driver using:
> > > > > > > > > 
> > > > > > > > > $ insmod brcmfmac.ko debug=0x1416
> > > > > > > > Thanks for the reply!
> > > > > > > > 
> > > > > > > > Here is the log (using 4.14-rc1):
> > > > > > > > 
> > > > > > > > # dmesg | grep brcmfmac
> > > > > > > > [   19.297206] brcmfmac: brcmfmac_module_init No
> > > > > > > > platform
> > > > > > > > data
> > > > > > > > available.
> > > > > > > > [   19.307075] brcmfmac: brcmf_sdio_probe Enter
> > > > > > > > [   19.308384] brcmfmac: F1 signature read
> > > > > > > > @0x18000000=0x16224335
> > > > > > > > [   19.309026] brcmfmac: brcmf_chip_recognition found
> > > > > > > > AXI
> > > > > > > > chip:
> > > > > > > > BCM4339, rev=2
> > > > > > > > [   19.317115] brcmfmac: brcmf_chip_cores_check  [1 ]
> > > > > > > > core
> > > > > > > > 0x800:46
> > > > > > > > base 0x18000000 wrap 0x18100000
> > > > > > > > [   19.317141] brcmfmac: brcmf_chip_cores_check  [2 ]
> > > > > > > > core
> > > > > > > > 0x812:46
> > > > > > > > base 0x18001000 wrap 0x18101000
> > > > > > > > [   19.317165] brcmfmac: brcmf_chip_cores_check  [3 ]
> > > > > > > > core
> > > > > > > > 0x83e:4
> > > > > > > > base 0x18002000 wrap 0x18102000
> > > > > > > > [   19.317188] brcmfmac: brcmf_chip_cores_check  [4 ]
> > > > > > > > core
> > > > > > > > 0x83c:4
> > > > > > > > base 0x18003000 wrap 0x18103000
> > > > > > > > [   19.317210] brcmfmac: brcmf_chip_cores_check  [5 ]
> > > > > > > > core
> > > > > > > > 0x81a:20
> > > > > > > > base 0x18004000 wrap 0x18104000
> > > > > > > > [   19.317233] brcmfmac: brcmf_chip_cores_check  [6 ]
> > > > > > > > core
> > > > > > > > 0x829:21
> > > > > > > > base 0x18005000 wrap 0x18105000
> > > > > > > > [   19.317256] brcmfmac: brcmf_chip_cores_check  [7 ]
> > > > > > > > core
> > > > > > > > 0x135:0
> > > > > > > > base 0x00000000 wrap 0x18109000
> > > > > > > > [   19.317279] brcmfmac: brcmf_chip_cores_check  [8 ]
> > > > > > > > core
> > > > > > > > 0x240:0
> > > > > > > > base 0x00000000 wrap 0x00000000
> > > > > > > > [   19.317298] brcmfmac: brcmf_chip_set_passive Enter
> > > > > > > > [   19.322232] brcmfmac: brcmf_chip_get_raminfo RAM:
> > > > > > > > base=0x180000
> > > > > > > > size=786432 (0xc0000) sr=0 (0x0)
> > > > > > > > [   19.322457] brcmfmac: brcmf_chip_setup ccrev=46,
> > > > > > > > pmurev=23,
> > > > > > > > pmucaps=0x39cc5f17
> > > > > > > > [   19.322481] brcmfmac: brcmf_get_module_param Enter,
> > > > > > > > bus=0,
> > > > > > > > chip=17209, rev=2
> > > > > > > > [   19.322504] brcmfmac: brcmf_sdiod_sgtable_alloc
> > > > > > > > nents=35
> > > > > > > > [   19.322531] brcmfmac: brcmf_sdio_kso_init Enter
> > > > > > > > [   19.322618] brcmfmac: brcmf_sdio_drivestrengthinit
> > > > > > > > No SDIO
> > > > > > > > driver
> > > > > > > > strength init needed for chip 43
> > > > > > > > 39 rev 2 pmurev 23
> > > > > > > > [   19.323235] brcmfmac: brcmf_attach Enter
> > > > > > > > [   19.323725] brcmfmac: brcmf_proto_attach Enter
> > > > > > > > [   19.323769] brcmfmac: brcmf_fweh_register event
> > > > > > > > handler
> > > > > > > > registered
> > > > > > > > for PSM_WATCHDOG
> > > > > > > > [   19.324306] brcmfmac: brcmf_sdio_probe completed!!
> > > > > > > > [   19.324337] brcmfmac: brcmf_fw_map_chip_to_name:
> > > > > > > > using
> > > > > > > > brcm/brcmfmac4339-sdio.bin for chip 0x00433
> > > > > > > > 9(17209) rev 0x000002
> > > > > > > > [   19.335353] brcmfmac: brcmf_fw_get_firmwares_pcie
> > > > > > > > enter:
> > > > > > > > dev=mmc0:0001:1
> > > > > > > > [   19.351787] brcmfmac: brcmf_fw_request_code_done
> > > > > > > > enter:
> > > > > > > > dev=mmc0:0001:1
> > > > > > > > [   19.353202] brcmfmac: brcmf_fw_request_nvram_done
> > > > > > > > enter:
> > > > > > > > dev=mmc0:0001:1
> > > > > > > > [   19.353424] brcmfmac: brcmf_sdio_firmware_callback
> > > > > > > > Enter:
> > > > > > > > dev=mmc0:0001:1, err=0
> > > > > > > > [   19.353814] brcmfmac: brcmf_sdio_download_code_file
> > > > > > > > Enter
> > > > > > > > [   19.388586] brcmfmac: brcmf_sdio_verifymemory
> > > > > > > > Compare RAM
> > > > > > > > dl &
> > > > > > > > ul
> > > > > > > > at 0x00180000; size=493599
> > > > > > > > [   19.546675] brcmfmac: brcmf_sdio_download_nvram
> > > > > > > > Enter
> > > > > > > > [   19.547432] brcmfmac: brcmf_sdio_verifymemory
> > > > > > > > Compare RAM
> > > > > > > > dl &
> > > > > > > > ul
> > > > > > > > at 0x0023f730; size=2256
> > > > > > > > [   19.548665] brcmfmac: brcmf_chip_set_active Enter
> > > > > > > > [   20.562974] brcmfmac: brcmf_sdio_htclk: HT Avail
> > > > > > > > timeout
> > > > > > > > (1000000):
> > > > > > > > clkctl 0x50
> > > > > > > > [   20.570490] brcmfmac: brcmf_sdio_firmware_callback
> > > > > > > > failed:
> > > > > > > > dev=mmc0:0001:1, err=0
> > > > > > > > [   20.570739] brcmfmac: brcmf_sdio_remove Enter
> > > > > > > > [   20.570775] brcmfmac: brcmf_detach Enter
> > > > > > > > [   20.610414] brcmfmac: brcmf_bus_change_state 0 -> 0
> > > > > > > > [   20.610441] brcmfmac: brcmf_sdio_bus_stop Enter
> > > > > > > > [   21.622477] brcmfmac: brcmf_sdio_htclk: HT Avail
> > > > > > > > timeout
> > > > > > > > (1000000):
> > > > > > > > clkctl 0x50
> > > > > > > > [   21.630912] brcmfmac: brcmf_proto_detach Enter
> > > > > > > > [   21.630967] brcmfmac: brcmf_fweh_unregister event
> > > > > > > > handler
> > > > > > > > cleared
> > > > > > > > for PSM_WATCHDOG
> > > > > > > > [   22.642457] brcmfmac: brcmf_sdio_htclk: HT Avail
> > > > > > > > timeout
> > > > > > > > (1000000):
> > > > > > > > clkctl 0x50
> > > > > > > > [   22.680131] brcmfmac: brcmf_chip_set_passive Enter
> > > > > > > > [   22.682580] brcmfmac: brcmf_sdio_remove Disconnected
> > > > > > > > 
> > > > > > > Any suggestions on this?
> > > > > > Sorry for not getting back to your earlier email. Thanks
> > > > > > for the
> > > > > > reminder. So you tried different firmwares, right? Can you
> > > > > > provide
> > > > > > output of the following command:
> > > > > > 
> > > > > > $ strings firmware.bin | tail -1
> > > > > > 
> > > > > > for the firmwares you tried.
> > > > > > 
> > > > > > Regards,
> > > > > > Arend
> > > > > Thanks for the reply!
> > > > > 
> > > > > Here's the output:
> > > > > 
> > > > > For Technexion firmware:
> > > > > 
> > > > > # strings /lib/firmware/brcm/brcmfmac4339-sdio.bin | tail -1
> > > > > 4339a0-roml/sdio-ag-pool-p2p-pno-pktfilter-keepalive-aoe-sr-
> > > > > mchan-
> > > > > proptxstatus-lpc-tdls-autoabn-txbf-
> > > > > rcc-wepso-okc-ndoe Version: 6.37.32.28 CRC: 3075f12e Date:
> > > > > Thu
> > > > > 2014-04-
> > > > > 03 12:15:31 CST FWID 01-4ae4ad
> > > > > 03
> > > > > 
> > > > > For linux-firmware and Buildroot firmware:
> > > > > 
> > > > > # strings /lib/firmware/brcm/brcmfmac4339-sdio.bin | tail -1
> > > > > 4339a0-roml/sdio-ag-pool-autoabn-lpc Version: 6.37.34.28 CRC:
> > > > > a696897b
> > > > > Date: Thu 2014-08-28 18:40:12
> > > > > PDT FWID 01-a13120fc
> > > > > 
> > > > > In both cases, I am using the nvram provided by Technexion.
> > > > That should be fine.
> > > > 
> > > > Can you try the patch below. It would give me more info on
> > > > state of
> > > > firmware.
> > > > 
> > > > Regards,
> > > > Arend
> > > > 
> > > > diff --git
> > > > a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> > > > b/drivers/ne
> > > > index f355612..631c5cb 100644
> > > > --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> > > > +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> > > > @@ -828,8 +828,27 @@ static int brcmf_sdio_htclk(struct
> > > > brcmf_sdio
> > > > *bus,
> > > > bool on,
> > > >                           return -EBADE;
> > > >                   }
> > > >                   if (!SBSDIO_CLKAV(clkctl, bus->alp_only)) {
> > > > +                       struct brcmf_core *pmu =
> > > > brcmf_chip_get_pmu(bus->ci);
> > > > +                       u32 regaddr;
> > > > +                       u32 val;
> > > > +
> > > >                           brcmf_err("HT Avail timeout (%d):
> > > > clkctl
> > > > 0x%02x\n",
> > > >                                     PMU_MAX_TRANSITION_DLY,
> > > > clkctl);
> > > > +
> > > > +                       /* DEBUG INFO */
> > > > +                       regaddr = CORE_CC_REG(pmu->base,
> > > > pmucontrol);
> > > > +                       val = brcmf_sdiod_regrl(bus->sdiodev,
> > > > regaddr,
> > > > &err);
> > > > +                       brcmf_err("  pmucontrol   = %08x\n",
> > > > val);
> > > > +                       regaddr = CORE_CC_REG(pmu->base,
> > > > pmustatus);
> > > > +                       val = brcmf_sdiod_regrl(bus->sdiodev,
> > > > regaddr,
> > > > &err);
> > > > +                       brcmf_err("  pmustatus    = %08x\n",
> > > > val);
> > > > +                       regaddr = CORE_CC_REG(pmu->base,
> > > > min_res_mask);
> > > > +                       val = brcmf_sdiod_regrl(bus->sdiodev,
> > > > regaddr,
> > > > &err);
> > > > +                       brcmf_err("  min_res_mask = %08x\n",
> > > > val);
> > > > +                       regaddr = CORE_CC_REG(pmu->base,
> > > > max_res_mask);
> > > > +                       val = brcmf_sdiod_regrl(bus->sdiodev,
> > > > regaddr,
> > > > &err);
> > > > +                       brcmf_err("  max_res_mask = %08x\n",
> > > > val);
> > > > +
> > > >                           return -EBADE;
> > > >                   }
> > > > 
> > > > 
> > > Here's the output for both firmwares:
> > > 
> > > Technexion:
> > > # dmesg | grep brcmfmac
> > > [    5.307067] brcmfmac: brcmf_fw_map_chip_to_name: using
> > > brcm/brcmfmac4339-sdio.bin for chip 0x00433
> > > 9(17209) rev 0x000002
> > > [    6.400792] brcmfmac: brcmf_sdio_htclk: HT Avail timeout
> > > (1000000):
> > > clkctl 0x50
> > > [    6.408444] brcmfmac: brcmf_sdio_htclk:   pmucontrol   =
> > > 01774381
> > > [    6.415595] brcmfmac: brcmf_sdio_htclk:   pmustatus    =
> > > 0000002a
> > > [    6.421915] brcmfmac: brcmf_sdio_htclk:   min_res_mask =
> > > 0fcaff77
> > > [    6.428124] brcmfmac: brcmf_sdio_htclk:   max_res_mask =
> > > 0fceff77
> > > [    7.482668] brcmfmac: brcmf_sdio_htclk: HT Avail timeout
> > > (1000000):
> > > clkctl 0x50
> > > [    7.490214] brcmfmac: brcmf_sdio_htclk:   pmucontrol   =
> > > 01774381
> > > [    7.496414] brcmfmac: brcmf_sdio_htclk:   pmustatus    =
> > > 0000002a
> > > [    7.503873] brcmfmac: brcmf_sdio_htclk:   min_res_mask =
> > > 0fcaff77
> > > [    7.510182] brcmfmac: brcmf_sdio_htclk:   max_res_mask =
> > > 0fceff77
> > > #  strings /lib/firmware/brcm/brcmfmac4339-sdio.bin | tail -1
> > > 4339a0-roml/sdio-ag-pool-p2p-pno-pktfilter-keepalive-aoe-sr-
> > > mchan-
> > > proptxstatus-lpc-tdls-autoabn-txbf-
> > > rcc-wepso-okc-ndoe Version: 6.37.32.28 CRC: 3075f12e Date: Thu
> > > 2014-04-
> > > 03 12:15:31 CST FWID 01-4ae4ad
> > > 03
> > > 
> > > Buildroot:
> > > # dmesg | grep brcmfmac
> > > [    5.343118] brcmfmac: brcmf_fw_map_chip_to_name: using
> > > brcm/brcmfmac4339-sdio.bin for chip 0x00433
> > > 9(17209) rev 0x000002
> > > [    6.420070] brcmfmac: brcmf_sdio_htclk: HT Avail timeout
> > > (1000000):
> > > clkctl 0x50
> > > [    6.427722] brcmfmac: brcmf_sdio_htclk:   pmucontrol   =
> > > 01774381
> > > [    6.434865] brcmfmac: brcmf_sdio_htclk:   pmustatus    =
> > > 0000002a
> > > [    6.441174] brcmfmac: brcmf_sdio_htclk:   min_res_mask =
> > > 0fcaff77
> > > [    6.447379] brcmfmac: brcmf_sdio_htclk:   max_res_mask =
> > > 0fceff77
> > > [    7.502653] brcmfmac: brcmf_sdio_htclk: HT Avail timeout
> > > (1000000):
> > > clkctl 0x50
> > > [    7.510200] brcmfmac: brcmf_sdio_htclk:   pmucontrol   =
> > > 01774381
> > > [    7.516398] brcmfmac: brcmf_sdio_htclk:   pmustatus    =
> > > 0000002a
> > > [    7.523826] brcmfmac: brcmf_sdio_htclk:   min_res_mask =
> > > 0fcaff77
> > > [    7.530117] brcmfmac: brcmf_sdio_htclk:   max_res_mask =
> > > 0fceff77
> > > # strings /lib/firmware/brcm/brcmfmac4339-sdio.bin | tail -1
> > > 4339a0-roml/sdio-ag-pool-autoabn-lpc Version: 6.37.34.28 CRC:
> > > a696897b
> > > Date: Thu 2014-08-28 18:40:12
> > > PDT FWID 01-a13120fc
> > Thanks for the info. The pmustatus indeed shows there is no HT
> > clock for 
> > the backplane. Will have to discuss with h/w guys. Meanwhile, can
> > you 
> > try the patch below. It will create a memory dump of the device
> > using 
> > the dev_coredump framework, ie. under /sys/class/devcoredump/. It
> > will 
> > probably create two dumps as the error occurs twice during probe.
> > Just 
> > sent me the first or put it somewhere on internet so I can download
> > it 
> > and have a look at it.
> with patch :-(
> 
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c 
> b/drivers/ne
> index f355612..f7ded91 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
> @@ -830,6 +830,11 @@ static int brcmf_sdio_htclk(struct brcmf_sdio
> *bus, 
> bool on,
>                  if (!SBSDIO_CLKAV(clkctl, bus->alp_only)) {
>                          brcmf_err("HT Avail timeout (%d): clkctl
> 0x%02x\n",
>                                    PMU_MAX_TRANSITION_DLY, clkctl);
> +
> +                       /* DEBUG INFO */
> +                       brcmf_debug_create_memdump(bus->sdiodev-
> >bus_if,
> +                                                  NULL, 0);
> +
>                          return -EBADE;
>                  }
> 
> 

I am applying this patch and apparently the dumps are not created.

# ls /sys/class/devcoredump/                                          
disabled

Is there something else I need to modify? I am using mainline kernel.

Thanks!




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux