ath0: unable to attach hardware

husyh at hush.com husyh at hush.com
Sat Dec 29 17:49:37 UTC 2012


Hi,

I maybe should add that whenever I haven't explicitly mentioned the version of FreeBSD I'm using, it's 9.0-RELEASE, as it is in this case. Is this maybe the cause of confusion?

If you're still unsure why the build fails, please let me know how I can help to resolve this issue.

Thank you!


>
>Erm.. that's confusing. I've never seen this build problem before. 
>The
>modules should build fine..
>
>On 29 December 2012 07:29,  <husyh at hush.com> wrote:
>> Hi,
>>
>> here's my new config: http://nopaste.info/7c11afee7c.html
>> and here's the complete kernel build output: 
>http://nopaste.info/34db985f16.html
>> The error message is this:
>>
>> 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@ -
>I@/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:
>> @/net/if_var.h:125: error: 'IFNAMSIZ' undeclared here (not in a 
>function)
>> @/net/if_var.h:151: error: field 'if_data' has incomplete type
>> cc1: warnings being treated as errors
>> @/net/if_var.h:157: warning: 'struct sockaddr' declared inside 
>parameter list
>> @/net/if_var.h:157: warning: its scope is only this definition 
>or declaration, which is probably not what you want
>> @/net/if_var.h:167: warning: 'struct sockaddr' declared inside 
>parameter list
>> @/net/if_var.h:187: error: 'AF_MAX' undeclared here (not in a 
>function)
>> @/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
>>
>> What am I supposed to do?
>>
>> Thank you very much. :)
>>
>>>
>>>Oh, comment out the if_ath_pci device too.
>>>
>>>Sorry, forgot about that.
>>>
>>>
>>>
>>>adrian
>>>
>>>
>>>On 28 December 2012 03:48,  <husyh at hush.com> wrote:
>>>> Hello again,
>>>>
>>>> here's the new kernel config: 
>http://nopaste.info/d7929aa100.html
>>>> and here's the make output: http://nopaste.info/ae7826ba48.html
>>>> The error messages I get when building are these:
>>>>
>>>> cc -c -O2 -frename-registers -pipe -fno-strict-aliasing  -
>>>std=c99 -g -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 -nostdinc  -I. -
>>>I/usr/src/sys -I/usr/src/sys/contrib/altq -D_KERNEL -
>>>DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -
>>>finline-limit=8000 --param inline-unit-growth=100 --param large-
>>>function-growth=1000  -fno-omit-frame-pointer -mno-sse -
>>>mcmodel=kernel -mno-red-zone -mno-mmx -msoft-float  -fno-
>>>asynchronous-unwind-tables -ffreestanding -fstack-protector -
>>>Werror  vers.c
>>>> linking kernel.debug
>>>> if_ath_pci.o: In function `ath_pci_resume':
>>>> /usr/src/sys/dev/ath/if_ath_pci.c:231: undefined reference to
>>>`ath_resume'
>>>> if_ath_pci.o: In function `ath_pci_suspend':
>>>> /usr/src/sys/dev/ath/if_ath_pci.c:221: undefined reference to
>>>`ath_suspend'
>>>> if_ath_pci.o: In function `ath_pci_shutdown':
>>>> /usr/src/sys/dev/ath/if_ath_pci.c:212: undefined reference to
>>>`ath_shutdown'
>>>> if_ath_pci.o: In function `ath_pci_detach':
>>>> /usr/src/sys/dev/ath/if_ath_pci.c:193: undefined reference to
>>>`ath_detach'
>>>> if_ath_pci.o: In function `ath_pci_attach':
>>>> /usr/src/sys/dev/ath/if_ath_pci.c:140: undefined reference to
>>>`ath_intr'
>>>> /usr/src/sys/dev/ath/if_ath_pci.c:168: undefined reference to
>>>`ath_attach'
>>>> if_ath_pci.o: In function `ath_pci_probe':
>>>> /usr/src/sys/dev/ath/if_ath_pci.c:82: undefined reference to
>>>`ath_hal_probe'
>>>> *** Error code 1
>>>>
>>>> I'm sorry for being so unexperienced. What am I doing wrong?
>>>>
>>>>>
>>>>>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@ -
>>>>>I@/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:
>>>>>> @/net/if_var.h:125: error: 'IFNAMSIZ' undeclared here (not 
>in a
>>>>>function)
>>>>>> @/net/if_var.h:151: error: field 'if_data' has incomplete 
>type
>>>>>> cc1: warnings being treated as errors
>>>>>> @/net/if_var.h:157: warning: 'struct sockaddr' declared 
>inside
>>>>>parameter list
>>>>>> @/net/if_var.h:157: warning: its scope is only this 
>definition
>>>>>or declaration, which is probably not what you want
>>>>>> @/net/if_var.h:167: warning: 'struct sockaddr' declared 
>inside
>>>>>parameter list
>>>>>> @/net/if_var.h:187: error: 'AF_MAX' undeclared here (not in a
>>>>>function)
>>>>>> @/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
>>>>>>
>>>>
>>



More information about the freebsd-current mailing list