Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Jun 2023 20:48:16 -0700
From:      Adrian Chadd <adrian@freebsd.org>
To:        John Nielsen <lists@jnielsen.net>
Cc:        "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>,  "wireless@freebsd.org" <wireless@freebsd.org>
Subject:   Re: Help me grok the ath(4) device attach code
Message-ID:  <CAJ-Vmo=HR8=nvFLPQTG=2NZCCuV_bsLY67cgGo=FdLoT%2BvbnZQ@mail.gmail.com>
In-Reply-To: <C6FEECAF-2CF9-4DD0-9F58-305F59F6A638@jnielsen.net>
References:  <49AEA1CB-FA85-432F-89D7-8C49B5F3A344@jnielsen.net> <q921p430-oq56-qo4n-rq49-0o7008pr40n3@yvfgf.mnoonqbm.arg> <E6DF8709-2767-48D3-AED1-D0608F5AABCF@jnielsen.net> <CAJ-VmokUORGzQz6bOhutucy1xTv_1ZwP0vOZN=6vW1wusCLJpg@mail.gmail.com> <85BF3AB2-2EBF-4398-A507-ABA35505A56C@jnielsen.net> <CAJ-VmokL_Kdrgtv3YT6U=yKhr4d-wkba3Vx3AssfY3-iMuBT5Q@mail.gmail.com> <BACFD661-E94B-4F50-93EE-91450EBD2212@jnielsen.net> <CAJ-VmonEoAGTN6XcDZQeU6Z=pcZiD-qNhPMYm%2BEXhiVbotwYcw@mail.gmail.com> <C6FEECAF-2CF9-4DD0-9F58-305F59F6A638@jnielsen.net>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
On Sun, 11 Jun 2023 at 18:17, John Nielsen <lists@jnielsen.net> wrote:

> > On May 30, 2023, at 11:17 PM, Adrian Chadd <adrian@freebsd.org> wrote:
> >
> > There's known issues with all the Atheros chips (sigh) with how the
> EEPROM and PCIe bus reset .. interact.
> > (If the bus reset is too short then the EEPROM state machine gets stuck
> and nothing gets read.) It makes debugging this hard because the NIC itself
> will work in another device fine, because it's the BIOS/ACPI code. :(
>
> Does “nothing gets read” manifest as getting zeroes back? That does appear
> to be what’s happening on my laptop:
>

Yeah that's not a good sign.


>
> Trying (2) EEPROM access at address 0x03ff
> ar9300_eeprom_restore_internal_address: Found block at 3ff: code=0 ref=0
> length=0 major=0 minor=0
> ar9300_eeprom_restore_internal_address: word[0]=0x00 word[1]=0x00
> word[2]=0x00 word[3]=0x00
> ar9300_eeprom_restore_internal_address: checksum 0 0
> ar9300_eeprom_restore_internal_address: EEPROM structure size mismatch
> memory=1088 eeprom=0
>
> Are there any workarounds (even gross ones like sleeping 2 seconds
> somewhere)?
>
>
The gross workaround is to manually reset the pcie RC/EP and do it for the
right amount of time. ;-)



-a

[-- Attachment #2 --]
<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, 11 Jun 2023 at 18:17, John Nielsen &lt;<a href="mailto:lists@jnielsen.net">lists@jnielsen.net</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">&gt; On May 30, 2023, at 11:17 PM, Adrian Chadd &lt;<a href="mailto:adrian@freebsd.org" target="_blank">adrian@freebsd.org</a>&gt; wrote:<br>
&gt; <br>
&gt; There&#39;s known issues with all the Atheros chips (sigh) with how the EEPROM and PCIe bus reset .. interact.<br>
&gt; (If the bus reset is too short then the EEPROM state machine gets stuck and nothing gets read.) It makes debugging this hard because the NIC itself will work in another device fine, because it&#39;s the BIOS/ACPI code. :(<br>
<br>
Does “nothing gets read” manifest as getting zeroes back? That does appear to be what’s happening on my laptop:<br></blockquote><div><br></div><div>Yeah that&#39;s not a good sign.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Trying (2) EEPROM access at address 0x03ff<br>
ar9300_eeprom_restore_internal_address: Found block at 3ff: code=0 ref=0 length=0 major=0 minor=0<br>
ar9300_eeprom_restore_internal_address: word[0]=0x00 word[1]=0x00 word[2]=0x00 word[3]=0x00<br>
ar9300_eeprom_restore_internal_address: checksum 0 0<br>
ar9300_eeprom_restore_internal_address: EEPROM structure size mismatch memory=1088 eeprom=0<br>
<br>
Are there any workarounds (even gross ones like sleeping 2 seconds somewhere)?<br>
<br></blockquote><div><br></div><div>The gross workaround is to manually reset the pcie RC/EP and do it for the right amount of time. ;-)</div><div><br></div><div><br></div><div><br></div><div>-a</div><div> </div></div></div>
home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=HR8=nvFLPQTG=2NZCCuV_bsLY67cgGo=FdLoT%2BvbnZQ>