All of lore.kernel.org
 help / color / mirror / Atom feed
* AP6335 with mainline kernel
@ 2017-09-20 19:33 Vanessa Ayumi Maegima
  2017-09-21  7:26 ` Arend van Spriel
  0 siblings, 1 reply; 35+ messages in thread
From: Vanessa Ayumi Maegima @ 2017-09-20 19:33 UTC (permalink / raw)
  To: linux-wireless; +Cc: arend.vanspriel, embed3d, joerg.krause, Vanessa Maegima

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.

Thanks!

Regards,
Vanessa

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-09-20 19:33 AP6335 with mainline kernel Vanessa Ayumi Maegima
@ 2017-09-21  7:26 ` Arend van Spriel
  2017-09-21 15:30   ` Vanessa Ayumi Maegima
  0 siblings, 1 reply; 35+ messages in thread
From: Arend van Spriel @ 2017-09-21  7:26 UTC (permalink / raw)
  To: Vanessa Ayumi Maegima, linux-wireless
  Cc: embed3d, joerg.krause, Vanessa Maegima

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

Regards,
Arend
> Thanks!
> 
> Regards,
> Vanessa
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-09-21  7:26 ` Arend van Spriel
@ 2017-09-21 15:30   ` Vanessa Ayumi Maegima
  2017-10-17 12:07     ` Vanessa Maegima
  2017-11-10 12:43     ` Vanessa Maegima
  0 siblings, 2 replies; 35+ messages in thread
From: Vanessa Ayumi Maegima @ 2017-09-21 15:30 UTC (permalink / raw)
  To: Arend van Spriel
  Cc: linux-wireless, embed3d, Jörg Krause, Vanessa Maegima

Hi Arend,

On Thu, Sep 21, 2017 at 4:26 AM, Arend van Spriel
<arend.vanspriel@broadcom.com> 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

>
> Regards,
> Arend
>>
>> Thanks!
>>
>> Regards,
>> Vanessa
>>
>

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-09-21 15:30   ` Vanessa Ayumi Maegima
@ 2017-10-17 12:07     ` Vanessa Maegima
  2017-11-10 12:43     ` Vanessa Maegima
  1 sibling, 0 replies; 35+ messages in thread
From: Vanessa Maegima @ 2017-10-17 12:07 UTC (permalink / raw)
  To: arend.vanspriel, van.ayumi; +Cc: linux-wireless, embed3d, joerg.krause

SGkgQXJlbmQsDQoNCk9uIFF1aSwgMjAxNy0wOS0yMSBhdCAxMjozMCAtMDMwMCwgVmFuZXNzYSBB
eXVtaSBNYWVnaW1hIHdyb3RlOg0KPiBIaSBBcmVuZCwNCj4gDQo+IE9uIFRodSwgU2VwIDIxLCAy
MDE3IGF0IDQ6MjYgQU0sIEFyZW5kIHZhbiBTcHJpZWwNCj4gPGFyZW5kLnZhbnNwcmllbEBicm9h
ZGNvbS5jb20+IHdyb3RlOg0KPiA+IA0KPiA+IE9uIDIwLTA5LTE3IDIxOjMzLCBWYW5lc3NhIEF5
dW1pIE1hZWdpbWEgd3JvdGU6DQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gSGksDQo+ID4gPiANCj4g
PiA+IEkgYW0gdHJ5aW5nIHRvIGVuYWJsZSBXaWZpIG9uIGlteDdkLXBpY28gdXNpbmcgbWFpbmxp
bmUga2VybmVsLg0KPiA+ID4gaW14N2QtcGljbw0KPiA+ID4gaGFzIGFuIEFQNjMzNSBjaGlwLg0K
PiA+ID4gDQo+ID4gPiBJIGFtIGZhY2luZyBzb21lIGlzc3VlcyByZWxhdGVkIHRvIHRoZSBudnJh
bSBmaWxlLiBJIGFtIHVzaW5nIHRoZQ0KPiA+ID4gZmlybXdhcmUNCj4gPiA+IHByb3ZpZGVkIGJ5
IEJ1aWxkcm9vdCAoYnJjbWZtYWM0MzM5LXNkaW8uYmluKS4gSSBnZXQgdGhlDQo+ID4gPiBmb2xs
b3dpbmcgZXJyb3I6DQo+ID4gPiANCj4gPiA+IFvCoMKgwqDCoDguNjMwMzgwXSBicmNtZm1hYzog
YnJjbWZfc2Rpb19odGNsazogSFQgQXZhaWwgdGltZW91dA0KPiA+ID4gKDEwMDAwMDApOg0KPiA+
ID4gY2xrY3RsIDB4NTANCj4gPiA+IA0KPiA+ID4gSSBoYXZlIHRyaWVkIHRvIHVzZSB0aGUgZmly
bXdhcmUgYW5kIG52cmFtIHByb3ZpZGVkIGJ5IFRlY2hOZXhpb24NCj4gPiA+IGJ1dCBJDQo+ID4g
PiBnZXQNCj4gPiA+IHRoZSBzYW1lIGVycm9yLg0KPiA+ID4gDQo+ID4gPiBJcyB0aGVyZSBhbnlv
bmUgdGhhdCBjb3VsZCBlbmFibGUgV2lmaSBvbiBBUDYzMzUgdXNpbmcga2VybmVsDQo+ID4gPiBt
YWlubGluZT8NCj4gPiA+IFdoYXQgbnZyYW0gZmlsZSB3YXMgdXNlZD8NCj4gPiA+IA0KPiA+ID4g
SSBhbSBhYmxlIHRvIHVzZSBXaWZpIG9uIHRoZSBib2FyZCBpZiBJIHVzZSB0aGUgZmlybXdhcmUs
IG52cmFtDQo+ID4gPiBmaWxlIGFuZA0KPiA+ID4ga2VybmVsDQo+ID4gPiBwcm92aWRlZCBieSBU
ZWNoTmV4aW9uLiBUaGV5IHVzZSBhIDQuMSBrZXJuZWwgZnJvbSBOWFAgd2l0aCB0aGUNCj4gPiA+
IGJjbWRoZA0KPiA+ID4gZHJpdmVyLg0KPiA+ID4gDQo+ID4gPiBTbyBJIGtub3cgdGhhdCB0aGUg
aGFyZHdhcmUgaXMgZnVuY3Rpb25hbC4NCj4gPiA+IA0KPiA+ID4gQW55IHN1Z2dlc3Rpb25zIGFz
IGhvdyB0byBnZXQgaXQgd29ya2luZyB3aXRoIGEgNC4xMyBhbmQgYnJjbWZtYWMNCj4gPiA+IGRy
aXZlcg0KPiA+ID4gaXMNCj4gPiA+IGFwcHJlY2lhdGVkLg0KPiA+IA0KPiA+IFNvIHRoZSBudnJh
bSBmaWxlIGlzIHNwZWNpZmljIHRvIHRoZSB3aWZpIGNoaXBzZXQgb24geW91ciBwbGF0Zm9ybQ0K
PiA+IHNvIGJlc3QNCj4gPiB0byBzdGljayB3aXRoIHRoZSBwcm92aWRlZCBvbmUuIFRoZSAiSFQg
QXZhaWwgdGltZW91dCIgbW9zdCBvZnRlbg0KPiA+IGlzIGFuDQo+ID4gaW5kaWNhdGlvbiB0aGF0
IHRoZSBmaXJtd2FyZSBjcmFzaGVkLiBTbyBnZXR0aW5nIG1vcmUgZGVidWcgb3V0cHV0DQo+ID4g
d291bGQNCj4gPiBoZWxwIHVzIHVuZGVyc3RhbmQgaG93IGl0IGVuZGVkIHVwIGxpa2UgdGhhdC4g
Q2FuIHlvdSBidWlsZCB0aGUNCj4gPiBicmNtZm1hYw0KPiA+IHdpdGggQ09ORklHX0JSQ01EQkcg
YW5kIGxvYWQgdGhlIGRyaXZlciB1c2luZzoNCj4gPiANCj4gPiAkIGluc21vZCBicmNtZm1hYy5r
byBkZWJ1Zz0weDE0MTYNCj4gVGhhbmtzIGZvciB0aGUgcmVwbHkhDQo+IA0KPiBIZXJlIGlzIHRo
ZSBsb2cgKHVzaW5nIDQuMTQtcmMxKToNCj4gDQo+ICMgZG1lc2cgfCBncmVwIGJyY21mbWFjDQo+
IFvCoMKgwqAxOS4yOTcyMDZdIGJyY21mbWFjOiBicmNtZm1hY19tb2R1bGVfaW5pdCBObyBwbGF0
Zm9ybSBkYXRhDQo+IGF2YWlsYWJsZS4NCj4gW8KgwqDCoDE5LjMwNzA3NV0gYnJjbWZtYWM6IGJy
Y21mX3NkaW9fcHJvYmUgRW50ZXINCj4gW8KgwqDCoDE5LjMwODM4NF0gYnJjbWZtYWM6IEYxIHNp
Z25hdHVyZSByZWFkIEAweDE4MDAwMDAwPTB4MTYyMjQzMzUNCj4gW8KgwqDCoDE5LjMwOTAyNl0g
YnJjbWZtYWM6IGJyY21mX2NoaXBfcmVjb2duaXRpb24gZm91bmQgQVhJIGNoaXA6DQo+IEJDTTQz
MzksIHJldj0yDQo+IFvCoMKgwqAxOS4zMTcxMTVdIGJyY21mbWFjOiBicmNtZl9jaGlwX2NvcmVz
X2NoZWNrwqDCoFsxIF0gY29yZSAweDgwMDo0Ng0KPiBiYXNlIDB4MTgwMDAwMDAgd3JhcCAweDE4
MTAwMDAwDQo+IFvCoMKgwqAxOS4zMTcxNDFdIGJyY21mbWFjOiBicmNtZl9jaGlwX2NvcmVzX2No
ZWNrwqDCoFsyIF0gY29yZSAweDgxMjo0Ng0KPiBiYXNlIDB4MTgwMDEwMDAgd3JhcCAweDE4MTAx
MDAwDQo+IFvCoMKgwqAxOS4zMTcxNjVdIGJyY21mbWFjOiBicmNtZl9jaGlwX2NvcmVzX2NoZWNr
wqDCoFszIF0gY29yZSAweDgzZTo0DQo+IGJhc2UgMHgxODAwMjAwMCB3cmFwIDB4MTgxMDIwMDAN
Cj4gW8KgwqDCoDE5LjMxNzE4OF0gYnJjbWZtYWM6IGJyY21mX2NoaXBfY29yZXNfY2hlY2vCoMKg
WzQgXSBjb3JlIDB4ODNjOjQNCj4gYmFzZSAweDE4MDAzMDAwIHdyYXAgMHgxODEwMzAwMA0KPiBb
wqDCoMKgMTkuMzE3MjEwXSBicmNtZm1hYzogYnJjbWZfY2hpcF9jb3Jlc19jaGVja8KgwqBbNSBd
IGNvcmUgMHg4MWE6MjANCj4gYmFzZSAweDE4MDA0MDAwIHdyYXAgMHgxODEwNDAwMA0KPiBbwqDC
oMKgMTkuMzE3MjMzXSBicmNtZm1hYzogYnJjbWZfY2hpcF9jb3Jlc19jaGVja8KgwqBbNiBdIGNv
cmUgMHg4Mjk6MjENCj4gYmFzZSAweDE4MDA1MDAwIHdyYXAgMHgxODEwNTAwMA0KPiBbwqDCoMKg
MTkuMzE3MjU2XSBicmNtZm1hYzogYnJjbWZfY2hpcF9jb3Jlc19jaGVja8KgwqBbNyBdIGNvcmUg
MHgxMzU6MA0KPiBiYXNlIDB4MDAwMDAwMDAgd3JhcCAweDE4MTA5MDAwDQo+IFvCoMKgwqAxOS4z
MTcyNzldIGJyY21mbWFjOiBicmNtZl9jaGlwX2NvcmVzX2NoZWNrwqDCoFs4IF0gY29yZSAweDI0
MDowDQo+IGJhc2UgMHgwMDAwMDAwMCB3cmFwIDB4MDAwMDAwMDANCj4gW8KgwqDCoDE5LjMxNzI5
OF0gYnJjbWZtYWM6IGJyY21mX2NoaXBfc2V0X3Bhc3NpdmUgRW50ZXINCj4gW8KgwqDCoDE5LjMy
MjIzMl0gYnJjbWZtYWM6IGJyY21mX2NoaXBfZ2V0X3JhbWluZm8gUkFNOiBiYXNlPTB4MTgwMDAw
DQo+IHNpemU9Nzg2NDMyICgweGMwMDAwKSBzcj0wICgweDApDQo+IFvCoMKgwqAxOS4zMjI0NTdd
IGJyY21mbWFjOiBicmNtZl9jaGlwX3NldHVwIGNjcmV2PTQ2LCBwbXVyZXY9MjMsDQo+IHBtdWNh
cHM9MHgzOWNjNWYxNw0KPiBbwqDCoMKgMTkuMzIyNDgxXSBicmNtZm1hYzogYnJjbWZfZ2V0X21v
ZHVsZV9wYXJhbSBFbnRlciwgYnVzPTAsDQo+IGNoaXA9MTcyMDksIHJldj0yDQo+IFvCoMKgwqAx
OS4zMjI1MDRdIGJyY21mbWFjOiBicmNtZl9zZGlvZF9zZ3RhYmxlX2FsbG9jIG5lbnRzPTM1DQo+
IFvCoMKgwqAxOS4zMjI1MzFdIGJyY21mbWFjOiBicmNtZl9zZGlvX2tzb19pbml0IEVudGVyDQo+
IFvCoMKgwqAxOS4zMjI2MThdIGJyY21mbWFjOiBicmNtZl9zZGlvX2RyaXZlc3RyZW5ndGhpbml0
IE5vIFNESU8gZHJpdmVyDQo+IHN0cmVuZ3RoIGluaXQgbmVlZGVkIGZvciBjaGlwIDQzDQo+IDM5
IHJldiAyIHBtdXJldiAyMw0KPiBbwqDCoMKgMTkuMzIzMjM1XSBicmNtZm1hYzogYnJjbWZfYXR0
YWNoIEVudGVyDQo+IFvCoMKgwqAxOS4zMjM3MjVdIGJyY21mbWFjOiBicmNtZl9wcm90b19hdHRh
Y2ggRW50ZXINCj4gW8KgwqDCoDE5LjMyMzc2OV0gYnJjbWZtYWM6IGJyY21mX2Z3ZWhfcmVnaXN0
ZXIgZXZlbnQgaGFuZGxlciByZWdpc3RlcmVkDQo+IGZvciBQU01fV0FUQ0hET0cNCj4gW8KgwqDC
oDE5LjMyNDMwNl0gYnJjbWZtYWM6IGJyY21mX3NkaW9fcHJvYmUgY29tcGxldGVkISENCj4gW8Kg
wqDCoDE5LjMyNDMzN10gYnJjbWZtYWM6IGJyY21mX2Z3X21hcF9jaGlwX3RvX25hbWU6IHVzaW5n
DQo+IGJyY20vYnJjbWZtYWM0MzM5LXNkaW8uYmluIGZvciBjaGlwIDB4MDA0MzMNCj4gOSgxNzIw
OSkgcmV2IDB4MDAwMDAyDQo+IFvCoMKgwqAxOS4zMzUzNTNdIGJyY21mbWFjOiBicmNtZl9md19n
ZXRfZmlybXdhcmVzX3BjaWUgZW50ZXI6DQo+IGRldj1tbWMwOjAwMDE6MQ0KPiBbwqDCoMKgMTku
MzUxNzg3XSBicmNtZm1hYzogYnJjbWZfZndfcmVxdWVzdF9jb2RlX2RvbmUgZW50ZXI6DQo+IGRl
dj1tbWMwOjAwMDE6MQ0KPiBbwqDCoMKgMTkuMzUzMjAyXSBicmNtZm1hYzogYnJjbWZfZndfcmVx
dWVzdF9udnJhbV9kb25lIGVudGVyOg0KPiBkZXY9bW1jMDowMDAxOjENCj4gW8KgwqDCoDE5LjM1
MzQyNF0gYnJjbWZtYWM6IGJyY21mX3NkaW9fZmlybXdhcmVfY2FsbGJhY2sgRW50ZXI6DQo+IGRl
dj1tbWMwOjAwMDE6MSwgZXJyPTANCj4gW8KgwqDCoDE5LjM1MzgxNF0gYnJjbWZtYWM6IGJyY21m
X3NkaW9fZG93bmxvYWRfY29kZV9maWxlIEVudGVyDQo+IFvCoMKgwqAxOS4zODg1ODZdIGJyY21m
bWFjOiBicmNtZl9zZGlvX3ZlcmlmeW1lbW9yeSBDb21wYXJlIFJBTSBkbCAmIHVsDQo+IGF0IDB4
MDAxODAwMDA7IHNpemU9NDkzNTk5DQo+IFvCoMKgwqAxOS41NDY2NzVdIGJyY21mbWFjOiBicmNt
Zl9zZGlvX2Rvd25sb2FkX252cmFtIEVudGVyDQo+IFvCoMKgwqAxOS41NDc0MzJdIGJyY21mbWFj
OiBicmNtZl9zZGlvX3ZlcmlmeW1lbW9yeSBDb21wYXJlIFJBTSBkbCAmIHVsDQo+IGF0IDB4MDAy
M2Y3MzA7IHNpemU9MjI1Ng0KPiBbwqDCoMKgMTkuNTQ4NjY1XSBicmNtZm1hYzogYnJjbWZfY2hp
cF9zZXRfYWN0aXZlIEVudGVyDQo+IFvCoMKgwqAyMC41NjI5NzRdIGJyY21mbWFjOiBicmNtZl9z
ZGlvX2h0Y2xrOiBIVCBBdmFpbCB0aW1lb3V0DQo+ICgxMDAwMDAwKToNCj4gY2xrY3RsIDB4NTAN
Cj4gW8KgwqDCoDIwLjU3MDQ5MF0gYnJjbWZtYWM6IGJyY21mX3NkaW9fZmlybXdhcmVfY2FsbGJh
Y2sgZmFpbGVkOg0KPiBkZXY9bW1jMDowMDAxOjEsIGVycj0wDQo+IFvCoMKgwqAyMC41NzA3Mzld
IGJyY21mbWFjOiBicmNtZl9zZGlvX3JlbW92ZSBFbnRlcg0KPiBbwqDCoMKgMjAuNTcwNzc1XSBi
cmNtZm1hYzogYnJjbWZfZGV0YWNoIEVudGVyDQo+IFvCoMKgwqAyMC42MTA0MTRdIGJyY21mbWFj
OiBicmNtZl9idXNfY2hhbmdlX3N0YXRlIDAgLT4gMA0KPiBbwqDCoMKgMjAuNjEwNDQxXSBicmNt
Zm1hYzogYnJjbWZfc2Rpb19idXNfc3RvcCBFbnRlcg0KPiBbwqDCoMKgMjEuNjIyNDc3XSBicmNt
Zm1hYzogYnJjbWZfc2Rpb19odGNsazogSFQgQXZhaWwgdGltZW91dA0KPiAoMTAwMDAwMCk6DQo+
IGNsa2N0bCAweDUwDQo+IFvCoMKgwqAyMS42MzA5MTJdIGJyY21mbWFjOiBicmNtZl9wcm90b19k
ZXRhY2ggRW50ZXINCj4gW8KgwqDCoDIxLjYzMDk2N10gYnJjbWZtYWM6IGJyY21mX2Z3ZWhfdW5y
ZWdpc3RlciBldmVudCBoYW5kbGVyIGNsZWFyZWQNCj4gZm9yIFBTTV9XQVRDSERPRw0KPiBbwqDC
oMKgMjIuNjQyNDU3XSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazogSFQgQXZhaWwgdGltZW91
dA0KPiAoMTAwMDAwMCk6DQo+IGNsa2N0bCAweDUwDQo+IFvCoMKgwqAyMi42ODAxMzFdIGJyY21m
bWFjOiBicmNtZl9jaGlwX3NldF9wYXNzaXZlIEVudGVyDQo+IFvCoMKgwqAyMi42ODI1ODBdIGJy
Y21mbWFjOiBicmNtZl9zZGlvX3JlbW92ZSBEaXNjb25uZWN0ZWQNCj4gDQo+ID4gDQo+ID4gDQo+
ID4gUmVnYXJkcywNCj4gPiBBcmVuZA0KPiA+ID4gDQo+ID4gPiANCj4gPiA+IFRoYW5rcyENCj4g
PiA+IA0KPiA+ID4gUmVnYXJkcywNCj4gPiA+IFZhbmVzc2ENCj4gPiA+IA0KDQpEbyB5b3UgaGF2
ZSBhbnkgY29tbWVudHM/DQoNClRoYW5rcyENClZhbmVzc2E=

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-09-21 15:30   ` Vanessa Ayumi Maegima
  2017-10-17 12:07     ` Vanessa Maegima
@ 2017-11-10 12:43     ` Vanessa Maegima
  2017-11-10 19:58       ` Arend van Spriel
  1 sibling, 1 reply; 35+ messages in thread
From: Vanessa Maegima @ 2017-11-10 12:43 UTC (permalink / raw)
  To: arend.vanspriel, van.ayumi; +Cc: linux-wireless, embed3d, joerg.krause

SGksDQoNCk9uIFF1aSwgMjAxNy0wOS0yMSBhdCAxMjozMCAtMDMwMCwgVmFuZXNzYSBBeXVtaSBN
YWVnaW1hIHdyb3RlOg0KPiBIaSBBcmVuZCwNCj4gDQo+IE9uIFRodSwgU2VwIDIxLCAyMDE3IGF0
IDQ6MjYgQU0sIEFyZW5kIHZhbiBTcHJpZWwNCj4gPGFyZW5kLnZhbnNwcmllbEBicm9hZGNvbS5j
b20+IHdyb3RlOg0KPiA+IA0KPiA+IE9uIDIwLTA5LTE3IDIxOjMzLCBWYW5lc3NhIEF5dW1pIE1h
ZWdpbWEgd3JvdGU6DQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gSGksDQo+ID4gPiANCj4gPiA+IEkg
YW0gdHJ5aW5nIHRvIGVuYWJsZSBXaWZpIG9uIGlteDdkLXBpY28gdXNpbmcgbWFpbmxpbmUga2Vy
bmVsLg0KPiA+ID4gaW14N2QtcGljbw0KPiA+ID4gaGFzIGFuIEFQNjMzNSBjaGlwLg0KPiA+ID4g
DQo+ID4gPiBJIGFtIGZhY2luZyBzb21lIGlzc3VlcyByZWxhdGVkIHRvIHRoZSBudnJhbSBmaWxl
LiBJIGFtIHVzaW5nIHRoZQ0KPiA+ID4gZmlybXdhcmUNCj4gPiA+IHByb3ZpZGVkIGJ5IEJ1aWxk
cm9vdCAoYnJjbWZtYWM0MzM5LXNkaW8uYmluKS4gSSBnZXQgdGhlDQo+ID4gPiBmb2xsb3dpbmcg
ZXJyb3I6DQo+ID4gPiANCj4gPiA+IFvCoMKgwqDCoDguNjMwMzgwXSBicmNtZm1hYzogYnJjbWZf
c2Rpb19odGNsazogSFQgQXZhaWwgdGltZW91dA0KPiA+ID4gKDEwMDAwMDApOg0KPiA+ID4gY2xr
Y3RsIDB4NTANCj4gPiA+IA0KPiA+ID4gSSBoYXZlIHRyaWVkIHRvIHVzZSB0aGUgZmlybXdhcmUg
YW5kIG52cmFtIHByb3ZpZGVkIGJ5IFRlY2hOZXhpb24NCj4gPiA+IGJ1dCBJDQo+ID4gPiBnZXQN
Cj4gPiA+IHRoZSBzYW1lIGVycm9yLg0KPiA+ID4gDQo+ID4gPiBJcyB0aGVyZSBhbnlvbmUgdGhh
dCBjb3VsZCBlbmFibGUgV2lmaSBvbiBBUDYzMzUgdXNpbmcga2VybmVsDQo+ID4gPiBtYWlubGlu
ZT8NCj4gPiA+IFdoYXQgbnZyYW0gZmlsZSB3YXMgdXNlZD8NCj4gPiA+IA0KPiA+ID4gSSBhbSBh
YmxlIHRvIHVzZSBXaWZpIG9uIHRoZSBib2FyZCBpZiBJIHVzZSB0aGUgZmlybXdhcmUsIG52cmFt
DQo+ID4gPiBmaWxlIGFuZA0KPiA+ID4ga2VybmVsDQo+ID4gPiBwcm92aWRlZCBieSBUZWNoTmV4
aW9uLiBUaGV5IHVzZSBhIDQuMSBrZXJuZWwgZnJvbSBOWFAgd2l0aCB0aGUNCj4gPiA+IGJjbWRo
ZA0KPiA+ID4gZHJpdmVyLg0KPiA+ID4gDQo+ID4gPiBTbyBJIGtub3cgdGhhdCB0aGUgaGFyZHdh
cmUgaXMgZnVuY3Rpb25hbC4NCj4gPiA+IA0KPiA+ID4gQW55IHN1Z2dlc3Rpb25zIGFzIGhvdyB0
byBnZXQgaXQgd29ya2luZyB3aXRoIGEgNC4xMyBhbmQgYnJjbWZtYWMNCj4gPiA+IGRyaXZlcg0K
PiA+ID4gaXMNCj4gPiA+IGFwcHJlY2lhdGVkLg0KPiA+IA0KPiA+IFNvIHRoZSBudnJhbSBmaWxl
IGlzIHNwZWNpZmljIHRvIHRoZSB3aWZpIGNoaXBzZXQgb24geW91ciBwbGF0Zm9ybQ0KPiA+IHNv
IGJlc3QNCj4gPiB0byBzdGljayB3aXRoIHRoZSBwcm92aWRlZCBvbmUuIFRoZSAiSFQgQXZhaWwg
dGltZW91dCIgbW9zdCBvZnRlbg0KPiA+IGlzIGFuDQo+ID4gaW5kaWNhdGlvbiB0aGF0IHRoZSBm
aXJtd2FyZSBjcmFzaGVkLiBTbyBnZXR0aW5nIG1vcmUgZGVidWcgb3V0cHV0DQo+ID4gd291bGQN
Cj4gPiBoZWxwIHVzIHVuZGVyc3RhbmQgaG93IGl0IGVuZGVkIHVwIGxpa2UgdGhhdC4gQ2FuIHlv
dSBidWlsZCB0aGUNCj4gPiBicmNtZm1hYw0KPiA+IHdpdGggQ09ORklHX0JSQ01EQkcgYW5kIGxv
YWQgdGhlIGRyaXZlciB1c2luZzoNCj4gPiANCj4gPiAkIGluc21vZCBicmNtZm1hYy5rbyBkZWJ1
Zz0weDE0MTYNCj4gVGhhbmtzIGZvciB0aGUgcmVwbHkhDQo+IA0KPiBIZXJlIGlzIHRoZSBsb2cg
KHVzaW5nIDQuMTQtcmMxKToNCj4gDQo+ICMgZG1lc2cgfCBncmVwIGJyY21mbWFjDQo+IFvCoMKg
wqAxOS4yOTcyMDZdIGJyY21mbWFjOiBicmNtZm1hY19tb2R1bGVfaW5pdCBObyBwbGF0Zm9ybSBk
YXRhDQo+IGF2YWlsYWJsZS4NCj4gW8KgwqDCoDE5LjMwNzA3NV0gYnJjbWZtYWM6IGJyY21mX3Nk
aW9fcHJvYmUgRW50ZXINCj4gW8KgwqDCoDE5LjMwODM4NF0gYnJjbWZtYWM6IEYxIHNpZ25hdHVy
ZSByZWFkIEAweDE4MDAwMDAwPTB4MTYyMjQzMzUNCj4gW8KgwqDCoDE5LjMwOTAyNl0gYnJjbWZt
YWM6IGJyY21mX2NoaXBfcmVjb2duaXRpb24gZm91bmQgQVhJIGNoaXA6DQo+IEJDTTQzMzksIHJl
dj0yDQo+IFvCoMKgwqAxOS4zMTcxMTVdIGJyY21mbWFjOiBicmNtZl9jaGlwX2NvcmVzX2NoZWNr
wqDCoFsxIF0gY29yZSAweDgwMDo0Ng0KPiBiYXNlIDB4MTgwMDAwMDAgd3JhcCAweDE4MTAwMDAw
DQo+IFvCoMKgwqAxOS4zMTcxNDFdIGJyY21mbWFjOiBicmNtZl9jaGlwX2NvcmVzX2NoZWNrwqDC
oFsyIF0gY29yZSAweDgxMjo0Ng0KPiBiYXNlIDB4MTgwMDEwMDAgd3JhcCAweDE4MTAxMDAwDQo+
IFvCoMKgwqAxOS4zMTcxNjVdIGJyY21mbWFjOiBicmNtZl9jaGlwX2NvcmVzX2NoZWNrwqDCoFsz
IF0gY29yZSAweDgzZTo0DQo+IGJhc2UgMHgxODAwMjAwMCB3cmFwIDB4MTgxMDIwMDANCj4gW8Kg
wqDCoDE5LjMxNzE4OF0gYnJjbWZtYWM6IGJyY21mX2NoaXBfY29yZXNfY2hlY2vCoMKgWzQgXSBj
b3JlIDB4ODNjOjQNCj4gYmFzZSAweDE4MDAzMDAwIHdyYXAgMHgxODEwMzAwMA0KPiBbwqDCoMKg
MTkuMzE3MjEwXSBicmNtZm1hYzogYnJjbWZfY2hpcF9jb3Jlc19jaGVja8KgwqBbNSBdIGNvcmUg
MHg4MWE6MjANCj4gYmFzZSAweDE4MDA0MDAwIHdyYXAgMHgxODEwNDAwMA0KPiBbwqDCoMKgMTku
MzE3MjMzXSBicmNtZm1hYzogYnJjbWZfY2hpcF9jb3Jlc19jaGVja8KgwqBbNiBdIGNvcmUgMHg4
Mjk6MjENCj4gYmFzZSAweDE4MDA1MDAwIHdyYXAgMHgxODEwNTAwMA0KPiBbwqDCoMKgMTkuMzE3
MjU2XSBicmNtZm1hYzogYnJjbWZfY2hpcF9jb3Jlc19jaGVja8KgwqBbNyBdIGNvcmUgMHgxMzU6
MA0KPiBiYXNlIDB4MDAwMDAwMDAgd3JhcCAweDE4MTA5MDAwDQo+IFvCoMKgwqAxOS4zMTcyNzld
IGJyY21mbWFjOiBicmNtZl9jaGlwX2NvcmVzX2NoZWNrwqDCoFs4IF0gY29yZSAweDI0MDowDQo+
IGJhc2UgMHgwMDAwMDAwMCB3cmFwIDB4MDAwMDAwMDANCj4gW8KgwqDCoDE5LjMxNzI5OF0gYnJj
bWZtYWM6IGJyY21mX2NoaXBfc2V0X3Bhc3NpdmUgRW50ZXINCj4gW8KgwqDCoDE5LjMyMjIzMl0g
YnJjbWZtYWM6IGJyY21mX2NoaXBfZ2V0X3JhbWluZm8gUkFNOiBiYXNlPTB4MTgwMDAwDQo+IHNp
emU9Nzg2NDMyICgweGMwMDAwKSBzcj0wICgweDApDQo+IFvCoMKgwqAxOS4zMjI0NTddIGJyY21m
bWFjOiBicmNtZl9jaGlwX3NldHVwIGNjcmV2PTQ2LCBwbXVyZXY9MjMsDQo+IHBtdWNhcHM9MHgz
OWNjNWYxNw0KPiBbwqDCoMKgMTkuMzIyNDgxXSBicmNtZm1hYzogYnJjbWZfZ2V0X21vZHVsZV9w
YXJhbSBFbnRlciwgYnVzPTAsDQo+IGNoaXA9MTcyMDksIHJldj0yDQo+IFvCoMKgwqAxOS4zMjI1
MDRdIGJyY21mbWFjOiBicmNtZl9zZGlvZF9zZ3RhYmxlX2FsbG9jIG5lbnRzPTM1DQo+IFvCoMKg
wqAxOS4zMjI1MzFdIGJyY21mbWFjOiBicmNtZl9zZGlvX2tzb19pbml0IEVudGVyDQo+IFvCoMKg
wqAxOS4zMjI2MThdIGJyY21mbWFjOiBicmNtZl9zZGlvX2RyaXZlc3RyZW5ndGhpbml0IE5vIFNE
SU8gZHJpdmVyDQo+IHN0cmVuZ3RoIGluaXQgbmVlZGVkIGZvciBjaGlwIDQzDQo+IDM5IHJldiAy
IHBtdXJldiAyMw0KPiBbwqDCoMKgMTkuMzIzMjM1XSBicmNtZm1hYzogYnJjbWZfYXR0YWNoIEVu
dGVyDQo+IFvCoMKgwqAxOS4zMjM3MjVdIGJyY21mbWFjOiBicmNtZl9wcm90b19hdHRhY2ggRW50
ZXINCj4gW8KgwqDCoDE5LjMyMzc2OV0gYnJjbWZtYWM6IGJyY21mX2Z3ZWhfcmVnaXN0ZXIgZXZl
bnQgaGFuZGxlciByZWdpc3RlcmVkDQo+IGZvciBQU01fV0FUQ0hET0cNCj4gW8KgwqDCoDE5LjMy
NDMwNl0gYnJjbWZtYWM6IGJyY21mX3NkaW9fcHJvYmUgY29tcGxldGVkISENCj4gW8KgwqDCoDE5
LjMyNDMzN10gYnJjbWZtYWM6IGJyY21mX2Z3X21hcF9jaGlwX3RvX25hbWU6IHVzaW5nDQo+IGJy
Y20vYnJjbWZtYWM0MzM5LXNkaW8uYmluIGZvciBjaGlwIDB4MDA0MzMNCj4gOSgxNzIwOSkgcmV2
IDB4MDAwMDAyDQo+IFvCoMKgwqAxOS4zMzUzNTNdIGJyY21mbWFjOiBicmNtZl9md19nZXRfZmly
bXdhcmVzX3BjaWUgZW50ZXI6DQo+IGRldj1tbWMwOjAwMDE6MQ0KPiBbwqDCoMKgMTkuMzUxNzg3
XSBicmNtZm1hYzogYnJjbWZfZndfcmVxdWVzdF9jb2RlX2RvbmUgZW50ZXI6DQo+IGRldj1tbWMw
OjAwMDE6MQ0KPiBbwqDCoMKgMTkuMzUzMjAyXSBicmNtZm1hYzogYnJjbWZfZndfcmVxdWVzdF9u
dnJhbV9kb25lIGVudGVyOg0KPiBkZXY9bW1jMDowMDAxOjENCj4gW8KgwqDCoDE5LjM1MzQyNF0g
YnJjbWZtYWM6IGJyY21mX3NkaW9fZmlybXdhcmVfY2FsbGJhY2sgRW50ZXI6DQo+IGRldj1tbWMw
OjAwMDE6MSwgZXJyPTANCj4gW8KgwqDCoDE5LjM1MzgxNF0gYnJjbWZtYWM6IGJyY21mX3NkaW9f
ZG93bmxvYWRfY29kZV9maWxlIEVudGVyDQo+IFvCoMKgwqAxOS4zODg1ODZdIGJyY21mbWFjOiBi
cmNtZl9zZGlvX3ZlcmlmeW1lbW9yeSBDb21wYXJlIFJBTSBkbCAmIHVsDQo+IGF0IDB4MDAxODAw
MDA7IHNpemU9NDkzNTk5DQo+IFvCoMKgwqAxOS41NDY2NzVdIGJyY21mbWFjOiBicmNtZl9zZGlv
X2Rvd25sb2FkX252cmFtIEVudGVyDQo+IFvCoMKgwqAxOS41NDc0MzJdIGJyY21mbWFjOiBicmNt
Zl9zZGlvX3ZlcmlmeW1lbW9yeSBDb21wYXJlIFJBTSBkbCAmIHVsDQo+IGF0IDB4MDAyM2Y3MzA7
IHNpemU9MjI1Ng0KPiBbwqDCoMKgMTkuNTQ4NjY1XSBicmNtZm1hYzogYnJjbWZfY2hpcF9zZXRf
YWN0aXZlIEVudGVyDQo+IFvCoMKgwqAyMC41NjI5NzRdIGJyY21mbWFjOiBicmNtZl9zZGlvX2h0
Y2xrOiBIVCBBdmFpbCB0aW1lb3V0DQo+ICgxMDAwMDAwKToNCj4gY2xrY3RsIDB4NTANCj4gW8Kg
wqDCoDIwLjU3MDQ5MF0gYnJjbWZtYWM6IGJyY21mX3NkaW9fZmlybXdhcmVfY2FsbGJhY2sgZmFp
bGVkOg0KPiBkZXY9bW1jMDowMDAxOjEsIGVycj0wDQo+IFvCoMKgwqAyMC41NzA3MzldIGJyY21m
bWFjOiBicmNtZl9zZGlvX3JlbW92ZSBFbnRlcg0KPiBbwqDCoMKgMjAuNTcwNzc1XSBicmNtZm1h
YzogYnJjbWZfZGV0YWNoIEVudGVyDQo+IFvCoMKgwqAyMC42MTA0MTRdIGJyY21mbWFjOiBicmNt
Zl9idXNfY2hhbmdlX3N0YXRlIDAgLT4gMA0KPiBbwqDCoMKgMjAuNjEwNDQxXSBicmNtZm1hYzog
YnJjbWZfc2Rpb19idXNfc3RvcCBFbnRlcg0KPiBbwqDCoMKgMjEuNjIyNDc3XSBicmNtZm1hYzog
YnJjbWZfc2Rpb19odGNsazogSFQgQXZhaWwgdGltZW91dA0KPiAoMTAwMDAwMCk6DQo+IGNsa2N0
bCAweDUwDQo+IFvCoMKgwqAyMS42MzA5MTJdIGJyY21mbWFjOiBicmNtZl9wcm90b19kZXRhY2gg
RW50ZXINCj4gW8KgwqDCoDIxLjYzMDk2N10gYnJjbWZtYWM6IGJyY21mX2Z3ZWhfdW5yZWdpc3Rl
ciBldmVudCBoYW5kbGVyIGNsZWFyZWQNCj4gZm9yIFBTTV9XQVRDSERPRw0KPiBbwqDCoMKgMjIu
NjQyNDU3XSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazogSFQgQXZhaWwgdGltZW91dA0KPiAo
MTAwMDAwMCk6DQo+IGNsa2N0bCAweDUwDQo+IFvCoMKgwqAyMi42ODAxMzFdIGJyY21mbWFjOiBi
cmNtZl9jaGlwX3NldF9wYXNzaXZlIEVudGVyDQo+IFvCoMKgwqAyMi42ODI1ODBdIGJyY21mbWFj
OiBicmNtZl9zZGlvX3JlbW92ZSBEaXNjb25uZWN0ZWQNCj4gDQoNCkFueSBzdWdnZXN0aW9ucyBv
biB0aGlzPw0KDQo+ID4gDQo+ID4gDQo+ID4gUmVnYXJkcywNCj4gPiBBcmVuZA0KPiA+ID4gDQo+
ID4gPiANCj4gPiA+IFRoYW5rcyENCj4gPiA+IA0KPiA+ID4gUmVnYXJkcywNCj4gPiA+IFZhbmVz
c2ENCj4gPiA+IA==

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-11-10 12:43     ` Vanessa Maegima
@ 2017-11-10 19:58       ` Arend van Spriel
  2017-11-17 11:08         ` Vanessa Maegima
  0 siblings, 1 reply; 35+ messages in thread
From: Arend van Spriel @ 2017-11-10 19:58 UTC (permalink / raw)
  To: Vanessa Maegima, van.ayumi; +Cc: linux-wireless, embed3d, joerg.krause

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@broadcom.com> 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
>>>
>>>
>>> Regards,
>>> Arend
>>>>
>>>>
>>>> Thanks!
>>>>
>>>> Regards,
>>>> Vanessa

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-11-10 19:58       ` Arend van Spriel
@ 2017-11-17 11:08         ` Vanessa Maegima
  2017-11-17 12:55           ` Arend van Spriel
  0 siblings, 1 reply; 35+ messages in thread
From: Vanessa Maegima @ 2017-11-17 11:08 UTC (permalink / raw)
  To: arend.vanspriel, van.ayumi; +Cc: linux-wireless, embed3d, joerg.krause

SGkgQXJlbmQsDQoNCk9uIFNleCwgMjAxNy0xMS0xMCBhdCAyMDo1OCArMDEwMCwgQXJlbmQgdmFu
IFNwcmllbCB3cm90ZToNCj4gT24gMTAtMTEtMTcgMTM6NDMsIFZhbmVzc2EgTWFlZ2ltYSB3cm90
ZToNCj4gPiANCj4gPiBIaSwNCj4gPiANCj4gPiBPbiBRdWksIDIwMTctMDktMjEgYXQgMTI6MzAg
LTAzMDAsIFZhbmVzc2EgQXl1bWkgTWFlZ2ltYSB3cm90ZToNCj4gPiA+IA0KPiA+ID4gSGkgQXJl
bmQsDQo+ID4gPiANCj4gPiA+IE9uIFRodSwgU2VwIDIxLCAyMDE3IGF0IDQ6MjYgQU0sIEFyZW5k
IHZhbiBTcHJpZWwNCj4gPiA+IDxhcmVuZC52YW5zcHJpZWxAYnJvYWRjb20uY29tPiB3cm90ZToN
Cj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiBPbiAyMC0wOS0xNyAyMTozMywgVmFuZXNzYSBB
eXVtaSBNYWVnaW1hIHdyb3RlOg0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IA0K
PiA+ID4gPiA+IEhpLA0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IEkgYW0gdHJ5aW5nIHRvIGVuYWJs
ZSBXaWZpIG9uIGlteDdkLXBpY28gdXNpbmcgbWFpbmxpbmUNCj4gPiA+ID4gPiBrZXJuZWwuDQo+
ID4gPiA+ID4gaW14N2QtcGljbw0KPiA+ID4gPiA+IGhhcyBhbiBBUDYzMzUgY2hpcC4NCj4gPiA+
ID4gPiANCj4gPiA+ID4gPiBJIGFtIGZhY2luZyBzb21lIGlzc3VlcyByZWxhdGVkIHRvIHRoZSBu
dnJhbSBmaWxlLiBJIGFtIHVzaW5nDQo+ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gZmlybXdhcmUN
Cj4gPiA+ID4gPiBwcm92aWRlZCBieSBCdWlsZHJvb3QgKGJyY21mbWFjNDMzOS1zZGlvLmJpbiku
IEkgZ2V0IHRoZQ0KPiA+ID4gPiA+IGZvbGxvd2luZyBlcnJvcjoNCj4gPiA+ID4gPiANCj4gPiA+
ID4gPiBbwqDCoMKgwqA4LjYzMDM4MF0gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRjbGs6IEhUIEF2
YWlsIHRpbWVvdXQNCj4gPiA+ID4gPiAoMTAwMDAwMCk6DQo+ID4gPiA+ID4gY2xrY3RsIDB4NTAN
Cj4gPiA+ID4gPiANCj4gPiA+ID4gPiBJIGhhdmUgdHJpZWQgdG8gdXNlIHRoZSBmaXJtd2FyZSBh
bmQgbnZyYW0gcHJvdmlkZWQgYnkNCj4gPiA+ID4gPiBUZWNoTmV4aW9uDQo+ID4gPiA+ID4gYnV0
IEkNCj4gPiA+ID4gPiBnZXQNCj4gPiA+ID4gPiB0aGUgc2FtZSBlcnJvci4NCj4gPiA+ID4gPiAN
Cj4gPiA+ID4gPiBJcyB0aGVyZSBhbnlvbmUgdGhhdCBjb3VsZCBlbmFibGUgV2lmaSBvbiBBUDYz
MzUgdXNpbmcga2VybmVsDQo+ID4gPiA+ID4gbWFpbmxpbmU/DQo+ID4gPiA+ID4gV2hhdCBudnJh
bSBmaWxlIHdhcyB1c2VkPw0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IEkgYW0gYWJsZSB0byB1c2Ug
V2lmaSBvbiB0aGUgYm9hcmQgaWYgSSB1c2UgdGhlIGZpcm13YXJlLA0KPiA+ID4gPiA+IG52cmFt
DQo+ID4gPiA+ID4gZmlsZSBhbmQNCj4gPiA+ID4gPiBrZXJuZWwNCj4gPiA+ID4gPiBwcm92aWRl
ZCBieSBUZWNoTmV4aW9uLiBUaGV5IHVzZSBhIDQuMSBrZXJuZWwgZnJvbSBOWFAgd2l0aA0KPiA+
ID4gPiA+IHRoZQ0KPiA+ID4gPiA+IGJjbWRoZA0KPiA+ID4gPiA+IGRyaXZlci4NCj4gPiA+ID4g
PiANCj4gPiA+ID4gPiBTbyBJIGtub3cgdGhhdCB0aGUgaGFyZHdhcmUgaXMgZnVuY3Rpb25hbC4N
Cj4gPiA+ID4gPiANCj4gPiA+ID4gPiBBbnkgc3VnZ2VzdGlvbnMgYXMgaG93IHRvIGdldCBpdCB3
b3JraW5nIHdpdGggYSA0LjEzIGFuZA0KPiA+ID4gPiA+IGJyY21mbWFjDQo+ID4gPiA+ID4gZHJp
dmVyDQo+ID4gPiA+ID4gaXMNCj4gPiA+ID4gPiBhcHByZWNpYXRlZC4NCj4gPiA+ID4gU28gdGhl
IG52cmFtIGZpbGUgaXMgc3BlY2lmaWMgdG8gdGhlIHdpZmkgY2hpcHNldCBvbiB5b3VyDQo+ID4g
PiA+IHBsYXRmb3JtDQo+ID4gPiA+IHNvIGJlc3QNCj4gPiA+ID4gdG8gc3RpY2sgd2l0aCB0aGUg
cHJvdmlkZWQgb25lLiBUaGUgIkhUIEF2YWlsIHRpbWVvdXQiIG1vc3QNCj4gPiA+ID4gb2Z0ZW4N
Cj4gPiA+ID4gaXMgYW4NCj4gPiA+ID4gaW5kaWNhdGlvbiB0aGF0IHRoZSBmaXJtd2FyZSBjcmFz
aGVkLiBTbyBnZXR0aW5nIG1vcmUgZGVidWcNCj4gPiA+ID4gb3V0cHV0DQo+ID4gPiA+IHdvdWxk
DQo+ID4gPiA+IGhlbHAgdXMgdW5kZXJzdGFuZCBob3cgaXQgZW5kZWQgdXAgbGlrZSB0aGF0LiBD
YW4geW91IGJ1aWxkIHRoZQ0KPiA+ID4gPiBicmNtZm1hYw0KPiA+ID4gPiB3aXRoIENPTkZJR19C
UkNNREJHIGFuZCBsb2FkIHRoZSBkcml2ZXIgdXNpbmc6DQo+ID4gPiA+IA0KPiA+ID4gPiAkIGlu
c21vZCBicmNtZm1hYy5rbyBkZWJ1Zz0weDE0MTYNCj4gPiA+IFRoYW5rcyBmb3IgdGhlIHJlcGx5
IQ0KPiA+ID4gDQo+ID4gPiBIZXJlIGlzIHRoZSBsb2cgKHVzaW5nIDQuMTQtcmMxKToNCj4gPiA+
IA0KPiA+ID4gIyBkbWVzZyB8IGdyZXAgYnJjbWZtYWMNCj4gPiA+IFvCoMKgwqAxOS4yOTcyMDZd
IGJyY21mbWFjOiBicmNtZm1hY19tb2R1bGVfaW5pdCBObyBwbGF0Zm9ybSBkYXRhDQo+ID4gPiBh
dmFpbGFibGUuDQo+ID4gPiBbwqDCoMKgMTkuMzA3MDc1XSBicmNtZm1hYzogYnJjbWZfc2Rpb19w
cm9iZSBFbnRlcg0KPiA+ID4gW8KgwqDCoDE5LjMwODM4NF0gYnJjbWZtYWM6IEYxIHNpZ25hdHVy
ZSByZWFkIEAweDE4MDAwMDAwPTB4MTYyMjQzMzUNCj4gPiA+IFvCoMKgwqAxOS4zMDkwMjZdIGJy
Y21mbWFjOiBicmNtZl9jaGlwX3JlY29nbml0aW9uIGZvdW5kIEFYSSBjaGlwOg0KPiA+ID4gQkNN
NDMzOSwgcmV2PTINCj4gPiA+IFvCoMKgwqAxOS4zMTcxMTVdIGJyY21mbWFjOiBicmNtZl9jaGlw
X2NvcmVzX2NoZWNrwqDCoFsxIF0gY29yZQ0KPiA+ID4gMHg4MDA6NDYNCj4gPiA+IGJhc2UgMHgx
ODAwMDAwMCB3cmFwIDB4MTgxMDAwMDANCj4gPiA+IFvCoMKgwqAxOS4zMTcxNDFdIGJyY21mbWFj
OiBicmNtZl9jaGlwX2NvcmVzX2NoZWNrwqDCoFsyIF0gY29yZQ0KPiA+ID4gMHg4MTI6NDYNCj4g
PiA+IGJhc2UgMHgxODAwMTAwMCB3cmFwIDB4MTgxMDEwMDANCj4gPiA+IFvCoMKgwqAxOS4zMTcx
NjVdIGJyY21mbWFjOiBicmNtZl9jaGlwX2NvcmVzX2NoZWNrwqDCoFszIF0gY29yZQ0KPiA+ID4g
MHg4M2U6NA0KPiA+ID4gYmFzZSAweDE4MDAyMDAwIHdyYXAgMHgxODEwMjAwMA0KPiA+ID4gW8Kg
wqDCoDE5LjMxNzE4OF0gYnJjbWZtYWM6IGJyY21mX2NoaXBfY29yZXNfY2hlY2vCoMKgWzQgXSBj
b3JlDQo+ID4gPiAweDgzYzo0DQo+ID4gPiBiYXNlIDB4MTgwMDMwMDAgd3JhcCAweDE4MTAzMDAw
DQo+ID4gPiBbwqDCoMKgMTkuMzE3MjEwXSBicmNtZm1hYzogYnJjbWZfY2hpcF9jb3Jlc19jaGVj
a8KgwqBbNSBdIGNvcmUNCj4gPiA+IDB4ODFhOjIwDQo+ID4gPiBiYXNlIDB4MTgwMDQwMDAgd3Jh
cCAweDE4MTA0MDAwDQo+ID4gPiBbwqDCoMKgMTkuMzE3MjMzXSBicmNtZm1hYzogYnJjbWZfY2hp
cF9jb3Jlc19jaGVja8KgwqBbNiBdIGNvcmUNCj4gPiA+IDB4ODI5OjIxDQo+ID4gPiBiYXNlIDB4
MTgwMDUwMDAgd3JhcCAweDE4MTA1MDAwDQo+ID4gPiBbwqDCoMKgMTkuMzE3MjU2XSBicmNtZm1h
YzogYnJjbWZfY2hpcF9jb3Jlc19jaGVja8KgwqBbNyBdIGNvcmUNCj4gPiA+IDB4MTM1OjANCj4g
PiA+IGJhc2UgMHgwMDAwMDAwMCB3cmFwIDB4MTgxMDkwMDANCj4gPiA+IFvCoMKgwqAxOS4zMTcy
NzldIGJyY21mbWFjOiBicmNtZl9jaGlwX2NvcmVzX2NoZWNrwqDCoFs4IF0gY29yZQ0KPiA+ID4g
MHgyNDA6MA0KPiA+ID4gYmFzZSAweDAwMDAwMDAwIHdyYXAgMHgwMDAwMDAwMA0KPiA+ID4gW8Kg
wqDCoDE5LjMxNzI5OF0gYnJjbWZtYWM6IGJyY21mX2NoaXBfc2V0X3Bhc3NpdmUgRW50ZXINCj4g
PiA+IFvCoMKgwqAxOS4zMjIyMzJdIGJyY21mbWFjOiBicmNtZl9jaGlwX2dldF9yYW1pbmZvIFJB
TToNCj4gPiA+IGJhc2U9MHgxODAwMDANCj4gPiA+IHNpemU9Nzg2NDMyICgweGMwMDAwKSBzcj0w
ICgweDApDQo+ID4gPiBbwqDCoMKgMTkuMzIyNDU3XSBicmNtZm1hYzogYnJjbWZfY2hpcF9zZXR1
cCBjY3Jldj00NiwgcG11cmV2PTIzLA0KPiA+ID4gcG11Y2Fwcz0weDM5Y2M1ZjE3DQo+ID4gPiBb
wqDCoMKgMTkuMzIyNDgxXSBicmNtZm1hYzogYnJjbWZfZ2V0X21vZHVsZV9wYXJhbSBFbnRlciwg
YnVzPTAsDQo+ID4gPiBjaGlwPTE3MjA5LCByZXY9Mg0KPiA+ID4gW8KgwqDCoDE5LjMyMjUwNF0g
YnJjbWZtYWM6IGJyY21mX3NkaW9kX3NndGFibGVfYWxsb2MgbmVudHM9MzUNCj4gPiA+IFvCoMKg
wqAxOS4zMjI1MzFdIGJyY21mbWFjOiBicmNtZl9zZGlvX2tzb19pbml0IEVudGVyDQo+ID4gPiBb
wqDCoMKgMTkuMzIyNjE4XSBicmNtZm1hYzogYnJjbWZfc2Rpb19kcml2ZXN0cmVuZ3RoaW5pdCBO
byBTRElPDQo+ID4gPiBkcml2ZXINCj4gPiA+IHN0cmVuZ3RoIGluaXQgbmVlZGVkIGZvciBjaGlw
IDQzDQo+ID4gPiAzOSByZXYgMiBwbXVyZXYgMjMNCj4gPiA+IFvCoMKgwqAxOS4zMjMyMzVdIGJy
Y21mbWFjOiBicmNtZl9hdHRhY2ggRW50ZXINCj4gPiA+IFvCoMKgwqAxOS4zMjM3MjVdIGJyY21m
bWFjOiBicmNtZl9wcm90b19hdHRhY2ggRW50ZXINCj4gPiA+IFvCoMKgwqAxOS4zMjM3NjldIGJy
Y21mbWFjOiBicmNtZl9md2VoX3JlZ2lzdGVyIGV2ZW50IGhhbmRsZXINCj4gPiA+IHJlZ2lzdGVy
ZWQNCj4gPiA+IGZvciBQU01fV0FUQ0hET0cNCj4gPiA+IFvCoMKgwqAxOS4zMjQzMDZdIGJyY21m
bWFjOiBicmNtZl9zZGlvX3Byb2JlIGNvbXBsZXRlZCEhDQo+ID4gPiBbwqDCoMKgMTkuMzI0MzM3
XSBicmNtZm1hYzogYnJjbWZfZndfbWFwX2NoaXBfdG9fbmFtZTogdXNpbmcNCj4gPiA+IGJyY20v
YnJjbWZtYWM0MzM5LXNkaW8uYmluIGZvciBjaGlwIDB4MDA0MzMNCj4gPiA+IDkoMTcyMDkpIHJl
diAweDAwMDAwMg0KPiA+ID4gW8KgwqDCoDE5LjMzNTM1M10gYnJjbWZtYWM6IGJyY21mX2Z3X2dl
dF9maXJtd2FyZXNfcGNpZSBlbnRlcjoNCj4gPiA+IGRldj1tbWMwOjAwMDE6MQ0KPiA+ID4gW8Kg
wqDCoDE5LjM1MTc4N10gYnJjbWZtYWM6IGJyY21mX2Z3X3JlcXVlc3RfY29kZV9kb25lIGVudGVy
Og0KPiA+ID4gZGV2PW1tYzA6MDAwMToxDQo+ID4gPiBbwqDCoMKgMTkuMzUzMjAyXSBicmNtZm1h
YzogYnJjbWZfZndfcmVxdWVzdF9udnJhbV9kb25lIGVudGVyOg0KPiA+ID4gZGV2PW1tYzA6MDAw
MToxDQo+ID4gPiBbwqDCoMKgMTkuMzUzNDI0XSBicmNtZm1hYzogYnJjbWZfc2Rpb19maXJtd2Fy
ZV9jYWxsYmFjayBFbnRlcjoNCj4gPiA+IGRldj1tbWMwOjAwMDE6MSwgZXJyPTANCj4gPiA+IFvC
oMKgwqAxOS4zNTM4MTRdIGJyY21mbWFjOiBicmNtZl9zZGlvX2Rvd25sb2FkX2NvZGVfZmlsZSBF
bnRlcg0KPiA+ID4gW8KgwqDCoDE5LjM4ODU4Nl0gYnJjbWZtYWM6IGJyY21mX3NkaW9fdmVyaWZ5
bWVtb3J5IENvbXBhcmUgUkFNIGRsICYNCj4gPiA+IHVsDQo+ID4gPiBhdCAweDAwMTgwMDAwOyBz
aXplPTQ5MzU5OQ0KPiA+ID4gW8KgwqDCoDE5LjU0NjY3NV0gYnJjbWZtYWM6IGJyY21mX3NkaW9f
ZG93bmxvYWRfbnZyYW0gRW50ZXINCj4gPiA+IFvCoMKgwqAxOS41NDc0MzJdIGJyY21mbWFjOiBi
cmNtZl9zZGlvX3ZlcmlmeW1lbW9yeSBDb21wYXJlIFJBTSBkbCAmDQo+ID4gPiB1bA0KPiA+ID4g
YXQgMHgwMDIzZjczMDsgc2l6ZT0yMjU2DQo+ID4gPiBbwqDCoMKgMTkuNTQ4NjY1XSBicmNtZm1h
YzogYnJjbWZfY2hpcF9zZXRfYWN0aXZlIEVudGVyDQo+ID4gPiBbwqDCoMKgMjAuNTYyOTc0XSBi
cmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazogSFQgQXZhaWwgdGltZW91dA0KPiA+ID4gKDEwMDAw
MDApOg0KPiA+ID4gY2xrY3RsIDB4NTANCj4gPiA+IFvCoMKgwqAyMC41NzA0OTBdIGJyY21mbWFj
OiBicmNtZl9zZGlvX2Zpcm13YXJlX2NhbGxiYWNrIGZhaWxlZDoNCj4gPiA+IGRldj1tbWMwOjAw
MDE6MSwgZXJyPTANCj4gPiA+IFvCoMKgwqAyMC41NzA3MzldIGJyY21mbWFjOiBicmNtZl9zZGlv
X3JlbW92ZSBFbnRlcg0KPiA+ID4gW8KgwqDCoDIwLjU3MDc3NV0gYnJjbWZtYWM6IGJyY21mX2Rl
dGFjaCBFbnRlcg0KPiA+ID4gW8KgwqDCoDIwLjYxMDQxNF0gYnJjbWZtYWM6IGJyY21mX2J1c19j
aGFuZ2Vfc3RhdGUgMCAtPiAwDQo+ID4gPiBbwqDCoMKgMjAuNjEwNDQxXSBicmNtZm1hYzogYnJj
bWZfc2Rpb19idXNfc3RvcCBFbnRlcg0KPiA+ID4gW8KgwqDCoDIxLjYyMjQ3N10gYnJjbWZtYWM6
IGJyY21mX3NkaW9faHRjbGs6IEhUIEF2YWlsIHRpbWVvdXQNCj4gPiA+ICgxMDAwMDAwKToNCj4g
PiA+IGNsa2N0bCAweDUwDQo+ID4gPiBbwqDCoMKgMjEuNjMwOTEyXSBicmNtZm1hYzogYnJjbWZf
cHJvdG9fZGV0YWNoIEVudGVyDQo+ID4gPiBbwqDCoMKgMjEuNjMwOTY3XSBicmNtZm1hYzogYnJj
bWZfZndlaF91bnJlZ2lzdGVyIGV2ZW50IGhhbmRsZXINCj4gPiA+IGNsZWFyZWQNCj4gPiA+IGZv
ciBQU01fV0FUQ0hET0cNCj4gPiA+IFvCoMKgwqAyMi42NDI0NTddIGJyY21mbWFjOiBicmNtZl9z
ZGlvX2h0Y2xrOiBIVCBBdmFpbCB0aW1lb3V0DQo+ID4gPiAoMTAwMDAwMCk6DQo+ID4gPiBjbGtj
dGwgMHg1MA0KPiA+ID4gW8KgwqDCoDIyLjY4MDEzMV0gYnJjbWZtYWM6IGJyY21mX2NoaXBfc2V0
X3Bhc3NpdmUgRW50ZXINCj4gPiA+IFvCoMKgwqAyMi42ODI1ODBdIGJyY21mbWFjOiBicmNtZl9z
ZGlvX3JlbW92ZSBEaXNjb25uZWN0ZWQNCj4gPiA+IA0KPiA+IEFueSBzdWdnZXN0aW9ucyBvbiB0
aGlzPw0KPiBTb3JyeSBmb3Igbm90IGdldHRpbmcgYmFjayB0byB5b3VyIGVhcmxpZXIgZW1haWwu
IFRoYW5rcyBmb3IgdGhlwqANCj4gcmVtaW5kZXIuIFNvIHlvdSB0cmllZCBkaWZmZXJlbnQgZmly
bXdhcmVzLCByaWdodD8gQ2FuIHlvdSBwcm92aWRlwqANCj4gb3V0cHV0IG9mIHRoZSBmb2xsb3dp
bmcgY29tbWFuZDoNCj4gDQo+ICQgc3RyaW5ncyBmaXJtd2FyZS5iaW4gfCB0YWlsIC0xDQo+IA0K
PiBmb3IgdGhlIGZpcm13YXJlcyB5b3UgdHJpZWQuDQo+IA0KPiBSZWdhcmRzLA0KPiBBcmVuZA0K
DQpUaGFua3MgZm9yIHRoZSByZXBseSENCg0KSGVyZSdzIHRoZSBvdXRwdXQ6DQoNCkZvciBUZWNo
bmV4aW9uIGZpcm13YXJlOg0KDQojIHN0cmluZ3MgL2xpYi9maXJtd2FyZS9icmNtL2JyY21mbWFj
NDMzOS1zZGlvLmJpbiB8IHRhaWwgLTENCjQzMzlhMC1yb21sL3NkaW8tYWctcG9vbC1wMnAtcG5v
LXBrdGZpbHRlci1rZWVwYWxpdmUtYW9lLXNyLW1jaGFuLQ0KcHJvcHR4c3RhdHVzLWxwYy10ZGxz
LWF1dG9hYm4tdHhiZi0NCnJjYy13ZXBzby1va2MtbmRvZSBWZXJzaW9uOiA2LjM3LjMyLjI4IENS
QzogMzA3NWYxMmUgRGF0ZTogVGh1IDIwMTQtMDQtDQowMyAxMjoxNTozMSBDU1QgRldJRCAwMS00
YWU0YWQNCjAzDQoNCkZvciBsaW51eC1maXJtd2FyZSBhbmQgQnVpbGRyb290IGZpcm13YXJlOg0K
DQojIHN0cmluZ3MgL2xpYi9maXJtd2FyZS9icmNtL2JyY21mbWFjNDMzOS1zZGlvLmJpbiB8IHRh
aWwgLTENCjQzMzlhMC1yb21sL3NkaW8tYWctcG9vbC1hdXRvYWJuLWxwYyBWZXJzaW9uOiA2LjM3
LjM0LjI4IENSQzogYTY5Njg5N2INCkRhdGU6IFRodSAyMDE0LTA4LTI4IDE4OjQwOjEywqANClBE
VCBGV0lEIDAxLWExMzEyMGZjDQoNCkluIGJvdGggY2FzZXMsIEkgYW0gdXNpbmcgdGhlIG52cmFt
IHByb3ZpZGVkIGJ5IFRlY2huZXhpb24uDQoNClRoYW5rcyENCg0KUmVnYXJkcywNClZhbmVzc2EN
Cg0KPiA+IA0KPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IFJl
Z2FyZHMsDQo+ID4gPiA+IEFyZW5kDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4g
DQo+ID4gPiA+ID4gVGhhbmtzIQ0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IFJlZ2FyZHMsDQo+ID4g
PiA+ID4gVmFuZXNzYQ==

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-11-17 11:08         ` Vanessa Maegima
@ 2017-11-17 12:55           ` Arend van Spriel
  2017-11-17 15:24             ` Vanessa Maegima
  0 siblings, 1 reply; 35+ messages in thread
From: Arend van Spriel @ 2017-11-17 12:55 UTC (permalink / raw)
  To: Vanessa Maegima, van.ayumi; +Cc: linux-wireless, embed3d, joerg.krause

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@broadcom.com> 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;
                 }

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-11-17 12:55           ` Arend van Spriel
@ 2017-11-17 15:24             ` Vanessa Maegima
  2017-11-20 11:03               ` Arend van Spriel
  0 siblings, 1 reply; 35+ messages in thread
From: Vanessa Maegima @ 2017-11-17 15:24 UTC (permalink / raw)
  To: arend.vanspriel, van.ayumi; +Cc: linux-wireless, embed3d

SGkgQXJlbmQsDQoNCk9uIFNleCwgMjAxNy0xMS0xNyBhdCAxMzo1NSArMDEwMCwgQXJlbmQgdmFu
IFNwcmllbCB3cm90ZToNCj4gT24gMTEvMTcvMjAxNyAxMjowOCBQTSwgVmFuZXNzYSBNYWVnaW1h
IHdyb3RlOg0KPiA+IA0KPiA+IEhpIEFyZW5kLA0KPiA+IA0KPiA+IE9uIFNleCwgMjAxNy0xMS0x
MCBhdCAyMDo1OCArMDEwMCwgQXJlbmQgdmFuIFNwcmllbCB3cm90ZToNCj4gPiA+IA0KPiA+ID4g
T24gMTAtMTEtMTcgMTM6NDMsIFZhbmVzc2EgTWFlZ2ltYSB3cm90ZToNCj4gPiA+ID4gDQo+ID4g
PiA+IA0KPiA+ID4gPiBIaSwNCj4gPiA+ID4gDQo+ID4gPiA+IE9uIFF1aSwgMjAxNy0wOS0yMSBh
dCAxMjozMCAtMDMwMCwgVmFuZXNzYSBBeXVtaSBNYWVnaW1hIHdyb3RlOg0KPiA+ID4gPiA+IA0K
PiA+ID4gPiA+IA0KPiA+ID4gPiA+IEhpIEFyZW5kLA0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IE9u
IFRodSwgU2VwIDIxLCAyMDE3IGF0IDQ6MjYgQU0sIEFyZW5kIHZhbiBTcHJpZWwNCj4gPiA+ID4g
PiA8YXJlbmQudmFuc3ByaWVsQGJyb2FkY29tLmNvbT4gd3JvdGU6DQo+ID4gPiA+ID4gPiANCj4g
PiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBPbiAyMC0wOS0xNyAyMTozMywg
VmFuZXNzYSBBeXVtaSBNYWVnaW1hIHdyb3RlOg0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+
ID4gDQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gSGksDQo+
ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBJIGFtIHRyeWluZyB0byBlbmFibGUgV2lmaSBv
biBpbXg3ZC1waWNvIHVzaW5nIG1haW5saW5lDQo+ID4gPiA+ID4gPiA+IGtlcm5lbC4NCj4gPiA+
ID4gPiA+ID4gaW14N2QtcGljbw0KPiA+ID4gPiA+ID4gPiBoYXMgYW4gQVA2MzM1IGNoaXAuDQo+
ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBJIGFtIGZhY2luZyBzb21lIGlzc3VlcyByZWxh
dGVkIHRvIHRoZSBudnJhbSBmaWxlLiBJIGFtDQo+ID4gPiA+ID4gPiA+IHVzaW5nDQo+ID4gPiA+
ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiBmaXJtd2FyZQ0KPiA+ID4gPiA+ID4gPiBwcm92aWRl
ZCBieSBCdWlsZHJvb3QgKGJyY21mbWFjNDMzOS1zZGlvLmJpbikuIEkgZ2V0IHRoZQ0KPiA+ID4g
PiA+ID4gPiBmb2xsb3dpbmcgZXJyb3I6DQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBb
wqDCoMKgwqA4LjYzMDM4MF0gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRjbGs6IEhUIEF2YWlsDQo+
ID4gPiA+ID4gPiA+IHRpbWVvdXQNCj4gPiA+ID4gPiA+ID4gKDEwMDAwMDApOg0KPiA+ID4gPiA+
ID4gPiBjbGtjdGwgMHg1MA0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gSSBoYXZlIHRy
aWVkIHRvIHVzZSB0aGUgZmlybXdhcmUgYW5kIG52cmFtIHByb3ZpZGVkIGJ5DQo+ID4gPiA+ID4g
PiA+IFRlY2hOZXhpb24NCj4gPiA+ID4gPiA+ID4gYnV0IEkNCj4gPiA+ID4gPiA+ID4gZ2V0DQo+
ID4gPiA+ID4gPiA+IHRoZSBzYW1lIGVycm9yLg0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+
ID4gSXMgdGhlcmUgYW55b25lIHRoYXQgY291bGQgZW5hYmxlIFdpZmkgb24gQVA2MzM1IHVzaW5n
DQo+ID4gPiA+ID4gPiA+IGtlcm5lbA0KPiA+ID4gPiA+ID4gPiBtYWlubGluZT8NCj4gPiA+ID4g
PiA+ID4gV2hhdCBudnJhbSBmaWxlIHdhcyB1c2VkPw0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4g
PiA+ID4gSSBhbSBhYmxlIHRvIHVzZSBXaWZpIG9uIHRoZSBib2FyZCBpZiBJIHVzZSB0aGUgZmly
bXdhcmUsDQo+ID4gPiA+ID4gPiA+IG52cmFtDQo+ID4gPiA+ID4gPiA+IGZpbGUgYW5kDQo+ID4g
PiA+ID4gPiA+IGtlcm5lbA0KPiA+ID4gPiA+ID4gPiBwcm92aWRlZCBieSBUZWNoTmV4aW9uLiBU
aGV5IHVzZSBhIDQuMSBrZXJuZWwgZnJvbSBOWFANCj4gPiA+ID4gPiA+ID4gd2l0aA0KPiA+ID4g
PiA+ID4gPiB0aGUNCj4gPiA+ID4gPiA+ID4gYmNtZGhkDQo+ID4gPiA+ID4gPiA+IGRyaXZlci4N
Cj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+IFNvIEkga25vdyB0aGF0IHRoZSBoYXJkd2Fy
ZSBpcyBmdW5jdGlvbmFsLg0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gQW55IHN1Z2dl
c3Rpb25zIGFzIGhvdyB0byBnZXQgaXQgd29ya2luZyB3aXRoIGEgNC4xMyBhbmQNCj4gPiA+ID4g
PiA+ID4gYnJjbWZtYWMNCj4gPiA+ID4gPiA+ID4gZHJpdmVyDQo+ID4gPiA+ID4gPiA+IGlzDQo+
ID4gPiA+ID4gPiA+IGFwcHJlY2lhdGVkLg0KPiA+ID4gPiA+ID4gU28gdGhlIG52cmFtIGZpbGUg
aXMgc3BlY2lmaWMgdG8gdGhlIHdpZmkgY2hpcHNldCBvbiB5b3VyDQo+ID4gPiA+ID4gPiBwbGF0
Zm9ybQ0KPiA+ID4gPiA+ID4gc28gYmVzdA0KPiA+ID4gPiA+ID4gdG8gc3RpY2sgd2l0aCB0aGUg
cHJvdmlkZWQgb25lLiBUaGUgIkhUIEF2YWlsIHRpbWVvdXQiIG1vc3QNCj4gPiA+ID4gPiA+IG9m
dGVuDQo+ID4gPiA+ID4gPiBpcyBhbg0KPiA+ID4gPiA+ID4gaW5kaWNhdGlvbiB0aGF0IHRoZSBm
aXJtd2FyZSBjcmFzaGVkLiBTbyBnZXR0aW5nIG1vcmUgZGVidWcNCj4gPiA+ID4gPiA+IG91dHB1
dA0KPiA+ID4gPiA+ID4gd291bGQNCj4gPiA+ID4gPiA+IGhlbHAgdXMgdW5kZXJzdGFuZCBob3cg
aXQgZW5kZWQgdXAgbGlrZSB0aGF0LiBDYW4geW91IGJ1aWxkDQo+ID4gPiA+ID4gPiB0aGUNCj4g
PiA+ID4gPiA+IGJyY21mbWFjDQo+ID4gPiA+ID4gPiB3aXRoIENPTkZJR19CUkNNREJHIGFuZCBs
b2FkIHRoZSBkcml2ZXIgdXNpbmc6DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ICQgaW5zbW9k
IGJyY21mbWFjLmtvIGRlYnVnPTB4MTQxNg0KPiA+ID4gPiA+IFRoYW5rcyBmb3IgdGhlIHJlcGx5
IQ0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IEhlcmUgaXMgdGhlIGxvZyAodXNpbmcgNC4xNC1yYzEp
Og0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+ICMgZG1lc2cgfCBncmVwIGJyY21mbWFjDQo+ID4gPiA+
ID4gW8KgwqDCoDE5LjI5NzIwNl0gYnJjbWZtYWM6IGJyY21mbWFjX21vZHVsZV9pbml0IE5vIHBs
YXRmb3JtDQo+ID4gPiA+ID4gZGF0YQ0KPiA+ID4gPiA+IGF2YWlsYWJsZS4NCj4gPiA+ID4gPiBb
wqDCoMKgMTkuMzA3MDc1XSBicmNtZm1hYzogYnJjbWZfc2Rpb19wcm9iZSBFbnRlcg0KPiA+ID4g
PiA+IFvCoMKgwqAxOS4zMDgzODRdIGJyY21mbWFjOiBGMSBzaWduYXR1cmUgcmVhZA0KPiA+ID4g
PiA+IEAweDE4MDAwMDAwPTB4MTYyMjQzMzUNCj4gPiA+ID4gPiBbwqDCoMKgMTkuMzA5MDI2XSBi
cmNtZm1hYzogYnJjbWZfY2hpcF9yZWNvZ25pdGlvbiBmb3VuZCBBWEkNCj4gPiA+ID4gPiBjaGlw
Og0KPiA+ID4gPiA+IEJDTTQzMzksIHJldj0yDQo+ID4gPiA+ID4gW8KgwqDCoDE5LjMxNzExNV0g
YnJjbWZtYWM6IGJyY21mX2NoaXBfY29yZXNfY2hlY2vCoMKgWzEgXSBjb3JlDQo+ID4gPiA+ID4g
MHg4MDA6NDYNCj4gPiA+ID4gPiBiYXNlIDB4MTgwMDAwMDAgd3JhcCAweDE4MTAwMDAwDQo+ID4g
PiA+ID4gW8KgwqDCoDE5LjMxNzE0MV0gYnJjbWZtYWM6IGJyY21mX2NoaXBfY29yZXNfY2hlY2vC
oMKgWzIgXSBjb3JlDQo+ID4gPiA+ID4gMHg4MTI6NDYNCj4gPiA+ID4gPiBiYXNlIDB4MTgwMDEw
MDAgd3JhcCAweDE4MTAxMDAwDQo+ID4gPiA+ID4gW8KgwqDCoDE5LjMxNzE2NV0gYnJjbWZtYWM6
IGJyY21mX2NoaXBfY29yZXNfY2hlY2vCoMKgWzMgXSBjb3JlDQo+ID4gPiA+ID4gMHg4M2U6NA0K
PiA+ID4gPiA+IGJhc2UgMHgxODAwMjAwMCB3cmFwIDB4MTgxMDIwMDANCj4gPiA+ID4gPiBbwqDC
oMKgMTkuMzE3MTg4XSBicmNtZm1hYzogYnJjbWZfY2hpcF9jb3Jlc19jaGVja8KgwqBbNCBdIGNv
cmUNCj4gPiA+ID4gPiAweDgzYzo0DQo+ID4gPiA+ID4gYmFzZSAweDE4MDAzMDAwIHdyYXAgMHgx
ODEwMzAwMA0KPiA+ID4gPiA+IFvCoMKgwqAxOS4zMTcyMTBdIGJyY21mbWFjOiBicmNtZl9jaGlw
X2NvcmVzX2NoZWNrwqDCoFs1IF0gY29yZQ0KPiA+ID4gPiA+IDB4ODFhOjIwDQo+ID4gPiA+ID4g
YmFzZSAweDE4MDA0MDAwIHdyYXAgMHgxODEwNDAwMA0KPiA+ID4gPiA+IFvCoMKgwqAxOS4zMTcy
MzNdIGJyY21mbWFjOiBicmNtZl9jaGlwX2NvcmVzX2NoZWNrwqDCoFs2IF0gY29yZQ0KPiA+ID4g
PiA+IDB4ODI5OjIxDQo+ID4gPiA+ID4gYmFzZSAweDE4MDA1MDAwIHdyYXAgMHgxODEwNTAwMA0K
PiA+ID4gPiA+IFvCoMKgwqAxOS4zMTcyNTZdIGJyY21mbWFjOiBicmNtZl9jaGlwX2NvcmVzX2No
ZWNrwqDCoFs3IF0gY29yZQ0KPiA+ID4gPiA+IDB4MTM1OjANCj4gPiA+ID4gPiBiYXNlIDB4MDAw
MDAwMDAgd3JhcCAweDE4MTA5MDAwDQo+ID4gPiA+ID4gW8KgwqDCoDE5LjMxNzI3OV0gYnJjbWZt
YWM6IGJyY21mX2NoaXBfY29yZXNfY2hlY2vCoMKgWzggXSBjb3JlDQo+ID4gPiA+ID4gMHgyNDA6
MA0KPiA+ID4gPiA+IGJhc2UgMHgwMDAwMDAwMCB3cmFwIDB4MDAwMDAwMDANCj4gPiA+ID4gPiBb
wqDCoMKgMTkuMzE3Mjk4XSBicmNtZm1hYzogYnJjbWZfY2hpcF9zZXRfcGFzc2l2ZSBFbnRlcg0K
PiA+ID4gPiA+IFvCoMKgwqAxOS4zMjIyMzJdIGJyY21mbWFjOiBicmNtZl9jaGlwX2dldF9yYW1p
bmZvIFJBTToNCj4gPiA+ID4gPiBiYXNlPTB4MTgwMDAwDQo+ID4gPiA+ID4gc2l6ZT03ODY0MzIg
KDB4YzAwMDApIHNyPTAgKDB4MCkNCj4gPiA+ID4gPiBbwqDCoMKgMTkuMzIyNDU3XSBicmNtZm1h
YzogYnJjbWZfY2hpcF9zZXR1cCBjY3Jldj00NiwNCj4gPiA+ID4gPiBwbXVyZXY9MjMsDQo+ID4g
PiA+ID4gcG11Y2Fwcz0weDM5Y2M1ZjE3DQo+ID4gPiA+ID4gW8KgwqDCoDE5LjMyMjQ4MV0gYnJj
bWZtYWM6IGJyY21mX2dldF9tb2R1bGVfcGFyYW0gRW50ZXIsIGJ1cz0wLA0KPiA+ID4gPiA+IGNo
aXA9MTcyMDksIHJldj0yDQo+ID4gPiA+ID4gW8KgwqDCoDE5LjMyMjUwNF0gYnJjbWZtYWM6IGJy
Y21mX3NkaW9kX3NndGFibGVfYWxsb2MgbmVudHM9MzUNCj4gPiA+ID4gPiBbwqDCoMKgMTkuMzIy
NTMxXSBicmNtZm1hYzogYnJjbWZfc2Rpb19rc29faW5pdCBFbnRlcg0KPiA+ID4gPiA+IFvCoMKg
wqAxOS4zMjI2MThdIGJyY21mbWFjOiBicmNtZl9zZGlvX2RyaXZlc3RyZW5ndGhpbml0IE5vIFNE
SU8NCj4gPiA+ID4gPiBkcml2ZXINCj4gPiA+ID4gPiBzdHJlbmd0aCBpbml0IG5lZWRlZCBmb3Ig
Y2hpcCA0Mw0KPiA+ID4gPiA+IDM5IHJldiAyIHBtdXJldiAyMw0KPiA+ID4gPiA+IFvCoMKgwqAx
OS4zMjMyMzVdIGJyY21mbWFjOiBicmNtZl9hdHRhY2ggRW50ZXINCj4gPiA+ID4gPiBbwqDCoMKg
MTkuMzIzNzI1XSBicmNtZm1hYzogYnJjbWZfcHJvdG9fYXR0YWNoIEVudGVyDQo+ID4gPiA+ID4g
W8KgwqDCoDE5LjMyMzc2OV0gYnJjbWZtYWM6IGJyY21mX2Z3ZWhfcmVnaXN0ZXIgZXZlbnQgaGFu
ZGxlcg0KPiA+ID4gPiA+IHJlZ2lzdGVyZWQNCj4gPiA+ID4gPiBmb3IgUFNNX1dBVENIRE9HDQo+
ID4gPiA+ID4gW8KgwqDCoDE5LjMyNDMwNl0gYnJjbWZtYWM6IGJyY21mX3NkaW9fcHJvYmUgY29t
cGxldGVkISENCj4gPiA+ID4gPiBbwqDCoMKgMTkuMzI0MzM3XSBicmNtZm1hYzogYnJjbWZfZndf
bWFwX2NoaXBfdG9fbmFtZTogdXNpbmcNCj4gPiA+ID4gPiBicmNtL2JyY21mbWFjNDMzOS1zZGlv
LmJpbiBmb3IgY2hpcCAweDAwNDMzDQo+ID4gPiA+ID4gOSgxNzIwOSkgcmV2IDB4MDAwMDAyDQo+
ID4gPiA+ID4gW8KgwqDCoDE5LjMzNTM1M10gYnJjbWZtYWM6IGJyY21mX2Z3X2dldF9maXJtd2Fy
ZXNfcGNpZSBlbnRlcjoNCj4gPiA+ID4gPiBkZXY9bW1jMDowMDAxOjENCj4gPiA+ID4gPiBbwqDC
oMKgMTkuMzUxNzg3XSBicmNtZm1hYzogYnJjbWZfZndfcmVxdWVzdF9jb2RlX2RvbmUgZW50ZXI6
DQo+ID4gPiA+ID4gZGV2PW1tYzA6MDAwMToxDQo+ID4gPiA+ID4gW8KgwqDCoDE5LjM1MzIwMl0g
YnJjbWZtYWM6IGJyY21mX2Z3X3JlcXVlc3RfbnZyYW1fZG9uZSBlbnRlcjoNCj4gPiA+ID4gPiBk
ZXY9bW1jMDowMDAxOjENCj4gPiA+ID4gPiBbwqDCoMKgMTkuMzUzNDI0XSBicmNtZm1hYzogYnJj
bWZfc2Rpb19maXJtd2FyZV9jYWxsYmFjayBFbnRlcjoNCj4gPiA+ID4gPiBkZXY9bW1jMDowMDAx
OjEsIGVycj0wDQo+ID4gPiA+ID4gW8KgwqDCoDE5LjM1MzgxNF0gYnJjbWZtYWM6IGJyY21mX3Nk
aW9fZG93bmxvYWRfY29kZV9maWxlIEVudGVyDQo+ID4gPiA+ID4gW8KgwqDCoDE5LjM4ODU4Nl0g
YnJjbWZtYWM6IGJyY21mX3NkaW9fdmVyaWZ5bWVtb3J5IENvbXBhcmUgUkFNDQo+ID4gPiA+ID4g
ZGwgJg0KPiA+ID4gPiA+IHVsDQo+ID4gPiA+ID4gYXQgMHgwMDE4MDAwMDsgc2l6ZT00OTM1OTkN
Cj4gPiA+ID4gPiBbwqDCoMKgMTkuNTQ2Njc1XSBicmNtZm1hYzogYnJjbWZfc2Rpb19kb3dubG9h
ZF9udnJhbSBFbnRlcg0KPiA+ID4gPiA+IFvCoMKgwqAxOS41NDc0MzJdIGJyY21mbWFjOiBicmNt
Zl9zZGlvX3ZlcmlmeW1lbW9yeSBDb21wYXJlIFJBTQ0KPiA+ID4gPiA+IGRsICYNCj4gPiA+ID4g
PiB1bA0KPiA+ID4gPiA+IGF0IDB4MDAyM2Y3MzA7IHNpemU9MjI1Ng0KPiA+ID4gPiA+IFvCoMKg
wqAxOS41NDg2NjVdIGJyY21mbWFjOiBicmNtZl9jaGlwX3NldF9hY3RpdmUgRW50ZXINCj4gPiA+
ID4gPiBbwqDCoMKgMjAuNTYyOTc0XSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazogSFQgQXZh
aWwgdGltZW91dA0KPiA+ID4gPiA+ICgxMDAwMDAwKToNCj4gPiA+ID4gPiBjbGtjdGwgMHg1MA0K
PiA+ID4gPiA+IFvCoMKgwqAyMC41NzA0OTBdIGJyY21mbWFjOiBicmNtZl9zZGlvX2Zpcm13YXJl
X2NhbGxiYWNrIGZhaWxlZDoNCj4gPiA+ID4gPiBkZXY9bW1jMDowMDAxOjEsIGVycj0wDQo+ID4g
PiA+ID4gW8KgwqDCoDIwLjU3MDczOV0gYnJjbWZtYWM6IGJyY21mX3NkaW9fcmVtb3ZlIEVudGVy
DQo+ID4gPiA+ID4gW8KgwqDCoDIwLjU3MDc3NV0gYnJjbWZtYWM6IGJyY21mX2RldGFjaCBFbnRl
cg0KPiA+ID4gPiA+IFvCoMKgwqAyMC42MTA0MTRdIGJyY21mbWFjOiBicmNtZl9idXNfY2hhbmdl
X3N0YXRlIDAgLT4gMA0KPiA+ID4gPiA+IFvCoMKgwqAyMC42MTA0NDFdIGJyY21mbWFjOiBicmNt
Zl9zZGlvX2J1c19zdG9wIEVudGVyDQo+ID4gPiA+ID4gW8KgwqDCoDIxLjYyMjQ3N10gYnJjbWZt
YWM6IGJyY21mX3NkaW9faHRjbGs6IEhUIEF2YWlsIHRpbWVvdXQNCj4gPiA+ID4gPiAoMTAwMDAw
MCk6DQo+ID4gPiA+ID4gY2xrY3RsIDB4NTANCj4gPiA+ID4gPiBbwqDCoMKgMjEuNjMwOTEyXSBi
cmNtZm1hYzogYnJjbWZfcHJvdG9fZGV0YWNoIEVudGVyDQo+ID4gPiA+ID4gW8KgwqDCoDIxLjYz
MDk2N10gYnJjbWZtYWM6IGJyY21mX2Z3ZWhfdW5yZWdpc3RlciBldmVudCBoYW5kbGVyDQo+ID4g
PiA+ID4gY2xlYXJlZA0KPiA+ID4gPiA+IGZvciBQU01fV0FUQ0hET0cNCj4gPiA+ID4gPiBbwqDC
oMKgMjIuNjQyNDU3XSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazogSFQgQXZhaWwgdGltZW91
dA0KPiA+ID4gPiA+ICgxMDAwMDAwKToNCj4gPiA+ID4gPiBjbGtjdGwgMHg1MA0KPiA+ID4gPiA+
IFvCoMKgwqAyMi42ODAxMzFdIGJyY21mbWFjOiBicmNtZl9jaGlwX3NldF9wYXNzaXZlIEVudGVy
DQo+ID4gPiA+ID4gW8KgwqDCoDIyLjY4MjU4MF0gYnJjbWZtYWM6IGJyY21mX3NkaW9fcmVtb3Zl
IERpc2Nvbm5lY3RlZA0KPiA+ID4gPiA+IA0KPiA+ID4gPiBBbnkgc3VnZ2VzdGlvbnMgb24gdGhp
cz8NCj4gPiA+IFNvcnJ5IGZvciBub3QgZ2V0dGluZyBiYWNrIHRvIHlvdXIgZWFybGllciBlbWFp
bC4gVGhhbmtzIGZvciB0aGUNCj4gPiA+IHJlbWluZGVyLiBTbyB5b3UgdHJpZWQgZGlmZmVyZW50
IGZpcm13YXJlcywgcmlnaHQ/IENhbiB5b3UNCj4gPiA+IHByb3ZpZGUNCj4gPiA+IG91dHB1dCBv
ZiB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6DQo+ID4gPiANCj4gPiA+ICQgc3RyaW5ncyBmaXJtd2Fy
ZS5iaW4gfCB0YWlsIC0xDQo+ID4gPiANCj4gPiA+IGZvciB0aGUgZmlybXdhcmVzIHlvdSB0cmll
ZC4NCj4gPiA+IA0KPiA+ID4gUmVnYXJkcywNCj4gPiA+IEFyZW5kDQo+ID4gVGhhbmtzIGZvciB0
aGUgcmVwbHkhDQo+ID4gDQo+ID4gSGVyZSdzIHRoZSBvdXRwdXQ6DQo+ID4gDQo+ID4gRm9yIFRl
Y2huZXhpb24gZmlybXdhcmU6DQo+ID4gDQo+ID4gIyBzdHJpbmdzIC9saWIvZmlybXdhcmUvYnJj
bS9icmNtZm1hYzQzMzktc2Rpby5iaW4gfCB0YWlsIC0xDQo+ID4gNDMzOWEwLXJvbWwvc2Rpby1h
Zy1wb29sLXAycC1wbm8tcGt0ZmlsdGVyLWtlZXBhbGl2ZS1hb2Utc3ItbWNoYW4tDQo+ID4gcHJv
cHR4c3RhdHVzLWxwYy10ZGxzLWF1dG9hYm4tdHhiZi0NCj4gPiByY2Mtd2Vwc28tb2tjLW5kb2Ug
VmVyc2lvbjogNi4zNy4zMi4yOCBDUkM6IDMwNzVmMTJlIERhdGU6IFRodQ0KPiA+IDIwMTQtMDQt
DQo+ID4gMDMgMTI6MTU6MzEgQ1NUIEZXSUQgMDEtNGFlNGFkDQo+ID4gMDMNCj4gPiANCj4gPiBG
b3IgbGludXgtZmlybXdhcmUgYW5kIEJ1aWxkcm9vdCBmaXJtd2FyZToNCj4gPiANCj4gPiAjIHN0
cmluZ3MgL2xpYi9maXJtd2FyZS9icmNtL2JyY21mbWFjNDMzOS1zZGlvLmJpbiB8IHRhaWwgLTEN
Cj4gPiA0MzM5YTAtcm9tbC9zZGlvLWFnLXBvb2wtYXV0b2Fibi1scGMgVmVyc2lvbjogNi4zNy4z
NC4yOCBDUkM6DQo+ID4gYTY5Njg5N2INCj4gPiBEYXRlOiBUaHUgMjAxNC0wOC0yOCAxODo0MDox
Mg0KPiA+IFBEVCBGV0lEIDAxLWExMzEyMGZjDQo+ID4gDQo+ID4gSW4gYm90aCBjYXNlcywgSSBh
bSB1c2luZyB0aGUgbnZyYW0gcHJvdmlkZWQgYnkgVGVjaG5leGlvbi4NCj4gVGhhdCBzaG91bGQg
YmUgZmluZS4NCj4gDQo+IENhbiB5b3UgdHJ5IHRoZSBwYXRjaCBiZWxvdy4gSXQgd291bGQgZ2l2
ZSBtZSBtb3JlIGluZm8gb24gc3RhdGUgb2bCoA0KPiBmaXJtd2FyZS4NCj4gDQo+IFJlZ2FyZHMs
DQo+IEFyZW5kDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRj
b20vYnJjbTgwMjExL2JyY21mbWFjL3NkaW8uY8KgDQo+IGIvZHJpdmVycy9uZQ0KPiBpbmRleCBm
MzU1NjEyLi42MzFjNWNiIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9h
ZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvc2Rpby5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3dpcmVs
ZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9zZGlvLmMNCj4gQEAgLTgyOCw4ICs4Mjgs
MjcgQEAgc3RhdGljIGludCBicmNtZl9zZGlvX2h0Y2xrKHN0cnVjdCBicmNtZl9zZGlvDQo+ICpi
dXMswqANCj4gYm9vbCBvbiwNCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqByZXR1cm4gLUVCQURFOw0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgfQ0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKCFTQlNE
SU9fQ0xLQVYoY2xrY3RsLCBidXMtPmFscF9vbmx5KSkgew0KPiArwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBicmNtZl9jb3JlICpwbXUgPcKgDQo+
IGJyY21mX2NoaXBfZ2V0X3BtdShidXMtPmNpKTsNCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1MzIgcmVnYWRkcjsNCj4gK8KgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1MzIgdmFsOw0KPiArDQo+IMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgYnJjbWZfZXJyKCJIVCBBdmFp
bCB0aW1lb3V0ICglZCk6IGNsa2N0bA0KPiAweCUwMnhcbiIsDQo+IMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBQTVVf
TUFYX1RSQU5TSVRJT05fRExZLCBjbGtjdGwpOw0KPiArDQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLyogREVCVUcgSU5GTyAqLw0KPiArwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJlZ2FkZHIgPSBDT1JFX0NDX1JF
RyhwbXUtPmJhc2UsIHBtdWNvbnRyb2wpOw0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoHZhbCA9IGJyY21mX3NkaW9kX3JlZ3JsKGJ1cy0+c2Rpb2RldiwN
Cj4gcmVnYWRkcizCoA0KPiAmZXJyKTsNCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqBicmNtZl9lcnIoIsKgwqBwbXVjb250cm9swqDCoMKgPSAlMDh4XG4i
LCB2YWwpOw0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oHJlZ2FkZHIgPSBDT1JFX0NDX1JFRyhwbXUtPmJhc2UsIHBtdXN0YXR1cyk7DQo+ICvCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdmFsID0gYnJjbWZfc2Rpb2Rf
cmVncmwoYnVzLT5zZGlvZGV2LA0KPiByZWdhZGRyLMKgDQo+ICZlcnIpOw0KPiArwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGJyY21mX2VycigiwqDCoHBtdXN0
YXR1c8KgwqDCoMKgPSAlMDh4XG4iLCB2YWwpOw0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJlZ2FkZHIgPSBDT1JFX0NDX1JFRyhwbXUtPmJhc2UsDQo+
IG1pbl9yZXNfbWFzayk7DQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgdmFsID0gYnJjbWZfc2Rpb2RfcmVncmwoYnVzLT5zZGlvZGV2LA0KPiByZWdhZGRy
LMKgDQo+ICZlcnIpOw0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoGJyY21mX2VycigiwqDCoG1pbl9yZXNfbWFzayA9ICUwOHhcbiIsIHZhbCk7DQo+ICvC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmVnYWRkciA9IENP
UkVfQ0NfUkVHKHBtdS0+YmFzZSwNCj4gbWF4X3Jlc19tYXNrKTsNCj4gK8KgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB2YWwgPSBicmNtZl9zZGlvZF9yZWdybChi
dXMtPnNkaW9kZXYsDQo+IHJlZ2FkZHIswqANCj4gJmVycik7DQo+ICvCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgYnJjbWZfZXJyKCLCoMKgbWF4X3Jlc19tYXNr
ID0gJTA4eFxuIiwgdmFsKTsNCj4gKw0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiAtRUJBREU7DQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqB9DQo+IA0KPiANCg0KSGVyZSdzIHRoZSBvdXRwdXQgZm9yIGJvdGggZmly
bXdhcmVzOg0KDQpUZWNobmV4aW9uOg0KIyBkbWVzZyB8IGdyZXAgYnJjbWZtYWMNClvCoMKgwqDC
oDUuMzA3MDY3XSBicmNtZm1hYzogYnJjbWZfZndfbWFwX2NoaXBfdG9fbmFtZTogdXNpbmcNCmJy
Y20vYnJjbWZtYWM0MzM5LXNkaW8uYmluIGZvciBjaGlwIDB4MDA0MzMNCjkoMTcyMDkpIHJldiAw
eDAwMDAwMg0KW8KgwqDCoMKgNi40MDA3OTJdIGJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xrOiBI
VCBBdmFpbCB0aW1lb3V0ICgxMDAwMDAwKToNCmNsa2N0bCAweDUwDQpbwqDCoMKgwqA2LjQwODQ0
NF0gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRjbGs6wqDCoMKgcG11Y29udHJvbMKgwqDCoD0gMDE3
NzQzODENClvCoMKgwqDCoDYuNDE1NTk1XSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazrCoMKg
wqBwbXVzdGF0dXPCoMKgwqDCoD0gMDAwMDAwMmENClvCoMKgwqDCoDYuNDIxOTE1XSBicmNtZm1h
YzogYnJjbWZfc2Rpb19odGNsazrCoMKgwqBtaW5fcmVzX21hc2sgPSAwZmNhZmY3Nw0KW8KgwqDC
oMKgNi40MjgxMjRdIGJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xrOsKgwqDCoG1heF9yZXNfbWFz
ayA9IDBmY2VmZjc3DQpbwqDCoMKgwqA3LjQ4MjY2OF0gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRj
bGs6IEhUIEF2YWlsIHRpbWVvdXQgKDEwMDAwMDApOg0KY2xrY3RsIDB4NTANClvCoMKgwqDCoDcu
NDkwMjE0XSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazrCoMKgwqBwbXVjb250cm9swqDCoMKg
PSAwMTc3NDM4MQ0KW8KgwqDCoMKgNy40OTY0MTRdIGJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xr
OsKgwqDCoHBtdXN0YXR1c8KgwqDCoMKgPSAwMDAwMDAyYQ0KW8KgwqDCoMKgNy41MDM4NzNdIGJy
Y21mbWFjOiBicmNtZl9zZGlvX2h0Y2xrOsKgwqDCoG1pbl9yZXNfbWFzayA9IDBmY2FmZjc3DQpb
wqDCoMKgwqA3LjUxMDE4Ml0gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRjbGs6wqDCoMKgbWF4X3Jl
c19tYXNrID0gMGZjZWZmNzcNCiPCoMKgc3RyaW5ncyAvbGliL2Zpcm13YXJlL2JyY20vYnJjbWZt
YWM0MzM5LXNkaW8uYmluIHwgdGFpbCAtMQ0KNDMzOWEwLXJvbWwvc2Rpby1hZy1wb29sLXAycC1w
bm8tcGt0ZmlsdGVyLWtlZXBhbGl2ZS1hb2Utc3ItbWNoYW4tDQpwcm9wdHhzdGF0dXMtbHBjLXRk
bHMtYXV0b2Fibi10eGJmLQ0KcmNjLXdlcHNvLW9rYy1uZG9lIFZlcnNpb246IDYuMzcuMzIuMjgg
Q1JDOiAzMDc1ZjEyZSBEYXRlOiBUaHUgMjAxNC0wNC0NCjAzIDEyOjE1OjMxIENTVCBGV0lEIDAx
LTRhZTRhZA0KMDMNCg0KQnVpbGRyb290Og0KIyBkbWVzZyB8IGdyZXAgYnJjbWZtYWMNClvCoMKg
wqDCoDUuMzQzMTE4XSBicmNtZm1hYzogYnJjbWZfZndfbWFwX2NoaXBfdG9fbmFtZTogdXNpbmcN
CmJyY20vYnJjbWZtYWM0MzM5LXNkaW8uYmluIGZvciBjaGlwIDB4MDA0MzMNCjkoMTcyMDkpIHJl
diAweDAwMDAwMg0KW8KgwqDCoMKgNi40MjAwNzBdIGJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xr
OiBIVCBBdmFpbCB0aW1lb3V0ICgxMDAwMDAwKToNCmNsa2N0bCAweDUwDQpbwqDCoMKgwqA2LjQy
NzcyMl0gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRjbGs6wqDCoMKgcG11Y29udHJvbMKgwqDCoD0g
MDE3NzQzODENClvCoMKgwqDCoDYuNDM0ODY1XSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazrC
oMKgwqBwbXVzdGF0dXPCoMKgwqDCoD0gMDAwMDAwMmENClvCoMKgwqDCoDYuNDQxMTc0XSBicmNt
Zm1hYzogYnJjbWZfc2Rpb19odGNsazrCoMKgwqBtaW5fcmVzX21hc2sgPSAwZmNhZmY3Nw0KW8Kg
wqDCoMKgNi40NDczNzldIGJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xrOsKgwqDCoG1heF9yZXNf
bWFzayA9IDBmY2VmZjc3DQpbwqDCoMKgwqA3LjUwMjY1M10gYnJjbWZtYWM6IGJyY21mX3NkaW9f
aHRjbGs6IEhUIEF2YWlsIHRpbWVvdXQgKDEwMDAwMDApOg0KY2xrY3RsIDB4NTANClvCoMKgwqDC
oDcuNTEwMjAwXSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazrCoMKgwqBwbXVjb250cm9swqDC
oMKgPSAwMTc3NDM4MQ0KW8KgwqDCoMKgNy41MTYzOThdIGJyY21mbWFjOiBicmNtZl9zZGlvX2h0
Y2xrOsKgwqDCoHBtdXN0YXR1c8KgwqDCoMKgPSAwMDAwMDAyYQ0KW8KgwqDCoMKgNy41MjM4MjZd
IGJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xrOsKgwqDCoG1pbl9yZXNfbWFzayA9IDBmY2FmZjc3
DQpbwqDCoMKgwqA3LjUzMDExN10gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRjbGs6wqDCoMKgbWF4
X3Jlc19tYXNrID0gMGZjZWZmNzcNCiMgc3RyaW5ncyAvbGliL2Zpcm13YXJlL2JyY20vYnJjbWZt
YWM0MzM5LXNkaW8uYmluIHwgdGFpbCAtMQ0KNDMzOWEwLXJvbWwvc2Rpby1hZy1wb29sLWF1dG9h
Ym4tbHBjIFZlcnNpb246IDYuMzcuMzQuMjggQ1JDOiBhNjk2ODk3Yg0KRGF0ZTogVGh1IDIwMTQt
MDgtMjggMTg6NDA6MTLCoA0KUERUIEZXSUQgMDEtYTEzMTIwZmMNCg0KVGhhbmtzIQ0KDQpSZWdh
cmRzLA0KVmFuZXNzYQ==

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-11-17 15:24             ` Vanessa Maegima
@ 2017-11-20 11:03               ` Arend van Spriel
  2017-11-20 11:12                 ` Arend van Spriel
  0 siblings, 1 reply; 35+ messages in thread
From: Arend van Spriel @ 2017-11-20 11:03 UTC (permalink / raw)
  To: Vanessa Maegima, van.ayumi; +Cc: linux-wireless, embed3d

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@broadcom.com> 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.

Thanks,
Arend

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-11-20 11:03               ` Arend van Spriel
@ 2017-11-20 11:12                 ` Arend van Spriel
  2017-11-22 10:48                   ` Vanessa Maegima
  0 siblings, 1 reply; 35+ messages in thread
From: Arend van Spriel @ 2017-11-20 11:12 UTC (permalink / raw)
  To: Vanessa Maegima, van.ayumi; +Cc: linux-wireless, embed3d

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@broadcom.com> 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;
                 }

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-11-20 11:12                 ` Arend van Spriel
@ 2017-11-22 10:48                   ` Vanessa Maegima
  2017-11-22 10:58                     ` Arend van Spriel
  0 siblings, 1 reply; 35+ messages in thread
From: Vanessa Maegima @ 2017-11-22 10:48 UTC (permalink / raw)
  To: arend.vanspriel, van.ayumi; +Cc: linux-wireless, embed3d

SGkgQXJlbmQsDQoNCk9uIFNlZywgMjAxNy0xMS0yMCBhdCAxMjoxMiArMDEwMCwgQXJlbmQgdmFu
IFNwcmllbCB3cm90ZToNCj4gT24gMjAtMTEtMTcgMTI6MDMsIEFyZW5kIHZhbiBTcHJpZWwgd3Jv
dGU6DQo+ID4gDQo+ID4gT24gMTctMTEtMTcgMTY6MjQsIFZhbmVzc2EgTWFlZ2ltYSB3cm90ZToN
Cj4gPiA+IA0KPiA+ID4gSGkgQXJlbmQsDQo+ID4gPiANCj4gPiA+IE9uIFNleCwgMjAxNy0xMS0x
NyBhdCAxMzo1NSArMDEwMCwgQXJlbmQgdmFuIFNwcmllbCB3cm90ZToNCj4gPiA+ID4gDQo+ID4g
PiA+IE9uIDExLzE3LzIwMTcgMTI6MDggUE0sIFZhbmVzc2EgTWFlZ2ltYSB3cm90ZToNCj4gPiA+
ID4gPiANCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBIaSBBcmVuZCwNCj4gPiA+ID4gPiANCj4gPiA+
ID4gPiBPbiBTZXgsIDIwMTctMTEtMTAgYXQgMjA6NTggKzAxMDAsIEFyZW5kIHZhbiBTcHJpZWwg
d3JvdGU6DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gT24gMTAtMTEt
MTcgMTM6NDMsIFZhbmVzc2EgTWFlZ2ltYSB3cm90ZToNCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+
ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gSGksDQo+ID4gPiA+ID4gPiA+
IA0KPiA+ID4gPiA+ID4gPiBPbiBRdWksIDIwMTctMDktMjEgYXQgMTI6MzAgLTAzMDAsIFZhbmVz
c2EgQXl1bWkgTWFlZ2ltYQ0KPiA+ID4gPiA+ID4gPiB3cm90ZToNCj4gPiA+ID4gPiA+ID4gPiAN
Cj4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiBIaSBB
cmVuZCwNCj4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiBPbiBUaHUsIFNlcCAyMSwg
MjAxNyBhdCA0OjI2IEFNLCBBcmVuZCB2YW4gU3ByaWVsDQo+ID4gPiA+ID4gPiA+ID4gPGFyZW5k
LnZhbnNwcmllbEBicm9hZGNvbS5jb20+IHdyb3RlOg0KPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4g
PiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+ID4gDQo+
ID4gPiA+ID4gPiA+ID4gPiBPbiAyMC0wOS0xNyAyMTozMywgVmFuZXNzYSBBeXVtaSBNYWVnaW1h
IHdyb3RlOg0KPiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4g
PiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+
ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+IEhpLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+
ID4gPiA+ID4gPiA+ID4gSSBhbSB0cnlpbmcgdG8gZW5hYmxlIFdpZmkgb24gaW14N2QtcGljbyB1
c2luZw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBtYWlubGluZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBr
ZXJuZWwuDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGlteDdkLXBpY28NCj4gPiA+ID4gPiA+ID4gPiA+
ID4gaGFzIGFuIEFQNjMzNSBjaGlwLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+
ID4gPiA+ID4gSSBhbSBmYWNpbmcgc29tZSBpc3N1ZXMgcmVsYXRlZCB0byB0aGUgbnZyYW0gZmls
ZS4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gSSBhbQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiB1c2luZw0K
PiA+ID4gPiA+ID4gPiA+ID4gPiB0aGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gZmlybXdhcmUNCj4g
PiA+ID4gPiA+ID4gPiA+ID4gcHJvdmlkZWQgYnkgQnVpbGRyb290IChicmNtZm1hYzQzMzktc2Rp
by5iaW4pLiBJDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGdldCB0aGUNCj4gPiA+ID4gPiA+ID4gPiA+
ID4gZm9sbG93aW5nIGVycm9yOg0KPiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4g
PiA+ID4gW8KgwqDCoMKgOC42MzAzODBdIGJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xrOiBIVCBB
dmFpbA0KPiA+ID4gPiA+ID4gPiA+ID4gPiB0aW1lb3V0DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICgx
MDAwMDAwKToNCj4gPiA+ID4gPiA+ID4gPiA+ID4gY2xrY3RsIDB4NTANCj4gPiA+ID4gPiA+ID4g
PiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+IEkgaGF2ZSB0cmllZCB0byB1c2UgdGhlIGZpcm13
YXJlIGFuZCBudnJhbSBwcm92aWRlZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBieQ0KPiA+ID4gPiA+
ID4gPiA+ID4gPiBUZWNoTmV4aW9uDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGJ1dCBJDQo+ID4gPiA+
ID4gPiA+ID4gPiA+IGdldA0KPiA+ID4gPiA+ID4gPiA+ID4gPiB0aGUgc2FtZSBlcnJvci4NCj4g
PiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+IElzIHRoZXJlIGFueW9uZSB0
aGF0IGNvdWxkIGVuYWJsZSBXaWZpIG9uIEFQNjMzNQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiB1c2lu
Zw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBrZXJuZWwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gbWFpbmxp
bmU/DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFdoYXQgbnZyYW0gZmlsZSB3YXMgdXNlZD8NCj4gPiA+
ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+IEkgYW0gYWJsZSB0byB1c2UgV2lm
aSBvbiB0aGUgYm9hcmQgaWYgSSB1c2UgdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGZpcm13YXJl
LA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBudnJhbQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBmaWxlIGFu
ZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBrZXJuZWwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gcHJvdmlk
ZWQgYnkgVGVjaE5leGlvbi4gVGhleSB1c2UgYSA0LjEga2VybmVsIGZyb20NCj4gPiA+ID4gPiA+
ID4gPiA+ID4gTlhQDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHdpdGgNCj4gPiA+ID4gPiA+ID4gPiA+
ID4gdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGJjbWRoZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBk
cml2ZXIuDQo+ID4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBTbyBJIGtu
b3cgdGhhdCB0aGUgaGFyZHdhcmUgaXMgZnVuY3Rpb25hbC4NCj4gPiA+ID4gPiA+ID4gPiA+ID4g
DQo+ID4gPiA+ID4gPiA+ID4gPiA+IEFueSBzdWdnZXN0aW9ucyBhcyBob3cgdG8gZ2V0IGl0IHdv
cmtpbmcgd2l0aCBhDQo+ID4gPiA+ID4gPiA+ID4gPiA+IDQuMTMgYW5kDQo+ID4gPiA+ID4gPiA+
ID4gPiA+IGJyY21mbWFjDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGRyaXZlcg0KPiA+ID4gPiA+ID4g
PiA+ID4gPiBpcw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBhcHByZWNpYXRlZC4NCj4gPiA+ID4gPiA+
ID4gPiA+IFNvIHRoZSBudnJhbSBmaWxlIGlzIHNwZWNpZmljIHRvIHRoZSB3aWZpIGNoaXBzZXQg
b24NCj4gPiA+ID4gPiA+ID4gPiA+IHlvdXINCj4gPiA+ID4gPiA+ID4gPiA+IHBsYXRmb3JtDQo+
ID4gPiA+ID4gPiA+ID4gPiBzbyBiZXN0DQo+ID4gPiA+ID4gPiA+ID4gPiB0byBzdGljayB3aXRo
IHRoZSBwcm92aWRlZCBvbmUuIFRoZSAiSFQgQXZhaWwNCj4gPiA+ID4gPiA+ID4gPiA+IHRpbWVv
dXQiIG1vc3QNCj4gPiA+ID4gPiA+ID4gPiA+IG9mdGVuDQo+ID4gPiA+ID4gPiA+ID4gPiBpcyBh
bg0KPiA+ID4gPiA+ID4gPiA+ID4gaW5kaWNhdGlvbiB0aGF0IHRoZSBmaXJtd2FyZSBjcmFzaGVk
LiBTbyBnZXR0aW5nIG1vcmUNCj4gPiA+ID4gPiA+ID4gPiA+IGRlYnVnDQo+ID4gPiA+ID4gPiA+
ID4gPiBvdXRwdXQNCj4gPiA+ID4gPiA+ID4gPiA+IHdvdWxkDQo+ID4gPiA+ID4gPiA+ID4gPiBo
ZWxwIHVzIHVuZGVyc3RhbmQgaG93IGl0IGVuZGVkIHVwIGxpa2UgdGhhdC4gQ2FuIHlvdQ0KPiA+
ID4gPiA+ID4gPiA+ID4gYnVpbGQNCj4gPiA+ID4gPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4g
PiA+ID4gYnJjbWZtYWMNCj4gPiA+ID4gPiA+ID4gPiA+IHdpdGggQ09ORklHX0JSQ01EQkcgYW5k
IGxvYWQgdGhlIGRyaXZlciB1c2luZzoNCj4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4g
PiA+ID4gJCBpbnNtb2QgYnJjbWZtYWMua28gZGVidWc9MHgxNDE2DQo+ID4gPiA+ID4gPiA+ID4g
VGhhbmtzIGZvciB0aGUgcmVwbHkhDQo+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4g
SGVyZSBpcyB0aGUgbG9nICh1c2luZyA0LjE0LXJjMSk6DQo+ID4gPiA+ID4gPiA+ID4gDQo+ID4g
PiA+ID4gPiA+ID4gIyBkbWVzZyB8IGdyZXAgYnJjbWZtYWMNCj4gPiA+ID4gPiA+ID4gPiBbwqDC
oMKgMTkuMjk3MjA2XSBicmNtZm1hYzogYnJjbWZtYWNfbW9kdWxlX2luaXQgTm8NCj4gPiA+ID4g
PiA+ID4gPiBwbGF0Zm9ybQ0KPiA+ID4gPiA+ID4gPiA+IGRhdGENCj4gPiA+ID4gPiA+ID4gPiBh
dmFpbGFibGUuDQo+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjMwNzA3NV0gYnJjbWZtYWM6IGJy
Y21mX3NkaW9fcHJvYmUgRW50ZXINCj4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzA4Mzg0XSBi
cmNtZm1hYzogRjEgc2lnbmF0dXJlIHJlYWQNCj4gPiA+ID4gPiA+ID4gPiBAMHgxODAwMDAwMD0w
eDE2MjI0MzM1DQo+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjMwOTAyNl0gYnJjbWZtYWM6IGJy
Y21mX2NoaXBfcmVjb2duaXRpb24gZm91bmQNCj4gPiA+ID4gPiA+ID4gPiBBWEkNCj4gPiA+ID4g
PiA+ID4gPiBjaGlwOg0KPiA+ID4gPiA+ID4gPiA+IEJDTTQzMzksIHJldj0yDQo+ID4gPiA+ID4g
PiA+ID4gW8KgwqDCoDE5LjMxNzExNV0gYnJjbWZtYWM6IGJyY21mX2NoaXBfY29yZXNfY2hlY2vC
oMKgWzEgXQ0KPiA+ID4gPiA+ID4gPiA+IGNvcmUNCj4gPiA+ID4gPiA+ID4gPiAweDgwMDo0Ng0K
PiA+ID4gPiA+ID4gPiA+IGJhc2UgMHgxODAwMDAwMCB3cmFwIDB4MTgxMDAwMDANCj4gPiA+ID4g
PiA+ID4gPiBbwqDCoMKgMTkuMzE3MTQxXSBicmNtZm1hYzogYnJjbWZfY2hpcF9jb3Jlc19jaGVj
a8KgwqBbMiBdDQo+ID4gPiA+ID4gPiA+ID4gY29yZQ0KPiA+ID4gPiA+ID4gPiA+IDB4ODEyOjQ2
DQo+ID4gPiA+ID4gPiA+ID4gYmFzZSAweDE4MDAxMDAwIHdyYXAgMHgxODEwMTAwMA0KPiA+ID4g
PiA+ID4gPiA+IFvCoMKgwqAxOS4zMTcxNjVdIGJyY21mbWFjOiBicmNtZl9jaGlwX2NvcmVzX2No
ZWNrwqDCoFszIF0NCj4gPiA+ID4gPiA+ID4gPiBjb3JlDQo+ID4gPiA+ID4gPiA+ID4gMHg4M2U6
NA0KPiA+ID4gPiA+ID4gPiA+IGJhc2UgMHgxODAwMjAwMCB3cmFwIDB4MTgxMDIwMDANCj4gPiA+
ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzE3MTg4XSBicmNtZm1hYzogYnJjbWZfY2hpcF9jb3Jlc19j
aGVja8KgwqBbNCBdDQo+ID4gPiA+ID4gPiA+ID4gY29yZQ0KPiA+ID4gPiA+ID4gPiA+IDB4ODNj
OjQNCj4gPiA+ID4gPiA+ID4gPiBiYXNlIDB4MTgwMDMwMDAgd3JhcCAweDE4MTAzMDAwDQo+ID4g
PiA+ID4gPiA+ID4gW8KgwqDCoDE5LjMxNzIxMF0gYnJjbWZtYWM6IGJyY21mX2NoaXBfY29yZXNf
Y2hlY2vCoMKgWzUgXQ0KPiA+ID4gPiA+ID4gPiA+IGNvcmUNCj4gPiA+ID4gPiA+ID4gPiAweDgx
YToyMA0KPiA+ID4gPiA+ID4gPiA+IGJhc2UgMHgxODAwNDAwMCB3cmFwIDB4MTgxMDQwMDANCj4g
PiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzE3MjMzXSBicmNtZm1hYzogYnJjbWZfY2hpcF9jb3Jl
c19jaGVja8KgwqBbNiBdDQo+ID4gPiA+ID4gPiA+ID4gY29yZQ0KPiA+ID4gPiA+ID4gPiA+IDB4
ODI5OjIxDQo+ID4gPiA+ID4gPiA+ID4gYmFzZSAweDE4MDA1MDAwIHdyYXAgMHgxODEwNTAwMA0K
PiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAxOS4zMTcyNTZdIGJyY21mbWFjOiBicmNtZl9jaGlwX2Nv
cmVzX2NoZWNrwqDCoFs3IF0NCj4gPiA+ID4gPiA+ID4gPiBjb3JlDQo+ID4gPiA+ID4gPiA+ID4g
MHgxMzU6MA0KPiA+ID4gPiA+ID4gPiA+IGJhc2UgMHgwMDAwMDAwMCB3cmFwIDB4MTgxMDkwMDAN
Cj4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzE3Mjc5XSBicmNtZm1hYzogYnJjbWZfY2hpcF9j
b3Jlc19jaGVja8KgwqBbOCBdDQo+ID4gPiA+ID4gPiA+ID4gY29yZQ0KPiA+ID4gPiA+ID4gPiA+
IDB4MjQwOjANCj4gPiA+ID4gPiA+ID4gPiBiYXNlIDB4MDAwMDAwMDAgd3JhcCAweDAwMDAwMDAw
DQo+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjMxNzI5OF0gYnJjbWZtYWM6IGJyY21mX2NoaXBf
c2V0X3Bhc3NpdmUgRW50ZXINCj4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzIyMjMyXSBicmNt
Zm1hYzogYnJjbWZfY2hpcF9nZXRfcmFtaW5mbyBSQU06DQo+ID4gPiA+ID4gPiA+ID4gYmFzZT0w
eDE4MDAwMA0KPiA+ID4gPiA+ID4gPiA+IHNpemU9Nzg2NDMyICgweGMwMDAwKSBzcj0wICgweDAp
DQo+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjMyMjQ1N10gYnJjbWZtYWM6IGJyY21mX2NoaXBf
c2V0dXAgY2NyZXY9NDYsDQo+ID4gPiA+ID4gPiA+ID4gcG11cmV2PTIzLA0KPiA+ID4gPiA+ID4g
PiA+IHBtdWNhcHM9MHgzOWNjNWYxNw0KPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAxOS4zMjI0ODFd
IGJyY21mbWFjOiBicmNtZl9nZXRfbW9kdWxlX3BhcmFtIEVudGVyLA0KPiA+ID4gPiA+ID4gPiA+
IGJ1cz0wLA0KPiA+ID4gPiA+ID4gPiA+IGNoaXA9MTcyMDksIHJldj0yDQo+ID4gPiA+ID4gPiA+
ID4gW8KgwqDCoDE5LjMyMjUwNF0gYnJjbWZtYWM6IGJyY21mX3NkaW9kX3NndGFibGVfYWxsb2MN
Cj4gPiA+ID4gPiA+ID4gPiBuZW50cz0zNQ0KPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAxOS4zMjI1
MzFdIGJyY21mbWFjOiBicmNtZl9zZGlvX2tzb19pbml0IEVudGVyDQo+ID4gPiA+ID4gPiA+ID4g
W8KgwqDCoDE5LjMyMjYxOF0gYnJjbWZtYWM6IGJyY21mX3NkaW9fZHJpdmVzdHJlbmd0aGluaXQN
Cj4gPiA+ID4gPiA+ID4gPiBObyBTRElPDQo+ID4gPiA+ID4gPiA+ID4gZHJpdmVyDQo+ID4gPiA+
ID4gPiA+ID4gc3RyZW5ndGggaW5pdCBuZWVkZWQgZm9yIGNoaXAgNDMNCj4gPiA+ID4gPiA+ID4g
PiAzOSByZXYgMiBwbXVyZXYgMjMNCj4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzIzMjM1XSBi
cmNtZm1hYzogYnJjbWZfYXR0YWNoIEVudGVyDQo+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjMy
MzcyNV0gYnJjbWZtYWM6IGJyY21mX3Byb3RvX2F0dGFjaCBFbnRlcg0KPiA+ID4gPiA+ID4gPiA+
IFvCoMKgwqAxOS4zMjM3NjldIGJyY21mbWFjOiBicmNtZl9md2VoX3JlZ2lzdGVyIGV2ZW50DQo+
ID4gPiA+ID4gPiA+ID4gaGFuZGxlcg0KPiA+ID4gPiA+ID4gPiA+IHJlZ2lzdGVyZWQNCj4gPiA+
ID4gPiA+ID4gPiBmb3IgUFNNX1dBVENIRE9HDQo+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjMy
NDMwNl0gYnJjbWZtYWM6IGJyY21mX3NkaW9fcHJvYmUgY29tcGxldGVkISENCj4gPiA+ID4gPiA+
ID4gPiBbwqDCoMKgMTkuMzI0MzM3XSBicmNtZm1hYzogYnJjbWZfZndfbWFwX2NoaXBfdG9fbmFt
ZToNCj4gPiA+ID4gPiA+ID4gPiB1c2luZw0KPiA+ID4gPiA+ID4gPiA+IGJyY20vYnJjbWZtYWM0
MzM5LXNkaW8uYmluIGZvciBjaGlwIDB4MDA0MzMNCj4gPiA+ID4gPiA+ID4gPiA5KDE3MjA5KSBy
ZXYgMHgwMDAwMDINCj4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzM1MzUzXSBicmNtZm1hYzog
YnJjbWZfZndfZ2V0X2Zpcm13YXJlc19wY2llDQo+ID4gPiA+ID4gPiA+ID4gZW50ZXI6DQo+ID4g
PiA+ID4gPiA+ID4gZGV2PW1tYzA6MDAwMToxDQo+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjM1
MTc4N10gYnJjbWZtYWM6IGJyY21mX2Z3X3JlcXVlc3RfY29kZV9kb25lDQo+ID4gPiA+ID4gPiA+
ID4gZW50ZXI6DQo+ID4gPiA+ID4gPiA+ID4gZGV2PW1tYzA6MDAwMToxDQo+ID4gPiA+ID4gPiA+
ID4gW8KgwqDCoDE5LjM1MzIwMl0gYnJjbWZtYWM6IGJyY21mX2Z3X3JlcXVlc3RfbnZyYW1fZG9u
ZQ0KPiA+ID4gPiA+ID4gPiA+IGVudGVyOg0KPiA+ID4gPiA+ID4gPiA+IGRldj1tbWMwOjAwMDE6
MQ0KPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAxOS4zNTM0MjRdIGJyY21mbWFjOiBicmNtZl9zZGlv
X2Zpcm13YXJlX2NhbGxiYWNrDQo+ID4gPiA+ID4gPiA+ID4gRW50ZXI6DQo+ID4gPiA+ID4gPiA+
ID4gZGV2PW1tYzA6MDAwMToxLCBlcnI9MA0KPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAxOS4zNTM4
MTRdIGJyY21mbWFjOiBicmNtZl9zZGlvX2Rvd25sb2FkX2NvZGVfZmlsZQ0KPiA+ID4gPiA+ID4g
PiA+IEVudGVyDQo+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjM4ODU4Nl0gYnJjbWZtYWM6IGJy
Y21mX3NkaW9fdmVyaWZ5bWVtb3J5DQo+ID4gPiA+ID4gPiA+ID4gQ29tcGFyZSBSQU0NCj4gPiA+
ID4gPiA+ID4gPiBkbCAmDQo+ID4gPiA+ID4gPiA+ID4gdWwNCj4gPiA+ID4gPiA+ID4gPiBhdCAw
eDAwMTgwMDAwOyBzaXplPTQ5MzU5OQ0KPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAxOS41NDY2NzVd
IGJyY21mbWFjOiBicmNtZl9zZGlvX2Rvd25sb2FkX252cmFtDQo+ID4gPiA+ID4gPiA+ID4gRW50
ZXINCj4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuNTQ3NDMyXSBicmNtZm1hYzogYnJjbWZfc2Rp
b192ZXJpZnltZW1vcnkNCj4gPiA+ID4gPiA+ID4gPiBDb21wYXJlIFJBTQ0KPiA+ID4gPiA+ID4g
PiA+IGRsICYNCj4gPiA+ID4gPiA+ID4gPiB1bA0KPiA+ID4gPiA+ID4gPiA+IGF0IDB4MDAyM2Y3
MzA7IHNpemU9MjI1Ng0KPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAxOS41NDg2NjVdIGJyY21mbWFj
OiBicmNtZl9jaGlwX3NldF9hY3RpdmUgRW50ZXINCj4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMjAu
NTYyOTc0XSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazogSFQgQXZhaWwNCj4gPiA+ID4gPiA+
ID4gPiB0aW1lb3V0DQo+ID4gPiA+ID4gPiA+ID4gKDEwMDAwMDApOg0KPiA+ID4gPiA+ID4gPiA+
IGNsa2N0bCAweDUwDQo+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDIwLjU3MDQ5MF0gYnJjbWZtYWM6
IGJyY21mX3NkaW9fZmlybXdhcmVfY2FsbGJhY2sNCj4gPiA+ID4gPiA+ID4gPiBmYWlsZWQ6DQo+
ID4gPiA+ID4gPiA+ID4gZGV2PW1tYzA6MDAwMToxLCBlcnI9MA0KPiA+ID4gPiA+ID4gPiA+IFvC
oMKgwqAyMC41NzA3MzldIGJyY21mbWFjOiBicmNtZl9zZGlvX3JlbW92ZSBFbnRlcg0KPiA+ID4g
PiA+ID4gPiA+IFvCoMKgwqAyMC41NzA3NzVdIGJyY21mbWFjOiBicmNtZl9kZXRhY2ggRW50ZXIN
Cj4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMjAuNjEwNDE0XSBicmNtZm1hYzogYnJjbWZfYnVzX2No
YW5nZV9zdGF0ZSAwIC0+IDANCj4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMjAuNjEwNDQxXSBicmNt
Zm1hYzogYnJjbWZfc2Rpb19idXNfc3RvcCBFbnRlcg0KPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAy
MS42MjI0NzddIGJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xrOiBIVCBBdmFpbA0KPiA+ID4gPiA+
ID4gPiA+IHRpbWVvdXQNCj4gPiA+ID4gPiA+ID4gPiAoMTAwMDAwMCk6DQo+ID4gPiA+ID4gPiA+
ID4gY2xrY3RsIDB4NTANCj4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMjEuNjMwOTEyXSBicmNtZm1h
YzogYnJjbWZfcHJvdG9fZGV0YWNoIEVudGVyDQo+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDIxLjYz
MDk2N10gYnJjbWZtYWM6IGJyY21mX2Z3ZWhfdW5yZWdpc3RlciBldmVudA0KPiA+ID4gPiA+ID4g
PiA+IGhhbmRsZXINCj4gPiA+ID4gPiA+ID4gPiBjbGVhcmVkDQo+ID4gPiA+ID4gPiA+ID4gZm9y
IFBTTV9XQVRDSERPRw0KPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAyMi42NDI0NTddIGJyY21mbWFj
OiBicmNtZl9zZGlvX2h0Y2xrOiBIVCBBdmFpbA0KPiA+ID4gPiA+ID4gPiA+IHRpbWVvdXQNCj4g
PiA+ID4gPiA+ID4gPiAoMTAwMDAwMCk6DQo+ID4gPiA+ID4gPiA+ID4gY2xrY3RsIDB4NTANCj4g
PiA+ID4gPiA+ID4gPiBbwqDCoMKgMjIuNjgwMTMxXSBicmNtZm1hYzogYnJjbWZfY2hpcF9zZXRf
cGFzc2l2ZSBFbnRlcg0KPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAyMi42ODI1ODBdIGJyY21mbWFj
OiBicmNtZl9zZGlvX3JlbW92ZSBEaXNjb25uZWN0ZWQNCj4gPiA+ID4gPiA+ID4gPiANCj4gPiA+
ID4gPiA+ID4gQW55IHN1Z2dlc3Rpb25zIG9uIHRoaXM/DQo+ID4gPiA+ID4gPiBTb3JyeSBmb3Ig
bm90IGdldHRpbmcgYmFjayB0byB5b3VyIGVhcmxpZXIgZW1haWwuIFRoYW5rcw0KPiA+ID4gPiA+
ID4gZm9yIHRoZQ0KPiA+ID4gPiA+ID4gcmVtaW5kZXIuIFNvIHlvdSB0cmllZCBkaWZmZXJlbnQg
ZmlybXdhcmVzLCByaWdodD8gQ2FuIHlvdQ0KPiA+ID4gPiA+ID4gcHJvdmlkZQ0KPiA+ID4gPiA+
ID4gb3V0cHV0IG9mIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoNCj4gPiA+ID4gPiA+IA0KPiA+ID4g
PiA+ID4gJCBzdHJpbmdzIGZpcm13YXJlLmJpbiB8IHRhaWwgLTENCj4gPiA+ID4gPiA+IA0KPiA+
ID4gPiA+ID4gZm9yIHRoZSBmaXJtd2FyZXMgeW91IHRyaWVkLg0KPiA+ID4gPiA+ID4gDQo+ID4g
PiA+ID4gPiBSZWdhcmRzLA0KPiA+ID4gPiA+ID4gQXJlbmQNCj4gPiA+ID4gPiBUaGFua3MgZm9y
IHRoZSByZXBseSENCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBIZXJlJ3MgdGhlIG91dHB1dDoNCj4g
PiA+ID4gPiANCj4gPiA+ID4gPiBGb3IgVGVjaG5leGlvbiBmaXJtd2FyZToNCj4gPiA+ID4gPiAN
Cj4gPiA+ID4gPiAjIHN0cmluZ3MgL2xpYi9maXJtd2FyZS9icmNtL2JyY21mbWFjNDMzOS1zZGlv
LmJpbiB8IHRhaWwgLTENCj4gPiA+ID4gPiA0MzM5YTAtcm9tbC9zZGlvLWFnLXBvb2wtcDJwLXBu
by1wa3RmaWx0ZXIta2VlcGFsaXZlLWFvZS1zci0NCj4gPiA+ID4gPiBtY2hhbi0NCj4gPiA+ID4g
PiBwcm9wdHhzdGF0dXMtbHBjLXRkbHMtYXV0b2Fibi10eGJmLQ0KPiA+ID4gPiA+IHJjYy13ZXBz
by1va2MtbmRvZSBWZXJzaW9uOiA2LjM3LjMyLjI4IENSQzogMzA3NWYxMmUgRGF0ZToNCj4gPiA+
ID4gPiBUaHUNCj4gPiA+ID4gPiAyMDE0LTA0LQ0KPiA+ID4gPiA+IDAzIDEyOjE1OjMxIENTVCBG
V0lEIDAxLTRhZTRhZA0KPiA+ID4gPiA+IDAzDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gRm9yIGxp
bnV4LWZpcm13YXJlIGFuZCBCdWlsZHJvb3QgZmlybXdhcmU6DQo+ID4gPiA+ID4gDQo+ID4gPiA+
ID4gIyBzdHJpbmdzIC9saWIvZmlybXdhcmUvYnJjbS9icmNtZm1hYzQzMzktc2Rpby5iaW4gfCB0
YWlsIC0xDQo+ID4gPiA+ID4gNDMzOWEwLXJvbWwvc2Rpby1hZy1wb29sLWF1dG9hYm4tbHBjIFZl
cnNpb246IDYuMzcuMzQuMjggQ1JDOg0KPiA+ID4gPiA+IGE2OTY4OTdiDQo+ID4gPiA+ID4gRGF0
ZTogVGh1IDIwMTQtMDgtMjggMTg6NDA6MTINCj4gPiA+ID4gPiBQRFQgRldJRCAwMS1hMTMxMjBm
Yw0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IEluIGJvdGggY2FzZXMsIEkgYW0gdXNpbmcgdGhlIG52
cmFtIHByb3ZpZGVkIGJ5IFRlY2huZXhpb24uDQo+ID4gPiA+IFRoYXQgc2hvdWxkIGJlIGZpbmUu
DQo+ID4gPiA+IA0KPiA+ID4gPiBDYW4geW91IHRyeSB0aGUgcGF0Y2ggYmVsb3cuIEl0IHdvdWxk
IGdpdmUgbWUgbW9yZSBpbmZvIG9uDQo+ID4gPiA+IHN0YXRlIG9mDQo+ID4gPiA+IGZpcm13YXJl
Lg0KPiA+ID4gPiANCj4gPiA+ID4gUmVnYXJkcywNCj4gPiA+ID4gQXJlbmQNCj4gPiA+ID4gDQo+
ID4gPiA+IGRpZmYgLS1naXQNCj4gPiA+ID4gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNv
bS9icmNtODAyMTEvYnJjbWZtYWMvc2Rpby5jDQo+ID4gPiA+IGIvZHJpdmVycy9uZQ0KPiA+ID4g
PiBpbmRleCBmMzU1NjEyLi42MzFjNWNiIDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9kcml2ZXJzL25l
dC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvc2Rpby5jDQo+ID4gPiA+ICsr
KyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9zZGlv
LmMNCj4gPiA+ID4gQEAgLTgyOCw4ICs4MjgsMjcgQEAgc3RhdGljIGludCBicmNtZl9zZGlvX2h0
Y2xrKHN0cnVjdA0KPiA+ID4gPiBicmNtZl9zZGlvDQo+ID4gPiA+ICpidXMsDQo+ID4gPiA+IGJv
b2wgb24sDQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqByZXR1cm4gLUVCQURFOw0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqB9DQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoGlmICghU0JTRElPX0NMS0FWKGNsa2N0bCwgYnVzLT5hbHBfb25seSkpIHsNCj4gPiA+ID4g
K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgYnJj
bWZfY29yZSAqcG11ID0NCj4gPiA+ID4gYnJjbWZfY2hpcF9nZXRfcG11KGJ1cy0+Y2kpOw0KPiA+
ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHUzMiBy
ZWdhZGRyOw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoHUzMiB2YWw7DQo+ID4gPiA+ICsNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGJyY21mX2VycigiSFQgQXZhaWwgdGltZW91
dCAoJWQpOg0KPiA+ID4gPiBjbGtjdGwNCj4gPiA+ID4gMHglMDJ4XG4iLA0KPiA+ID4gPiDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqBQTVVfTUFYX1RSQU5TSVRJT05fRExZLA0KPiA+ID4gPiBjbGtjdGwpOw0KPiA+
ID4gPiArDQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgLyogREVCVUcgSU5GTyAqLw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJlZ2FkZHIgPSBDT1JFX0NDX1JFRyhwbXUtPmJhc2UsDQo+
ID4gPiA+IHBtdWNvbnRyb2wpOw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoHZhbCA9IGJyY21mX3NkaW9kX3JlZ3JsKGJ1cy0+c2Rpb2RldiwN
Cj4gPiA+ID4gcmVnYWRkciwNCj4gPiA+ID4gJmVycik7DQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgYnJjbWZfZXJyKCLCoMKgcG11Y29udHJv
bMKgwqDCoD0gJTA4eFxuIiwNCj4gPiA+ID4gdmFsKTsNCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZWdhZGRyID0gQ09SRV9DQ19SRUcocG11
LT5iYXNlLA0KPiA+ID4gPiBwbXVzdGF0dXMpOw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHZhbCA9IGJyY21mX3NkaW9kX3JlZ3JsKGJ1cy0+
c2Rpb2RldiwNCj4gPiA+ID4gcmVnYWRkciwNCj4gPiA+ID4gJmVycik7DQo+ID4gPiA+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgYnJjbWZfZXJyKCLCoMKg
cG11c3RhdHVzwqDCoMKgwqA9ICUwOHhcbiIsDQo+ID4gPiA+IHZhbCk7DQo+ID4gPiA+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmVnYWRkciA9IENPUkVf
Q0NfUkVHKHBtdS0+YmFzZSwNCj4gPiA+ID4gbWluX3Jlc19tYXNrKTsNCj4gPiA+ID4gK8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB2YWwgPSBicmNtZl9zZGlv
ZF9yZWdybChidXMtPnNkaW9kZXYsDQo+ID4gPiA+IHJlZ2FkZHIsDQo+ID4gPiA+ICZlcnIpOw0K
PiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGJy
Y21mX2VycigiwqDCoG1pbl9yZXNfbWFzayA9ICUwOHhcbiIsDQo+ID4gPiA+IHZhbCk7DQo+ID4g
PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmVnYWRk
ciA9IENPUkVfQ0NfUkVHKHBtdS0+YmFzZSwNCj4gPiA+ID4gbWF4X3Jlc19tYXNrKTsNCj4gPiA+
ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB2YWwgPSBi
cmNtZl9zZGlvZF9yZWdybChidXMtPnNkaW9kZXYsDQo+ID4gPiA+IHJlZ2FkZHIsDQo+ID4gPiA+
ICZlcnIpOw0KPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoGJyY21mX2VycigiwqDCoG1heF9yZXNfbWFzayA9ICUwOHhcbiIsDQo+ID4gPiA+IHZh
bCk7DQo+ID4gPiA+ICsNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiAtRUJBREU7DQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0NCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gSGVyZSdz
IHRoZSBvdXRwdXQgZm9yIGJvdGggZmlybXdhcmVzOg0KPiA+ID4gDQo+ID4gPiBUZWNobmV4aW9u
Og0KPiA+ID4gIyBkbWVzZyB8IGdyZXAgYnJjbWZtYWMNCj4gPiA+IFvCoMKgwqDCoDUuMzA3MDY3
XSBicmNtZm1hYzogYnJjbWZfZndfbWFwX2NoaXBfdG9fbmFtZTogdXNpbmcNCj4gPiA+IGJyY20v
YnJjbWZtYWM0MzM5LXNkaW8uYmluIGZvciBjaGlwIDB4MDA0MzMNCj4gPiA+IDkoMTcyMDkpIHJl
diAweDAwMDAwMg0KPiA+ID4gW8KgwqDCoMKgNi40MDA3OTJdIGJyY21mbWFjOiBicmNtZl9zZGlv
X2h0Y2xrOiBIVCBBdmFpbCB0aW1lb3V0DQo+ID4gPiAoMTAwMDAwMCk6DQo+ID4gPiBjbGtjdGwg
MHg1MA0KPiA+ID4gW8KgwqDCoMKgNi40MDg0NDRdIGJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xr
OsKgwqDCoHBtdWNvbnRyb2zCoMKgwqA9DQo+ID4gPiAwMTc3NDM4MQ0KPiA+ID4gW8KgwqDCoMKg
Ni40MTU1OTVdIGJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xrOsKgwqDCoHBtdXN0YXR1c8KgwqDC
oMKgPQ0KPiA+ID4gMDAwMDAwMmENCj4gPiA+IFvCoMKgwqDCoDYuNDIxOTE1XSBicmNtZm1hYzog
YnJjbWZfc2Rpb19odGNsazrCoMKgwqBtaW5fcmVzX21hc2sgPQ0KPiA+ID4gMGZjYWZmNzcNCj4g
PiA+IFvCoMKgwqDCoDYuNDI4MTI0XSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazrCoMKgwqBt
YXhfcmVzX21hc2sgPQ0KPiA+ID4gMGZjZWZmNzcNCj4gPiA+IFvCoMKgwqDCoDcuNDgyNjY4XSBi
cmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazogSFQgQXZhaWwgdGltZW91dA0KPiA+ID4gKDEwMDAw
MDApOg0KPiA+ID4gY2xrY3RsIDB4NTANCj4gPiA+IFvCoMKgwqDCoDcuNDkwMjE0XSBicmNtZm1h
YzogYnJjbWZfc2Rpb19odGNsazrCoMKgwqBwbXVjb250cm9swqDCoMKgPQ0KPiA+ID4gMDE3NzQz
ODENCj4gPiA+IFvCoMKgwqDCoDcuNDk2NDE0XSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazrC
oMKgwqBwbXVzdGF0dXPCoMKgwqDCoD0NCj4gPiA+IDAwMDAwMDJhDQo+ID4gPiBbwqDCoMKgwqA3
LjUwMzg3M10gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRjbGs6wqDCoMKgbWluX3Jlc19tYXNrID0N
Cj4gPiA+IDBmY2FmZjc3DQo+ID4gPiBbwqDCoMKgwqA3LjUxMDE4Ml0gYnJjbWZtYWM6IGJyY21m
X3NkaW9faHRjbGs6wqDCoMKgbWF4X3Jlc19tYXNrID0NCj4gPiA+IDBmY2VmZjc3DQo+ID4gPiAj
wqDCoHN0cmluZ3MgL2xpYi9maXJtd2FyZS9icmNtL2JyY21mbWFjNDMzOS1zZGlvLmJpbiB8IHRh
aWwgLTENCj4gPiA+IDQzMzlhMC1yb21sL3NkaW8tYWctcG9vbC1wMnAtcG5vLXBrdGZpbHRlci1r
ZWVwYWxpdmUtYW9lLXNyLQ0KPiA+ID4gbWNoYW4tDQo+ID4gPiBwcm9wdHhzdGF0dXMtbHBjLXRk
bHMtYXV0b2Fibi10eGJmLQ0KPiA+ID4gcmNjLXdlcHNvLW9rYy1uZG9lIFZlcnNpb246IDYuMzcu
MzIuMjggQ1JDOiAzMDc1ZjEyZSBEYXRlOiBUaHUNCj4gPiA+IDIwMTQtMDQtDQo+ID4gPiAwMyAx
MjoxNTozMSBDU1QgRldJRCAwMS00YWU0YWQNCj4gPiA+IDAzDQo+ID4gPiANCj4gPiA+IEJ1aWxk
cm9vdDoNCj4gPiA+ICMgZG1lc2cgfCBncmVwIGJyY21mbWFjDQo+ID4gPiBbwqDCoMKgwqA1LjM0
MzExOF0gYnJjbWZtYWM6IGJyY21mX2Z3X21hcF9jaGlwX3RvX25hbWU6IHVzaW5nDQo+ID4gPiBi
cmNtL2JyY21mbWFjNDMzOS1zZGlvLmJpbiBmb3IgY2hpcCAweDAwNDMzDQo+ID4gPiA5KDE3MjA5
KSByZXYgMHgwMDAwMDINCj4gPiA+IFvCoMKgwqDCoDYuNDIwMDcwXSBicmNtZm1hYzogYnJjbWZf
c2Rpb19odGNsazogSFQgQXZhaWwgdGltZW91dA0KPiA+ID4gKDEwMDAwMDApOg0KPiA+ID4gY2xr
Y3RsIDB4NTANCj4gPiA+IFvCoMKgwqDCoDYuNDI3NzIyXSBicmNtZm1hYzogYnJjbWZfc2Rpb19o
dGNsazrCoMKgwqBwbXVjb250cm9swqDCoMKgPQ0KPiA+ID4gMDE3NzQzODENCj4gPiA+IFvCoMKg
wqDCoDYuNDM0ODY1XSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazrCoMKgwqBwbXVzdGF0dXPC
oMKgwqDCoD0NCj4gPiA+IDAwMDAwMDJhDQo+ID4gPiBbwqDCoMKgwqA2LjQ0MTE3NF0gYnJjbWZt
YWM6IGJyY21mX3NkaW9faHRjbGs6wqDCoMKgbWluX3Jlc19tYXNrID0NCj4gPiA+IDBmY2FmZjc3
DQo+ID4gPiBbwqDCoMKgwqA2LjQ0NzM3OV0gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRjbGs6wqDC
oMKgbWF4X3Jlc19tYXNrID0NCj4gPiA+IDBmY2VmZjc3DQo+ID4gPiBbwqDCoMKgwqA3LjUwMjY1
M10gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRjbGs6IEhUIEF2YWlsIHRpbWVvdXQNCj4gPiA+ICgx
MDAwMDAwKToNCj4gPiA+IGNsa2N0bCAweDUwDQo+ID4gPiBbwqDCoMKgwqA3LjUxMDIwMF0gYnJj
bWZtYWM6IGJyY21mX3NkaW9faHRjbGs6wqDCoMKgcG11Y29udHJvbMKgwqDCoD0NCj4gPiA+IDAx
Nzc0MzgxDQo+ID4gPiBbwqDCoMKgwqA3LjUxNjM5OF0gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRj
bGs6wqDCoMKgcG11c3RhdHVzwqDCoMKgwqA9DQo+ID4gPiAwMDAwMDAyYQ0KPiA+ID4gW8KgwqDC
oMKgNy41MjM4MjZdIGJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xrOsKgwqDCoG1pbl9yZXNfbWFz
ayA9DQo+ID4gPiAwZmNhZmY3Nw0KPiA+ID4gW8KgwqDCoMKgNy41MzAxMTddIGJyY21mbWFjOiBi
cmNtZl9zZGlvX2h0Y2xrOsKgwqDCoG1heF9yZXNfbWFzayA9DQo+ID4gPiAwZmNlZmY3Nw0KPiA+
ID4gIyBzdHJpbmdzIC9saWIvZmlybXdhcmUvYnJjbS9icmNtZm1hYzQzMzktc2Rpby5iaW4gfCB0
YWlsIC0xDQo+ID4gPiA0MzM5YTAtcm9tbC9zZGlvLWFnLXBvb2wtYXV0b2Fibi1scGMgVmVyc2lv
bjogNi4zNy4zNC4yOCBDUkM6DQo+ID4gPiBhNjk2ODk3Yg0KPiA+ID4gRGF0ZTogVGh1IDIwMTQt
MDgtMjggMTg6NDA6MTINCj4gPiA+IFBEVCBGV0lEIDAxLWExMzEyMGZjDQo+ID4gVGhhbmtzIGZv
ciB0aGUgaW5mby4gVGhlIHBtdXN0YXR1cyBpbmRlZWQgc2hvd3MgdGhlcmUgaXMgbm8gSFQNCj4g
PiBjbG9jayBmb3LCoA0KPiA+IHRoZSBiYWNrcGxhbmUuIFdpbGwgaGF2ZSB0byBkaXNjdXNzIHdp
dGggaC93IGd1eXMuIE1lYW53aGlsZSwgY2FuDQo+ID4geW91wqANCj4gPiB0cnkgdGhlIHBhdGNo
IGJlbG93LiBJdCB3aWxsIGNyZWF0ZSBhIG1lbW9yeSBkdW1wIG9mIHRoZSBkZXZpY2UNCj4gPiB1
c2luZ8KgDQo+ID4gdGhlIGRldl9jb3JlZHVtcCBmcmFtZXdvcmssIGllLiB1bmRlciAvc3lzL2Ns
YXNzL2RldmNvcmVkdW1wLy4gSXQNCj4gPiB3aWxswqANCj4gPiBwcm9iYWJseSBjcmVhdGUgdHdv
IGR1bXBzIGFzIHRoZSBlcnJvciBvY2N1cnMgdHdpY2UgZHVyaW5nIHByb2JlLg0KPiA+IEp1c3TC
oA0KPiA+IHNlbnQgbWUgdGhlIGZpcnN0IG9yIHB1dCBpdCBzb21ld2hlcmUgb24gaW50ZXJuZXQg
c28gSSBjYW4gZG93bmxvYWQNCj4gPiBpdMKgDQo+ID4gYW5kIGhhdmUgYSBsb29rIGF0IGl0Lg0K
PiB3aXRoIHBhdGNoIDotKA0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNz
L2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9zZGlvLmPCoA0KPiBiL2RyaXZlcnMvbmUNCj4g
aW5kZXggZjM1NTYxMi4uZjdkZWQ5MSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxl
c3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL3NkaW8uYw0KPiArKysgYi9kcml2ZXJzL25l
dC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvc2Rpby5jDQo+IEBAIC04MzAs
NiArODMwLDExIEBAIHN0YXRpYyBpbnQgYnJjbWZfc2Rpb19odGNsayhzdHJ1Y3QgYnJjbWZfc2Rp
bw0KPiAqYnVzLMKgDQo+IGJvb2wgb24sDQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqBpZiAoIVNCU0RJT19DTEtBVihjbGtjdGwsIGJ1cy0+YWxwX29ubHkpKSB7DQo+IMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgYnJjbWZfZXJyKCJI
VCBBdmFpbCB0aW1lb3V0ICglZCk6IGNsa2N0bA0KPiAweCUwMnhcbiIsDQo+IMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqBQTVVfTUFYX1RSQU5TSVRJT05fRExZLCBjbGtjdGwpOw0KPiArDQo+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLyogREVCVUcgSU5GTyAqLw0KPiArwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGJyY21mX2RlYnVnX2Ny
ZWF0ZV9tZW1kdW1wKGJ1cy0+c2Rpb2Rldi0NCj4gPmJ1c19pZiwNCj4gK8KgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBOVUxMLCAwKTsNCj4gKw0KPiDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiAtRUJBREU7DQo+
IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9DQo+IA0KPiANCg0KSSBhbSBhcHBs
eWluZyB0aGlzIHBhdGNoIGFuZCBhcHBhcmVudGx5IHRoZSBkdW1wcyBhcmUgbm90IGNyZWF0ZWQu
DQoNCiMgbHMgL3N5cy9jbGFzcy9kZXZjb3JlZHVtcC8gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqANCmRpc2FibGVkDQoNCklzIHRo
ZXJlIHNvbWV0aGluZyBlbHNlIEkgbmVlZCB0byBtb2RpZnk/IEkgYW0gdXNpbmcgbWFpbmxpbmUg
a2VybmVsLg0KDQpUaGFua3Mh

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-11-22 10:48                   ` Vanessa Maegima
@ 2017-11-22 10:58                     ` Arend van Spriel
  2017-11-23 15:24                       ` Vanessa Maegima
  0 siblings, 1 reply; 35+ messages in thread
From: Arend van Spriel @ 2017-11-22 10:58 UTC (permalink / raw)
  To: Vanessa Maegima, van.ayumi; +Cc: linux-wireless, embed3d

On 11/22/2017 11:48 AM, Vanessa Maegima wrote:
> 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@broadcom.com> 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.

You need to build brcmfmac with CONFIG_BRCMDBG set in Kconfig. Not sure 
if you already have that. I assume a cat of that 'disabled' file with 
show '0'.

Regards,
Arend

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-11-22 10:58                     ` Arend van Spriel
@ 2017-11-23 15:24                       ` Vanessa Maegima
  2017-11-30 12:31                         ` Arend van Spriel
  0 siblings, 1 reply; 35+ messages in thread
From: Vanessa Maegima @ 2017-11-23 15:24 UTC (permalink / raw)
  To: arend.vanspriel, van.ayumi; +Cc: linux-wireless, embed3d

SGkgQXJlbmQsDQoNCk9uIFF1YSwgMjAxNy0xMS0yMiBhdCAxMTo1OCArMDEwMCwgQXJlbmQgdmFu
IFNwcmllbCB3cm90ZToNCj4gT24gMTEvMjIvMjAxNyAxMTo0OCBBTSwgVmFuZXNzYSBNYWVnaW1h
IHdyb3RlOg0KPiA+IA0KPiA+IEhpIEFyZW5kLA0KPiA+IA0KPiA+IE9uIFNlZywgMjAxNy0xMS0y
MCBhdCAxMjoxMiArMDEwMCwgQXJlbmQgdmFuIFNwcmllbCB3cm90ZToNCj4gPiA+IA0KPiA+ID4g
T24gMjAtMTEtMTcgMTI6MDMsIEFyZW5kIHZhbiBTcHJpZWwgd3JvdGU6DQo+ID4gPiA+IA0KPiA+
ID4gPiANCj4gPiA+ID4gT24gMTctMTEtMTcgMTY6MjQsIFZhbmVzc2EgTWFlZ2ltYSB3cm90ZToN
Cj4gPiA+ID4gPiANCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBIaSBBcmVuZCwNCj4gPiA+ID4gPiAN
Cj4gPiA+ID4gPiBPbiBTZXgsIDIwMTctMTEtMTcgYXQgMTM6NTUgKzAxMDAsIEFyZW5kIHZhbiBT
cHJpZWwgd3JvdGU6DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gT24g
MTEvMTcvMjAxNyAxMjowOCBQTSwgVmFuZXNzYSBNYWVnaW1hIHdyb3RlOg0KPiA+ID4gPiA+ID4g
PiANCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBIaSBBcmVu
ZCwNCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+IE9uIFNleCwgMjAxNy0xMS0xMCBhdCAy
MDo1OCArMDEwMCwgQXJlbmQgdmFuIFNwcmllbA0KPiA+ID4gPiA+ID4gPiB3cm90ZToNCj4gPiA+
ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4g
PiA+ID4gPiBPbiAxMC0xMS0xNyAxMzo0MywgVmFuZXNzYSBNYWVnaW1hIHdyb3RlOg0KPiA+ID4g
PiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+
ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiBIaSwNCj4gPiA+ID4gPiA+ID4gPiA+
IA0KPiA+ID4gPiA+ID4gPiA+ID4gT24gUXVpLCAyMDE3LTA5LTIxIGF0IDEyOjMwIC0wMzAwLCBW
YW5lc3NhIEF5dW1pDQo+ID4gPiA+ID4gPiA+ID4gPiBNYWVnaW1hDQo+ID4gPiA+ID4gPiA+ID4g
PiB3cm90ZToNCj4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+
ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4g
PiA+IEhpIEFyZW5kLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+ID4g
T24gVGh1LCBTZXAgMjEsIDIwMTcgYXQgNDoyNiBBTSwgQXJlbmQgdmFuIFNwcmllbA0KPiA+ID4g
PiA+ID4gPiA+ID4gPiA8YXJlbmQudmFuc3ByaWVsQGJyb2FkY29tLmNvbT4gd3JvdGU6DQo+ID4g
PiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+
ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4g
DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gT24gMjAtMDktMTcgMjE6MzMsIFZhbmVzc2EgQXl1bWkg
TWFlZ2ltYSB3cm90ZToNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+
ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+ID4g
PiA+IA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiAN
Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IEhpLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+
ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBJIGFtIHRyeWluZyB0byBlbmFibGUgV2lmaSBvbiBpbXg3
ZC1waWNvIHVzaW5nDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBtYWlubGluZQ0KPiA+ID4gPiA+
ID4gPiA+ID4gPiA+ID4ga2VybmVsLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gaW14N2QtcGlj
bw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gaGFzIGFuIEFQNjMzNSBjaGlwLg0KPiA+ID4gPiA+
ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBJIGFtIGZhY2luZyBzb21l
IGlzc3VlcyByZWxhdGVkIHRvIHRoZSBudnJhbQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZmls
ZS4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IEkgYW0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+
IHVzaW5nDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiB0aGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4g
PiA+IGZpcm13YXJlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBwcm92aWRlZCBieSBCdWlsZHJv
b3QgKGJyY21mbWFjNDMzOS1zZGlvLmJpbikuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBJDQo+
ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBnZXQgdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBm
b2xsb3dpbmcgZXJyb3I6DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4g
PiA+ID4gPiA+IFvCoMKgwqDCoDguNjMwMzgwXSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazog
SFQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IEF2YWlsDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4g
PiB0aW1lb3V0DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiAoMTAwMDAwMCk6DQo+ID4gPiA+ID4g
PiA+ID4gPiA+ID4gPiBjbGtjdGwgMHg1MA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4g
PiA+ID4gPiA+ID4gPiA+ID4gPiBJIGhhdmUgdHJpZWQgdG8gdXNlIHRoZSBmaXJtd2FyZSBhbmQg
bnZyYW0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHByb3ZpZGVkDQo+ID4gPiA+ID4gPiA+ID4g
PiA+ID4gPiBieQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gVGVjaE5leGlvbg0KPiA+ID4gPiA+
ID4gPiA+ID4gPiA+ID4gYnV0IEkNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGdldA0KPiA+ID4g
PiA+ID4gPiA+ID4gPiA+ID4gdGhlIHNhbWUgZXJyb3IuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4g
PiANCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IElzIHRoZXJlIGFueW9uZSB0aGF0IGNvdWxkIGVu
YWJsZSBXaWZpIG9uDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBBUDYzMzUNCj4gPiA+ID4gPiA+
ID4gPiA+ID4gPiA+IHVzaW5nDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBrZXJuZWwNCj4gPiA+
ID4gPiA+ID4gPiA+ID4gPiA+IG1haW5saW5lPw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gV2hh
dCBudnJhbSBmaWxlIHdhcyB1c2VkPw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+
ID4gPiA+ID4gPiA+ID4gPiBJIGFtIGFibGUgdG8gdXNlIFdpZmkgb24gdGhlIGJvYXJkIGlmIEkg
dXNlIHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZmlybXdhcmUsDQo+ID4gPiA+ID4gPiA+
ID4gPiA+ID4gPiBudnJhbQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZmlsZSBhbmQNCj4gPiA+
ID4gPiA+ID4gPiA+ID4gPiA+IGtlcm5lbA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gcHJvdmlk
ZWQgYnkgVGVjaE5leGlvbi4gVGhleSB1c2UgYSA0LjEga2VybmVsDQo+ID4gPiA+ID4gPiA+ID4g
PiA+ID4gPiBmcm9tDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBOWFANCj4gPiA+ID4gPiA+ID4g
PiA+ID4gPiA+IHdpdGgNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4g
PiA+ID4gPiA+ID4gYmNtZGhkDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBkcml2ZXIuDQo+ID4g
PiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IFNvIEkga25vdyB0
aGF0IHRoZSBoYXJkd2FyZSBpcyBmdW5jdGlvbmFsLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4g
DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBBbnkgc3VnZ2VzdGlvbnMgYXMgaG93IHRvIGdldCBp
dCB3b3JraW5nIHdpdGggYQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gNC4xMyBhbmQNCj4gPiA+
ID4gPiA+ID4gPiA+ID4gPiA+IGJyY21mbWFjDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBkcml2
ZXINCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGlzDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBh
cHByZWNpYXRlZC4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBTbyB0aGUgbnZyYW0gZmlsZSBpcyBz
cGVjaWZpYyB0byB0aGUgd2lmaSBjaGlwc2V0DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gb24NCj4g
PiA+ID4gPiA+ID4gPiA+ID4gPiB5b3VyDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gcGxhdGZvcm0N
Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBzbyBiZXN0DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gdG8g
c3RpY2sgd2l0aCB0aGUgcHJvdmlkZWQgb25lLiBUaGUgIkhUIEF2YWlsDQo+ID4gPiA+ID4gPiA+
ID4gPiA+ID4gdGltZW91dCIgbW9zdA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IG9mdGVuDQo+ID4g
PiA+ID4gPiA+ID4gPiA+ID4gaXMgYW4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBpbmRpY2F0aW9u
IHRoYXQgdGhlIGZpcm13YXJlIGNyYXNoZWQuIFNvIGdldHRpbmcNCj4gPiA+ID4gPiA+ID4gPiA+
ID4gPiBtb3JlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gZGVidWcNCj4gPiA+ID4gPiA+ID4gPiA+
ID4gPiBvdXRwdXQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiB3b3VsZA0KPiA+ID4gPiA+ID4gPiA+
ID4gPiA+IGhlbHAgdXMgdW5kZXJzdGFuZCBob3cgaXQgZW5kZWQgdXAgbGlrZSB0aGF0LiBDYW4N
Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiB5b3UNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBidWlsZA0K
PiA+ID4gPiA+ID4gPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGJyY21mbWFj
DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gd2l0aCBDT05GSUdfQlJDTURCRyBhbmQgbG9hZCB0aGUg
ZHJpdmVyIHVzaW5nOg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+ID4g
PiA+ICQgaW5zbW9kIGJyY21mbWFjLmtvIGRlYnVnPTB4MTQxNg0KPiA+ID4gPiA+ID4gPiA+ID4g
PiBUaGFua3MgZm9yIHRoZSByZXBseSENCj4gPiA+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4g
PiA+ID4gPiA+IEhlcmUgaXMgdGhlIGxvZyAodXNpbmcgNC4xNC1yYzEpOg0KPiA+ID4gPiA+ID4g
PiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiA+ID4gIyBkbWVzZyB8IGdyZXAgYnJjbWZtYWMNCj4g
PiA+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjI5NzIwNl0gYnJjbWZtYWM6IGJyY21mbWFjX21v
ZHVsZV9pbml0IE5vDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHBsYXRmb3JtDQo+ID4gPiA+ID4gPiA+
ID4gPiA+IGRhdGENCj4gPiA+ID4gPiA+ID4gPiA+ID4gYXZhaWxhYmxlLg0KPiA+ID4gPiA+ID4g
PiA+ID4gPiBbwqDCoMKgMTkuMzA3MDc1XSBicmNtZm1hYzogYnJjbWZfc2Rpb19wcm9iZSBFbnRl
cg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzA4Mzg0XSBicmNtZm1hYzogRjEgc2ln
bmF0dXJlIHJlYWQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gQDB4MTgwMDAwMDA9MHgxNjIyNDMzNQ0K
PiA+ID4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzA5MDI2XSBicmNtZm1hYzogYnJjbWZfY2hp
cF9yZWNvZ25pdGlvbg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBmb3VuZA0KPiA+ID4gPiA+ID4gPiA+
ID4gPiBBWEkNCj4gPiA+ID4gPiA+ID4gPiA+ID4gY2hpcDoNCj4gPiA+ID4gPiA+ID4gPiA+ID4g
QkNNNDMzOSwgcmV2PTINCj4gPiA+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjMxNzExNV0gYnJj
bWZtYWM6IGJyY21mX2NoaXBfY29yZXNfY2hlY2vCoMKgWzENCj4gPiA+ID4gPiA+ID4gPiA+ID4g
XQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBjb3JlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IDB4ODAwOjQ2
DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGJhc2UgMHgxODAwMDAwMCB3cmFwIDB4MTgxMDAwMDANCj4g
PiA+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjMxNzE0MV0gYnJjbWZtYWM6IGJyY21mX2NoaXBf
Y29yZXNfY2hlY2vCoMKgWzINCj4gPiA+ID4gPiA+ID4gPiA+ID4gXQ0KPiA+ID4gPiA+ID4gPiA+
ID4gPiBjb3JlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IDB4ODEyOjQ2DQo+ID4gPiA+ID4gPiA+ID4g
PiA+IGJhc2UgMHgxODAwMTAwMCB3cmFwIDB4MTgxMDEwMDANCj4gPiA+ID4gPiA+ID4gPiA+ID4g
W8KgwqDCoDE5LjMxNzE2NV0gYnJjbWZtYWM6IGJyY21mX2NoaXBfY29yZXNfY2hlY2vCoMKgWzMN
Cj4gPiA+ID4gPiA+ID4gPiA+ID4gXQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBjb3JlDQo+ID4gPiA+
ID4gPiA+ID4gPiA+IDB4ODNlOjQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gYmFzZSAweDE4MDAyMDAw
IHdyYXAgMHgxODEwMjAwMA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzE3MTg4XSBi
cmNtZm1hYzogYnJjbWZfY2hpcF9jb3Jlc19jaGVja8KgwqBbNA0KPiA+ID4gPiA+ID4gPiA+ID4g
PiBdDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGNvcmUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gMHg4M2M6
NA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBiYXNlIDB4MTgwMDMwMDAgd3JhcCAweDE4MTAzMDAwDQo+
ID4gPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAxOS4zMTcyMTBdIGJyY21mbWFjOiBicmNtZl9jaGlw
X2NvcmVzX2NoZWNrwqDCoFs1DQo+ID4gPiA+ID4gPiA+ID4gPiA+IF0NCj4gPiA+ID4gPiA+ID4g
PiA+ID4gY29yZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiAweDgxYToyMA0KPiA+ID4gPiA+ID4gPiA+
ID4gPiBiYXNlIDB4MTgwMDQwMDAgd3JhcCAweDE4MTA0MDAwDQo+ID4gPiA+ID4gPiA+ID4gPiA+
IFvCoMKgwqAxOS4zMTcyMzNdIGJyY21mbWFjOiBicmNtZl9jaGlwX2NvcmVzX2NoZWNrwqDCoFs2
DQo+ID4gPiA+ID4gPiA+ID4gPiA+IF0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gY29yZQ0KPiA+ID4g
PiA+ID4gPiA+ID4gPiAweDgyOToyMQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBiYXNlIDB4MTgwMDUw
MDAgd3JhcCAweDE4MTA1MDAwDQo+ID4gPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAxOS4zMTcyNTZd
IGJyY21mbWFjOiBicmNtZl9jaGlwX2NvcmVzX2NoZWNrwqDCoFs3DQo+ID4gPiA+ID4gPiA+ID4g
PiA+IF0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gY29yZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiAweDEz
NTowDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGJhc2UgMHgwMDAwMDAwMCB3cmFwIDB4MTgxMDkwMDAN
Cj4gPiA+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjMxNzI3OV0gYnJjbWZtYWM6IGJyY21mX2No
aXBfY29yZXNfY2hlY2vCoMKgWzgNCj4gPiA+ID4gPiA+ID4gPiA+ID4gXQ0KPiA+ID4gPiA+ID4g
PiA+ID4gPiBjb3JlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IDB4MjQwOjANCj4gPiA+ID4gPiA+ID4g
PiA+ID4gYmFzZSAweDAwMDAwMDAwIHdyYXAgMHgwMDAwMDAwMA0KPiA+ID4gPiA+ID4gPiA+ID4g
PiBbwqDCoMKgMTkuMzE3Mjk4XSBicmNtZm1hYzogYnJjbWZfY2hpcF9zZXRfcGFzc2l2ZQ0KPiA+
ID4gPiA+ID4gPiA+ID4gPiBFbnRlcg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzIy
MjMyXSBicmNtZm1hYzogYnJjbWZfY2hpcF9nZXRfcmFtaW5mbw0KPiA+ID4gPiA+ID4gPiA+ID4g
PiBSQU06DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGJhc2U9MHgxODAwMDANCj4gPiA+ID4gPiA+ID4g
PiA+ID4gc2l6ZT03ODY0MzIgKDB4YzAwMDApIHNyPTAgKDB4MCkNCj4gPiA+ID4gPiA+ID4gPiA+
ID4gW8KgwqDCoDE5LjMyMjQ1N10gYnJjbWZtYWM6IGJyY21mX2NoaXBfc2V0dXAgY2NyZXY9NDYs
DQo+ID4gPiA+ID4gPiA+ID4gPiA+IHBtdXJldj0yMywNCj4gPiA+ID4gPiA+ID4gPiA+ID4gcG11
Y2Fwcz0weDM5Y2M1ZjE3DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAxOS4zMjI0ODFdIGJy
Y21mbWFjOiBicmNtZl9nZXRfbW9kdWxlX3BhcmFtDQo+ID4gPiA+ID4gPiA+ID4gPiA+IEVudGVy
LA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBidXM9MCwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gY2hpcD0x
NzIwOSwgcmV2PTINCj4gPiA+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjMyMjUwNF0gYnJjbWZt
YWM6IGJyY21mX3NkaW9kX3NndGFibGVfYWxsb2MNCj4gPiA+ID4gPiA+ID4gPiA+ID4gbmVudHM9
MzUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjMyMjUzMV0gYnJjbWZtYWM6IGJyY21m
X3NkaW9fa3NvX2luaXQgRW50ZXINCj4gPiA+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjMyMjYx
OF0gYnJjbWZtYWM6DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGJyY21mX3NkaW9fZHJpdmVzdHJlbmd0
aGluaXQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gTm8gU0RJTw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBk
cml2ZXINCj4gPiA+ID4gPiA+ID4gPiA+ID4gc3RyZW5ndGggaW5pdCBuZWVkZWQgZm9yIGNoaXAg
NDMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gMzkgcmV2IDIgcG11cmV2IDIzDQo+ID4gPiA+ID4gPiA+
ID4gPiA+IFvCoMKgwqAxOS4zMjMyMzVdIGJyY21mbWFjOiBicmNtZl9hdHRhY2ggRW50ZXINCj4g
PiA+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjMyMzcyNV0gYnJjbWZtYWM6IGJyY21mX3Byb3Rv
X2F0dGFjaCBFbnRlcg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzIzNzY5XSBicmNt
Zm1hYzogYnJjbWZfZndlaF9yZWdpc3RlciBldmVudA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBoYW5k
bGVyDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHJlZ2lzdGVyZWQNCj4gPiA+ID4gPiA+ID4gPiA+ID4g
Zm9yIFBTTV9XQVRDSERPRw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzI0MzA2XSBi
cmNtZm1hYzogYnJjbWZfc2Rpb19wcm9iZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBjb21wbGV0ZWQh
IQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzI0MzM3XSBicmNtZm1hYzogYnJjbWZf
ZndfbWFwX2NoaXBfdG9fbmFtZToNCj4gPiA+ID4gPiA+ID4gPiA+ID4gdXNpbmcNCj4gPiA+ID4g
PiA+ID4gPiA+ID4gYnJjbS9icmNtZm1hYzQzMzktc2Rpby5iaW4gZm9yIGNoaXAgMHgwMDQzMw0K
PiA+ID4gPiA+ID4gPiA+ID4gPiA5KDE3MjA5KSByZXYgMHgwMDAwMDINCj4gPiA+ID4gPiA+ID4g
PiA+ID4gW8KgwqDCoDE5LjMzNTM1M10gYnJjbWZtYWM6DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGJy
Y21mX2Z3X2dldF9maXJtd2FyZXNfcGNpZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBlbnRlcjoNCj4g
PiA+ID4gPiA+ID4gPiA+ID4gZGV2PW1tYzA6MDAwMToxDQo+ID4gPiA+ID4gPiA+ID4gPiA+IFvC
oMKgwqAxOS4zNTE3ODddIGJyY21mbWFjOiBicmNtZl9md19yZXF1ZXN0X2NvZGVfZG9uZQ0KPiA+
ID4gPiA+ID4gPiA+ID4gPiBlbnRlcjoNCj4gPiA+ID4gPiA+ID4gPiA+ID4gZGV2PW1tYzA6MDAw
MToxDQo+ID4gPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAxOS4zNTMyMDJdIGJyY21mbWFjOg0KPiA+
ID4gPiA+ID4gPiA+ID4gPiBicmNtZl9md19yZXF1ZXN0X252cmFtX2RvbmUNCj4gPiA+ID4gPiA+
ID4gPiA+ID4gZW50ZXI6DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGRldj1tbWMwOjAwMDE6MQ0KPiA+
ID4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzUzNDI0XSBicmNtZm1hYzoNCj4gPiA+ID4gPiA+
ID4gPiA+ID4gYnJjbWZfc2Rpb19maXJtd2FyZV9jYWxsYmFjaw0KPiA+ID4gPiA+ID4gPiA+ID4g
PiBFbnRlcjoNCj4gPiA+ID4gPiA+ID4gPiA+ID4gZGV2PW1tYzA6MDAwMToxLCBlcnI9MA0KPiA+
ID4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgMTkuMzUzODE0XSBicmNtZm1hYzoNCj4gPiA+ID4gPiA+
ID4gPiA+ID4gYnJjbWZfc2Rpb19kb3dubG9hZF9jb2RlX2ZpbGUNCj4gPiA+ID4gPiA+ID4gPiA+
ID4gRW50ZXINCj4gPiA+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDE5LjM4ODU4Nl0gYnJjbWZtYWM6
IGJyY21mX3NkaW9fdmVyaWZ5bWVtb3J5DQo+ID4gPiA+ID4gPiA+ID4gPiA+IENvbXBhcmUgUkFN
DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGRsICYNCj4gPiA+ID4gPiA+ID4gPiA+ID4gdWwNCj4gPiA+
ID4gPiA+ID4gPiA+ID4gYXQgMHgwMDE4MDAwMDsgc2l6ZT00OTM1OTkNCj4gPiA+ID4gPiA+ID4g
PiA+ID4gW8KgwqDCoDE5LjU0NjY3NV0gYnJjbWZtYWM6IGJyY21mX3NkaW9fZG93bmxvYWRfbnZy
YW0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gRW50ZXINCj4gPiA+ID4gPiA+ID4gPiA+ID4gW8KgwqDC
oDE5LjU0NzQzMl0gYnJjbWZtYWM6IGJyY21mX3NkaW9fdmVyaWZ5bWVtb3J5DQo+ID4gPiA+ID4g
PiA+ID4gPiA+IENvbXBhcmUgUkFNDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGRsICYNCj4gPiA+ID4g
PiA+ID4gPiA+ID4gdWwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gYXQgMHgwMDIzZjczMDsgc2l6ZT0y
MjU2DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAxOS41NDg2NjVdIGJyY21mbWFjOiBicmNt
Zl9jaGlwX3NldF9hY3RpdmUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gRW50ZXINCj4gPiA+ID4gPiA+
ID4gPiA+ID4gW8KgwqDCoDIwLjU2Mjk3NF0gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRjbGs6IEhU
IEF2YWlsDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHRpbWVvdXQNCj4gPiA+ID4gPiA+ID4gPiA+ID4g
KDEwMDAwMDApOg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBjbGtjdGwgMHg1MA0KPiA+ID4gPiA+ID4g
PiA+ID4gPiBbwqDCoMKgMjAuNTcwNDkwXSBicmNtZm1hYzoNCj4gPiA+ID4gPiA+ID4gPiA+ID4g
YnJjbWZfc2Rpb19maXJtd2FyZV9jYWxsYmFjaw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBmYWlsZWQ6
DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGRldj1tbWMwOjAwMDE6MSwgZXJyPTANCj4gPiA+ID4gPiA+
ID4gPiA+ID4gW8KgwqDCoDIwLjU3MDczOV0gYnJjbWZtYWM6IGJyY21mX3NkaW9fcmVtb3ZlIEVu
dGVyDQo+ID4gPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAyMC41NzA3NzVdIGJyY21mbWFjOiBicmNt
Zl9kZXRhY2ggRW50ZXINCj4gPiA+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDIwLjYxMDQxNF0gYnJj
bWZtYWM6IGJyY21mX2J1c19jaGFuZ2Vfc3RhdGUgMA0KPiA+ID4gPiA+ID4gPiA+ID4gPiAtPiAw
DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAyMC42MTA0NDFdIGJyY21mbWFjOiBicmNtZl9z
ZGlvX2J1c19zdG9wIEVudGVyDQo+ID4gPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAyMS42MjI0Nzdd
IGJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xrOiBIVCBBdmFpbA0KPiA+ID4gPiA+ID4gPiA+ID4g
PiB0aW1lb3V0DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICgxMDAwMDAwKToNCj4gPiA+ID4gPiA+ID4g
PiA+ID4gY2xrY3RsIDB4NTANCj4gPiA+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDIxLjYzMDkxMl0g
YnJjbWZtYWM6IGJyY21mX3Byb3RvX2RldGFjaCBFbnRlcg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBb
wqDCoMKgMjEuNjMwOTY3XSBicmNtZm1hYzogYnJjbWZfZndlaF91bnJlZ2lzdGVyDQo+ID4gPiA+
ID4gPiA+ID4gPiA+IGV2ZW50DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGhhbmRsZXINCj4gPiA+ID4g
PiA+ID4gPiA+ID4gY2xlYXJlZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBmb3IgUFNNX1dBVENIRE9H
DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqAyMi42NDI0NTddIGJyY21mbWFjOiBicmNtZl9z
ZGlvX2h0Y2xrOiBIVCBBdmFpbA0KPiA+ID4gPiA+ID4gPiA+ID4gPiB0aW1lb3V0DQo+ID4gPiA+
ID4gPiA+ID4gPiA+ICgxMDAwMDAwKToNCj4gPiA+ID4gPiA+ID4gPiA+ID4gY2xrY3RsIDB4NTAN
Cj4gPiA+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoDIyLjY4MDEzMV0gYnJjbWZtYWM6IGJyY21mX2No
aXBfc2V0X3Bhc3NpdmUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gRW50ZXINCj4gPiA+ID4gPiA+ID4g
PiA+ID4gW8KgwqDCoDIyLjY4MjU4MF0gYnJjbWZtYWM6IGJyY21mX3NkaW9fcmVtb3ZlDQo+ID4g
PiA+ID4gPiA+ID4gPiA+IERpc2Nvbm5lY3RlZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiANCj4gPiA+
ID4gPiA+ID4gPiA+IEFueSBzdWdnZXN0aW9ucyBvbiB0aGlzPw0KPiA+ID4gPiA+ID4gPiA+IFNv
cnJ5IGZvciBub3QgZ2V0dGluZyBiYWNrIHRvIHlvdXIgZWFybGllciBlbWFpbC4NCj4gPiA+ID4g
PiA+ID4gPiBUaGFua3MNCj4gPiA+ID4gPiA+ID4gPiBmb3IgdGhlDQo+ID4gPiA+ID4gPiA+ID4g
cmVtaW5kZXIuIFNvIHlvdSB0cmllZCBkaWZmZXJlbnQgZmlybXdhcmVzLCByaWdodD8gQ2FuDQo+
ID4gPiA+ID4gPiA+ID4geW91DQo+ID4gPiA+ID4gPiA+ID4gcHJvdmlkZQ0KPiA+ID4gPiA+ID4g
PiA+IG91dHB1dCBvZiB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6DQo+ID4gPiA+ID4gPiA+ID4gDQo+
ID4gPiA+ID4gPiA+ID4gJCBzdHJpbmdzIGZpcm13YXJlLmJpbiB8IHRhaWwgLTENCj4gPiA+ID4g
PiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gPiBmb3IgdGhlIGZpcm13YXJlcyB5b3UgdHJpZWQuDQo+
ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gUmVnYXJkcywNCj4gPiA+ID4gPiA+ID4g
PiBBcmVuZA0KPiA+ID4gPiA+ID4gPiBUaGFua3MgZm9yIHRoZSByZXBseSENCj4gPiA+ID4gPiA+
ID4gDQo+ID4gPiA+ID4gPiA+IEhlcmUncyB0aGUgb3V0cHV0Og0KPiA+ID4gPiA+ID4gPiANCj4g
PiA+ID4gPiA+ID4gRm9yIFRlY2huZXhpb24gZmlybXdhcmU6DQo+ID4gPiA+ID4gPiA+IA0KPiA+
ID4gPiA+ID4gPiAjIHN0cmluZ3MgL2xpYi9maXJtd2FyZS9icmNtL2JyY21mbWFjNDMzOS1zZGlv
LmJpbiB8IHRhaWwNCj4gPiA+ID4gPiA+ID4gLTENCj4gPiA+ID4gPiA+ID4gNDMzOWEwLXJvbWwv
c2Rpby1hZy1wb29sLXAycC1wbm8tcGt0ZmlsdGVyLWtlZXBhbGl2ZS1hb2UtDQo+ID4gPiA+ID4g
PiA+IHNyLQ0KPiA+ID4gPiA+ID4gPiBtY2hhbi0NCj4gPiA+ID4gPiA+ID4gcHJvcHR4c3RhdHVz
LWxwYy10ZGxzLWF1dG9hYm4tdHhiZi0NCj4gPiA+ID4gPiA+ID4gcmNjLXdlcHNvLW9rYy1uZG9l
IFZlcnNpb246IDYuMzcuMzIuMjggQ1JDOiAzMDc1ZjEyZQ0KPiA+ID4gPiA+ID4gPiBEYXRlOg0K
PiA+ID4gPiA+ID4gPiBUaHUNCj4gPiA+ID4gPiA+ID4gMjAxNC0wNC0NCj4gPiA+ID4gPiA+ID4g
MDMgMTI6MTU6MzEgQ1NUIEZXSUQgMDEtNGFlNGFkDQo+ID4gPiA+ID4gPiA+IDAzDQo+ID4gPiA+
ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBGb3IgbGludXgtZmlybXdhcmUgYW5kIEJ1aWxkcm9vdCBm
aXJtd2FyZToNCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ICMgc3RyaW5ncyAvbGliL2Zp
cm13YXJlL2JyY20vYnJjbWZtYWM0MzM5LXNkaW8uYmluIHwgdGFpbA0KPiA+ID4gPiA+ID4gPiAt
MQ0KPiA+ID4gPiA+ID4gPiA0MzM5YTAtcm9tbC9zZGlvLWFnLXBvb2wtYXV0b2Fibi1scGMgVmVy
c2lvbjogNi4zNy4zNC4yOA0KPiA+ID4gPiA+ID4gPiBDUkM6DQo+ID4gPiA+ID4gPiA+IGE2OTY4
OTdiDQo+ID4gPiA+ID4gPiA+IERhdGU6IFRodSAyMDE0LTA4LTI4IDE4OjQwOjEyDQo+ID4gPiA+
ID4gPiA+IFBEVCBGV0lEIDAxLWExMzEyMGZjDQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4g
PiBJbiBib3RoIGNhc2VzLCBJIGFtIHVzaW5nIHRoZSBudnJhbSBwcm92aWRlZCBieQ0KPiA+ID4g
PiA+ID4gPiBUZWNobmV4aW9uLg0KPiA+ID4gPiA+ID4gVGhhdCBzaG91bGQgYmUgZmluZS4NCj4g
PiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gQ2FuIHlvdSB0cnkgdGhlIHBhdGNoIGJlbG93LiBJdCB3
b3VsZCBnaXZlIG1lIG1vcmUgaW5mbyBvbg0KPiA+ID4gPiA+ID4gc3RhdGUgb2YNCj4gPiA+ID4g
PiA+IGZpcm13YXJlLg0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBSZWdhcmRzLA0KPiA+ID4g
PiA+ID4gQXJlbmQNCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4g
PiA+ID4gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMv
c2Rpby5jDQo+ID4gPiA+ID4gPiBiL2RyaXZlcnMvbmUNCj4gPiA+ID4gPiA+IGluZGV4IGYzNTU2
MTIuLjYzMWM1Y2IgMTAwNjQ0DQo+ID4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiA+IGEvZHJpdmVy
cy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL3NkaW8uYw0KPiA+ID4g
PiA+ID4gKysrDQo+ID4gPiA+ID4gPiBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2Jy
Y204MDIxMS9icmNtZm1hYy9zZGlvLmMNCj4gPiA+ID4gPiA+IEBAIC04MjgsOCArODI4LDI3IEBA
IHN0YXRpYyBpbnQgYnJjbWZfc2Rpb19odGNsayhzdHJ1Y3QNCj4gPiA+ID4gPiA+IGJyY21mX3Nk
aW8NCj4gPiA+ID4gPiA+ICpidXMsDQo+ID4gPiA+ID4gPiBib29sIG9uLA0KPiA+ID4gPiA+ID4g
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0
dXJuIC1FQkFERTsNCj4gPiA+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgfQ0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqBpZiAoIVNCU0RJT19DTEtBVihjbGtjdGwsIGJ1cy0NCj4gPiA+ID4gPiA+ID5hbHBfb25seSkp
IHsNCj4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgc3RydWN0IGJyY21mX2NvcmUgKnBtdSA9DQo+ID4gPiA+ID4gPiBicmNtZl9jaGlwX2dl
dF9wbXUoYnVzLT5jaSk7DQo+ID4gPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoHUzMiByZWdhZGRyOw0KPiA+ID4gPiA+ID4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1MzIgdmFsOw0KPiA+ID4gPiA+ID4g
Kw0KPiA+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgYnJjbWZfZXJyKCJIVCBBdmFpbCB0aW1lb3V0DQo+ID4gPiA+ID4gPiAoJWQp
Og0KPiA+ID4gPiA+ID4gY2xrY3RsDQo+ID4gPiA+ID4gPiAweCUwMnhcbiIsDQo+ID4gPiA+ID4g
PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoFBNVV9NQVhfVFJBTlNJVElPTl9ETFkNCj4gPiA+ID4gPiA+ICwN
Cj4gPiA+ID4gPiA+IGNsa2N0bCk7DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC8qIERFQlVHIElORk8gKi8N
Cj4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgcmVnYWRkciA9IENPUkVfQ0NfUkVHKHBtdS0+YmFzZSwNCj4gPiA+ID4gPiA+IHBtdWNvbnRy
b2wpOw0KPiA+ID4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqB2YWwgPSBicmNtZl9zZGlvZF9yZWdybChidXMtDQo+ID4gPiA+ID4gPiA+c2Rpb2Rl
diwNCj4gPiA+ID4gPiA+IHJlZ2FkZHIsDQo+ID4gPiA+ID4gPiAmZXJyKTsNCj4gPiA+ID4gPiA+
ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgYnJjbWZfZXJy
KCLCoMKgcG11Y29udHJvbMKgwqDCoD0NCj4gPiA+ID4gPiA+ICUwOHhcbiIsDQo+ID4gPiA+ID4g
PiB2YWwpOw0KPiA+ID4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqByZWdhZGRyID0gQ09SRV9DQ19SRUcocG11LT5iYXNlLA0KPiA+ID4gPiA+ID4g
cG11c3RhdHVzKTsNCj4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgdmFsID0gYnJjbWZfc2Rpb2RfcmVncmwoYnVzLQ0KPiA+ID4gPiA+ID4g
PnNkaW9kZXYsDQo+ID4gPiA+ID4gPiByZWdhZGRyLA0KPiA+ID4gPiA+ID4gJmVycik7DQo+ID4g
PiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGJy
Y21mX2VycigiwqDCoHBtdXN0YXR1c8KgwqDCoMKgPQ0KPiA+ID4gPiA+ID4gJTA4eFxuIiwNCj4g
PiA+ID4gPiA+IHZhbCk7DQo+ID4gPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoHJlZ2FkZHIgPSBDT1JFX0NDX1JFRyhwbXUtPmJhc2UsDQo+ID4g
PiA+ID4gPiBtaW5fcmVzX21hc2spOw0KPiA+ID4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB2YWwgPSBicmNtZl9zZGlvZF9yZWdybChidXMtDQo+
ID4gPiA+ID4gPiA+c2Rpb2RldiwNCj4gPiA+ID4gPiA+IHJlZ2FkZHIsDQo+ID4gPiA+ID4gPiAm
ZXJyKTsNCj4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgYnJjbWZfZXJyKCLCoMKgbWluX3Jlc19tYXNrID0NCj4gPiA+ID4gPiA+ICUwOHhc
biIsDQo+ID4gPiA+ID4gPiB2YWwpOw0KPiA+ID4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZWdhZGRyID0gQ09SRV9DQ19SRUcocG11LT5iYXNl
LA0KPiA+ID4gPiA+ID4gbWF4X3Jlc19tYXNrKTsNCj4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdmFsID0gYnJjbWZfc2Rpb2RfcmVncmwo
YnVzLQ0KPiA+ID4gPiA+ID4gPnNkaW9kZXYsDQo+ID4gPiA+ID4gPiByZWdhZGRyLA0KPiA+ID4g
PiA+ID4gJmVycik7DQo+ID4gPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoGJyY21mX2VycigiwqDCoG1heF9yZXNfbWFzayA9DQo+ID4gPiA+ID4g
PiAlMDh4XG4iLA0KPiA+ID4gPiA+ID4gdmFsKTsNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+
IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJl
dHVybiAtRUJBREU7DQo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoH0NCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gSGVyZSdzIHRo
ZSBvdXRwdXQgZm9yIGJvdGggZmlybXdhcmVzOg0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IFRlY2hu
ZXhpb246DQo+ID4gPiA+ID4gIyBkbWVzZyB8IGdyZXAgYnJjbWZtYWMNCj4gPiA+ID4gPiBbwqDC
oMKgwqA1LjMwNzA2N10gYnJjbWZtYWM6IGJyY21mX2Z3X21hcF9jaGlwX3RvX25hbWU6IHVzaW5n
DQo+ID4gPiA+ID4gYnJjbS9icmNtZm1hYzQzMzktc2Rpby5iaW4gZm9yIGNoaXAgMHgwMDQzMw0K
PiA+ID4gPiA+IDkoMTcyMDkpIHJldiAweDAwMDAwMg0KPiA+ID4gPiA+IFvCoMKgwqDCoDYuNDAw
NzkyXSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazogSFQgQXZhaWwgdGltZW91dA0KPiA+ID4g
PiA+ICgxMDAwMDAwKToNCj4gPiA+ID4gPiBjbGtjdGwgMHg1MA0KPiA+ID4gPiA+IFvCoMKgwqDC
oDYuNDA4NDQ0XSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazrCoMKgwqBwbXVjb250cm9swqDC
oMKgPQ0KPiA+ID4gPiA+IDAxNzc0MzgxDQo+ID4gPiA+ID4gW8KgwqDCoMKgNi40MTU1OTVdIGJy
Y21mbWFjOiBicmNtZl9zZGlvX2h0Y2xrOsKgwqDCoHBtdXN0YXR1c8KgwqDCoMKgPQ0KPiA+ID4g
PiA+IDAwMDAwMDJhDQo+ID4gPiA+ID4gW8KgwqDCoMKgNi40MjE5MTVdIGJyY21mbWFjOiBicmNt
Zl9zZGlvX2h0Y2xrOsKgwqDCoG1pbl9yZXNfbWFzayA9DQo+ID4gPiA+ID4gMGZjYWZmNzcNCj4g
PiA+ID4gPiBbwqDCoMKgwqA2LjQyODEyNF0gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRjbGs6wqDC
oMKgbWF4X3Jlc19tYXNrID0NCj4gPiA+ID4gPiAwZmNlZmY3Nw0KPiA+ID4gPiA+IFvCoMKgwqDC
oDcuNDgyNjY4XSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazogSFQgQXZhaWwgdGltZW91dA0K
PiA+ID4gPiA+ICgxMDAwMDAwKToNCj4gPiA+ID4gPiBjbGtjdGwgMHg1MA0KPiA+ID4gPiA+IFvC
oMKgwqDCoDcuNDkwMjE0XSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazrCoMKgwqBwbXVjb250
cm9swqDCoMKgPQ0KPiA+ID4gPiA+IDAxNzc0MzgxDQo+ID4gPiA+ID4gW8KgwqDCoMKgNy40OTY0
MTRdIGJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xrOsKgwqDCoHBtdXN0YXR1c8KgwqDCoMKgPQ0K
PiA+ID4gPiA+IDAwMDAwMDJhDQo+ID4gPiA+ID4gW8KgwqDCoMKgNy41MDM4NzNdIGJyY21mbWFj
OiBicmNtZl9zZGlvX2h0Y2xrOsKgwqDCoG1pbl9yZXNfbWFzayA9DQo+ID4gPiA+ID4gMGZjYWZm
NzcNCj4gPiA+ID4gPiBbwqDCoMKgwqA3LjUxMDE4Ml0gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRj
bGs6wqDCoMKgbWF4X3Jlc19tYXNrID0NCj4gPiA+ID4gPiAwZmNlZmY3Nw0KPiA+ID4gPiA+ICPC
oMKgc3RyaW5ncyAvbGliL2Zpcm13YXJlL2JyY20vYnJjbWZtYWM0MzM5LXNkaW8uYmluIHwgdGFp
bCAtMQ0KPiA+ID4gPiA+IDQzMzlhMC1yb21sL3NkaW8tYWctcG9vbC1wMnAtcG5vLXBrdGZpbHRl
ci1rZWVwYWxpdmUtYW9lLXNyLQ0KPiA+ID4gPiA+IG1jaGFuLQ0KPiA+ID4gPiA+IHByb3B0eHN0
YXR1cy1scGMtdGRscy1hdXRvYWJuLXR4YmYtDQo+ID4gPiA+ID4gcmNjLXdlcHNvLW9rYy1uZG9l
IFZlcnNpb246IDYuMzcuMzIuMjggQ1JDOiAzMDc1ZjEyZSBEYXRlOg0KPiA+ID4gPiA+IFRodQ0K
PiA+ID4gPiA+IDIwMTQtMDQtDQo+ID4gPiA+ID4gMDMgMTI6MTU6MzEgQ1NUIEZXSUQgMDEtNGFl
NGFkDQo+ID4gPiA+ID4gMDMNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBCdWlsZHJvb3Q6DQo+ID4g
PiA+ID4gIyBkbWVzZyB8IGdyZXAgYnJjbWZtYWMNCj4gPiA+ID4gPiBbwqDCoMKgwqA1LjM0MzEx
OF0gYnJjbWZtYWM6IGJyY21mX2Z3X21hcF9jaGlwX3RvX25hbWU6IHVzaW5nDQo+ID4gPiA+ID4g
YnJjbS9icmNtZm1hYzQzMzktc2Rpby5iaW4gZm9yIGNoaXAgMHgwMDQzMw0KPiA+ID4gPiA+IDko
MTcyMDkpIHJldiAweDAwMDAwMg0KPiA+ID4gPiA+IFvCoMKgwqDCoDYuNDIwMDcwXSBicmNtZm1h
YzogYnJjbWZfc2Rpb19odGNsazogSFQgQXZhaWwgdGltZW91dA0KPiA+ID4gPiA+ICgxMDAwMDAw
KToNCj4gPiA+ID4gPiBjbGtjdGwgMHg1MA0KPiA+ID4gPiA+IFvCoMKgwqDCoDYuNDI3NzIyXSBi
cmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazrCoMKgwqBwbXVjb250cm9swqDCoMKgPQ0KPiA+ID4g
PiA+IDAxNzc0MzgxDQo+ID4gPiA+ID4gW8KgwqDCoMKgNi40MzQ4NjVdIGJyY21mbWFjOiBicmNt
Zl9zZGlvX2h0Y2xrOsKgwqDCoHBtdXN0YXR1c8KgwqDCoMKgPQ0KPiA+ID4gPiA+IDAwMDAwMDJh
DQo+ID4gPiA+ID4gW8KgwqDCoMKgNi40NDExNzRdIGJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xr
OsKgwqDCoG1pbl9yZXNfbWFzayA9DQo+ID4gPiA+ID4gMGZjYWZmNzcNCj4gPiA+ID4gPiBbwqDC
oMKgwqA2LjQ0NzM3OV0gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRjbGs6wqDCoMKgbWF4X3Jlc19t
YXNrID0NCj4gPiA+ID4gPiAwZmNlZmY3Nw0KPiA+ID4gPiA+IFvCoMKgwqDCoDcuNTAyNjUzXSBi
cmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazogSFQgQXZhaWwgdGltZW91dA0KPiA+ID4gPiA+ICgx
MDAwMDAwKToNCj4gPiA+ID4gPiBjbGtjdGwgMHg1MA0KPiA+ID4gPiA+IFvCoMKgwqDCoDcuNTEw
MjAwXSBicmNtZm1hYzogYnJjbWZfc2Rpb19odGNsazrCoMKgwqBwbXVjb250cm9swqDCoMKgPQ0K
PiA+ID4gPiA+IDAxNzc0MzgxDQo+ID4gPiA+ID4gW8KgwqDCoMKgNy41MTYzOThdIGJyY21mbWFj
OiBicmNtZl9zZGlvX2h0Y2xrOsKgwqDCoHBtdXN0YXR1c8KgwqDCoMKgPQ0KPiA+ID4gPiA+IDAw
MDAwMDJhDQo+ID4gPiA+ID4gW8KgwqDCoMKgNy41MjM4MjZdIGJyY21mbWFjOiBicmNtZl9zZGlv
X2h0Y2xrOsKgwqDCoG1pbl9yZXNfbWFzayA9DQo+ID4gPiA+ID4gMGZjYWZmNzcNCj4gPiA+ID4g
PiBbwqDCoMKgwqA3LjUzMDExN10gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRjbGs6wqDCoMKgbWF4
X3Jlc19tYXNrID0NCj4gPiA+ID4gPiAwZmNlZmY3Nw0KPiA+ID4gPiA+ICMgc3RyaW5ncyAvbGli
L2Zpcm13YXJlL2JyY20vYnJjbWZtYWM0MzM5LXNkaW8uYmluIHwgdGFpbCAtMQ0KPiA+ID4gPiA+
IDQzMzlhMC1yb21sL3NkaW8tYWctcG9vbC1hdXRvYWJuLWxwYyBWZXJzaW9uOiA2LjM3LjM0LjI4
IENSQzoNCj4gPiA+ID4gPiBhNjk2ODk3Yg0KPiA+ID4gPiA+IERhdGU6IFRodSAyMDE0LTA4LTI4
IDE4OjQwOjEyDQo+ID4gPiA+ID4gUERUIEZXSUQgMDEtYTEzMTIwZmMNCj4gPiA+ID4gVGhhbmtz
IGZvciB0aGUgaW5mby4gVGhlIHBtdXN0YXR1cyBpbmRlZWQgc2hvd3MgdGhlcmUgaXMgbm8gSFQN
Cj4gPiA+ID4gY2xvY2sgZm9yDQo+ID4gPiA+IHRoZSBiYWNrcGxhbmUuIFdpbGwgaGF2ZSB0byBk
aXNjdXNzIHdpdGggaC93IGd1eXMuIE1lYW53aGlsZSwNCj4gPiA+ID4gY2FuDQo+ID4gPiA+IHlv
dQ0KPiA+ID4gPiB0cnkgdGhlIHBhdGNoIGJlbG93LiBJdCB3aWxsIGNyZWF0ZSBhIG1lbW9yeSBk
dW1wIG9mIHRoZSBkZXZpY2UNCj4gPiA+ID4gdXNpbmcNCj4gPiA+ID4gdGhlIGRldl9jb3JlZHVt
cCBmcmFtZXdvcmssIGllLiB1bmRlciAvc3lzL2NsYXNzL2RldmNvcmVkdW1wLy4NCj4gPiA+ID4g
SXQNCj4gPiA+ID4gd2lsbA0KPiA+ID4gPiBwcm9iYWJseSBjcmVhdGUgdHdvIGR1bXBzIGFzIHRo
ZSBlcnJvciBvY2N1cnMgdHdpY2UgZHVyaW5nDQo+ID4gPiA+IHByb2JlLg0KPiA+ID4gPiBKdXN0
DQo+ID4gPiA+IHNlbnQgbWUgdGhlIGZpcnN0IG9yIHB1dCBpdCBzb21ld2hlcmUgb24gaW50ZXJu
ZXQgc28gSSBjYW4NCj4gPiA+ID4gZG93bmxvYWQNCj4gPiA+ID4gaXQNCj4gPiA+ID4gYW5kIGhh
dmUgYSBsb29rIGF0IGl0Lg0KPiA+ID4gd2l0aCBwYXRjaCA6LSgNCj4gPiA+IA0KPiA+ID4gZGlm
ZiAtLWdpdA0KPiA+ID4gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEv
YnJjbWZtYWMvc2Rpby5jDQo+ID4gPiBiL2RyaXZlcnMvbmUNCj4gPiA+IGluZGV4IGYzNTU2MTIu
LmY3ZGVkOTEgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNv
bS9icmNtODAyMTEvYnJjbWZtYWMvc2Rpby5jDQo+ID4gPiArKysgYi9kcml2ZXJzL25ldC93aXJl
bGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvc2Rpby5jDQo+ID4gPiBAQCAtODMwLDYg
KzgzMCwxMSBAQCBzdGF0aWMgaW50IGJyY21mX3NkaW9faHRjbGsoc3RydWN0DQo+ID4gPiBicmNt
Zl9zZGlvDQo+ID4gPiAqYnVzLA0KPiA+ID4gYm9vbCBvbiwNCj4gPiA+IMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmICghU0JTRElPX0NMS0FWKGNsa2N0bCwgYnVzLT5hbHBf
b25seSkpIHsNCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqBicmNtZl9lcnIoIkhUIEF2YWlsIHRpbWVvdXQgKCVkKToNCj4gPiA+IGNsa2N0
bA0KPiA+ID4gMHglMDJ4XG4iLA0KPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgUE1VX01BWF9UUkFOU0lU
SU9OX0RMWSwNCj4gPiA+IGNsa2N0bCk7DQo+ID4gPiArDQo+ID4gPiArwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC8qIERFQlVHIElORk8gKi8NCj4gPiA+ICvC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgYnJjbWZfZGVidWdf
Y3JlYXRlX21lbWR1bXAoYnVzLT5zZGlvZGV2LQ0KPiA+ID4gPiANCj4gPiA+ID4gYnVzX2lmLA0K
PiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBOVUxMLCAw
KTsNCj4gPiA+ICsNCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqByZXR1cm4gLUVCQURFOw0KPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgfQ0KPiA+ID4gDQo+ID4gPiANCj4gPiBJIGFtIGFwcGx5aW5nIHRoaXMg
cGF0Y2ggYW5kIGFwcGFyZW50bHkgdGhlIGR1bXBzIGFyZSBub3QgY3JlYXRlZC4NCj4gPiANCj4g
PiAjIGxzIC9zeXMvY2xhc3MvZGV2Y29yZWR1bXAvDQo+ID4gZGlzYWJsZWQNCj4gPiANCj4gPiBJ
cyB0aGVyZSBzb21ldGhpbmcgZWxzZSBJIG5lZWQgdG8gbW9kaWZ5PyBJIGFtIHVzaW5nIG1haW5s
aW5lDQo+ID4ga2VybmVsLg0KPiBZb3UgbmVlZCB0byBidWlsZCBicmNtZm1hYyB3aXRoIENPTkZJ
R19CUkNNREJHIHNldCBpbiBLY29uZmlnLiBOb3QNCj4gc3VyZcKgDQo+IGlmIHlvdSBhbHJlYWR5
IGhhdmUgdGhhdC4gSSBhc3N1bWUgYSBjYXQgb2YgdGhhdCAnZGlzYWJsZWQnIGZpbGUNCj4gd2l0
aMKgDQo+IHNob3cgJzAnLg0KPiANCj4gUmVnYXJkcywNCj4gQXJlbmQNCj4gDQoNClNvcnJ5IGZv
ciB0aGUgZGVsYXllZCBhbnN3ZXIsIEkgaGFkIHNvbWUgdHJvdWJsZSB0byBjb3B5IHRoZSBzeW1s
aW5rcw0KZmlsZXMgY29ycmV0bHkgZnJvbSAvc3lzL2NsYXNzL2RldmNvcmVkdW1wLg0KDQpJIHVw
bG9hZGVkIHRoaXMgZm9sZGVyIHRvOiBodHRwczovL2RyaXZlLmdvb2dsZS5jb20vb3Blbj9pZD0x
Zm9zYWhqTE4xSw0KSTVOS1M1OV9hUFpkSExwRU5QRkh0Sw0KDQpUaGFua3MhDQoNClJlZ2FyZHMs
DQpWYW5lc3Nh

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-11-23 15:24                       ` Vanessa Maegima
@ 2017-11-30 12:31                         ` Arend van Spriel
  2017-12-04 19:00                           ` Vanessa Maegima
  0 siblings, 1 reply; 35+ messages in thread
From: Arend van Spriel @ 2017-11-30 12:31 UTC (permalink / raw)
  To: Vanessa Maegima, van.ayumi; +Cc: linux-wireless, embed3d

[-- Attachment #1: Type: text/plain, Size: 1827 bytes --]

On 11/23/2017 4:24 PM, Vanessa Maegima wrote:
>>>>>> 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

It toook me a while to look into this. Unfortunately I do not have a 
4339 to replicate your issue. The closest I have is a 4335. What looks 
wrong here is the max_res_mask because the HT Avail resource is bit 29 
which needs to be set in max_res_mask in order to make the request work. 
On my 4335 the max_res_mask is 0x7fffffff before calling 
brcmf_sdio_htclk(). So that is the cause of the failure in 
brcmf_sdio_htclk(). However, now the question is why it is not properly set.

Between your device and mine there is once discrepancy in the pmucontrol 
register, ie. bit 9 is set for your device. According the documentation 
the power-on reset value for this bit is 0 and I don't seen any code in 
our proprietary driver touching it.

> Sorry for the delayed answer, I had some trouble to copy the symlinks
> files corretly from /sys/class/devcoredump.
>
> I uploaded this folder to: https://drive.google.com/open?id=1fosahjLN1K
> I5NKS59_aPZdHLpENPFHtK

That worked nicely. So the firmware seems to crash very early. I have 
rebuilt the firmware to provide me more info. Can you redo the 
devcoredump trick with that firmware.

Regards,
Arend

[-- Attachment #2: 4339a0-sdio-ag-pool-autoabn-lpc.bin --]
[-- Type: application/octet-stream, Size: 493802 bytes --]

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-11-30 12:31                         ` Arend van Spriel
@ 2017-12-04 19:00                           ` Vanessa Maegima
  2017-12-05  9:06                             ` Arend Van Spriel
  0 siblings, 1 reply; 35+ messages in thread
From: Vanessa Maegima @ 2017-12-04 19:00 UTC (permalink / raw)
  To: arend.vanspriel, van.ayumi; +Cc: linux-wireless, embed3d

SGkgQXJlbmQsDQoNCk9uIFF1aSwgMjAxNy0xMS0zMCBhdCAxMzozMSArMDEwMCwgQXJlbmQgdmFu
IFNwcmllbCB3cm90ZToNCj4gT24gMTEvMjMvMjAxNyA0OjI0IFBNLCBWYW5lc3NhIE1hZWdpbWEg
d3JvdGU6DQo+ID4gDQo+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiAN
Cj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+IEJ1aWxkcm9vdDoNCj4gPiA+ID4gPiA+ID4g
IyBkbWVzZyB8IGdyZXAgYnJjbWZtYWMNCj4gPiA+ID4gPiA+ID4gW8KgwqDCoMKgNS4zNDMxMThd
IGJyY21mbWFjOiBicmNtZl9md19tYXBfY2hpcF90b19uYW1lOiB1c2luZw0KPiA+ID4gPiA+ID4g
PiBicmNtL2JyY21mbWFjNDMzOS1zZGlvLmJpbiBmb3IgY2hpcCAweDAwNDMzDQo+ID4gPiA+ID4g
PiA+IDkoMTcyMDkpIHJldiAweDAwMDAwMg0KPiA+ID4gPiA+ID4gPiBbwqDCoMKgwqA2LjQyMDA3
MF0gYnJjbWZtYWM6IGJyY21mX3NkaW9faHRjbGs6IEhUIEF2YWlsDQo+ID4gPiA+ID4gPiA+IHRp
bWVvdXQNCj4gPiA+ID4gPiA+ID4gKDEwMDAwMDApOg0KPiA+ID4gPiA+ID4gPiBjbGtjdGwgMHg1
MA0KPiA+ID4gPiA+ID4gPiBbwqDCoMKgwqA2LjQyNzcyMl0gYnJjbWZtYWM6DQo+ID4gPiA+ID4g
PiA+IGJyY21mX3NkaW9faHRjbGs6wqDCoMKgcG11Y29udHJvbMKgwqDCoD0NCj4gPiA+ID4gPiA+
ID4gMDE3NzQzODENCj4gPiA+ID4gPiA+ID4gW8KgwqDCoMKgNi40MzQ4NjVdIGJyY21mbWFjOg0K
PiA+ID4gPiA+ID4gPiBicmNtZl9zZGlvX2h0Y2xrOsKgwqDCoHBtdXN0YXR1c8KgwqDCoMKgPQ0K
PiA+ID4gPiA+ID4gPiAwMDAwMDAyYQ0KPiA+ID4gPiA+ID4gPiBbwqDCoMKgwqA2LjQ0MTE3NF0g
YnJjbWZtYWM6IGJyY21mX3NkaW9faHRjbGs6wqDCoMKgbWluX3Jlc19tYXNrDQo+ID4gPiA+ID4g
PiA+ID0NCj4gPiA+ID4gPiA+ID4gMGZjYWZmNzcNCj4gPiA+ID4gPiA+ID4gW8KgwqDCoMKgNi40
NDczNzldIGJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xrOsKgwqDCoG1heF9yZXNfbWFzaw0KPiA+
ID4gPiA+ID4gPiA9DQo+ID4gPiA+ID4gPiA+IDBmY2VmZjc3DQo+IEl0IHRvb29rIG1lIGEgd2hp
bGUgdG8gbG9vayBpbnRvIHRoaXMuIFVuZm9ydHVuYXRlbHkgSSBkbyBub3QgaGF2ZSBhwqANCj4g
NDMzOSB0byByZXBsaWNhdGUgeW91ciBpc3N1ZS4gVGhlIGNsb3Nlc3QgSSBoYXZlIGlzIGEgNDMz
NS4gV2hhdA0KPiBsb29rc8KgDQo+IHdyb25nIGhlcmUgaXMgdGhlIG1heF9yZXNfbWFzayBiZWNh
dXNlIHRoZSBIVCBBdmFpbCByZXNvdXJjZSBpcyBiaXQNCj4gMjnCoA0KPiB3aGljaCBuZWVkcyB0
byBiZSBzZXQgaW4gbWF4X3Jlc19tYXNrIGluIG9yZGVyIHRvIG1ha2UgdGhlIHJlcXVlc3QNCj4g
d29yay7CoA0KPiBPbiBteSA0MzM1IHRoZSBtYXhfcmVzX21hc2sgaXMgMHg3ZmZmZmZmZiBiZWZv
cmUgY2FsbGluZ8KgDQo+IGJyY21mX3NkaW9faHRjbGsoKS4gU28gdGhhdCBpcyB0aGUgY2F1c2Ug
b2YgdGhlIGZhaWx1cmUgaW7CoA0KPiBicmNtZl9zZGlvX2h0Y2xrKCkuIEhvd2V2ZXIsIG5vdyB0
aGUgcXVlc3Rpb24gaXMgd2h5IGl0IGlzIG5vdA0KPiBwcm9wZXJseSBzZXQuDQo+IA0KPiBCZXR3
ZWVuIHlvdXIgZGV2aWNlIGFuZCBtaW5lIHRoZXJlIGlzIG9uY2UgZGlzY3JlcGFuY3kgaW4gdGhl
DQo+IHBtdWNvbnRyb2zCoA0KPiByZWdpc3RlciwgaWUuIGJpdCA5IGlzIHNldCBmb3IgeW91ciBk
ZXZpY2UuIEFjY29yZGluZyB0aGUNCj4gZG9jdW1lbnRhdGlvbsKgDQo+IHRoZSBwb3dlci1vbiBy
ZXNldCB2YWx1ZSBmb3IgdGhpcyBiaXQgaXMgMCBhbmQgSSBkb24ndCBzZWVuIGFueSBjb2RlDQo+
IGluwqANCj4gb3VyIHByb3ByaWV0YXJ5IGRyaXZlciB0b3VjaGluZyBpdC4NCj4gDQo+ID4gDQo+
ID4gU29ycnkgZm9yIHRoZSBkZWxheWVkIGFuc3dlciwgSSBoYWQgc29tZSB0cm91YmxlIHRvIGNv
cHkgdGhlDQo+ID4gc3ltbGlua3MNCj4gPiBmaWxlcyBjb3JyZXRseSBmcm9tIC9zeXMvY2xhc3Mv
ZGV2Y29yZWR1bXAuDQo+ID4gDQo+ID4gSSB1cGxvYWRlZCB0aGlzIGZvbGRlciB0bzogaHR0cHM6
Ly9lbWVhMDEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bA0KPiA+IG9vay5jb20vP3VybD1odHRw
cyUzQSUyRiUyRmRyaXZlLmdvb2dsZS5jb20lMkZvcGVuJTNGaWQlM0QxZm9zYWhqTE4NCj4gPiAx
SyZkYXRhPTAyJTdDMDElN0N2YW5lc3NhLm1hZWdpbWElNDBueHAuY29tJTdDYjY0M2U1Nzg3NmU0
NDE0MGFhMzAwDQo+ID4gOGQ1MzdlZTQ0YWElN0M2ODZlYTFkM2JjMmI0YzZmYTkyY2Q5OWM1YzMw
MTYzNSU3QzAlN0MwJTdDNjM2NDc2NDE4OA0KPiA+IDQ5NDY0MjE0JnNkYXRhPUJyc0R6ME5jbTc4
NmcxNjlUUU9xRmxiV3V5bFIxcGMxSmtsRWtxZUwlMkZBMCUzRCZyZXMNCj4gPiBlcnZlZD0wDQo+
ID4gSTVOS1M1OV9hUFpkSExwRU5QRkh0Sw0KPiBUaGF0IHdvcmtlZCBuaWNlbHkuIFNvIHRoZSBm
aXJtd2FyZSBzZWVtcyB0byBjcmFzaCB2ZXJ5IGVhcmx5LiBJDQo+IGhhdmXCoA0KPiByZWJ1aWx0
IHRoZSBmaXJtd2FyZSB0byBwcm92aWRlIG1lIG1vcmUgaW5mby4gQ2FuIHlvdSByZWRvIHRoZcKg
DQo+IGRldmNvcmVkdW1wIHRyaWNrIHdpdGggdGhhdCBmaXJtd2FyZS4NCj4gDQo+IFJlZ2FyZHMs
DQo+IEFyZW5kDQoNClRoYW5rcyBmb3IgeW91ciByZXBseSENCg0KSSB0cmllZCB5b3VyIG5ldyBm
aXJtd2FyZSBhbmQgaGVyZSBpcyB0aGUgb3V0cHV0IChuZXdfZmlybXdhcmUgZm9sZGVyKToNCmh0
dHBzOi8vZHJpdmUuZ29vZ2xlLmNvbS9kcml2ZS9mb2xkZXJzLzFmb3NhaGpMTjFLSTVOS1M1OV9h
UFpkSExwRU5QRkh0DQpLDQoNClRoYW5rcyENCg0KUmVnYXJkcywNClZhbmVzc2E=

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-12-04 19:00                           ` Vanessa Maegima
@ 2017-12-05  9:06                             ` Arend Van Spriel
  2017-12-05 14:58                               ` Vanessa Maegima
  0 siblings, 1 reply; 35+ messages in thread
From: Arend Van Spriel @ 2017-12-05  9:06 UTC (permalink / raw)
  To: Vanessa Maegima; +Cc: van.ayumi, linux-wireless, embed3d

On Mon, Dec 4, 2017 at 8:00 PM, Vanessa Maegima <vanessa.maegima@nxp.com> wrote:
> Hi Arend,
>
> On Qui, 2017-11-30 at 13:31 +0100, Arend van Spriel wrote:
>> On 11/23/2017 4:24 PM, Vanessa Maegima wrote:
>> >
>> > >
>> > > >
>> > > > >
>> > > > > >
>> > > > > > >
>> > > > > > > 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
>> It toook me a while to look into this. Unfortunately I do not have a
>> 4339 to replicate your issue. The closest I have is a 4335. What
>> looks
>> wrong here is the max_res_mask because the HT Avail resource is bit
>> 29
>> which needs to be set in max_res_mask in order to make the request
>> work.
>> On my 4335 the max_res_mask is 0x7fffffff before calling
>> brcmf_sdio_htclk(). So that is the cause of the failure in
>> brcmf_sdio_htclk(). However, now the question is why it is not
>> properly set.
>>
>> Between your device and mine there is once discrepancy in the
>> pmucontrol
>> register, ie. bit 9 is set for your device. According the
>> documentation
>> the power-on reset value for this bit is 0 and I don't seen any code
>> in
>> our proprietary driver touching it.
>>
>> >
>> > Sorry for the delayed answer, I had some trouble to copy the
>> > symlinks
>> > files corretly from /sys/class/devcoredump.
>> >
>> > I uploaded this folder to: https://emea01.safelinks.protection.outl
>> > ook.com/?url=https%3A%2F%2Fdrive.google.com%2Fopen%3Fid%3D1fosahjLN
>> > 1K&data=02%7C01%7Cvanessa.maegima%40nxp.com%7Cb643e57876e44140aa300
>> > 8d537ee44aa%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6364764188
>> > 49464214&sdata=BrsDz0Ncm786g169TQOqFlbWuylR1pc1JklEkqeL%2FA0%3D&res
>> > erved=0
>> > I5NKS59_aPZdHLpENPFHtK
>> That worked nicely. So the firmware seems to crash very early. I
>> have
>> rebuilt the firmware to provide me more info. Can you redo the
>> devcoredump trick with that firmware.
>>
>> Regards,
>> Arend
>
> Thanks for your reply!
>
> I tried your new firmware and here is the output (new_firmware folder):
> https://drive.google.com/drive/folders/1fosahjLN1KI5NKS59_aPZdHLpENPFHt
> K

Hi Vanessa.

The only file of interest is one named 'data' and it is not present in
the new folder. These core dumps are removed from the filesystem after
some timeout (not sure how long) so that may be the reason.

Regards,
Arend

> Thanks!
>
> Regards,
> Vanessa

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-12-05  9:06                             ` Arend Van Spriel
@ 2017-12-05 14:58                               ` Vanessa Maegima
  2018-01-15 20:08                                 ` Fabio Estevam
  0 siblings, 1 reply; 35+ messages in thread
From: Vanessa Maegima @ 2017-12-05 14:58 UTC (permalink / raw)
  To: arend.vanspriel; +Cc: linux-wireless, van.ayumi, embed3d

T24gVGVyLCAyMDE3LTEyLTA1IGF0IDEwOjA2ICswMTAwLCBBcmVuZCBWYW4gU3ByaWVsIHdyb3Rl
Og0KPiBPbiBNb24sIERlYyA0LCAyMDE3IGF0IDg6MDAgUE0sIFZhbmVzc2EgTWFlZ2ltYSA8dmFu
ZXNzYS5tYWVnaW1hQG54cC4NCj4gY29tPiB3cm90ZToNCj4gPiANCj4gPiBIaSBBcmVuZCwNCj4g
PiANCj4gPiBPbiBRdWksIDIwMTctMTEtMzAgYXQgMTM6MzEgKzAxMDAsIEFyZW5kIHZhbiBTcHJp
ZWwgd3JvdGU6DQo+ID4gPiANCj4gPiA+IE9uIDExLzIzLzIwMTcgNDoyNCBQTSwgVmFuZXNzYSBN
YWVnaW1hIHdyb3RlOg0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4g
DQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+
ID4gDQo+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ID4g
PiANCj4gPiA+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiA+ID4gQnVpbGRyb290Og0KPiA+
ID4gPiA+ID4gPiA+ID4gIyBkbWVzZyB8IGdyZXAgYnJjbWZtYWMNCj4gPiA+ID4gPiA+ID4gPiA+
IFvCoMKgwqDCoDUuMzQzMTE4XSBicmNtZm1hYzogYnJjbWZfZndfbWFwX2NoaXBfdG9fbmFtZToN
Cj4gPiA+ID4gPiA+ID4gPiA+IHVzaW5nDQo+ID4gPiA+ID4gPiA+ID4gPiBicmNtL2JyY21mbWFj
NDMzOS1zZGlvLmJpbiBmb3IgY2hpcCAweDAwNDMzDQo+ID4gPiA+ID4gPiA+ID4gPiA5KDE3MjA5
KSByZXYgMHgwMDAwMDINCj4gPiA+ID4gPiA+ID4gPiA+IFvCoMKgwqDCoDYuNDIwMDcwXSBicmNt
Zm1hYzogYnJjbWZfc2Rpb19odGNsazogSFQgQXZhaWwNCj4gPiA+ID4gPiA+ID4gPiA+IHRpbWVv
dXQNCj4gPiA+ID4gPiA+ID4gPiA+ICgxMDAwMDAwKToNCj4gPiA+ID4gPiA+ID4gPiA+IGNsa2N0
bCAweDUwDQo+ID4gPiA+ID4gPiA+ID4gPiBbwqDCoMKgwqA2LjQyNzcyMl0gYnJjbWZtYWM6DQo+
ID4gPiA+ID4gPiA+ID4gPiBicmNtZl9zZGlvX2h0Y2xrOsKgwqDCoHBtdWNvbnRyb2zCoMKgwqA9
DQo+ID4gPiA+ID4gPiA+ID4gPiAwMTc3NDM4MQ0KPiA+ID4gPiA+ID4gPiA+ID4gW8KgwqDCoMKg
Ni40MzQ4NjVdIGJyY21mbWFjOg0KPiA+ID4gPiA+ID4gPiA+ID4gYnJjbWZfc2Rpb19odGNsazrC
oMKgwqBwbXVzdGF0dXPCoMKgwqDCoD0NCj4gPiA+ID4gPiA+ID4gPiA+IDAwMDAwMDJhDQo+ID4g
PiA+ID4gPiA+ID4gPiBbwqDCoMKgwqA2LjQ0MTE3NF0gYnJjbWZtYWM6DQo+ID4gPiA+ID4gPiA+
ID4gPiBicmNtZl9zZGlvX2h0Y2xrOsKgwqDCoG1pbl9yZXNfbWFzaw0KPiA+ID4gPiA+ID4gPiA+
ID4gPQ0KPiA+ID4gPiA+ID4gPiA+ID4gMGZjYWZmNzcNCj4gPiA+ID4gPiA+ID4gPiA+IFvCoMKg
wqDCoDYuNDQ3Mzc5XSBicmNtZm1hYzoNCj4gPiA+ID4gPiA+ID4gPiA+IGJyY21mX3NkaW9faHRj
bGs6wqDCoMKgbWF4X3Jlc19tYXNrDQo+ID4gPiA+ID4gPiA+ID4gPiA9DQo+ID4gPiA+ID4gPiA+
ID4gPiAwZmNlZmY3Nw0KPiA+ID4gSXQgdG9vb2sgbWUgYSB3aGlsZSB0byBsb29rIGludG8gdGhp
cy4gVW5mb3J0dW5hdGVseSBJIGRvIG5vdA0KPiA+ID4gaGF2ZSBhDQo+ID4gPiA0MzM5IHRvIHJl
cGxpY2F0ZSB5b3VyIGlzc3VlLiBUaGUgY2xvc2VzdCBJIGhhdmUgaXMgYSA0MzM1LiBXaGF0DQo+
ID4gPiBsb29rcw0KPiA+ID4gd3JvbmcgaGVyZSBpcyB0aGUgbWF4X3Jlc19tYXNrIGJlY2F1c2Ug
dGhlIEhUIEF2YWlsIHJlc291cmNlIGlzDQo+ID4gPiBiaXQNCj4gPiA+IDI5DQo+ID4gPiB3aGlj
aCBuZWVkcyB0byBiZSBzZXQgaW4gbWF4X3Jlc19tYXNrIGluIG9yZGVyIHRvIG1ha2UgdGhlDQo+
ID4gPiByZXF1ZXN0DQo+ID4gPiB3b3JrLg0KPiA+ID4gT24gbXkgNDMzNSB0aGUgbWF4X3Jlc19t
YXNrIGlzIDB4N2ZmZmZmZmYgYmVmb3JlIGNhbGxpbmcNCj4gPiA+IGJyY21mX3NkaW9faHRjbGso
KS4gU28gdGhhdCBpcyB0aGUgY2F1c2Ugb2YgdGhlIGZhaWx1cmUgaW4NCj4gPiA+IGJyY21mX3Nk
aW9faHRjbGsoKS4gSG93ZXZlciwgbm93IHRoZSBxdWVzdGlvbiBpcyB3aHkgaXQgaXMgbm90DQo+
ID4gPiBwcm9wZXJseSBzZXQuDQo+ID4gPiANCj4gPiA+IEJldHdlZW4geW91ciBkZXZpY2UgYW5k
IG1pbmUgdGhlcmUgaXMgb25jZSBkaXNjcmVwYW5jeSBpbiB0aGUNCj4gPiA+IHBtdWNvbnRyb2wN
Cj4gPiA+IHJlZ2lzdGVyLCBpZS4gYml0IDkgaXMgc2V0IGZvciB5b3VyIGRldmljZS4gQWNjb3Jk
aW5nIHRoZQ0KPiA+ID4gZG9jdW1lbnRhdGlvbg0KPiA+ID4gdGhlIHBvd2VyLW9uIHJlc2V0IHZh
bHVlIGZvciB0aGlzIGJpdCBpcyAwIGFuZCBJIGRvbid0IHNlZW4gYW55DQo+ID4gPiBjb2RlDQo+
ID4gPiBpbg0KPiA+ID4gb3VyIHByb3ByaWV0YXJ5IGRyaXZlciB0b3VjaGluZyBpdC4NCj4gPiA+
IA0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IFNvcnJ5IGZvciB0aGUgZGVsYXllZCBhbnN3
ZXIsIEkgaGFkIHNvbWUgdHJvdWJsZSB0byBjb3B5IHRoZQ0KPiA+ID4gPiBzeW1saW5rcw0KPiA+
ID4gPiBmaWxlcyBjb3JyZXRseSBmcm9tIC9zeXMvY2xhc3MvZGV2Y29yZWR1bXAuDQo+ID4gPiA+
IA0KPiA+ID4gPiBJIHVwbG9hZGVkIHRoaXMgZm9sZGVyIHRvOiBodHRwczovL2VtZWEwMS5zYWZl
bGlua3MucHJvdGVjdGlvbi4NCj4gPiA+ID4gb3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUy
RmVtZWEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsDQo+ID4gPiA+ICZkYXRhPTAyJTdDMDEl
N0N2YW5lc3NhLm1hZWdpbWElNDBueHAuY29tJTdDMjE5MGJlMTIwODIwNGI5ODRiOQ0KPiA+ID4g
PiA2MDhkNTNiYmY4NDMyJTdDNjg2ZWExZDNiYzJiNGM2ZmE5MmNkOTljNWMzMDE2MzUlN0MwJTdD
MCU3QzYzNjQNCj4gPiA+ID4gODA2MTYxMDE4Mzk4MDUmc2RhdGE9dzlEWks1dzFHUFFhT2ZEUGtC
JTJGZkUydGJVYW5JeG16dGR4NTcwRk9ODQo+ID4gPiA+IDR0OCUzRCZyZXNlcnZlZD0wDQo+ID4g
PiA+IG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmRyaXZlLmdvb2dsZS5jb20lMkZvcGVuJTNG
aWQlM0QxZm9zYQ0KPiA+ID4gPiBoakxODQo+ID4gPiA+IDFLJmRhdGE9MDIlN0MwMSU3Q3ZhbmVz
c2EubWFlZ2ltYSU0MG54cC5jb20lN0NiNjQzZTU3ODc2ZTQ0MTQwYQ0KPiA+ID4gPiBhMzAwDQo+
ID4gPiA+IDhkNTM3ZWU0NGFhJTdDNjg2ZWExZDNiYzJiNGM2ZmE5MmNkOTljNWMzMDE2MzUlN0Mw
JTdDMCU3QzYzNjQ3Ng0KPiA+ID4gPiA0MTg4DQo+ID4gPiA+IDQ5NDY0MjE0JnNkYXRhPUJyc0R6
ME5jbTc4NmcxNjlUUU9xRmxiV3V5bFIxcGMxSmtsRWtxZUwlMkZBMCUzRA0KPiA+ID4gPiAmcmVz
DQo+ID4gPiA+IGVydmVkPTANCj4gPiA+ID4gSTVOS1M1OV9hUFpkSExwRU5QRkh0Sw0KPiA+ID4g
VGhhdCB3b3JrZWQgbmljZWx5LiBTbyB0aGUgZmlybXdhcmUgc2VlbXMgdG8gY3Jhc2ggdmVyeSBl
YXJseS4gSQ0KPiA+ID4gaGF2ZQ0KPiA+ID4gcmVidWlsdCB0aGUgZmlybXdhcmUgdG8gcHJvdmlk
ZSBtZSBtb3JlIGluZm8uIENhbiB5b3UgcmVkbyB0aGUNCj4gPiA+IGRldmNvcmVkdW1wIHRyaWNr
IHdpdGggdGhhdCBmaXJtd2FyZS4NCj4gPiA+IA0KPiA+ID4gUmVnYXJkcywNCj4gPiA+IEFyZW5k
DQo+ID4gVGhhbmtzIGZvciB5b3VyIHJlcGx5IQ0KPiA+IA0KPiA+IEkgdHJpZWQgeW91ciBuZXcg
ZmlybXdhcmUgYW5kIGhlcmUgaXMgdGhlIG91dHB1dCAobmV3X2Zpcm13YXJlDQo+ID4gZm9sZGVy
KToNCj4gPiBodHRwczovL2VtZWEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/
dXJsPWh0dHBzJTNBJTJGJTJGDQo+ID4gZHJpdmUuZ29vZ2xlLmNvbSUyRmRyaXZlJTJGZm9sZGVy
cyUyRjFmb3NhaGpMTjFLSTVOS1M1OV9hUFpkSExwRU5QRg0KPiA+IEh0JmRhdGE9MDIlN0MwMSU3
Q3ZhbmVzc2EubWFlZ2ltYSU0MG54cC5jb20lN0MyMTkwYmUxMjA4MjA0Yjk4NGI5NjANCj4gPiA4
ZDUzYmJmODQzMiU3QzY4NmVhMWQzYmMyYjRjNmZhOTJjZDk5YzVjMzAxNjM1JTdDMCU3QzAlN0M2
MzY0ODA2MTYxDQo+ID4gMDE4Mzk4MDUmc2RhdGE9YUV6SU43WGkwUjQ1R3NFWmpjVjBITE1iM2VJ
UUlyb2lLT1luTmdlMkhrOCUzRCZyZXNlcg0KPiA+IHZlZD0wDQo+ID4gSw0KPiBIaSBWYW5lc3Nh
Lg0KPiANCj4gVGhlIG9ubHkgZmlsZSBvZiBpbnRlcmVzdCBpcyBvbmUgbmFtZWQgJ2RhdGEnIGFu
ZCBpdCBpcyBub3QgcHJlc2VudA0KPiBpbg0KPiB0aGUgbmV3IGZvbGRlci4gVGhlc2UgY29yZSBk
dW1wcyBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBmaWxlc3lzdGVtDQo+IGFmdGVyDQo+IHNvbWUgdGlt
ZW91dCAobm90IHN1cmUgaG93IGxvbmcpIHNvIHRoYXQgbWF5IGJlIHRoZSByZWFzb24uDQo+IA0K
DQpIaSBBcmVuZCwNCg0KU29ycnkgZm9yIHRoaXMhDQoNCkkgdXBkYXRlZCB0aGUgZm9sZGVyIG9u
wqBodHRwczovL2RyaXZlLmdvb2dsZS5jb20vZHJpdmUvZm9sZGVycy8xZm9zYWhqTA0KTjFLSTVO
S1M1OV9hUFpkSExwRU5QRkh0Sw0KDQpUaGFua3MhDQoNClJlZ2FyZHMsDQpWYW5lc3NhDQoNCj4g
UmVnYXJkcywNCj4gQXJlbmQNCj4gDQo+ID4gDQo+ID4gVGhhbmtzIQ0KPiA+IA0KPiA+IFJlZ2Fy
ZHMsDQo+ID4gVmFuZXNzYQ==

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2017-12-05 14:58                               ` Vanessa Maegima
@ 2018-01-15 20:08                                 ` Fabio Estevam
  2018-01-16 20:21                                   ` Arend van Spriel
  0 siblings, 1 reply; 35+ messages in thread
From: Fabio Estevam @ 2018-01-15 20:08 UTC (permalink / raw)
  To: Vanessa Maegima; +Cc: arend.vanspriel, linux-wireless, van.ayumi, embed3d

Hi Arend,

On Tue, Dec 5, 2017 at 12:58 PM, Vanessa Maegima
<vanessa.maegima@nxp.com> wrote:

> Hi Arend,
>
> Sorry for this!
>
> I updated the folder on https://drive.google.com/drive/folders/1fosahjL
> N1KI5NKS59_aPZdHLpENPFHtK
>
> Thanks!

Any ideas, please?

Thanks

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2018-01-15 20:08                                 ` Fabio Estevam
@ 2018-01-16 20:21                                   ` Arend van Spriel
  2018-01-18 11:47                                     ` Vanessa Maegima
  0 siblings, 1 reply; 35+ messages in thread
From: Arend van Spriel @ 2018-01-16 20:21 UTC (permalink / raw)
  To: Fabio Estevam, Vanessa Maegima; +Cc: linux-wireless, van.ayumi, embed3d

On 1/15/2018 9:08 PM, Fabio Estevam wrote:
> Hi Arend,
>
> On Tue, Dec 5, 2017 at 12:58 PM, Vanessa Maegima
> <vanessa.maegima@nxp.com> wrote:
>
>> Hi Arend,
>>
>> Sorry for this!
>>
>> I updated the folder on https://drive.google.com/drive/folders/1fosahjL
>> N1KI5NKS59_aPZdHLpENPFHtK
>>
>> Thanks!
>
> Any ideas, please?

Well, the dumps confirm a crash early in the firmware boot. However, I 
could not obtain more information from it. To capture the failure I need 
to rework some firmware functionality which is not trivial and I can not 
claim time for it right now.

Regards,
Arend

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2018-01-16 20:21                                   ` Arend van Spriel
@ 2018-01-18 11:47                                     ` Vanessa Maegima
  2018-01-19  9:02                                       ` Arend van Spriel
  0 siblings, 1 reply; 35+ messages in thread
From: Vanessa Maegima @ 2018-01-18 11:47 UTC (permalink / raw)
  To: arend.vanspriel, festevam; +Cc: linux-wireless, van.ayumi, embed3d

[-- Attachment #1: Type: text/plain, Size: 1557 bytes --]

Hi Arend,

On Ter, 2018-01-16 at 21:21 +0100, Arend van Spriel wrote:
> On 1/15/2018 9:08 PM, Fabio Estevam wrote:
> > 
> > Hi Arend,
> > 
> > On Tue, Dec 5, 2017 at 12:58 PM, Vanessa Maegima
> > <vanessa.maegima@nxp.com> wrote:
> > 
> > > 
> > > Hi Arend,
> > > 
> > > Sorry for this!
> > > 
> > > I updated the folder on https://emea01.safelinks.protection.outlo
> > > ok.com/?url=https%3A%2F%2Fdrive.google.com%2Fdrive%2Ffolders%2F1f
> > > osahjL&data=02%7C01%7Cvanessa.maegima%40nxp.com%7Cf07cd1a6ffb34c0
> > > 961f608d55d1eb901%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63
> > > 6517308901643244&sdata=6JAqSN%2BVPJ%2FCF7cbnBjm8geMKWydWkG9JcUhGB
> > > Pj644%3D&reserved=0
> > > N1KI5NKS59_aPZdHLpENPFHtK
> > > 
> > > Thanks!
> > Any ideas, please?
> Well, the dumps confirm a crash early in the firmware boot. However,
> I 
> could not obtain more information from it. To capture the failure I
> need 
> to rework some firmware functionality which is not trivial and I can
> not 
> claim time for it right now.
> 
> Regards,
> Arend
> 

Thanks for all your investigation here!

I just want to report one more thing that I noticed from my tests.

I have tried to use an html file that I downloaded using wget as the
nvram file (https://github.com/OpenELEC/wlan-firmware/blob/master/firmw
are/brcm/nvram_ap6335.txt) and the wifi seems to work. I have not
noticed the wrong format file until testing it.

Please see attached the file I used as nvram and the log from my test.

Thanks!

Best,
Vanessa

[-- Attachment #2: log_wifi.txt --]
[-- Type: text/plain, Size: 18353 bytes --]

U-Boot 2017.11+fslc+gca0c3f3 (Jan 16 2018 - 12:27:42 -0200)

CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 45C
Reset cause: POR
Board: i.MX7D PICOSOM in non-secure mode
I2C:   ready
DRAM:  1 GiB
PMIC:  PFUZE3000 DEV_ID=0x30 REV_ID=0x11
MMC:   FSL_SDHC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   FEC0
Hit any key to stop autoboot:  0 
8134704 bytes read in 322 ms (24.1 MiB/s)
Booting from mmc ...
27395 bytes read in 108 ms (247.1 KiB/s)
Kernel image @ 0x80800000 [ 0x000000 - 0x7c2030 ]
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 83009b02

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.1-fslc+ga4f7f0a (oe-user@oe-host) (gcc version 7.2.0 (GCC)) #1 SMP 
Tue Jan 16 12:32:44 -02 2018
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Technexion Pico i.MX7D Board
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] cma: Reserved 64 MiB at 0xbc000000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: Using PSCI v0.1 Function IDs from DT
[    0.000000] percpu: Embedded 17 pages/cpu @ef7be000 s40296 r8192 d21144 u69632
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 260608
[    0.000000] Kernel command line: console=ttymxc4,115200 root=PARTUUID=7b01d6c5-01 rootwait rw
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 948792K/1048576K available (11264K kernel code, 851K rwdata, 3532K rodata, 102
4K init, 7726K bss, 34248K reserved, 65536K cma-reserved, 196608K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0c00000   (12256 kB)
[    0.000000]       .init : 0xc1000000 - 0xc1100000   (1024 kB)
[    0.000000]       .data : 0xc1100000 - 0xc11d4d58   ( 852 kB)
[    0.000000]        .bss : 0xc11d6000 - 0xc1961a6c   (7727 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] ftrace: allocating 34900 entries in 103 pages
[    0.000000] Running RCU self tests
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  RCU event tracing is enabled.
[    0.000000]  RCU lockdep checking is enabled.
[    0.000000]  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] arch_timer: cp15 timer(s) running at 8.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idl
e_ns: 440795202120 ns
[    0.000010] sched_clock: 56 bits at 8MHz, resolution 125ns, wraps every 2199023255500ns
[    0.000035] Switching to timer-based delay loop, resolution 125ns
[    0.000503] Switching to timer-based delay loop, resolution 41ns
[    0.000533] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000561] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7963585
1949 ns
[    0.002106] Console: colour dummy device 80x30
[    0.002136] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.002154] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.002172] ... MAX_LOCK_DEPTH:          48
[    0.002190] ... MAX_LOCKDEP_KEYS:        8191
[    0.002208] ... CLASSHASH_SIZE:          4096
[    0.002225] ... MAX_LOCKDEP_ENTRIES:     32768
[    0.002243] ... MAX_LOCKDEP_CHAINS:      65536
[    0.002261] ... CHAINHASH_SIZE:          32768
[    0.002279]  memory used by lock dependency info: 4655 kB
[    0.002297]  per task-struct memory footprint: 1536 bytes
[    0.002357] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoM
IPS (lpj=240000)
[    0.002394] pid_max: default: 32768 minimum: 301
[    0.002719] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.002753] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.004604] CPU: Testing write buffer coherency: ok
[    0.005540] CPU0: update cpu_capacity 1024
[    0.005566] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.006841] Setting up static identity map for 0x80100000 - 0x80100078
[    0.007261] Hierarchical SRCU implementation.
[    0.009076] smp: Bringing up secondary CPUs ...
[    0.011229] CPU1: update cpu_capacity 1024
[    0.011242] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.011848] smp: Brought up 1 node, 2 CPUs
[    0.011885] SMP: Total of 2 processors activated (96.00 BogoMIPS).
[    0.011904] CPU: All CPU(s) started in HYP mode.
[    0.011922] CPU: Virtualization extensions available.
[    0.014117] devtmpfs: initialized
[    0.038021] random: get_random_u32 called from bucket_table_alloc+0xf0/0x254 with crng_init=0
[    0.038300] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.040618] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446
2750000 ns
[    0.040669] futex hash table entries: 512 (order: 3, 32768 bytes)
[    0.044183] pinctrl core: initialized pinctrl subsystem
[    0.048044] NET: Registered protocol family 16
[    0.071734] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.075383] cpuidle: using governor menu
[    0.076328] No ATAGs?
[    0.076626] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.076678] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.087744] imx7d-pinctrl 302c0000.iomuxc-lpsr: initialized IMX pinctrl driver
[    0.090408] imx7d-pinctrl 30330000.iomuxc: initialized IMX pinctrl driver
[    0.093214] vdd1p0d: supplied by regulator-dummy
[    0.093553] vdd1p0d: Bringing 0uV into 800000-800000uV
[    0.179105] mxs-dma 33000000.dma-apbh: initialized
[    0.186209] vgaarb: loaded
[    0.187469] SCSI subsystem initialized
[    0.188786] usbcore: registered new interface driver usbfs
[    0.188989] usbcore: registered new interface driver hub
[    0.189220] usbcore: registered new device driver usb
[    0.189736] usb_phy_generic 30800000.aips-bus:usbphynop1: 30800000.aips-bus:usbphynop1 supply vcc 
not found, using dummy regulator
[    0.190415] usb_phy_generic 30800000.aips-bus:usbphynop3: 30800000.aips-bus:usbphynop3 supply vcc 
not found, using dummy regulator
[    0.191036] usb_phy_generic 30800000.aips-bus:usbphynop2: 30800000.aips-bus:usbphynop2 supply vcc 
not found, using dummy regulator
[    0.193880] i2c i2c-0: IMX I2C adapter registered
[    0.193923] i2c i2c-0: can't use DMA, using PIO instead.
[    0.195480] i2c i2c-3: IMX I2C adapter registered
[    0.195520] i2c i2c-3: can't use DMA, using PIO instead.
[    0.195879] media: Linux media interface: v0.10
[    0.196007] Linux video capture interface: v2.00
[    0.196264] pps_core: LinuxPPS API ver. 1 registered
[    0.196286] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.i
t>
[    0.196353] PTP clock support registered
[    0.197348] Advanced Linux Sound Architecture Driver Initialized.
[    0.199355] random: fast init done
[    0.199708] Bluetooth: Core ver 2.22
[    0.199820] NET: Registered protocol family 31
[    0.199842] Bluetooth: HCI device and connection manager initialized
[    0.199913] Bluetooth: HCI socket layer initialized
[    0.199950] Bluetooth: L2CAP socket layer initialized
[    0.200105] Bluetooth: SCO socket layer initialized
[    0.203205] clocksource: Switched to clocksource arch_sys_counter
[    0.460827] VFS: Disk quotas dquot_6.6.0
[    0.461027] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.491778] NET: Registered protocol family 2
[    0.493828] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    0.494046] TCP bind hash table entries: 8192 (order: 6, 294912 bytes)
[    0.497712] TCP: Hash tables configured (established 8192 bind 8192)
[    0.498181] UDP hash table entries: 512 (order: 3, 40960 bytes)
[    0.498710] UDP-Lite hash table entries: 512 (order: 3, 40960 bytes)
[    0.500023] NET: Registered protocol family 1
[    0.501625] RPC: Registered named UNIX socket transport module.
[    0.501662] RPC: Registered udp transport module.
[    0.501683] RPC: Registered tcp transport module.
[    0.501704] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.507419] workingset: timestamp_bits=30 max_order=18 bucket_order=0
[    0.524560] NFS: Registering the id_resolver key type
[    0.524811] Key type id_resolver registered
[    0.524844] Key type id_legacy registered
[    0.524990] jffs2: version 2.2. (NAND) �੩ 2001-2006 Red Hat, Inc.
[    0.526732] fuse init (API version 7.26)
[    0.538339] bounce: pool size: 64 pages
[    0.538498] io scheduler noop registered
[    0.538522] io scheduler deadline registered
[    0.538886] io scheduler cfq registered (default)
[    0.538911] io scheduler mq-deadline registered
[    0.538933] io scheduler kyber registered
[    0.547092] imx-sdma 30bd0000.sdma: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with e
rror -2
[    0.547194] imx-sdma 30bd0000.sdma: external firmware not found, using ROM firmware
[    0.560404] pfuze100-regulator 3-0008: Full layer: 1, Metal layer: 1
[    0.561328] pfuze100-regulator 3-0008: FAB: 0, FIN: 0
[    0.561353] pfuze100-regulator 3-0008: pfuze3000 found.
[    0.588874] 30a70000.serial: ttymxc4 at MMIO 0x30a70000 (irq = 47, base_baud = 15000000) is a IMX
[    1.444800] console [ttymxc4] enabled
[    1.483788] brd: module loaded
[    1.514465] loop: module loaded
[    1.524854] libphy: Fixed MDIO Bus: probed
[    1.530478] CAN device driver interface
[    1.538334] fec 30be0000.ethernet: 30be0000.ethernet supply phy not found, using dummy regulator
[    1.548877] pps pps0: new PPS source ptp0
[    1.555576] libphy: fec_enet_mii_bus: probed
[    1.564928] fec 30be0000.ethernet eth0: registered PHC device 0
[    1.572255] usbcore: registered new interface driver asix
[    1.577892] usbcore: registered new interface driver ax88179_178a
[    1.584163] usbcore: registered new interface driver cdc_ether
[    1.590118] usbcore: registered new interface driver net1080
[    1.595960] usbcore: registered new interface driver cdc_subset
[    1.602000] usbcore: registered new interface driver zaurus
[    1.607811] usbcore: registered new interface driver cdc_ncm
[    1.613551] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.620102] ehci-pci: EHCI PCI platform driver
[    1.624728] ehci-mxc: Freescale On-Chip EHCI Host driver
[    1.630741] usbcore: registered new interface driver usb-storage
[    1.650879] ci_hdrc ci_hdrc.1: EHCI Host Controller
[    1.656151] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
[    1.693216] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[    1.702267] hub 1-0:1.0: USB hub found
[    1.706409] hub 1-0:1.0: 1 port detected
[    1.715996] input: 30370000.snvs:snvs-powerkey as /devices/platform/soc/30000000.aips-bus/30370000
.snvs/30370000.snvs:snvs-powerkey/input/input0
[    1.734744] snvs_rtc 30370000.snvs:snvs-rtc-lp: rtc core: registered 30370000.snvs:snvs-rtc-lp as 
rtc0
[    1.744436] i2c /dev entries driver
[    1.749859] IR NEC protocol handler initialized
[    1.754502] IR RC5(x/sz) protocol handler initialized
[    1.759580] IR RC6 protocol handler initialized
[    1.764200] IR JVC protocol handler initialized
[    1.768756] IR Sony protocol handler initialized
[    1.773441] IR SANYO protocol handler initialized
[    1.778169] IR Sharp protocol handler initialized
[    1.782897] IR MCE Keyboard/mouse protocol handler initialized
[    1.788806] IR XMP protocol handler initialized
[    1.798578] imx2-wdt 30280000.wdog: timeout 60 sec (nowayout=0)
[    1.804957] Bluetooth: HCI UART driver ver 2.3
[    1.809430] Bluetooth: HCI UART protocol H4 registered
[    1.817702] sdhci: Secure Digital Host Controller Interface driver
[    1.823989] sdhci: Copyright(c) Pierre Ossman
[    1.828369] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.903565] mmc0: SDHCI controller on 30b50000.usdhc [30b50000.usdhc] using ADMA
[    1.931494] mmc0: queuing unknown CIS tuple 0x80 (2 bytes)
[    1.939174] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[    1.946719] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[    1.957651] mmc0: queuing unknown CIS tuple 0x80 (7 bytes)
[    1.983213] mmc1: SDHCI controller on 30b60000.usdhc [30b60000.usdhc] using ADMA
[    2.000514] usbcore: registered new interface driver usbhid
[    2.006301] usbhid: USB HID core driver
[    2.030590] sgtl5000 0-000a: sgtl5000 revision 0x11
[    2.039538] sgtl5000 0-000a: Using internal LDO instead of VDDD: check ER1
[    2.079799] mmc1: new DDR MMC card at address 0001
[    2.087712] mmcblk1: mmc1:0001 M62704 3.56 GiB 
[    2.093293] mmcblk1boot0: mmc1:0001 M62704 partition 1 2.00 MiB
[    2.099888] mmcblk1boot1: mmc1:0001 M62704 partition 2 2.00 MiB
[    2.116730] mmcblk1rpmb: mmc1:0001 M62704 partition 3 512 KiB
[    2.128627]  mmcblk1: p1
[    2.137262] mmc0: new high speed SDIO card at address 0001
[    2.151702] NET: Registered protocol family 10
[    2.159838] Segment Routing with IPv6
[    2.163829] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.171635] NET: Registered protocol family 17
[    2.176209] can: controller area network core (rev 20170425 abi 9)
[    2.182627] NET: Registered protocol family 29
[    2.187149] can: raw protocol (rev 20170425)
[    2.191514] can: broadcast manager protocol (rev 20170425 t)
[    2.197268] can: netlink gateway (rev 20170425) max_hops=1
[    2.203430] Key type dns_resolver registered
[    2.207892] Registering SWP/SWPB emulation handler
[    2.354535] asoc-simple-card sound: sgtl5000 <-> 308a0000.sai mapping ok
[    2.368272] snvs_rtc 30370000.snvs:snvs-rtc-lp: setting system clock to 2018-01-16 14:43:27 UTC (1
516113807)
[    2.400857] usb_otg1_vbus: disabling
[    2.404655] SWBST: disabling
[    2.407620] VLDO2: disabling
[    2.411548] ALSA device list:
[    2.414636]   #0: imx7-sgtl5000
[    2.423420] EXT4-fs (mmcblk1p1): couldn't mount as ext3 due to feature incompatibilities
[    2.456394] EXT4-fs (mmcblk1p1): recovery complete
[    2.462340] EXT4-fs (mmcblk1p1): mounted filesystem with ordered data mode. Opts: (null)
[    2.470812] VFS: Mounted root (ext4 filesystem) on device 179:1.
[    2.481204] devtmpfs: mounted
[    2.489487] Freeing unused kernel memory: 1024K
INIT: version 2.88 booting
Framebuffer /dev/fb0 not detected
Boot splashscreen disabled
Starting udev
[    2.951961] udevd[98]: starting version 3.2.2
[    3.013982] udevd[99]: starting eudev-3.2.2
[    3.721795] brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac4339-sdio.bin for chip 0x00433
9(17209) rev 0x000002
[    3.988192] EXT4-fs (mmcblk1p1): re-mounted. Opts: data=ordered
[    4.230435] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Aug 28 2014 18:39:28 version 
6.37.32.RC23.34.28 (r499539)
ALSA: Restoring mixer settings...
INIT: Entering runlevel: 5
No state is present for card imx7sgtl5000
Found hardware: "imx7-sgtl5000" "" "" "" ""
Hardware is initialized using a generic method
No state is present for card imx7sgtl5000
Configuring network interfaces... [    5.213722] Atheros 8035 ethernet 30be0000.ethernet-1:01: attach
ed PHY driver [Atheros 8035 ethernet] (mii_bus:phy_addr=30be0000.ethernet-1:01, irq=POLL)
[    5.230129] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
udhcpc (v1.24.1) started
Sending discover...
Sending discover...
Sending discover...
No lease, forking to background
done.
Starting system message bus: dbus.
Starting rpcbind daemon...done.
Starting bluetooth: bluetoothd.
Starting syslogd/klogd: done
 * Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
   ...done.
Starting Telephony daemon
Starting Linux NFC daemon
umount: can't unmount /mnt/.psplash: Invalid argument

FSLC X11 2.3-snapshot imx7d-pico /dev/ttymxc4

imx7d-pico login: root
root@imx7d-pico:~# lsmod
Module                  Size  Used by
brcmfmac              208896  0
brcmutil               16384  1 brcmfmac
root@imx7d-pico:~# ifconfig wlan0 up
[   77.155838] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
root@imx7d-pico:~# wpa_passphrase test 12345678 > /etc/wpa_supplicant.conf 
root@imx7d-pico:~# wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D nl80211 &
root@imx7d-pico:~# Successfully initialized wpa_supplicant

[1]+  Done                       wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D nl80211
root@imx7d-pico:~# udhcpc -i wlan0
udhcpc (v1.24.1) started
Sending discover...
[  103.831648] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Sending discover...
Sending discover...
Sending select for 192.168.43.41...
Lease of 192.168.43.41 obtained, lease time 3600
[  112.054952] brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
/etc/udhcpc.d/50default: Adding DNS 192.168.43.1
root@imx7d-pico:~# ping www.google.com
PING www.google.com (172.217.28.196): 56 data bytes
64 bytes from 172.217.28.196: seq=0 ttl=50 time=1027.928 ms
64 bytes from 172.217.28.196: seq=1 ttl=50 time=143.620 ms
64 bytes from 172.217.28.196: seq=2 ttl=50 time=143.497 ms
64 bytes from 172.217.28.196: seq=4 ttl=50 time=190.728 ms
^C
--- www.google.com ping statistics ---
5 packets transmitted, 4 packets received, 20% packet loss
round-trip min/avg/max = 143.497/376.443/1027.928 ms


[-- Attachment #3: nvram_html.txt --]
[-- Type: text/plain, Size: 74466 bytes --]







<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
  <link rel="dns-prefetch" href="https://assets-cdn.github.com">
  <link rel="dns-prefetch" href="https://avatars0.githubusercontent.com">
  <link rel="dns-prefetch" href="https://avatars1.githubusercontent.com">
  <link rel="dns-prefetch" href="https://avatars2.githubusercontent.com">
  <link rel="dns-prefetch" href="https://avatars3.githubusercontent.com">
  <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
  <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">



  <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/frameworks-3e3f370097e3a4bec29b24356300a7ba8316af25f4576ce2170d64678fee6d17.css" media="all" rel="stylesheet" />
  <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/github-659082d0d52633c8b6e949a8b95f4f9c70ab20dab1ddc29985963e02a8c2aa28.css" media="all" rel="stylesheet" />
  
  
  <link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/site-e2f78def14631b7fd769bf918598cd7d437e67a706a2676aa466634d28ffaabd.css" media="all" rel="stylesheet" />
  

  <meta name="viewport" content="width=device-width">
  
  <title>wlan-firmware/nvram_ap6335.txt at master · OpenELEC/wlan-firmware · GitHub</title>
  <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
  <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
  <meta property="fb:app_id" content="1401488693436528">

    
    <meta content="https://avatars3.githubusercontent.com/u/487665?s=400&amp;v=4" property="og:image" /><meta content="GitHub" property="og:site_name" /><meta content="object" property="og:type" /><meta content="OpenELEC/wlan-firmware" property="og:title" /><meta content="https://github.com/OpenELEC/wlan-firmware" property="og:url" /><meta content="Contribute to wlan-firmware development by creating an account on GitHub." property="og:description" />

  <link rel="assets" href="https://assets-cdn.github.com/">
  
  <meta name="pjax-timeout" content="1000">
  
  <meta name="request-id" content="ED25:08C3:19F03:2E706:5A5E193C" data-pjax-transient>
  

  <meta name="selected-link" value="repo_source" data-pjax-transient>

    <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
  <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
  <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc">
    <meta name="google-analytics" content="UA-3769691-2">

<meta content="collector.githubapp.com" name="octolytics-host" /><meta content="github" name="octolytics-app-id" /><meta content="https://collector.githubapp.com/github-external/browser_event" name="octolytics-event-url" /><meta content="ED25:08C3:19F03:2E706:5A5E193C" name="octolytics-dimension-request_id" /><meta content="iad" name="octolytics-dimension-region_edge" /><meta content="iad" name="octolytics-dimension-region_render" />
<meta content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-pjax-transient="true" name="analytics-location" />




  <meta class="js-ga-set" name="dimension1" content="Logged Out">


  

      <meta name="hostname" content="github.com">
  <meta name="user-login" content="">

      <meta name="expected-hostname" content="github.com">
    <meta name="js-proxy-site-detection-payload" content="NTFhYTIyZThlNjhlMzQyMzEwY2QxOTA1ODUxZmY5ZjMyN2NmMTEzNTYxOTY4OTM1OTgwYWE2ZTk1ZTYwZGE1NHx7InJlbW90ZV9hZGRyZXNzIjoiMTY4LjIyNy4xNC4yNDIiLCJyZXF1ZXN0X2lkIjoiRUQyNTowOEMzOjE5RjAzOjJFNzA2OjVBNUUxOTNDIiwidGltZXN0YW1wIjoxNTE2MTE2Mjg1LCJob3N0IjoiZ2l0aHViLmNvbSJ9">

    <meta name="enabled-features" content="UNIVERSE_BANNER,FREE_TRIALS">

  <meta name="html-safe-nonce" content="7ff3cf9e8c78bfc583c84228d73b0cd1926e8c63">

  <meta http-equiv="x-pjax-version" content="9edc8190d6a5d88afe68a2514819e0c3">
  

      <link href="https://github.com/OpenELEC/wlan-firmware/commits/master.atom" rel="alternate" title="Recent Commits to wlan-firmware:master" type="application/atom+xml">

  <meta name="description" content="Contribute to wlan-firmware development by creating an account on GitHub.">
  <meta name="go-import" content="github.com/OpenELEC/wlan-firmware git https://github.com/OpenELEC/wlan-firmware.git">

  <meta content="487665" name="octolytics-dimension-user_id" /><meta content="OpenELEC" name="octolytics-dimension-user_login" /><meta content="1426898" name="octolytics-dimension-repository_id" /><meta content="OpenELEC/wlan-firmware" name="octolytics-dimension-repository_nwo" /><meta content="true" name="octolytics-dimension-repository_public" /><meta content="false" name="octolytics-dimension-repository_is_fork" /><meta content="1426898" name="octolytics-dimension-repository_network_root_id" /><meta content="OpenELEC/wlan-firmware" name="octolytics-dimension-repository_network_root_nwo" /><meta content="false" name="octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown" />


    <link rel="canonical" href="https://github.com/OpenELEC/wlan-firmware/blob/master/firmware/brcm/nvram_ap6335.txt" data-pjax-transient>


  <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">

  <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">

  <link rel="mask-icon" href="https://assets-cdn.github.com/pinned-octocat.svg" color="#000000">
  <link rel="icon" type="image/x-icon" class="js-site-favicon" href="https://assets-cdn.github.com/favicon.ico">

<meta name="theme-color" content="#1e2327">



  </head>

  <body class="logged-out env-production page-blob">
    

  <div class="position-relative js-header-wrapper ">
    <a href="#start-of-content" tabindex="1" class="px-2 py-4 show-on-focus js-skip-to-content">Skip to content</a>
    <div id="js-pjax-loader-bar" class="pjax-loader-bar"><div class="progress"></div></div>

    
    
    



        <header class="Header header-logged-out  position-relative f4 py-3" role="banner">
  <div class="container-lg d-flex px-3">
    <div class="d-flex flex-justify-between flex-items-center">
      <a class="header-logo-invertocat my-0" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
        <svg aria-hidden="true" class="octicon octicon-mark-github" height="32" version="1.1" viewBox="0 0 16 16" width="32"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>
      </a>

    </div>

    <div class="HeaderMenu HeaderMenu--bright d-flex flex-justify-between flex-auto">
        <nav class="mt-0">
          <ul class="d-flex list-style-none">
              <li class="ml-2">
                <a href="/features" class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:features" data-selected-links="/features /features/project-management /features/code-review /features/project-management /features/integrations /features">
                  Features
</a>              </li>
              <li class="ml-4">
                <a href="/business" class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:business" data-selected-links="/business /business/security /business/customers /business">
                  Business
</a>              </li>

              <li class="ml-4">
                <a href="/explore" class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:explore" data-selected-links="/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore">
                  Explore
</a>              </li>

              <li class="ml-4">
                    <a href="/marketplace" class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:marketplace" data-selected-links=" /marketplace">
                      Marketplace
</a>              </li>
              <li class="ml-4">
                <a href="/pricing" class="js-selected-navigation-item HeaderNavlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:pricing" data-selected-links="/pricing /pricing/developer /pricing/team /pricing/business-hosted /pricing/business-enterprise /pricing">
                  Pricing
</a>              </li>
          </ul>
        </nav>

      <div class="d-flex">
          <div class="d-lg-flex flex-items-center mr-3">
            <div class="header-search scoped-search site-scoped-search js-site-search" role="search">
  <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/OpenELEC/wlan-firmware/search" class="js-site-search-form" data-scoped-search-url="/OpenELEC/wlan-firmware/search" data-unscoped-search-url="/search" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div>
    <label class="form-control header-search-wrapper js-chromeless-input-container">
        <a href="/OpenELEC/wlan-firmware/blob/master/firmware/brcm/nvram_ap6335.txt" class="header-search-scope no-underline">This repository</a>
      <input type="text"
        class="form-control header-search-input js-site-search-focus js-site-search-field is-clearable"
        data-hotkey="s"
        name="q"
        value=""
        placeholder="Search"
        aria-label="Search this repository"
        data-unscoped-placeholder="Search GitHub"
        data-scoped-placeholder="Search"
        autocapitalize="off">
        <input type="hidden" class="js-site-search-type-field" name="type" >
    </label>
</form></div>

          </div>

        <span class="d-inline-block">
            <div class="HeaderNavlink px-0 py-2 m-0">
              <a class="text-bold text-white no-underline" href="/login?return_to=%2FOpenELEC%2Fwlan-firmware%2Fblob%2Fmaster%2Ffirmware%2Fbrcm%2Fnvram_ap6335.txt" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign in</a>
                <span class="text-gray">or</span>
                <a class="text-bold text-white no-underline" href="/join?source=header-repo" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">Sign up</a>
            </div>
        </span>
      </div>
    </div>
  </div>
</header>

  </div>

  <div id="start-of-content" class="show-on-focus"></div>

    <div id="js-flash-container">
</div>



  <div role="main" >
        <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
    <div id="js-repo-pjax-container" data-pjax-container >
      




  



  <div class="pagehead repohead instapaper_ignore readability-menu experiment-repo-nav  ">
    <div class="repohead-details-container clearfix container">

      <ul class="pagehead-actions">
  <li>
      <a href="/login?return_to=%2FOpenELEC%2Fwlan-firmware"
    class="btn btn-sm btn-with-count tooltipped tooltipped-n"
    aria-label="You must be signed in to watch a repository" rel="nofollow">
    <svg aria-hidden="true" class="octicon octicon-eye" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg>
    Watch
  </a>
  <a class="social-count" href="/OpenELEC/wlan-firmware/watchers"
     aria-label="18 users are watching this repository">
    18
  </a>

  </li>

  <li>
      <a href="/login?return_to=%2FOpenELEC%2Fwlan-firmware"
    class="btn btn-sm btn-with-count tooltipped tooltipped-n"
    aria-label="You must be signed in to star a repository" rel="nofollow">
    <svg aria-hidden="true" class="octicon octicon-star" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74z"/></svg>
    Star
  </a>

    <a class="social-count js-social-count" href="/OpenELEC/wlan-firmware/stargazers"
      aria-label="25 users starred this repository">
      25
    </a>

  </li>

  <li>
      <a href="/login?return_to=%2FOpenELEC%2Fwlan-firmware"
        class="btn btn-sm btn-with-count tooltipped tooltipped-n"
        aria-label="You must be signed in to fork a repository" rel="nofollow">
        <svg aria-hidden="true" class="octicon octicon-repo-forked" height="16" version="1.1" viewBox="0 0 10 16" width="10"><path fill-rule="evenodd" d="M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>
        Fork
      </a>

    <a href="/OpenELEC/wlan-firmware/network" class="social-count"
       aria-label="26 users forked this repository">
      26
    </a>
  </li>
</ul>

      <h1 class="public ">
  <svg aria-hidden="true" class="octicon octicon-repo" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
  <span class="author" itemprop="author"><a href="/OpenELEC" class="url fn" rel="author">OpenELEC</a></span><!--
--><span class="path-divider">/</span><!--
--><strong itemprop="name"><a href="/OpenELEC/wlan-firmware" data-pjax="#js-repo-pjax-container">wlan-firmware</a></strong>

</h1>

    </div>
    
<nav class="reponav js-repo-nav js-sidenav-container-pjax container"
     itemscope
     itemtype="http://schema.org/BreadcrumbList"
     role="navigation"
     data-pjax="#js-repo-pjax-container">

  <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
    <a href="/OpenELEC/wlan-firmware" class="js-selected-navigation-item selected reponav-item" data-hotkey="g c" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /OpenELEC/wlan-firmware" itemprop="url">
      <svg aria-hidden="true" class="octicon octicon-code" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z"/></svg>
      <span itemprop="name">Code</span>
      <meta itemprop="position" content="1">
</a>  </span>

    <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
      <a href="/OpenELEC/wlan-firmware/issues" class="js-selected-navigation-item reponav-item" data-hotkey="g i" data-selected-links="repo_issues repo_labels repo_milestones /OpenELEC/wlan-firmware/issues" itemprop="url">
        <svg aria-hidden="true" class="octicon octicon-issue-opened" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg>
        <span itemprop="name">Issues</span>
        <span class="Counter">0</span>
        <meta itemprop="position" content="2">
</a>    </span>

  <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
    <a href="/OpenELEC/wlan-firmware/pulls" class="js-selected-navigation-item reponav-item" data-hotkey="g p" data-selected-links="repo_pulls /OpenELEC/wlan-firmware/pulls" itemprop="url">
      <svg aria-hidden="true" class="octicon octicon-git-pull-request" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>
      <span itemprop="name">Pull requests</span>
      <span class="Counter">0</span>
      <meta itemprop="position" content="3">
</a>  </span>

    <a href="/OpenELEC/wlan-firmware/projects" class="js-selected-navigation-item reponav-item" data-hotkey="g b" data-selected-links="repo_projects new_repo_project repo_project /OpenELEC/wlan-firmware/projects">
      <svg aria-hidden="true" class="octicon octicon-project" height="16" version="1.1" viewBox="0 0 15 16" width="15"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg>
      Projects
      <span class="Counter" >0</span>
</a>


  <a href="/OpenELEC/wlan-firmware/pulse" class="js-selected-navigation-item reponav-item" data-selected-links="repo_graphs repo_contributors dependency_graph pulse /OpenELEC/wlan-firmware/pulse">
    <svg aria-hidden="true" class="octicon octicon-graph" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z"/></svg>
    Insights
</a>

</nav>


  </div>

<div class="container new-discussion-timeline experiment-repo-nav ">
  <div class="repository-content ">

    
  <a href="/OpenELEC/wlan-firmware/blob/3be9d8274352e36073c635991e7f29063bdf2c53/firmware/brcm/nvram_ap6335.txt" class="d-none js-permalink-shortcut" data-hotkey="y">Permalink</a>

  <!-- blob contrib key: blob_contributors:v21:2fbffccbca9e94b5406f269502fa8d21 -->

  <div class="file-navigation js-zeroclipboard-container">
    
<div class="select-menu branch-select-menu js-menu-container js-select-menu float-left">
  <button class=" btn btn-sm select-menu-button js-menu-target css-truncate" data-hotkey="w"
    
    type="button" aria-label="Switch branches or tags" aria-expanded="false" aria-haspopup="true">
      <i>Branch:</i>
      <span class="js-select-button css-truncate-target">master</span>
  </button>

  <div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax>

    <div class="select-menu-modal">
      <div class="select-menu-header">
        <svg aria-label="Close" class="octicon octicon-x js-menu-close" height="16" role="img" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z"/></svg>
        <span class="select-menu-title">Switch branches/tags</span>
      </div>

      <div class="select-menu-filters">
        <div class="select-menu-text-filter">
          <input type="text" aria-label="Filter branches/tags" id="context-commitish-filter-field" class="form-control js-filterable-field js-navigation-enable" placeholder="Filter branches/tags">
        </div>
        <div class="select-menu-tabs">
          <ul>
            <li class="select-menu-tab">
              <a href="#" data-tab-filter="branches" data-filter-placeholder="Filter branches/tags" class="js-select-menu-tab" role="tab">Branches</a>
            </li>
            <li class="select-menu-tab">
              <a href="#" data-tab-filter="tags" data-filter-placeholder="Find a tag…" class="js-select-menu-tab" role="tab">Tags</a>
            </li>
          </ul>
        </div>
      </div>

      <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="branches" role="menu">

        <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">


            <a class="select-menu-item js-navigation-item js-navigation-open selected"
               href="/OpenELEC/wlan-firmware/blob/master/firmware/brcm/nvram_ap6335.txt"
               data-name="master"
               data-skip-pjax="true"
               rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
                master
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
               href="/OpenELEC/wlan-firmware/blob/rtl8723befw-firmware/firmware/brcm/nvram_ap6335.txt"
               data-name="rtl8723befw-firmware"
               data-skip-pjax="true"
               rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">
                rtl8723befw-firmware
              </span>
            </a>
        </div>

          <div class="select-menu-no-results">Nothing to show</div>
      </div>

      <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="tags">
        <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">


            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.31/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.31"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.31">
                0.0.31
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.30/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.30"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.30">
                0.0.30
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.29/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.29"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.29">
                0.0.29
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.28/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.28"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.28">
                0.0.28
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.27/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.27"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.27">
                0.0.27
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.26/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.26"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.26">
                0.0.26
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.25/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.25"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.25">
                0.0.25
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.24/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.24"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.24">
                0.0.24
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.23/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.23"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.23">
                0.0.23
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.22/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.22"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.22">
                0.0.22
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.21/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.21"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.21">
                0.0.21
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.20/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.20"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.20">
                0.0.20
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.19/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.19"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.19">
                0.0.19
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.18/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.18"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.18">
                0.0.18
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.17/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.17"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.17">
                0.0.17
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.16/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.16"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.16">
                0.0.16
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.15/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.15"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.15">
                0.0.15
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.14/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.14"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.14">
                0.0.14
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.13/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.13"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.13">
                0.0.13
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.12/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.12"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.12">
                0.0.12
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.11/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.11"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.11">
                0.0.11
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.10/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.10"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.10">
                0.0.10
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.9/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.9"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.9">
                0.0.9
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.8/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.8"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.8">
                0.0.8
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.7/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.7"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.7">
                0.0.7
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.6/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.6"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.6">
                0.0.6
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.5/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.5"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.5">
                0.0.5
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.4/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.4"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.4">
                0.0.4
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.3/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.3"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.3">
                0.0.3
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.2/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.2"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.2">
                0.0.2
              </span>
            </a>
            <a class="select-menu-item js-navigation-item js-navigation-open "
              href="/OpenELEC/wlan-firmware/tree/0.0.1/firmware/brcm/nvram_ap6335.txt"
              data-name="0.0.1"
              data-skip-pjax="true"
              rel="nofollow">
              <svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>
              <span class="select-menu-item-text css-truncate-target" title="0.0.1">
                0.0.1
              </span>
            </a>
        </div>

        <div class="select-menu-no-results">Nothing to show</div>
      </div>

    </div>
  </div>
</div>

    <div class="BtnGroup float-right">
      <a href="/OpenELEC/wlan-firmware/find/master"
            class="js-pjax-capture-input btn btn-sm BtnGroup-item"
            data-pjax
            data-hotkey="t">
        Find file
      </a>
      <button aria-label="Copy file path to clipboard" class="js-zeroclipboard btn btn-sm BtnGroup-item tooltipped tooltipped-s" data-copied-hint="Copied!" type="button">Copy path</button>
    </div>
    <div class="breadcrumb js-zeroclipboard-target">
      <span class="repo-root js-repo-root"><span class="js-path-segment"><a href="/OpenELEC/wlan-firmware"><span>wlan-firmware</span></a></span></span><span class="separator">/</span><span class="js-path-segment"><a href="/OpenELEC/wlan-firmware/tree/master/firmware"><span>firmware</span></a></span><span class="separator">/</span><span class="js-path-segment"><a href="/OpenELEC/wlan-firmware/tree/master/firmware/brcm"><span>brcm</span></a></span><span class="separator">/</span><strong class="final-path">nvram_ap6335.txt</strong>
    </div>
  </div>


  
  <div class="commit-tease">
      <span class="float-right">
        <a class="commit-tease-sha" href="/OpenELEC/wlan-firmware/commit/35e36956d7707fc86bbb48ed70ddb6289e2bbafd" data-pjax>
          35e3695
        </a>
        <relative-time datetime="2016-09-15T10:54:37Z">Sep 15, 2016</relative-time>
      </span>
      <div>
        <img alt="@sraue" class="avatar" height="20" src="https://avatars0.githubusercontent.com/u/306166?s=40&amp;v=4" width="20" />
        <a href="/sraue" class="user-mention" rel="contributor">sraue</a>
          <a href="/OpenELEC/wlan-firmware/commit/35e36956d7707fc86bbb48ed70ddb6289e2bbafd" class="message" data-pjax="true" title="add some amlogic brcm firmwares

Signed-off-by: Stephan Raue &lt;stephan@openelec.tv&gt;">add some amlogic brcm firmwares</a>
      </div>

    <div class="commit-tease-contributors">
      <button type="button" class="btn-link muted-link contributors-toggle" data-facebox="#blob_contributors_box">
        <strong>1</strong>
         contributor
      </button>
      
    </div>

    <div id="blob_contributors_box" style="display:none">
      <h2 class="facebox-header" data-facebox-id="facebox-header">Users who have contributed to this file</h2>
      <ul class="facebox-user-list" data-facebox-id="facebox-description">
          <li class="facebox-user-list-item">
            <img alt="@sraue" height="24" src="https://avatars1.githubusercontent.com/u/306166?s=48&amp;v=4" width="24" />
            <a href="/sraue">sraue</a>
          </li>
      </ul>
    </div>
  </div>


  <div class="file">
    <div class="file-header">
  <div class="file-actions">

    <div class="BtnGroup">
      <a href="/OpenELEC/wlan-firmware/raw/master/firmware/brcm/nvram_ap6335.txt" class="btn btn-sm BtnGroup-item" id="raw-url">Raw</a>
        <a href="/OpenELEC/wlan-firmware/blame/master/firmware/brcm/nvram_ap6335.txt" class="btn btn-sm js-update-url-with-hash BtnGroup-item" data-hotkey="b">Blame</a>
      <a href="/OpenELEC/wlan-firmware/commits/master/firmware/brcm/nvram_ap6335.txt" class="btn btn-sm BtnGroup-item" rel="nofollow">History</a>
    </div>


        <button type="button" class="btn-octicon disabled tooltipped tooltipped-nw"
          aria-label="You must be signed in to make or propose changes">
          <svg aria-hidden="true" class="octicon octicon-pencil" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M0 12v3h3l8-8-3-3-8 8zm3 2H1v-2h1v1h1v1zm10.3-9.3L12 6 9 3l1.3-1.3a.996.996 0 0 1 1.41 0l1.59 1.59c.39.39.39 1.02 0 1.41z"/></svg>
        </button>
        <button type="button" class="btn-octicon btn-octicon-danger disabled tooltipped tooltipped-nw"
          aria-label="You must be signed in to make or propose changes">
          <svg aria-hidden="true" class="octicon octicon-trashcan" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M11 2H9c0-.55-.45-1-1-1H5c-.55 0-1 .45-1 1H2c-.55 0-1 .45-1 1v1c0 .55.45 1 1 1v9c0 .55.45 1 1 1h7c.55 0 1-.45 1-1V5c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm-1 12H3V5h1v8h1V5h1v8h1V5h1v8h1V5h1v9zm1-10H2V3h9v1z"/></svg>
        </button>
  </div>

  <div class="file-info">
      100 lines (99 sloc)
      <span class="file-info-divider"></span>
    2.32 KB
  </div>
</div>

    

  <div itemprop="text" class="blob-wrapper data type-text">
      <table class="highlight tab-size js-file-line-container" data-tab-size="8">
      <tr>
        <td id="L1" class="blob-num js-line-number" data-line-number="1"></td>
        <td id="LC1" class="blob-code blob-code-inner js-file-line">#AP6335_NVRAM_V1.5_03112014</td>
      </tr>
      <tr>
        <td id="L2" class="blob-num js-line-number" data-line-number="2"></td>
        <td id="LC2" class="blob-code blob-code-inner js-file-line">NVRAMRev=$Rev: 410316 $\r</td>
      </tr>
      <tr>
        <td id="L3" class="blob-num js-line-number" data-line-number="3"></td>
        <td id="LC3" class="blob-code blob-code-inner js-file-line">sromrev=11\r</td>
      </tr>
      <tr>
        <td id="L4" class="blob-num js-line-number" data-line-number="4"></td>
        <td id="LC4" class="blob-code blob-code-inner js-file-line">boardrev=0x1203\r</td>
      </tr>
      <tr>
        <td id="L5" class="blob-num js-line-number" data-line-number="5"></td>
        <td id="LC5" class="blob-code blob-code-inner js-file-line">boardtype=0x06c5\r</td>
      </tr>
      <tr>
        <td id="L6" class="blob-num js-line-number" data-line-number="6"></td>
        <td id="LC6" class="blob-code blob-code-inner js-file-line">boardflags=0x00000c01\r</td>
      </tr>
      <tr>
        <td id="L7" class="blob-num js-line-number" data-line-number="7"></td>
        <td id="LC7" class="blob-code blob-code-inner js-file-line">boardflags2=0x00002000\r</td>
      </tr>
      <tr>
        <td id="L8" class="blob-num js-line-number" data-line-number="8"></td>
        <td id="LC8" class="blob-code blob-code-inner js-file-line">boardflags3=0x8101188\r</td>
      </tr>
      <tr>
        <td id="L9" class="blob-num js-line-number" data-line-number="9"></td>
        <td id="LC9" class="blob-code blob-code-inner js-file-line">macaddr=00:90:4c:c5:12:38\r</td>
      </tr>
      <tr>
        <td id="L10" class="blob-num js-line-number" data-line-number="10"></td>
        <td id="LC10" class="blob-code blob-code-inner js-file-line">ccode=0\r</td>
      </tr>
      <tr>
        <td id="L11" class="blob-num js-line-number" data-line-number="11"></td>
        <td id="LC11" class="blob-code blob-code-inner js-file-line">regrev=0\r</td>
      </tr>
      <tr>
        <td id="L12" class="blob-num js-line-number" data-line-number="12"></td>
        <td id="LC12" class="blob-code blob-code-inner js-file-line">antswitch=0\r</td>
      </tr>
      <tr>
        <td id="L13" class="blob-num js-line-number" data-line-number="13"></td>
        <td id="LC13" class="blob-code blob-code-inner js-file-line">pdgain2g=7\r</td>
      </tr>
      <tr>
        <td id="L14" class="blob-num js-line-number" data-line-number="14"></td>
        <td id="LC14" class="blob-code blob-code-inner js-file-line">pdgain5g=7\r</td>
      </tr>
      <tr>
        <td id="L15" class="blob-num js-line-number" data-line-number="15"></td>
        <td id="LC15" class="blob-code blob-code-inner js-file-line">tworangetssi2g=0\r</td>
      </tr>
      <tr>
        <td id="L16" class="blob-num js-line-number" data-line-number="16"></td>
        <td id="LC16" class="blob-code blob-code-inner js-file-line">tworangetssi5g=0\r</td>
      </tr>
      <tr>
        <td id="L17" class="blob-num js-line-number" data-line-number="17"></td>
        <td id="LC17" class="blob-code blob-code-inner js-file-line">femctrl=7\r</td>
      </tr>
      <tr>
        <td id="L18" class="blob-num js-line-number" data-line-number="18"></td>
        <td id="LC18" class="blob-code blob-code-inner js-file-line">pcieingress_war=15\r</td>
      </tr>
      <tr>
        <td id="L19" class="blob-num js-line-number" data-line-number="19"></td>
        <td id="LC19" class="blob-code blob-code-inner js-file-line">vendid=0x14e4\r</td>
      </tr>
      <tr>
        <td id="L20" class="blob-num js-line-number" data-line-number="20"></td>
        <td id="LC20" class="blob-code blob-code-inner js-file-line">devid=0x43ae\r</td>
      </tr>
      <tr>
        <td id="L21" class="blob-num js-line-number" data-line-number="21"></td>
        <td id="LC21" class="blob-code blob-code-inner js-file-line">manfid=0x2d0\r</td>
      </tr>
      <tr>
        <td id="L22" class="blob-num js-line-number" data-line-number="22"></td>
        <td id="LC22" class="blob-code blob-code-inner js-file-line">nocrc=1\r</td>
      </tr>
      <tr>
        <td id="L23" class="blob-num js-line-number" data-line-number="23"></td>
        <td id="LC23" class="blob-code blob-code-inner js-file-line">otpimagesize=502\r</td>
      </tr>
      <tr>
        <td id="L24" class="blob-num js-line-number" data-line-number="24"></td>
        <td id="LC24" class="blob-code blob-code-inner js-file-line">xtalfreq=37400\r</td>
      </tr>
      <tr>
        <td id="L25" class="blob-num js-line-number" data-line-number="25"></td>
        <td id="LC25" class="blob-code blob-code-inner js-file-line">extpagain2g=2\r</td>
      </tr>
      <tr>
        <td id="L26" class="blob-num js-line-number" data-line-number="26"></td>
        <td id="LC26" class="blob-code blob-code-inner js-file-line">pdetrange2g=2\r</td>
      </tr>
      <tr>
        <td id="L27" class="blob-num js-line-number" data-line-number="27"></td>
        <td id="LC27" class="blob-code blob-code-inner js-file-line">extpagain5g=2\r</td>
      </tr>
      <tr>
        <td id="L28" class="blob-num js-line-number" data-line-number="28"></td>
        <td id="LC28" class="blob-code blob-code-inner js-file-line">pdetrange5g=2\r</td>
      </tr>
      <tr>
        <td id="L29" class="blob-num js-line-number" data-line-number="29"></td>
        <td id="LC29" class="blob-code blob-code-inner js-file-line">rxgains2gelnagaina0=0\r</td>
      </tr>
      <tr>
        <td id="L30" class="blob-num js-line-number" data-line-number="30"></td>
        <td id="LC30" class="blob-code blob-code-inner js-file-line">rxgains2gtrisoa0=7\r</td>
      </tr>
      <tr>
        <td id="L31" class="blob-num js-line-number" data-line-number="31"></td>
        <td id="LC31" class="blob-code blob-code-inner js-file-line">rxgains2gtrelnabypa0=0\r</td>
      </tr>
      <tr>
        <td id="L32" class="blob-num js-line-number" data-line-number="32"></td>
        <td id="LC32" class="blob-code blob-code-inner js-file-line">rxgains5gelnagaina0=0\r</td>
      </tr>
      <tr>
        <td id="L33" class="blob-num js-line-number" data-line-number="33"></td>
        <td id="LC33" class="blob-code blob-code-inner js-file-line">rxgains5gtrisoa0=11\r</td>
      </tr>
      <tr>
        <td id="L34" class="blob-num js-line-number" data-line-number="34"></td>
        <td id="LC34" class="blob-code blob-code-inner js-file-line">rxgains5gtrelnabypa0=0\r</td>
      </tr>
      <tr>
        <td id="L35" class="blob-num js-line-number" data-line-number="35"></td>
        <td id="LC35" class="blob-code blob-code-inner js-file-line">rxchain=1\r</td>
      </tr>
      <tr>
        <td id="L36" class="blob-num js-line-number" data-line-number="36"></td>
        <td id="LC36" class="blob-code blob-code-inner js-file-line">txchain=1\r</td>
      </tr>
      <tr>
        <td id="L37" class="blob-num js-line-number" data-line-number="37"></td>
        <td id="LC37" class="blob-code blob-code-inner js-file-line">aa2g=1\r</td>
      </tr>
      <tr>
        <td id="L38" class="blob-num js-line-number" data-line-number="38"></td>
        <td id="LC38" class="blob-code blob-code-inner js-file-line">aa5g=1\r</td>
      </tr>
      <tr>
        <td id="L39" class="blob-num js-line-number" data-line-number="39"></td>
        <td id="LC39" class="blob-code blob-code-inner js-file-line">tssipos5g=0\r</td>
      </tr>
      <tr>
        <td id="L40" class="blob-num js-line-number" data-line-number="40"></td>
        <td id="LC40" class="blob-code blob-code-inner js-file-line">tssipos2g=0\r</td>
      </tr>
      <tr>
        <td id="L41" class="blob-num js-line-number" data-line-number="41"></td>
        <td id="LC41" class="blob-code blob-code-inner js-file-line">pa2ga0=-161,6269,-723\r</td>
      </tr>
      <tr>
        <td id="L42" class="blob-num js-line-number" data-line-number="42"></td>
        <td id="LC42" class="blob-code blob-code-inner js-file-line">pa2gccka0=-116,7568,-852\r</td>
      </tr>
      <tr>
        <td id="L43" class="blob-num js-line-number" data-line-number="43"></td>
        <td id="LC43" class="blob-code blob-code-inner js-file-line">pa5ga0=0xFF61,0x163C,0xFD55,0xFF5D,0x1671,0xFD4F,0xFF5F,0x16CA,0xFD45,0xFF60,0x1676,0xFD4D\r</td>
      </tr>
      <tr>
        <td id="L44" class="blob-num js-line-number" data-line-number="44"></td>
        <td id="LC44" class="blob-code blob-code-inner js-file-line">pa5gbw40a0=0xFF61,0x163C,0xFD55,0xFF5D,0x1671,0xFD4F,0xFF5F,0x16CA,0xFD45,0xFF60,0x1676,0xFD4D\r</td>
      </tr>
      <tr>
        <td id="L45" class="blob-num js-line-number" data-line-number="45"></td>
        <td id="LC45" class="blob-code blob-code-inner js-file-line">pa5gbw80a0=0xFF61,0x163C,0xFD55,0xFF5D,0x1671,0xFD4F,0xFF5F,0x16CA,0xFD45,0xFF60,0x1676,0xFD4D\r</td>
      </tr>
      <tr>
        <td id="L46" class="blob-num js-line-number" data-line-number="46"></td>
        <td id="LC46" class="blob-code blob-code-inner js-file-line">pdoffset40ma0=0\r</td>
      </tr>
      <tr>
        <td id="L47" class="blob-num js-line-number" data-line-number="47"></td>
        <td id="LC47" class="blob-code blob-code-inner js-file-line">pdoffset80ma0=0\r</td>
      </tr>
      <tr>
        <td id="L48" class="blob-num js-line-number" data-line-number="48"></td>
        <td id="LC48" class="blob-code blob-code-inner js-file-line">pdoffsetcckma0=0\r</td>
      </tr>
      <tr>
        <td id="L49" class="blob-num js-line-number" data-line-number="49"></td>
        <td id="LC49" class="blob-code blob-code-inner js-file-line">maxp2ga0=75\r</td>
      </tr>
      <tr>
        <td id="L50" class="blob-num js-line-number" data-line-number="50"></td>
        <td id="LC50" class="blob-code blob-code-inner js-file-line">maxp5ga0=64,64,72,72\r</td>
      </tr>
      <tr>
        <td id="L51" class="blob-num js-line-number" data-line-number="51"></td>
        <td id="LC51" class="blob-code blob-code-inner js-file-line">cckbw202gpo=0x0000\r</td>
      </tr>
      <tr>
        <td id="L52" class="blob-num js-line-number" data-line-number="52"></td>
        <td id="LC52" class="blob-code blob-code-inner js-file-line">cckbw20ul2gpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L53" class="blob-num js-line-number" data-line-number="53"></td>
        <td id="LC53" class="blob-code blob-code-inner js-file-line">mcsbw202gpo=0x99445533\r</td>
      </tr>
      <tr>
        <td id="L54" class="blob-num js-line-number" data-line-number="54"></td>
        <td id="LC54" class="blob-code blob-code-inner js-file-line">mcsbw402gpo=0x99775533\r</td>
      </tr>
      <tr>
        <td id="L55" class="blob-num js-line-number" data-line-number="55"></td>
        <td id="LC55" class="blob-code blob-code-inner js-file-line">dot11agofdmhrbw202gpo=0x2233\r</td>
      </tr>
      <tr>
        <td id="L56" class="blob-num js-line-number" data-line-number="56"></td>
        <td id="LC56" class="blob-code blob-code-inner js-file-line">ofdmlrbw202gpo=0x0000\r</td>
      </tr>
      <tr>
        <td id="L57" class="blob-num js-line-number" data-line-number="57"></td>
        <td id="LC57" class="blob-code blob-code-inner js-file-line">tssifloor2g=500\r</td>
      </tr>
      <tr>
        <td id="L58" class="blob-num js-line-number" data-line-number="58"></td>
        <td id="LC58" class="blob-code blob-code-inner js-file-line">mcsbw205glpo=0x66333330\r</td>
      </tr>
      <tr>
        <td id="L59" class="blob-num js-line-number" data-line-number="59"></td>
        <td id="LC59" class="blob-code blob-code-inner js-file-line">mcsbw405glpo=0x66665530\r</td>
      </tr>
      <tr>
        <td id="L60" class="blob-num js-line-number" data-line-number="60"></td>
        <td id="LC60" class="blob-code blob-code-inner js-file-line">mcsbw805glpo=0xAA555530\r</td>
      </tr>
      <tr>
        <td id="L61" class="blob-num js-line-number" data-line-number="61"></td>
        <td id="LC61" class="blob-code blob-code-inner js-file-line">mcsbw1605glpo=0x99555530\r</td>
      </tr>
      <tr>
        <td id="L62" class="blob-num js-line-number" data-line-number="62"></td>
        <td id="LC62" class="blob-code blob-code-inner js-file-line">mcsbw205gmpo=0x99BB5530\r</td>
      </tr>
      <tr>
        <td id="L63" class="blob-num js-line-number" data-line-number="63"></td>
        <td id="LC63" class="blob-code blob-code-inner js-file-line">mcsbw405gmpo=0x99BB5530\r</td>
      </tr>
      <tr>
        <td id="L64" class="blob-num js-line-number" data-line-number="64"></td>
        <td id="LC64" class="blob-code blob-code-inner js-file-line">mcsbw805gmpo=0xEE555530\r</td>
      </tr>
      <tr>
        <td id="L65" class="blob-num js-line-number" data-line-number="65"></td>
        <td id="LC65" class="blob-code blob-code-inner js-file-line">mcsbw1605gmpo=0x99555530\r</td>
      </tr>
      <tr>
        <td id="L66" class="blob-num js-line-number" data-line-number="66"></td>
        <td id="LC66" class="blob-code blob-code-inner js-file-line">mcsbw205ghpo=0x99995530\r</td>
      </tr>
      <tr>
        <td id="L67" class="blob-num js-line-number" data-line-number="67"></td>
        <td id="LC67" class="blob-code blob-code-inner js-file-line">mcsbw405ghpo=0x99BB5530\r</td>
      </tr>
      <tr>
        <td id="L68" class="blob-num js-line-number" data-line-number="68"></td>
        <td id="LC68" class="blob-code blob-code-inner js-file-line">mcsbw805ghpo=0xEE555530\r</td>
      </tr>
      <tr>
        <td id="L69" class="blob-num js-line-number" data-line-number="69"></td>
        <td id="LC69" class="blob-code blob-code-inner js-file-line">mcsbw1605ghpo=0x99555530\r</td>
      </tr>
      <tr>
        <td id="L70" class="blob-num js-line-number" data-line-number="70"></td>
        <td id="LC70" class="blob-code blob-code-inner js-file-line">mcslr5glpo=0x0000\r</td>
      </tr>
      <tr>
        <td id="L71" class="blob-num js-line-number" data-line-number="71"></td>
        <td id="LC71" class="blob-code blob-code-inner js-file-line">mcslr5gmpo=0x0000\r</td>
      </tr>
      <tr>
        <td id="L72" class="blob-num js-line-number" data-line-number="72"></td>
        <td id="LC72" class="blob-code blob-code-inner js-file-line">mcslr5ghpo=0x0000\r</td>
      </tr>
      <tr>
        <td id="L73" class="blob-num js-line-number" data-line-number="73"></td>
        <td id="LC73" class="blob-code blob-code-inner js-file-line">sb20in40hrrpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L74" class="blob-num js-line-number" data-line-number="74"></td>
        <td id="LC74" class="blob-code blob-code-inner js-file-line">sb20in80and160hr5glpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L75" class="blob-num js-line-number" data-line-number="75"></td>
        <td id="LC75" class="blob-code blob-code-inner js-file-line">sb40and80hr5glpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L76" class="blob-num js-line-number" data-line-number="76"></td>
        <td id="LC76" class="blob-code blob-code-inner js-file-line">sb20in80and160hr5gmpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L77" class="blob-num js-line-number" data-line-number="77"></td>
        <td id="LC77" class="blob-code blob-code-inner js-file-line">sb40and80hr5gmpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L78" class="blob-num js-line-number" data-line-number="78"></td>
        <td id="LC78" class="blob-code blob-code-inner js-file-line">sb20in80and160hr5ghpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L79" class="blob-num js-line-number" data-line-number="79"></td>
        <td id="LC79" class="blob-code blob-code-inner js-file-line">sb40and80hr5ghpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L80" class="blob-num js-line-number" data-line-number="80"></td>
        <td id="LC80" class="blob-code blob-code-inner js-file-line">sb20in40lrpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L81" class="blob-num js-line-number" data-line-number="81"></td>
        <td id="LC81" class="blob-code blob-code-inner js-file-line">sb20in80and160lr5glpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L82" class="blob-num js-line-number" data-line-number="82"></td>
        <td id="LC82" class="blob-code blob-code-inner js-file-line">sb40and80lr5glpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L83" class="blob-num js-line-number" data-line-number="83"></td>
        <td id="LC83" class="blob-code blob-code-inner js-file-line">sb20in80and160lr5gmpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L84" class="blob-num js-line-number" data-line-number="84"></td>
        <td id="LC84" class="blob-code blob-code-inner js-file-line">sb40and80lr5gmpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L85" class="blob-num js-line-number" data-line-number="85"></td>
        <td id="LC85" class="blob-code blob-code-inner js-file-line">sb20in80and160lr5ghpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L86" class="blob-num js-line-number" data-line-number="86"></td>
        <td id="LC86" class="blob-code blob-code-inner js-file-line">sb40and80lr5ghpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L87" class="blob-num js-line-number" data-line-number="87"></td>
        <td id="LC87" class="blob-code blob-code-inner js-file-line">dot11agduphrpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L88" class="blob-num js-line-number" data-line-number="88"></td>
        <td id="LC88" class="blob-code blob-code-inner js-file-line">dot11agduplrpo=0x0\r</td>
      </tr>
      <tr>
        <td id="L89" class="blob-num js-line-number" data-line-number="89"></td>
        <td id="LC89" class="blob-code blob-code-inner js-file-line">phycal_tempdelta=25\r</td>
      </tr>
      <tr>
        <td id="L90" class="blob-num js-line-number" data-line-number="90"></td>
        <td id="LC90" class="blob-code blob-code-inner js-file-line">cckdigfilttype=2\r</td>
      </tr>
      <tr>
        <td id="L91" class="blob-num js-line-number" data-line-number="91"></td>
        <td id="LC91" class="blob-code blob-code-inner js-file-line">pacalidx2g=65\r</td>
      </tr>
      <tr>
        <td id="L92" class="blob-num js-line-number" data-line-number="92"></td>
        <td id="LC92" class="blob-code blob-code-inner js-file-line">dacrate2g=160\r</td>
      </tr>
      <tr>
        <td id="L93" class="blob-num js-line-number" data-line-number="93"></td>
        <td id="LC93" class="blob-code blob-code-inner js-file-line">swctrlmap_5g=0x00000008,0x00000010,0x00000008,0x000000,0x038\r</td>
      </tr>
      <tr>
        <td id="L94" class="blob-num js-line-number" data-line-number="94"></td>
        <td id="LC94" class="blob-code blob-code-inner js-file-line">swctrlmap_2g=0x00000001,0x00000002,0x00000001,0x040002,0x0ff\r</td>
      </tr>
      <tr>
        <td id="L95" class="blob-num js-line-number" data-line-number="95"></td>
        <td id="LC95" class="blob-code blob-code-inner js-file-line">swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000\r</td>
      </tr>
      <tr>
        <td id="L96" class="blob-num js-line-number" data-line-number="96"></td>
        <td id="LC96" class="blob-code blob-code-inner js-file-line">swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000\r</td>
      </tr>
      <tr>
        <td id="L97" class="blob-num js-line-number" data-line-number="97"></td>
        <td id="LC97" class="blob-code blob-code-inner js-file-line">rssicorrnorm_c0=3,3\r</td>
      </tr>
      <tr>
        <td id="L98" class="blob-num js-line-number" data-line-number="98"></td>
        <td id="LC98" class="blob-code blob-code-inner js-file-line">rssicorrnorm5g_c0=2,3,4,2,3,3,0,1,2,0,1,2</td>
      </tr>
      <tr>
        <td id="L99" class="blob-num js-line-number" data-line-number="99"></td>
        <td id="LC99" class="blob-code blob-code-inner js-file-line">muxenab=0x10\r</td>
      </tr>
</table>

  <div class="BlobToolbar position-absolute js-file-line-actions dropdown js-menu-container js-select-menu d-none" aria-hidden="true">
    <button class="btn-octicon ml-0 px-2 p-0 bg-white border border-gray-dark rounded-1 dropdown-toggle js-menu-target" id="js-file-line-action-button" type="button" aria-expanded="false" aria-haspopup="true" aria-label="Inline file action toolbar" aria-controls="inline-file-actions">
      <svg aria-hidden="true" class="octicon octicon-kebab-horizontal" height="16" version="1.1" viewBox="0 0 13 16" width="13"><path fill-rule="evenodd" d="M1.5 9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"/></svg>
    </button>
    <div class="dropdown-menu-content js-menu-content" id="inline-file-actions">
      <ul class="BlobToolbar-dropdown dropdown-menu dropdown-menu-se mt-2">
        <li><a class="js-zeroclipboard dropdown-item" style="cursor:pointer;" id="js-copy-lines" data-original-text="Copy lines">Copy lines</a></li>
        <li><a class="js-zeroclipboard dropdown-item" id= "js-copy-permalink" style="cursor:pointer;" data-original-text="Copy permalink">Copy permalink</a></li>
        <li><a href="/OpenELEC/wlan-firmware/blame/3be9d8274352e36073c635991e7f29063bdf2c53/firmware/brcm/nvram_ap6335.txt" class="dropdown-item js-update-url-with-hash" id="js-view-git-blame">View git blame</a></li>
          <li><a href="/OpenELEC/wlan-firmware/issues/new" class="dropdown-item" id="js-new-issue">Open new issue</a></li>
      </ul>
    </div>
  </div>

  </div>

  </div>

  <button type="button" data-facebox="#jump-to-line" data-facebox-class="linejump" data-hotkey="l" class="d-none">Jump to Line</button>
  <div id="jump-to-line" style="display:none">
    <!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="" class="js-jump-to-line-form" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div>
      <input class="form-control linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line&hellip;" aria-label="Jump to line" autofocus>
      <button type="submit" class="btn">Go</button>
</form>  </div>


  </div>
  <div class="modal-backdrop js-touch-events"></div>
</div>

    </div>
  </div>

  </div>

      
<div class="footer container-lg px-3" role="contentinfo">
  <div class="position-relative d-flex flex-justify-between py-6 mt-6 f6 text-gray border-top border-gray-light ">
    <ul class="list-style-none d-flex flex-wrap ">
      <li class="mr-3">&copy; 2018 <span title="0.12270s from unicorn-311687902-6q6rv">GitHub</span>, Inc.</li>
        <li class="mr-3"><a href="https://github.com/site/terms" data-ga-click="Footer, go to terms, text:terms">Terms</a></li>
        <li class="mr-3"><a href="https://github.com/site/privacy" data-ga-click="Footer, go to privacy, text:privacy">Privacy</a></li>
        <li class="mr-3"><a href="https://github.com/security" data-ga-click="Footer, go to security, text:security">Security</a></li>
        <li class="mr-3"><a href="https://status.github.com/" data-ga-click="Footer, go to status, text:status">Status</a></li>
        <li><a href="https://help.github.com" data-ga-click="Footer, go to help, text:help">Help</a></li>
    </ul>

    <a href="https://github.com" aria-label="Homepage" class="footer-octicon" title="GitHub">
      <svg aria-hidden="true" class="octicon octicon-mark-github" height="24" version="1.1" viewBox="0 0 16 16" width="24"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>
</a>
    <ul class="list-style-none d-flex flex-wrap ">
        <li class="mr-3"><a href="https://github.com/contact" data-ga-click="Footer, go to contact, text:contact">Contact GitHub</a></li>
      <li class="mr-3"><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li>
      <li class="mr-3"><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li>
      <li class="mr-3"><a href="https://shop.github.com" data-ga-click="Footer, go to shop, text:shop">Shop</a></li>
        <li class="mr-3"><a href="https://github.com/blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li>
        <li><a href="https://github.com/about" data-ga-click="Footer, go to about, text:about">About</a></li>

    </ul>
  </div>
</div>



  <div id="ajax-error-message" class="ajax-error-message flash flash-error">
    <svg aria-hidden="true" class="octicon octicon-alert" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z"/></svg>
    <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
      <svg aria-hidden="true" class="octicon octicon-x" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z"/></svg>
    </button>
    You can't perform that action at this time.
  </div>


    <script crossorigin="anonymous" src="https://assets-cdn.github.com/assets/compat-2339acd4bcb939ffb8168786ea2970b341723088c55b776a8b58a99962692f05.js"></script>
    <script crossorigin="anonymous" src="https://assets-cdn.github.com/assets/frameworks-02920776e68ff3d8a92fedaed18330d138c2c201239ebfe4d1b25cbefebe9d1d.js"></script>
    
    <script async="async" crossorigin="anonymous" src="https://assets-cdn.github.com/assets/github-5b6f30e918ac3a67fab0ed33e6efbfd41e68ee83429d60000c5c04668c7477fb.js"></script>
    
    
    
    
  <div class="js-stale-session-flash stale-session-flash flash flash-warn flash-banner d-none">
    <svg aria-hidden="true" class="octicon octicon-alert" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z"/></svg>
    <span class="signed-in-tab-flash">You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span>
    <span class="signed-out-tab-flash">You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span>
  </div>
  <div class="facebox" id="facebox" style="display:none;">
  <div class="facebox-popup">
    <div class="facebox-content" role="dialog" aria-labelledby="facebox-header" aria-describedby="facebox-description">
    </div>
    <button type="button" class="facebox-close js-facebox-close" aria-label="Close modal">
      <svg aria-hidden="true" class="octicon octicon-x" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z"/></svg>
    </button>
  </div>
</div>


  </body>
</html>


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2018-01-18 11:47                                     ` Vanessa Maegima
@ 2018-01-19  9:02                                       ` Arend van Spriel
  2018-03-21 15:38                                         ` Vanessa Maegima
  0 siblings, 1 reply; 35+ messages in thread
From: Arend van Spriel @ 2018-01-19  9:02 UTC (permalink / raw)
  To: Vanessa Maegima, festevam; +Cc: linux-wireless, van.ayumi, embed3d

On 1/18/2018 12:47 PM, Vanessa Maegima wrote:
> Hi Arend,
>
> On Ter, 2018-01-16 at 21:21 +0100, Arend van Spriel wrote:
>> On 1/15/2018 9:08 PM, Fabio Estevam wrote:
>>>
>>> Hi Arend,
>>>
>>> On Tue, Dec 5, 2017 at 12:58 PM, Vanessa Maegima
>>> <vanessa.maegima@nxp.com> wrote:
>>>
>>>>
>>>> Hi Arend,
>>>>
>>>> Sorry for this!
>>>>
>>>> I updated the folder on https://emea01.safelinks.protection.outlo
>>>> ok.com/?url=https%3A%2F%2Fdrive.google.com%2Fdrive%2Ffolders%2F1f
>>>> osahjL&data=02%7C01%7Cvanessa.maegima%40nxp.com%7Cf07cd1a6ffb34c0
>>>> 961f608d55d1eb901%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63
>>>> 6517308901643244&sdata=6JAqSN%2BVPJ%2FCF7cbnBjm8geMKWydWkG9JcUhGB
>>>> Pj644%3D&reserved=0
>>>> N1KI5NKS59_aPZdHLpENPFHtK
>>>>
>>>> Thanks!
>>> Any ideas, please?
>> Well, the dumps confirm a crash early in the firmware boot. However,
>> I
>> could not obtain more information from it. To capture the failure I
>> need
>> to rework some firmware functionality which is not trivial and I can
>> not
>> claim time for it right now.
>>
>> Regards,
>> Arend
>>
>
> Thanks for all your investigation here!
>
> I just want to report one more thing that I noticed from my tests.
>
> I have tried to use an html file that I downloaded using wget as the
> nvram file (https://github.com/OpenELEC/wlan-firmware/blob/master/firmw
> are/brcm/nvram_ap6335.txt) and the wifi seems to work. I have not
> noticed the wrong format file until testing it.

Interesting. In brcmfmac the file is parsed before sending it to the 
firmware so I am wondering what is effectively send to the device.

Can you dump the nvram that is sent to the device. Just add hexdump call 
of nvram in brcmf_fw_request_nvram_done() in firmware.c just before 
fwctx->done() is called.

Regards,
Arend

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2018-01-19  9:02                                       ` Arend van Spriel
@ 2018-03-21 15:38                                         ` Vanessa Maegima
  2018-03-23  9:28                                           ` Arend van Spriel
  0 siblings, 1 reply; 35+ messages in thread
From: Vanessa Maegima @ 2018-03-21 15:38 UTC (permalink / raw)
  To: arend.vanspriel, festevam; +Cc: linux-wireless, van.ayumi, embed3d

SGkgQXJlbmQsDQoNCk9uIFNleCwgMjAxOC0wMS0xOSBhdCAxMDowMiArMDEwMCwgQXJlbmQgdmFu
IFNwcmllbCB3cm90ZToNCj4gT24gMS8xOC8yMDE4IDEyOjQ3IFBNLCBWYW5lc3NhIE1hZWdpbWEg
d3JvdGU6DQo+ID4gDQo+ID4gSGkgQXJlbmQsDQo+ID4gDQo+ID4gT24gVGVyLCAyMDE4LTAxLTE2
IGF0IDIxOjIxICswMTAwLCBBcmVuZCB2YW4gU3ByaWVsIHdyb3RlOg0KPiA+ID4gDQo+ID4gPiBP
biAxLzE1LzIwMTggOTowOCBQTSwgRmFiaW8gRXN0ZXZhbSB3cm90ZToNCj4gPiA+ID4gDQo+ID4g
PiA+IA0KPiA+ID4gPiBIaSBBcmVuZCwNCj4gPiA+ID4gDQo+ID4gPiA+IE9uIFR1ZSwgRGVjIDUs
IDIwMTcgYXQgMTI6NTggUE0sIFZhbmVzc2EgTWFlZ2ltYQ0KPiA+ID4gPiA8dmFuZXNzYS5tYWVn
aW1hQG54cC5jb20+IHdyb3RlOg0KPiA+ID4gPiANCj4gPiA+ID4gPiANCj4gPiA+ID4gPiANCj4g
PiA+ID4gPiBIaSBBcmVuZCwNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBTb3JyeSBmb3IgdGhpcyEN
Cj4gPiA+ID4gPiANCj4gPiA+ID4gPiBJIHVwZGF0ZWQgdGhlIGZvbGRlciBvbiBodHRwczovL2Vt
ZWEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vDQo+ID4gPiA+ID4gdXRsb29rLmNvbS8/dXJsPWh0
dHBzJTNBJTJGJTJGZW1lYTAxLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dA0KPiA+ID4gPiA+IGxv
JmRhdGE9MDIlN0MwMSU3Q3ZhbmVzc2EubWFlZ2ltYSU0MG54cC5jb20lN0MzOTA0MDIyOTQ3NTQ0
MWQNCj4gPiA+ID4gPiA3YjVhYTA4ZDU1ZjFiNmNkMyU3QzY4NmVhMWQzYmMyYjRjNmZhOTJjZDk5
YzVjMzAxNjM1JTdDMCU3QzElDQo+ID4gPiA+ID4gN0M2MzY1MTk0OTM3NTUyOTgzNDgmc2RhdGE9
WndzNEFFbG00TGE5NlE0cGpLMTUybkgybFA2djRtUEpKTg0KPiA+ID4gPiA+IHhTR3o3VExCQSUz
RCZyZXNlcnZlZD0wDQo+ID4gPiA+ID4gb2suY29tLz91cmw9aHR0cHMlM0ElMkYlMkZkcml2ZS5n
b29nbGUuY29tJTJGZHJpdmUlMkZmb2xkZXJzJQ0KPiA+ID4gPiA+IDJGMWYNCj4gPiA+ID4gPiBv
c2FoakwmZGF0YT0wMiU3QzAxJTdDdmFuZXNzYS5tYWVnaW1hJTQwbnhwLmNvbSU3Q2YwN2NkMWE2
ZmZiDQo+ID4gPiA+ID4gMzRjMA0KPiA+ID4gPiA+IDk2MWY2MDhkNTVkMWViOTAxJTdDNjg2ZWEx
ZDNiYzJiNGM2ZmE5MmNkOTljNWMzMDE2MzUlN0MwJTdDMCUNCj4gPiA+ID4gPiA3QzYzDQo+ID4g
PiA+ID4gNjUxNzMwODkwMTY0MzI0NCZzZGF0YT02SkFxU04lMkJWUEolMkZDRjdjYm5Cam04Z2VN
S1d5ZFdrRzlKYw0KPiA+ID4gPiA+IFVoR0INCj4gPiA+ID4gPiBQajY0NCUzRCZyZXNlcnZlZD0w
DQo+ID4gPiA+ID4gTjFLSTVOS1M1OV9hUFpkSExwRU5QRkh0Sw0KPiA+ID4gPiA+IA0KPiA+ID4g
PiA+IFRoYW5rcyENCj4gPiA+ID4gQW55IGlkZWFzLCBwbGVhc2U/DQo+ID4gPiBXZWxsLCB0aGUg
ZHVtcHMgY29uZmlybSBhIGNyYXNoIGVhcmx5IGluIHRoZSBmaXJtd2FyZSBib290Lg0KPiA+ID4g
SG93ZXZlciwNCj4gPiA+IEkNCj4gPiA+IGNvdWxkIG5vdCBvYnRhaW4gbW9yZSBpbmZvcm1hdGlv
biBmcm9tIGl0LiBUbyBjYXB0dXJlIHRoZSBmYWlsdXJlDQo+ID4gPiBJDQo+ID4gPiBuZWVkDQo+
ID4gPiB0byByZXdvcmsgc29tZSBmaXJtd2FyZSBmdW5jdGlvbmFsaXR5IHdoaWNoIGlzIG5vdCB0
cml2aWFsIGFuZCBJDQo+ID4gPiBjYW4NCj4gPiA+IG5vdA0KPiA+ID4gY2xhaW0gdGltZSBmb3Ig
aXQgcmlnaHQgbm93Lg0KPiA+ID4gDQo+ID4gPiBSZWdhcmRzLA0KPiA+ID4gQXJlbmQNCj4gPiA+
IA0KPiA+IFRoYW5rcyBmb3IgYWxsIHlvdXIgaW52ZXN0aWdhdGlvbiBoZXJlIQ0KPiA+IA0KPiA+
IEkganVzdCB3YW50IHRvIHJlcG9ydCBvbmUgbW9yZSB0aGluZyB0aGF0IEkgbm90aWNlZCBmcm9t
IG15IHRlc3RzLg0KPiA+IA0KPiA+IEkgaGF2ZSB0cmllZCB0byB1c2UgYW4gaHRtbCBmaWxlIHRo
YXQgSSBkb3dubG9hZGVkIHVzaW5nIHdnZXQgYXMNCj4gPiB0aGUNCj4gPiBudnJhbSBmaWxlICho
dHRwczovL2VtZWEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0DQo+
ID4gdHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRk9wZW5FTEVDJTJGd2xhbi0NCj4gPiBmaXJtd2Fy
ZSUyRmJsb2IlMkZtYXN0ZXIlMkZmaXJtdyZkYXRhPTAyJTdDMDElN0N2YW5lc3NhLm1hZWdpbWEl
NDBuDQo+ID4geHAuY29tJTdDMzkwNDAyMjk0NzU0NDFkN2I1YWEwOGQ1NWYxYjZjZDMlN0M2ODZl
YTFkM2JjMmI0YzZmYTkyY2Q5OQ0KPiA+IGM1YzMwMTYzNSU3QzAlN0MxJTdDNjM2NTE5NDkzNzU1
Mjk4MzQ4JnNkYXRhPUVaRlZWM3FiU3RqSDlFcWU2dVZWWEoNCj4gPiBmN0xtUWxNTElVUlhIYVFJ
TUlwbXMlM0QmcmVzZXJ2ZWQ9MA0KPiA+IGFyZS9icmNtL252cmFtX2FwNjMzNS50eHQpIGFuZCB0
aGUgd2lmaSBzZWVtcyB0byB3b3JrLiBJIGhhdmUgbm90DQo+ID4gbm90aWNlZCB0aGUgd3Jvbmcg
Zm9ybWF0IGZpbGUgdW50aWwgdGVzdGluZyBpdC4NCj4gSW50ZXJlc3RpbmcuIEluIGJyY21mbWFj
IHRoZSBmaWxlIGlzIHBhcnNlZCBiZWZvcmUgc2VuZGluZyBpdCB0byB0aGXCoA0KPiBmaXJtd2Fy
ZSBzbyBJIGFtIHdvbmRlcmluZyB3aGF0IGlzIGVmZmVjdGl2ZWx5IHNlbmQgdG8gdGhlIGRldmlj
ZS4NCj4gDQo+IENhbiB5b3UgZHVtcCB0aGUgbnZyYW0gdGhhdCBpcyBzZW50IHRvIHRoZSBkZXZp
Y2UuIEp1c3QgYWRkIGhleGR1bXANCj4gY2FsbMKgDQo+IG9mIG52cmFtIGluIGJyY21mX2Z3X3Jl
cXVlc3RfbnZyYW1fZG9uZSgpIGluIGZpcm13YXJlLmMganVzdCBiZWZvcmXCoA0KPiBmd2N0eC0+
ZG9uZSgpIGlzIGNhbGxlZC4NCj4gDQo+IFJlZ2FyZHMsDQo+IEFyZW5kDQoNClNvcnJ5IGZvciBt
eSBkZWxheWVkIHJlc3BvbnNlLCBidXQgSSBjb3VsZCBub3QgZ2V0IHRoZSBoZXhkdW1wIGZyb20g
dGhlDQpudnJhbS4gSSBoYXZlIHRyaWVkIHNldmVyYWwgaGV4ZHVtcCBmdW5jdGlvbnMgSSBmb3Vu
ZCBvbiBrZXJuZWwgYW5kIG9uDQp0aGUgYnJjbWZtYWMgZHJpdmVyIGJ1dCBub25lIG9mIHRoZW0g
cHJpbnRlZCBhbnkgb3V0cHV0Lg0KDQpJcyB0aGVyZSBhbnkgQ09ORklHIEkgbmVlZCB0byBlbmFi
bGUgdG8gZ2V0IHRob3NlIHdvcmtpbmc/DQoNClRoYW5rcyENCg0KQmVzdCwNClZhbmVzc2E=

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2018-03-21 15:38                                         ` Vanessa Maegima
@ 2018-03-23  9:28                                           ` Arend van Spriel
  2018-03-23 13:15                                             ` Vanessa Maegima
  0 siblings, 1 reply; 35+ messages in thread
From: Arend van Spriel @ 2018-03-23  9:28 UTC (permalink / raw)
  To: Vanessa Maegima, festevam; +Cc: linux-wireless, van.ayumi, embed3d

On 3/21/2018 4:38 PM, Vanessa Maegima wrote:
> Hi Arend,
>
> On Sex, 2018-01-19 at 10:02 +0100, Arend van Spriel wrote:
>> On 1/18/2018 12:47 PM, Vanessa Maegima wrote:
>>>
>>> Hi Arend,
>>>
>>> On Ter, 2018-01-16 at 21:21 +0100, Arend van Spriel wrote:
>>>>
>>>> On 1/15/2018 9:08 PM, Fabio Estevam wrote:
>>>>>
>>>>>
>>>>> Hi Arend,
>>>>>
>>>>> On Tue, Dec 5, 2017 at 12:58 PM, Vanessa Maegima
>>>>> <vanessa.maegima@nxp.com> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> Hi Arend,
>>>>>>
>>>>>> Sorry for this!
>>>>>>
>>>>>> I updated the folder on https://emea01.safelinks.protection.o
>>>>>> utlook.com/?url=https%3A%2F%2Femea01.safelinks.protection.out
>>>>>> lo&data=02%7C01%7Cvanessa.maegima%40nxp.com%7C39040229475441d
>>>>>> 7b5aa08d55f1b6cd3%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%
>>>>>> 7C636519493755298348&sdata=Zws4AElm4La96Q4pjK152nH2lP6v4mPJJN
>>>>>> xSGz7TLBA%3D&reserved=0
>>>>>> ok.com/?url=https%3A%2F%2Fdrive.google.com%2Fdrive%2Ffolders%
>>>>>> 2F1f
>>>>>> osahjL&data=02%7C01%7Cvanessa.maegima%40nxp.com%7Cf07cd1a6ffb
>>>>>> 34c0
>>>>>> 961f608d55d1eb901%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%
>>>>>> 7C63
>>>>>> 6517308901643244&sdata=6JAqSN%2BVPJ%2FCF7cbnBjm8geMKWydWkG9Jc
>>>>>> UhGB
>>>>>> Pj644%3D&reserved=0
>>>>>> N1KI5NKS59_aPZdHLpENPFHtK
>>>>>>
>>>>>> Thanks!
>>>>> Any ideas, please?
>>>> Well, the dumps confirm a crash early in the firmware boot.
>>>> However,
>>>> I
>>>> could not obtain more information from it. To capture the failure
>>>> I
>>>> need
>>>> to rework some firmware functionality which is not trivial and I
>>>> can
>>>> not
>>>> claim time for it right now.
>>>>
>>>> Regards,
>>>> Arend
>>>>
>>> Thanks for all your investigation here!
>>>
>>> I just want to report one more thing that I noticed from my tests.
>>>
>>> I have tried to use an html file that I downloaded using wget as
>>> the
>>> nvram file (https://emea01.safelinks.protection.outlook.com/?url=ht
>>> tps%3A%2F%2Fgithub.com%2FOpenELEC%2Fwlan-
>>> firmware%2Fblob%2Fmaster%2Ffirmw&data=02%7C01%7Cvanessa.maegima%40n
>>> xp.com%7C39040229475441d7b5aa08d55f1b6cd3%7C686ea1d3bc2b4c6fa92cd99
>>> c5c301635%7C0%7C1%7C636519493755298348&sdata=EZFVV3qbStjH9Eqe6uVVXJ
>>> f7LmQlMLIURXHaQIMIpms%3D&reserved=0
>>> are/brcm/nvram_ap6335.txt) and the wifi seems to work. I have not
>>> noticed the wrong format file until testing it.
>> Interesting. In brcmfmac the file is parsed before sending it to the
>> firmware so I am wondering what is effectively send to the device.
>>
>> Can you dump the nvram that is sent to the device. Just add hexdump
>> call
>> of nvram in brcmf_fw_request_nvram_done() in firmware.c just before
>> fwctx->done() is called.
>>
>> Regards,
>> Arend
>
> Sorry for my delayed response, but I could not get the hexdump from the
> nvram. I have tried several hexdump functions I found on kernel and on
> the brcmfmac driver but none of them printed any output.
>
> Is there any CONFIG I need to enable to get those working?

CONFIG_BRCMDBG should be enabled. Or just add '#define DEBUG' in 
firmware.c before the include statements.

Regards,
Arend

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2018-03-23  9:28                                           ` Arend van Spriel
@ 2018-03-23 13:15                                             ` Vanessa Maegima
  2018-03-26 12:25                                               ` Vanessa Maegima
  0 siblings, 1 reply; 35+ messages in thread
From: Vanessa Maegima @ 2018-03-23 13:15 UTC (permalink / raw)
  To: arend.vanspriel, festevam; +Cc: linux-wireless, van.ayumi, embed3d

SGkgQXJlbmQsDQoNCk9uIFNleCwgMjAxOC0wMy0yMyBhdCAxMDoyOCArMDEwMCwgQXJlbmQgdmFu
IFNwcmllbCB3cm90ZToNCj4gT24gMy8yMS8yMDE4IDQ6MzggUE0sIFZhbmVzc2EgTWFlZ2ltYSB3
cm90ZToNCj4gPiANCj4gPiBIaSBBcmVuZCwNCj4gPiANCj4gPiBPbiBTZXgsIDIwMTgtMDEtMTkg
YXQgMTA6MDIgKzAxMDAsIEFyZW5kIHZhbiBTcHJpZWwgd3JvdGU6DQo+ID4gPiANCj4gPiA+IE9u
IDEvMTgvMjAxOCAxMjo0NyBQTSwgVmFuZXNzYSBNYWVnaW1hIHdyb3RlOg0KPiA+ID4gPiANCj4g
PiA+ID4gDQo+ID4gPiA+IEhpIEFyZW5kLA0KPiA+ID4gPiANCj4gPiA+ID4gT24gVGVyLCAyMDE4
LTAxLTE2IGF0IDIxOjIxICswMTAwLCBBcmVuZCB2YW4gU3ByaWVsIHdyb3RlOg0KPiA+ID4gPiA+
IA0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IE9uIDEvMTUvMjAxOCA5OjA4IFBNLCBGYWJpbyBFc3Rl
dmFtIHdyb3RlOg0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IA0KPiA+
ID4gPiA+ID4gSGkgQXJlbmQsDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IE9uIFR1ZSwgRGVj
IDUsIDIwMTcgYXQgMTI6NTggUE0sIFZhbmVzc2EgTWFlZ2ltYQ0KPiA+ID4gPiA+ID4gPHZhbmVz
c2EubWFlZ2ltYUBueHAuY29tPiB3cm90ZToNCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiAN
Cj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBIaSBBcmVuZCwN
Cj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+IFNvcnJ5IGZvciB0aGlzIQ0KPiA+ID4gPiA+
ID4gPiANCj4gPiA+ID4gPiA+ID4gSSB1cGRhdGVkIHRoZSBmb2xkZXIgb24gaHR0cHM6Ly9lbWVh
MDEuc2FmZWxpbmtzLnByb3RlY3RpDQo+ID4gPiA+ID4gPiA+IG9uLm91dGxvb2suY29tLz91cmw9
aHR0cHMlM0ElMkYlMkZlbWVhMDEuc2FmZWxpbmtzLnByb3RlYw0KPiA+ID4gPiA+ID4gPiB0aW9u
Lm8mZGF0YT0wMiU3QzAxJTdDdmFuZXNzYS5tYWVnaW1hJTQwbnhwLmNvbSU3Q2ZhNDdiYTUNCj4g
PiA+ID4gPiA+ID4gMjE5YTk0MGM0ODJiYzA4ZDU5MGEwODA4YSU3QzY4NmVhMWQzYmMyYjRjNmZh
OTJjZDk5YzVjMzAxDQo+ID4gPiA+ID4gPiA+IDYzNSU3QzAlN0MwJTdDNjM2NTczOTQxMzgzMDE0
NzM0JnNkYXRhPVhzempwN2pIb1h5aEZXVUVsNg0KPiA+ID4gPiA+ID4gPiBMTjRtY0JoT2dNUkNq
dXJNc1dtRSUyQjVnWlUlM0QmcmVzZXJ2ZWQ9MA0KPiA+ID4gPiA+ID4gPiB1dGxvb2suY29tLz91
cmw9aHR0cHMlM0ElMkYlMkZlbWVhMDEuc2FmZWxpbmtzLnByb3RlY3Rpb24NCj4gPiA+ID4gPiA+
ID4gLm91dA0KPiA+ID4gPiA+ID4gPiBsbyZkYXRhPTAyJTdDMDElN0N2YW5lc3NhLm1hZWdpbWEl
NDBueHAuY29tJTdDMzkwNDAyMjk0NzUNCj4gPiA+ID4gPiA+ID4gNDQxZA0KPiA+ID4gPiA+ID4g
PiA3YjVhYTA4ZDU1ZjFiNmNkMyU3QzY4NmVhMWQzYmMyYjRjNmZhOTJjZDk5YzVjMzAxNjM1JTdD
MCUNCj4gPiA+ID4gPiA+ID4gN0MxJQ0KPiA+ID4gPiA+ID4gPiA3QzYzNjUxOTQ5Mzc1NTI5ODM0
OCZzZGF0YT1ad3M0QUVsbTRMYTk2UTRwaksxNTJuSDJsUDZ2NG0NCj4gPiA+ID4gPiA+ID4gUEpK
Tg0KPiA+ID4gPiA+ID4gPiB4U0d6N1RMQkElM0QmcmVzZXJ2ZWQ9MA0KPiA+ID4gPiA+ID4gPiBv
ay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmRyaXZlLmdvb2dsZS5jb20lMkZkcml2ZSUyRmZvbGQN
Cj4gPiA+ID4gPiA+ID4gZXJzJQ0KPiA+ID4gPiA+ID4gPiAyRjFmDQo+ID4gPiA+ID4gPiA+IG9z
YWhqTCZkYXRhPTAyJTdDMDElN0N2YW5lc3NhLm1hZWdpbWElNDBueHAuY29tJTdDZjA3Y2QxYQ0K
PiA+ID4gPiA+ID4gPiA2ZmZiDQo+ID4gPiA+ID4gPiA+IDM0YzANCj4gPiA+ID4gPiA+ID4gOTYx
ZjYwOGQ1NWQxZWI5MDElN0M2ODZlYTFkM2JjMmI0YzZmYTkyY2Q5OWM1YzMwMTYzNSU3QzAlDQo+
ID4gPiA+ID4gPiA+IDdDMCUNCj4gPiA+ID4gPiA+ID4gN0M2Mw0KPiA+ID4gPiA+ID4gPiA2NTE3
MzA4OTAxNjQzMjQ0JnNkYXRhPTZKQXFTTiUyQlZQSiUyRkNGN2NibkJqbThnZU1LV3lkV2sNCj4g
PiA+ID4gPiA+ID4gRzlKYw0KPiA+ID4gPiA+ID4gPiBVaEdCDQo+ID4gPiA+ID4gPiA+IFBqNjQ0
JTNEJnJlc2VydmVkPTANCj4gPiA+ID4gPiA+ID4gTjFLSTVOS1M1OV9hUFpkSExwRU5QRkh0Sw0K
PiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gVGhhbmtzIQ0KPiA+ID4gPiA+ID4gQW55IGlk
ZWFzLCBwbGVhc2U/DQo+ID4gPiA+ID4gV2VsbCwgdGhlIGR1bXBzIGNvbmZpcm0gYSBjcmFzaCBl
YXJseSBpbiB0aGUgZmlybXdhcmUgYm9vdC4NCj4gPiA+ID4gPiBIb3dldmVyLA0KPiA+ID4gPiA+
IEkNCj4gPiA+ID4gPiBjb3VsZCBub3Qgb2J0YWluIG1vcmUgaW5mb3JtYXRpb24gZnJvbSBpdC4g
VG8gY2FwdHVyZSB0aGUNCj4gPiA+ID4gPiBmYWlsdXJlDQo+ID4gPiA+ID4gSQ0KPiA+ID4gPiA+
IG5lZWQNCj4gPiA+ID4gPiB0byByZXdvcmsgc29tZSBmaXJtd2FyZSBmdW5jdGlvbmFsaXR5IHdo
aWNoIGlzIG5vdCB0cml2aWFsDQo+ID4gPiA+ID4gYW5kIEkNCj4gPiA+ID4gPiBjYW4NCj4gPiA+
ID4gPiBub3QNCj4gPiA+ID4gPiBjbGFpbSB0aW1lIGZvciBpdCByaWdodCBub3cuDQo+ID4gPiA+
ID4gDQo+ID4gPiA+ID4gUmVnYXJkcywNCj4gPiA+ID4gPiBBcmVuZA0KPiA+ID4gPiA+IA0KPiA+
ID4gPiBUaGFua3MgZm9yIGFsbCB5b3VyIGludmVzdGlnYXRpb24gaGVyZSENCj4gPiA+ID4gDQo+
ID4gPiA+IEkganVzdCB3YW50IHRvIHJlcG9ydCBvbmUgbW9yZSB0aGluZyB0aGF0IEkgbm90aWNl
ZCBmcm9tIG15DQo+ID4gPiA+IHRlc3RzLg0KPiA+ID4gPiANCj4gPiA+ID4gSSBoYXZlIHRyaWVk
IHRvIHVzZSBhbiBodG1sIGZpbGUgdGhhdCBJIGRvd25sb2FkZWQgdXNpbmcgd2dldA0KPiA+ID4g
PiBhcw0KPiA+ID4gPiB0aGUNCj4gPiA+ID4gbnZyYW0gZmlsZSAoaHR0cHM6Ly9lbWVhMDEuc2Fm
ZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VyDQo+ID4gPiA+IGw9aHQNCj4gPiA+ID4g
dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRk9wZW5FTEVDJTJGd2xhbi0NCj4gPiA+ID4gZmlybXdh
cmUlMkZibG9iJTJGbWFzdGVyJTJGZmlybXcmZGF0YT0wMiU3QzAxJTdDdmFuZXNzYS5tYWVnaW1h
DQo+ID4gPiA+ICU0MG4NCj4gPiA+ID4geHAuY29tJTdDMzkwNDAyMjk0NzU0NDFkN2I1YWEwOGQ1
NWYxYjZjZDMlN0M2ODZlYTFkM2JjMmI0YzZmYTkyDQo+ID4gPiA+IGNkOTkNCj4gPiA+ID4gYzVj
MzAxNjM1JTdDMCU3QzElN0M2MzY1MTk0OTM3NTUyOTgzNDgmc2RhdGE9RVpGVlYzcWJTdGpIOUVx
ZTZ1DQo+ID4gPiA+IFZWWEoNCj4gPiA+ID4gZjdMbVFsTUxJVVJYSGFRSU1JcG1zJTNEJnJlc2Vy
dmVkPTANCj4gPiA+ID4gYXJlL2JyY20vbnZyYW1fYXA2MzM1LnR4dCkgYW5kIHRoZSB3aWZpIHNl
ZW1zIHRvIHdvcmsuIEkgaGF2ZQ0KPiA+ID4gPiBub3QNCj4gPiA+ID4gbm90aWNlZCB0aGUgd3Jv
bmcgZm9ybWF0IGZpbGUgdW50aWwgdGVzdGluZyBpdC4NCj4gPiA+IEludGVyZXN0aW5nLiBJbiBi
cmNtZm1hYyB0aGUgZmlsZSBpcyBwYXJzZWQgYmVmb3JlIHNlbmRpbmcgaXQgdG8NCj4gPiA+IHRo
ZQ0KPiA+ID4gZmlybXdhcmUgc28gSSBhbSB3b25kZXJpbmcgd2hhdCBpcyBlZmZlY3RpdmVseSBz
ZW5kIHRvIHRoZQ0KPiA+ID4gZGV2aWNlLg0KPiA+ID4gDQo+ID4gPiBDYW4geW91IGR1bXAgdGhl
IG52cmFtIHRoYXQgaXMgc2VudCB0byB0aGUgZGV2aWNlLiBKdXN0IGFkZA0KPiA+ID4gaGV4ZHVt
cA0KPiA+ID4gY2FsbA0KPiA+ID4gb2YgbnZyYW0gaW4gYnJjbWZfZndfcmVxdWVzdF9udnJhbV9k
b25lKCkgaW4gZmlybXdhcmUuYyBqdXN0DQo+ID4gPiBiZWZvcmUNCj4gPiA+IGZ3Y3R4LT5kb25l
KCkgaXMgY2FsbGVkLg0KPiA+ID4gDQo+ID4gPiBSZWdhcmRzLA0KPiA+ID4gQXJlbmQNCj4gPiBT
b3JyeSBmb3IgbXkgZGVsYXllZCByZXNwb25zZSwgYnV0IEkgY291bGQgbm90IGdldCB0aGUgaGV4
ZHVtcCBmcm9tDQo+ID4gdGhlDQo+ID4gbnZyYW0uIEkgaGF2ZSB0cmllZCBzZXZlcmFsIGhleGR1
bXAgZnVuY3Rpb25zIEkgZm91bmQgb24ga2VybmVsIGFuZA0KPiA+IG9uDQo+ID4gdGhlIGJyY21m
bWFjIGRyaXZlciBidXQgbm9uZSBvZiB0aGVtIHByaW50ZWQgYW55IG91dHB1dC4NCj4gPiANCj4g
PiBJcyB0aGVyZSBhbnkgQ09ORklHIEkgbmVlZCB0byBlbmFibGUgdG8gZ2V0IHRob3NlIHdvcmtp
bmc/DQo+IENPTkZJR19CUkNNREJHIHNob3VsZCBiZSBlbmFibGVkLiBPciBqdXN0IGFkZCAnI2Rl
ZmluZSBERUJVRycgaW7CoA0KPiBmaXJtd2FyZS5jIGJlZm9yZSB0aGUgaW5jbHVkZSBzdGF0ZW1l
bnRzLg0KPiANCj4gUmVnYXJkcywNCj4gQXJlbmQNCg0KVGhhbmtzLCB0aGlzIHdvcmtlZCENCg0K
SGVyZSdzIHRoZSBoZXhkdW1wOsKgaHR0cDovL2NvZGUuYnVsaXgub3JnL3RydjNvNy0zMDYyNTQN
Cg0KQmVzdCBSZWdhcmRzLA0KVmFuZXNzYQ==

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2018-03-23 13:15                                             ` Vanessa Maegima
@ 2018-03-26 12:25                                               ` Vanessa Maegima
  2018-03-26 13:34                                                 ` Vanessa Maegima
  0 siblings, 1 reply; 35+ messages in thread
From: Vanessa Maegima @ 2018-03-26 12:25 UTC (permalink / raw)
  To: arend.vanspriel, festevam; +Cc: linux-wireless, van.ayumi, embed3d

SGkgQXJlbmQsDQoNCj4gSGVyZSdzIHRoZSBoZXhkdW1wOsKgaHR0cDovL2NvZGUuYnVsaXgub3Jn
L3RydjNvNy0zMDYyNTQNCj4gDQoNClRoZSBsaW5rIGFib3ZlIHByb3ZpZGVzIHRoZSBoZXhkdW1w
IGZyb20gdGhlIGh0bWwgbnZyYW0sIHdoaWNoIG1ha2VzDQp3aWZpIHdvcmsgb24gcGljby1pbXg3
ZC4NCg0KSSBhbHNvIGdvdCB0aGUgaGV4ZHVtcCBvZiB0aGUgbnZyYW0gZmlsZSBwcm92aWRlZCBi
eSBUZWNoTmV4aW9uIGZvcg0KY29tcGFyaXNvbiwgd2hpY2ggcmV0dXJucyB0aGUgZXJyb3IgImJy
Y21mbWFjOiBicmNtZl9zZGlvX2h0Y2xrOiBIVA0KQXZhaWwgdGltZW91dCAoMTAwMDAwMCk6IGNs
a2N0bCAweDUwIjrCoGh0dHA6Ly9jb2RlLmJ1bGl4Lm9yZy9tdzR4NjItMzA5DQowOTUNCg0KVGhh
bmtzIQ0KDQpCZXN0IFJlZ2FyZHMsDQpWYW5lc3Nh

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2018-03-26 12:25                                               ` Vanessa Maegima
@ 2018-03-26 13:34                                                 ` Vanessa Maegima
  2018-11-14 11:40                                                   ` Arend van Spriel
  0 siblings, 1 reply; 35+ messages in thread
From: Vanessa Maegima @ 2018-03-26 13:34 UTC (permalink / raw)
  To: arend.vanspriel, festevam; +Cc: linux-wireless, van.ayumi, embed3d

T24gU2VnLCAyMDE4LTAzLTI2IGF0IDA5OjI0IC0wMzAwLCBWYW5lc3NhIE1hZWdpbWEgd3JvdGU6
DQo+IEhpIEFyZW5kLA0KPiANCj4gPiANCj4gPiBIZXJlJ3MgdGhlIGhleGR1bXA6wqBodHRwOi8v
Y29kZS5idWxpeC5vcmcvdHJ2M283LTMwNjI1NA0KPiA+IA0KPiBUaGUgbGluayBhYm92ZSBwcm92
aWRlcyB0aGUgaGV4ZHVtcCBmcm9tIHRoZSBodG1sIG52cmFtLCB3aGljaCBtYWtlcw0KPiB3aWZp
IHdvcmsgb24gcGljby1pbXg3ZC4NCj4gDQo+IEkgYWxzbyBnb3QgdGhlIGhleGR1bXAgb2YgdGhl
IG52cmFtIGZpbGUgcHJvdmlkZWQgYnkgVGVjaE5leGlvbiBmb3INCj4gY29tcGFyaXNvbiwgd2hp
Y2ggcmV0dXJucyB0aGUgZXJyb3IgImJyY21mbWFjOiBicmNtZl9zZGlvX2h0Y2xrOiBIVA0KPiBB
dmFpbCB0aW1lb3V0ICgxMDAwMDAwKTogY2xrY3RsIDB4NTAiOsKgaHR0cDovL2NvZGUuYnVsaXgu
b3JnL213NHg2Mi0zDQo+IDA5DQo+IDA5NQ0KDQpGaXhpbmcgc2Vjb25kIFVSTDrCoGh0dHA6Ly9j
b2RlLmJ1bGl4Lm9yZy9tdzR4NjItMzA5MDk1

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2018-03-26 13:34                                                 ` Vanessa Maegima
@ 2018-11-14 11:40                                                   ` Arend van Spriel
  2018-11-15 17:04                                                     ` Vanessa Ayumi Maegima
  0 siblings, 1 reply; 35+ messages in thread
From: Arend van Spriel @ 2018-11-14 11:40 UTC (permalink / raw)
  To: Vanessa Maegima, festevam
  Cc: linux-wireless, van.ayumi, embed3d, Cameron Kellough

+ Cameron

On 3/26/2018 3:34 PM, Vanessa Maegima wrote:
> On Seg, 2018-03-26 at 09:24 -0300, Vanessa Maegima wrote:
>> Hi Arend,
>>
>>>
>>> Here's the hexdump: http://code.bulix.org/trv3o7-306254
>>>
>> The link above provides the hexdump from the html nvram, which makes
>> wifi work on pico-imx7d.
>>
>> I also got the hexdump of the nvram file provided by TechNexion for
>> comparison, which returns the error "brcmfmac: brcmf_sdio_htclk: HT
>> Avail timeout (1000000): clkctl 0x50": http://code.bulix.org/mw4x62-3
>> 09
>> 095
>
> Fixing second URL: http://code.bulix.org/mw4x62-309095

Hi Vanessa,

It has been a while, but recently I was contacted by Cameron who was 
facing same/similar issue. After some email exchanges with him he 
uncovered that the problem with the TechNexion nvram file is with the 
boardflags3 entry. On my suggestion he change the value from 0x08101188 
to 0x101188. The dropped bit forces the clock hierarchy in the chip to 
select external LPO. I found some schematics showing a 32kHz signal 
hooked up to the LPO input coming from GPIO1_IO03. Could it be that it 
is not properly setup? Devicetree maybe?

Regards,
Arend


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2018-11-14 11:40                                                   ` Arend van Spriel
@ 2018-11-15 17:04                                                     ` Vanessa Ayumi Maegima
       [not found]                                                       ` <CAHWfWzm8Zwjc2tBQWVqpaa-cMYyEPWmUKYN7rspyb9W9spx2iQ@mail.gmail.com>
  0 siblings, 1 reply; 35+ messages in thread
From: Vanessa Ayumi Maegima @ 2018-11-15 17:04 UTC (permalink / raw)
  To: Arend van Spriel
  Cc: Vanessa Maegima, Fabio Estevam, linux-wireless, embed3d, cameron

Hi Arend,
On Wed, Nov 14, 2018 at 9:41 AM Arend van Spriel
<arend.vanspriel@broadcom.com> wrote:
>
> + Cameron
>
> On 3/26/2018 3:34 PM, Vanessa Maegima wrote:
> > On Seg, 2018-03-26 at 09:24 -0300, Vanessa Maegima wrote:
> >> Hi Arend,
> >>
> >>>
> >>> Here's the hexdump: http://code.bulix.org/trv3o7-306254
> >>>
> >> The link above provides the hexdump from the html nvram, which makes
> >> wifi work on pico-imx7d.
> >>
> >> I also got the hexdump of the nvram file provided by TechNexion for
> >> comparison, which returns the error "brcmfmac: brcmf_sdio_htclk: HT
> >> Avail timeout (1000000): clkctl 0x50": http://code.bulix.org/mw4x62-3
> >> 09
> >> 095
> >
> > Fixing second URL: http://code.bulix.org/mw4x62-309095
>
> Hi Vanessa,
>
> It has been a while, but recently I was contacted by Cameron who was
> facing same/similar issue. After some email exchanges with him he
> uncovered that the problem with the TechNexion nvram file is with the
> boardflags3 entry. On my suggestion he change the value from 0x08101188
> to 0x101188. The dropped bit forces the clock hierarchy in the chip to
> select external LPO. I found some schematics showing a 32kHz signal
> hooked up to the LPO input coming from GPIO1_IO03. Could it be that it
> is not properly setup? Devicetree maybe?
>
> Regards,
> Arend
>

Thanks for the suggestion. I will investigate this on my side next
week when I have my Pico board and I will let you know any feedback.

Best Regards,
Vanessa

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
       [not found]                                                       ` <CAHWfWzm8Zwjc2tBQWVqpaa-cMYyEPWmUKYN7rspyb9W9spx2iQ@mail.gmail.com>
@ 2018-11-17 19:10                                                         ` Fabio Estevam
  2018-11-28 15:59                                                           ` Fabio Estevam
  0 siblings, 1 reply; 35+ messages in thread
From: Fabio Estevam @ 2018-11-17 19:10 UTC (permalink / raw)
  To: cameron
  Cc: Vanessa Ayumi Maegima, Arend van Spriel, Vanessa Maegima,
	linux-wireless, embed3d

Hi Cameron,

On Fri, Nov 16, 2018 at 5:59 PM Cameron Kellough
<cameron@paloaltoinnovation.com> wrote:
>
> I did a quick review of the Technexion dts file and it looks like they setup the iomux so that the clock Arend mentioned is needed actually gets muxed out to GPIO1_IO03.
>
> From the technexion imx7d-pico.dtsi under the iomuxc_lpsr group:
>
>     pinctrl_hog_2: hoggrp-2 {
>             fsl,pins = <
>                 MX7D_PAD_GPIO1_IO03__CCM_CLKO2     0x7d /* wifi LPO 32K Hz clock */
>                 MX7D_PAD_GPIO1_IO07__GPIO1_IO7     0x59 /* pmic sd_vel pin*/
>             >;
>         };

Could you please test the following patch against mainline that
implements this suggestion?
http://dark-code.bulix.org/4m18pb-507579

Thanks,

Fabio Estevam

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2018-11-17 19:10                                                         ` Fabio Estevam
@ 2018-11-28 15:59                                                           ` Fabio Estevam
       [not found]                                                             ` <CAF7Mx6p1DpRieCKy_1qOE5YT4_76UO8vhLMBFUD2B0FrQ9BJGw@mail.gmail.com>
  0 siblings, 1 reply; 35+ messages in thread
From: Fabio Estevam @ 2018-11-28 15:59 UTC (permalink / raw)
  To: cameron
  Cc: Vanessa Ayumi Maegima, Arend van Spriel, Vanessa Maegima,
	linux-wireless, embed3d, John Weber, Otavio Salvador

Hi Cameron,

On Sat, Nov 17, 2018 at 5:10 PM Fabio Estevam <festevam@gmail.com> wrote:

> Could you please test the following patch against mainline that
> implements this suggestion?
> http://dark-code.bulix.org/4m18pb-507579

I finally managed to get Wifi working on the imx7d-pico-pi board using
mainline 4.19.2 without any dts change.

Only change I needed was the one suggested by Arend in the nvram file:
changed boardflags3 entry.from 0x08101188 to 0x101188.

With this change I get:

# iwconfig wlan0 essid ACCESSPOINT
# wpa_passphrase ACCESSPOINT > /etc/wpa.conf
*****
# wpa_supplicant -Dwext -iwlan0 -c /etc/wpa.conf &
# Successfully initialized wpa_supplicant
[   59.091981] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   59.310095] brcmfmac: brcmf_run_escan: error (-52)
[   59.314949] brcmfmac: brcmf_cfg80211_scan: scan error (-52)
ioctl[SIOCSIWSCAN]: Invalid exchange
wlan0: CTRL-EVENT-SCAN-FAILED ret=-1 retry=1
[   60.327177] brcmfmac: brcmf_run_escan: error (-52)
[   60.332152] brcmfmac: brcmf_cfg80211_scan: scan error (-52)
ioctl[SIOCSIWSCAN]: Invalid exchange
wlan0: CTRL-EVENT-SCAN-FAILED ret=-1 retry=1
[   61.344358] brcmfmac: brcmf_run_escan: error (-52)
[   61.349198] brcmfmac: brcmf_cfg80211_scan: scan error (-52)
ioctl[SIOCSIWSCAN]: Invalid exchange
wlan0: CTRL-EVENT-SCAN-FAILED ret=-1 retry=1
wlan0: Trying to associate with 94:2c:b3:31:dc:xx (SSID='ACCESSPOINT'
freq=2462 MHz)
wlan0: Associated with 94:2c:b3:31:dc:xx
wlan0: [   65.266683] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
WPA: Key negotiation completed with 94:2c:b3:31:dc:xx [PTK=CCMP GTK=TKIP]
wlan0: CTRL-EVENT-CONNECTED - Connection to 94:2c:b3:31:dc:xx
completed [id=0 id_str=]

# udhcpc -i wlan0
udhcpc: started, v1.29.3
[   73.015896] random: mktemp: uninitialized urandom read (6 bytes read)
udhcpc: sending discover
udhcpc: sending select for 192.168.0.14
udhcpc: lease of 192.168.0.14 obtained, lease time 3600
[   74.354463] brcmfmac: brcmf_inetaddr_changed: fail to get arp ip
table err:-52
deleting routers
[   74.390701] random: mktemp: uninitialized urandom read (6 bytes read)
adding dns 201.82.0.66
adding dns 201.82.0.61
adding dns 201.6.4.116
#
# ping google.com
PING google.com (216.58.202.174): 56 data bytes
64 bytes from 216.58.202.174: seq=0 ttl=50 time=26.328 ms
64 bytes from 216.58.202.174: seq=1 ttl=50 time=22.751 ms
64 bytes from 216.58.202.174: seq=2 ttl=50 time=48.735 ms
64 bytes from 216.58.202.174: seq=3 ttl=50 time=58.955 ms

If I change the dts as per my last patch the Wifi does not work.

Regards,

Fabio Estevam

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
       [not found]                                                             ` <CAF7Mx6p1DpRieCKy_1qOE5YT4_76UO8vhLMBFUD2B0FrQ9BJGw@mail.gmail.com>
@ 2018-11-28 16:23                                                               ` Fabio Estevam
  2018-11-28 18:08                                                                 ` Fabio Estevam
  0 siblings, 1 reply; 35+ messages in thread
From: Fabio Estevam @ 2018-11-28 16:23 UTC (permalink / raw)
  To: Arend van Spriel
  Cc: cameron, Vanessa Ayumi Maegima, Vanessa Maegima, linux-wireless,
	embed3d, John Weber, Otavio Salvador

Hi Arend,

On Wed, Nov 28, 2018 at 2:11 PM Arend Van Spriel
<arend.vanspriel@broadcom.com> wrote:

> Does it mean there is a regression in 4.20 for this board?

I haven't tested it with 4.20 yet.

>> Only change I needed was the one suggested by Arend in the nvram file:
>> changed boardflags3 entry.from 0x08101188 to 0x101188.
>
>
> Yes. That is understood. However, an external LPO clock may be more reliable than using the internal, which is consequence of changing boardflags3.

Just to make sure I understand the change:

boardflags3 0x08101188 --> Wifi uses an external clock
boardflags3 0x101188 ---> Wifi uses an internal clock

Current dts does not output the 32kHz from MX7D to the Wifi chip, so I
guess the below is correct.

> So can the signal be measured with a scope to confirm it provides 32kHz?

I am not sure if I can access this signal via scope.

Thanks

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2018-11-28 16:23                                                               ` Fabio Estevam
@ 2018-11-28 18:08                                                                 ` Fabio Estevam
  2018-11-28 20:13                                                                   ` Arend van Spriel
  0 siblings, 1 reply; 35+ messages in thread
From: Fabio Estevam @ 2018-11-28 18:08 UTC (permalink / raw)
  To: Arend van Spriel
  Cc: cameron, Vanessa Ayumi Maegima, Vanessa Maegima, linux-wireless,
	embed3d, John Weber, Otavio Salvador

Hi Arend,

On Wed, Nov 28, 2018 at 2:23 PM Fabio Estevam <festevam@gmail.com> wrote:

> I am not sure if I can access this signal via scope.

Good news!

I managed to make mx7d to generate the 32kHz clock and now Wifi works
with the default nvram file value: boardflags3 0x08101188

Thanks a lot for your help!

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2018-11-28 18:08                                                                 ` Fabio Estevam
@ 2018-11-28 20:13                                                                   ` Arend van Spriel
  2018-11-29  0:12                                                                     ` Fabio Estevam
  0 siblings, 1 reply; 35+ messages in thread
From: Arend van Spriel @ 2018-11-28 20:13 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: cameron, Vanessa Ayumi Maegima, Vanessa Maegima, linux-wireless,
	embed3d, John Weber, Otavio Salvador

On 11/28/2018 7:08 PM, Fabio Estevam wrote:
> Hi Arend,
>
> On Wed, Nov 28, 2018 at 2:23 PM Fabio Estevam <festevam@gmail.com> wrote:
>
>> I am not sure if I can access this signal via scope.
>
> Good news!
>
> I managed to make mx7d to generate the 32kHz clock and now Wifi works
> with the default nvram file value: boardflags3 0x08101188

Nice. Regarding your question in the earlier email, bit 27 in 
boardflags3 forces the device to always select external LPO signal. When 
the bit is not set it will select either internal or external. I don't 
know what the criteria for that selection are.

Regards,
Arend


^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: AP6335 with mainline kernel
  2018-11-28 20:13                                                                   ` Arend van Spriel
@ 2018-11-29  0:12                                                                     ` Fabio Estevam
  0 siblings, 0 replies; 35+ messages in thread
From: Fabio Estevam @ 2018-11-29  0:12 UTC (permalink / raw)
  To: Arend van Spriel
  Cc: cameron, Vanessa Ayumi Maegima, Vanessa Maegima, linux-wireless,
	embed3d, John Weber, Otavio Salvador

Hi Arend,

On Wed, Nov 28, 2018 at 6:13 PM Arend van Spriel
<arend.vanspriel@broadcom.com> wrote:

> Nice. Regarding your question in the earlier email, bit 27 in
> boardflags3 forces the device to always select external LPO signal. When
> the bit is not set it will select either internal or external. I don't
> know what the criteria for that selection are.

Thanks for your explanation and for the excellent hint on the lack of
32kHz support in the device tree.

Really appreciate it!

To close this thread, here is the dts patch that allows Wifi to work
om the imx7d-pico-pi board:
http://lists.infradead.org/pipermail/linux-arm-kernel/2018-November/616048.html

Thanks,

Fabio Estevam

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2018-11-29  0:12 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-20 19:33 AP6335 with mainline kernel Vanessa Ayumi Maegima
2017-09-21  7:26 ` Arend van Spriel
2017-09-21 15:30   ` Vanessa Ayumi Maegima
2017-10-17 12:07     ` Vanessa Maegima
2017-11-10 12:43     ` Vanessa Maegima
2017-11-10 19:58       ` Arend van Spriel
2017-11-17 11:08         ` Vanessa Maegima
2017-11-17 12:55           ` Arend van Spriel
2017-11-17 15:24             ` Vanessa Maegima
2017-11-20 11:03               ` Arend van Spriel
2017-11-20 11:12                 ` Arend van Spriel
2017-11-22 10:48                   ` Vanessa Maegima
2017-11-22 10:58                     ` Arend van Spriel
2017-11-23 15:24                       ` Vanessa Maegima
2017-11-30 12:31                         ` Arend van Spriel
2017-12-04 19:00                           ` Vanessa Maegima
2017-12-05  9:06                             ` Arend Van Spriel
2017-12-05 14:58                               ` Vanessa Maegima
2018-01-15 20:08                                 ` Fabio Estevam
2018-01-16 20:21                                   ` Arend van Spriel
2018-01-18 11:47                                     ` Vanessa Maegima
2018-01-19  9:02                                       ` Arend van Spriel
2018-03-21 15:38                                         ` Vanessa Maegima
2018-03-23  9:28                                           ` Arend van Spriel
2018-03-23 13:15                                             ` Vanessa Maegima
2018-03-26 12:25                                               ` Vanessa Maegima
2018-03-26 13:34                                                 ` Vanessa Maegima
2018-11-14 11:40                                                   ` Arend van Spriel
2018-11-15 17:04                                                     ` Vanessa Ayumi Maegima
     [not found]                                                       ` <CAHWfWzm8Zwjc2tBQWVqpaa-cMYyEPWmUKYN7rspyb9W9spx2iQ@mail.gmail.com>
2018-11-17 19:10                                                         ` Fabio Estevam
2018-11-28 15:59                                                           ` Fabio Estevam
     [not found]                                                             ` <CAF7Mx6p1DpRieCKy_1qOE5YT4_76UO8vhLMBFUD2B0FrQ9BJGw@mail.gmail.com>
2018-11-28 16:23                                                               ` Fabio Estevam
2018-11-28 18:08                                                                 ` Fabio Estevam
2018-11-28 20:13                                                                   ` Arend van Spriel
2018-11-29  0:12                                                                     ` Fabio Estevam

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.