Search Linux Wireless

Re: brcmfmac with BCM4359 on arm64 (RK3399) and SDIO

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

 



> 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!








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

  Powered by Linux