> On 12.10.2018, at 13:22, Arend van Spriel <arend.vanspriel@xxxxxxxxxxxx> wrote: > > On 10/12/2018 10:59 AM, Christoph Müllner wrote: >> >> >> On 10/12/18 10:00 AM, Arend van Spriel wrote: >>> On 10/11/2018 6:04 PM, Christoph Müllner wrote: >>>> Hi Franky and Arend, >>>> >>>> today I could get a SDIO Wifi module, which includes a BCM43455. >>>> I was able to get this up and running without any issues with the >>>> brcmfmac >>>> driver and a 4.19 kernel. For me that's enough evidence to say that >>>> the SDIO >>>> driver works. >>>> >>>> However, the BCM4359 still does not work. >>>> It times out in brcmf_sdio_firmware_callback(), while enabling func2. >>>> >>>> I've inserted tons of debug log outputs in both, the DHD driver and the >>>> brcmfmac driver, and compared them. Differences which I've found so far >>>> are: a) brcmfmac strips out whitespaces from nvram contents and >>>> b) DHD downloads firmware first and brcmfmac downloads nvram first. >>>> I've adapted the DHD driver to behave like brcmfmac in both cases >>>> and it still works. >>>> >>>> I've increased the timeout for enabling func2 from 3 seconds to 10 >>>> seconds, >>>> but that did not help. >>>> >>>> Any ideas left? >>> >>> When enabling func2 fails it generally means the firmware crashed. I am >>> not sure if the patch below works to get console information. It might >>> show up empty or simply fail if firmware did not fill shared memory >>> info, but it may be worth a try. >> >> I added the patch and additionally added debug output for all error >> cases in the two called functions. Here's the output: >> >> [ 14.746092] brcmfmac: brcmf_sdio_firmware_callback: enable F2: err=-62 >> [ 14.767523] brcmfmac: brcmf_sdio_checkdied: firmware not built with >> -assert >> [ 14.778777] brcmfmac: brcmf_sdio_checkdied: firmware trap in dongle >> [ 14.789220] brcmfmac: brcmf_sdio_readconsole: brcmf_sdio_readconsole: >> bus->console_addr == 0! >> >> Do you have an educated guess, what causes the firmware crash, when >> being loaded via the brcmfmac driver? > > Maybe we can find out with the patch below. That gives me (three out of three times): > [ 12.934594] brcmfmac: brcmf_sdio_firmware_callback: enable F2: err=-62 > [ 12.943851] brcmfmac: brcmf_sdio_checkdied: firmware not built with -assert > [ 12.951734] brcmfmac: brcmf_sdio_checkdied: firmware trap in dongle > [ 12.959320] dongle trap info: type 0x4 @ epc 0x001e0f8c > [ 12.959320] cpsr 0x80000193 spsr 0x800000b3 sp 0x001b35b0 > [ 12.959320] lr 0x0006608b pc 0x001e0f8c offset 0x1b3558 > [ 12.959320] r0 0x001fbf14 r1 0x00000001 r2 0x18101000 r3 0x18001000 > [ 12.959320] r4 0x001fbf14 r5 0x00000000 r6 0x00000002 r7 0x000043ef > [ 12.993068] brcmfmac: brcmf_sdio_readconsole: brcmf_sdio_readconsole: bus->console_addr == 0!