Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Dec 2014 14:57:52 -0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Anthony Jenkins <Scoobi_doo@yahoo.com>
Cc:        "wireless@freebsd.org" <wireless@freebsd.org>
Subject:   Re: Atheros AR9565 detected, not working
Message-ID:  <CAJ-VmonQsa=D52esXPiEY_csngXrA8n3hGZoS9ix1o-RAC_uEA@mail.gmail.com>
In-Reply-To: <5498944C.4040706@yahoo.com>
References:  <CAJ-Vmo=rLMaatYY692fzc2CF2iiEXM9Fd5DZZpJTWOD_6mHpQg@mail.gmail.com> <433678684.160603.1419257025708.JavaMail.yahoo@jws10658.mail.bf1.yahoo.com> <CAJ-Vmom9zW9eeWvZ8KrpgYWS_MFQ46S1eOd4aUiOQ1S3P%2BbyNA@mail.gmail.com> <54987366.6060803@yahoo.com> <CAJ-VmomUoY3y5vtB88H4eugX01VVWMuuLf1gXsUS4Wptv8jh2Q@mail.gmail.com> <5498780B.90704@yahoo.com> <CAJ-Vmo=eaKGG9ha99%2B5gGdOE7OxkKq9RG3auc-2VP=ES0bvGmw@mail.gmail.com> <5498944C.4040706@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 22 December 2014 at 13:59, Anthony Jenkins <Scoobi_doo@yahoo.com> wrote:
> On 12/22/2014 15:22, Adrian Chadd wrote:
>> On 22 December 2014 at 11:59, Anthony Jenkins <Scoobi_doo@yahoo.com> wrote:
>>> I'll have to re-add the printf()s, but I'm pretty sure I saw 0x0B (of course it could have been 0x08 I saw, but neither of those would make it through the function - both 0x0B and 0x08 are blocked).
>> Please do. I'd like to fix up the HAL and driver to use the EEPROM
>> provided LED and RFKILL GPIO fields if they're populated and valid.
> Here's the chunk of boot messages for ath(4) on my laptop; it was 0x0B as I originally thought:
>
> Dec 22 16:47:59 ajenkins-hplaptop kernel: pcib2: allocated memory range (0xf0100000-0xf017ffff) for rid 10 of pci0:2:0:0
> Dec 22 16:47:59 ajenkins-hplaptop kernel: pcib2: matched entry for 2.0.INTA
> Dec 22 16:47:59 ajenkins-hplaptop kernel: pcib2: slot 0 INTA hardwired to IRQ 17
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: <Qualcomm Atheros AR9565> mem 0xf0100000-0xf017ffff irq 17 at device 0.0 on pci2
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ioapic0: routing intpin 17 (PCI IRQ 17) to lapic 16 vector 53
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: WB335 1-ANT card detected
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ar9300_attach: calling ar9300_hw_attach
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ar9300_hw_attach: calling ar9300_eeprom_attach
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ar9300_flash_map: unimplemented for now
> Dec 22 16:47:59 ajenkins-hplaptop kernel: Restoring Cal data from DRAM
> Dec 22 16:47:59 ajenkins-hplaptop kernel: Restoring Cal data from EEPROM
> Dec 22 16:47:59 ajenkins-hplaptop kernel: Restoring Cal data from Flash
> Dec 22 16:47:59 ajenkins-hplaptop kernel: Restoring Cal data from Flash
> Dec 22 16:47:59 ajenkins-hplaptop kernel: Restoring Cal data from OTP
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ar9300_hw_attach: ar9300_eeprom_attach returned 0
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ar9300_fill_capability_info: ah_rfsilent=0x2d
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ar9300_fill_capability_info: ah_gpio_select=0x0b
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ar9300_fill_capability_info: ah_polarity=0x00
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: RX status length: 48
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: RX buffer size: 4096
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: TX descriptor length: 128
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: TX status length: 36
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: TX buffers per descriptor: 4
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: ath_edma_setup_rxfifo: type=0, FIFO depth = 16 entries
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: ath_edma_setup_rxfifo: type=1, FIFO depth = 128 entries
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: [HT] enabling HT modes
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: [HT] enabling short-GI in 20MHz mode
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: [HT] 1 stream STBC receive enabled
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: [HT] 1 RX streams; 1 TX streams
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: 1T1R
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: 11ng MCS 20MHz
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: MCS 0-7: 6.5Mbps - 65Mbps
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: 11ng MCS 20MHz SGI
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: MCS 0-7: 7Mbps - 72Mbps
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: 11ng MCS 40MHz:
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: MCS 0-7: 13.5Mbps - 135Mbps
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: 11ng MCS 40MHz SGI:
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: MCS 0-7: 15Mbps - 150Mbps
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: AR9565 mac 704.0 RF5110 phy 1638.6
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: 2GHz radio: 0x0000; 5GHz radio: 0x0000
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: Use hw queue 1 for WME_AC_BE traffic
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: Use hw queue 0 for WME_AC_BK traffic
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: Use hw queue 2 for WME_AC_VI traffic
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: Use hw queue 3 for WME_AC_VO traffic
> Dec 22 16:47:59 ajenkins-hplaptop kernel: ath0: Use hw queue 8 for CAB traffic
>
> Here's the printf()s in the code:
>
> /*
>  * Fill all software cached or static hardware state information.
>  * Return failure if capabilities are to come from EEPROM and
>  * cannot be read.
>  */
> HAL_BOOL
> ar9300_fill_capability_info(struct ath_hal *ah)
> {
> ...
>     ahpriv->ah_rfsilent = ar9300_eeprom_get(ahp, EEP_RF_SILENT);
>     ath_hal_printf(ah, "%s: ah_rfsilent=0x%02x\n", __func__, ahpriv->ah_rfsilent);
>     if (ahpriv->ah_rfsilent & EEP_RFSILENT_ENABLED) {
>         ahp->ah_gpio_select = MS(ahpriv->ah_rfsilent, EEP_RFSILENT_GPIO_SEL);
>         ath_hal_printf(ah, "%s: ah_gpio_select=0x%02x\n", __func__, ahp->ah_gpio_select);
>         ahp->ah_polarity   = MS(ahpriv->ah_rfsilent, EEP_RFSILENT_POLARITY);
>         ath_hal_printf(ah, "%s: ah_polarity=0x%02x\n", __func__, ahp->ah_polarity);
>
>         ath_hal_enable_rfkill(ah, AH_TRUE);
>         ar9300_enable_rf_kill(ah);
>         p_cap->halRfSilentSupport = AH_TRUE;
>     }
>

Oh, man, good catch! It's coming out of a different EEPROM configuration area.

Ok, let me go see what's going on.




-adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmonQsa=D52esXPiEY_csngXrA8n3hGZoS9ix1o-RAC_uEA>