Re: ath0: unable to attach hardware

From: Adrian Chadd <adrian_at_freebsd.org>
Date: Thu, 27 Dec 2012 13:30:27 -0800
Hi,

Just leave all of the ath/ah options in the kernel.

Then comment out

device ath
device ath_hal
device ath_rate_sample

.. but yes, leave all the options in there.



Adrian


On 27 December 2012 12:06,  <husyh_at_hush.com> wrote:
> Hello,
>
> I hope you had a pleasant trip. Sorry for not replying for a while.
>
> Anyway, I tried to do what you asked me to. However, it seems like I misunderstood the handbook and/or your request, as I failed to compile the kernel.
>
> I copied my previous, working kernel config to a new file, and commented the devices ath, ath_pci, ath_hal and ath_rate_sample, as well as the options AH_SUPPORT_AR5416, AH_DEBUG and ATH_DEBUG. I did this because I could not find instructions in the handbook that explained how to build a module as a kld, and commenting the modules out was my best guess. Please point me to the relevant section in the handbook in the case that the information was actually there and I just was unable to find it.
> The full kernel config can be seen here: http://nopaste.info/d7475552bd.html
> Finally, I went to /usr/src and entered
> make buildkernel KERNCONF=PAVILIONNOATH
>
> This is what I suspect is the relevant output:
>
> cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc  -I. -I/usr/src/sys/modules/ath/../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -DHAVE_KERNEL_OPTION_HEADERS -include /usr/obj/usr/src/sys/PAVILIONNOATH/opt_global.h -I. -I_at_ -I_at_/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common -g -fno-omit-frame-pointer -I/usr/obj/usr/src/sys/PAVILIONNOATH  -mno-sse -mcmodel=kernel -mno-red-zone -mno-mmx -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -std=iso9899:1999 -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs -fdiagnostics-show-option -c /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c
> In file included from /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c:55:
> _at_/net/if_var.h:125: error: 'IFNAMSIZ' undeclared here (not in a function)
> _at_/net/if_var.h:151: error: field 'if_data' has incomplete type
> cc1: warnings being treated as errors
> _at_/net/if_var.h:157: warning: 'struct sockaddr' declared inside parameter list
> _at_/net/if_var.h:157: warning: its scope is only this definition or declaration, which is probably not what you want
> _at_/net/if_var.h:167: warning: 'struct sockaddr' declared inside parameter list
> _at_/net/if_var.h:187: error: 'AF_MAX' undeclared here (not in a function)
> _at_/net/if_var.h:718: error: field 'if_data' has incomplete type
> /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c: In function 'ath_hal_attach':
> /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c:65: warning: dereferencing 'void *' pointer
> /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c:65: error: request for member 'sc_ifp' in something not a structure or union
> /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c:70: warning: dereferencing 'void *' pointer
> /usr/src/sys/modules/ath/../../dev/ath/ath_hal/ah.c:70: error: request for member 'sc_ifp' in something not a structure or union
> *** Error code 1
>
> The full output has been posted to http://nopaste.info/408e62ac0f.html
>
> I'm willing and hoping to help troubleshoot this issue, but please keep in mind that I'm new to FreeBSD, so please give detailed instructions whenever you can.
>
> Thank you very much!
>
>>
>>Hi,
>>
>>Ok. I'm travelling for a little bit; if I don't reply in a few
>>days,
>>please poke me again.
>>
>>It may be that the device is asleep for a bit longer (failing this
>>test) and has completed resetting at this point.
>>
>>It may be that the power on sequence is not quite right for some
>>reason.
>>
>>Would you mind recompiling your kernel and making if_ath a kld,
>>rather
>>than statically in the kernel?
>>
>>Thanks,
>>
>>
>>Adrian
>>
>>>
>>> attached to this e-mail you find the output of dmesg. What I
>>guess the most relevant lines could be is:
>>>
>>> ath0: <Atheros 5413> mem 0xfdee0000-0xfdeeffff irq 16 at device
>>4.0 on pci2
>>> ar5212ChipTest: address test failed addr: 0x00008000 -
>>wr:0x00000000 != rd:0xffffffff
>>> ar5212Attach: hardware self-test failed
>>> ath0: unable to attach hardware; HAL status 14
>>> device_attach: ath0 attach returned 6
>>>
>>> I read the registers 4004 and 4010 again to make sure the values
>>still are the same, which indeed they are.
>>>
>>> I hope this helps.
>>>
>>> Thanks!
>>>
>>> On Donnerstag, 13. Dezember 2012 at 10:18 PM, "Adrian Chadd"
>><adrian_at_freebsd.org> wrote:
>>>>
>>>>On 13 December 2012 13:11,  <husyh_at_hush.com> wrote:
>>>>> Hello everyone,
>>>>>
>>>>> I'm afraid I still don't know what exactly BAR is, or how I get
>>>>its value that I'm supposed to plug into the line John provided:
>>>>> dd if=/dev/mem bs=4 iseek=((start of bar + reg offset)/4)
>>>>count=1 | hd
>>>>>
>>>>> I assumed that "start of bar" is 0xfdee0000 in my case, since
>>>>dmesg reports
>>>>> ath0: <Atheros 5413> mem 0xfdee0000-0xfdeeffff irq 16 at device
>>>>4.0 on pci2
>>>>
>>>>Yup.
>>>>
>>>>> This is what I get:
>>>>> # dd if=/dev/mem bs=4 iseek=`echo "ibase=16; (FDEE0000+4004)/4"
>>>>| bc` count=1 | hd
>>>>> 00 00 01 00
>>>>> # dd if=/dev/mem bs=4 iseek=`echo "ibase=16; (FDEE0000+4010)/4"
>>>>| bc` count=1 | hd
>>>>> 14 00 01 00
>>>>>
>>>>> Please correct me if my assumption about "start of bar" was
>>>>wrong and/or I made some other mistake.
>>>>> Also, please don't hesitate to ask me to do anything else that
>>>>might help you during debugging.
>>>>>
>>>>> Thank you very much for the effort.
>>>>
>>>>Hm. Wait, what's the rest of the ath0: output?
>>>>
>>>>
>>>>
>>>>Adrian
>
Received on Thu Dec 27 2012 - 20:30:34 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:33 UTC