Re: Panic when loading if_ath

From: Jille Timmermans <jille_at_quis.cx>
Date: Thu, 11 Dec 2008 19:32:24 +0100
Sam Leffler schreef:
> Jille Timmermans wrote:
>> Sam Leffler schreef:
>>  
>>> Jille Timmermans wrote:
>>>    
>>>> Hello list,
>>>>
>>>> A panic with if_ath (Atheros 2413)
>>>>
>>>> root /sys/modules/ath_rate_amrr# make
>>>> root /sys/modules/ath_rate_amrr# make install
>>>> root ~# kldload if_ath
>>>> warning: KLD '/boot/kernel/if_ath.ko' is newer than the linker.hints
>>>> file
>>>> ath0: <Atheros 2413> mem 0xc9000000-0xc900ffff irq 18 at device 1.0 on
>>>> pci5
>>>> ath0: [ITHREAD]
>>>>
>>>> Fatal trap 12: page fault while in kernel mode
>>>> cpuid = 0; apic id = 00
>>>> fault virtual address = 0x0
>>>> fault code = supervisor read, page not present
>>>> instruction pointer = 0x20:0x0
>>>> stack pointer = 0x28:0xc43cc748
>>>> frame pointer = 0x28:0xc43cc75c
>>>> code segment = base 0x0, limit 0xfffff, type 0x1b
>>>>              = DPL 0, pres 1, def32 1, gran 1
>>>> processor eflags = interrupt enabled, resume, IOPL = 0
>>>> current_process = 993 (kldload)
>>>> trap number = 12
>>>> panic: page fault
>>>> cpuid = 0
>>>>
>>>> [dump]
>>>> [reboot]
>>>> WARNING: /tmp was not properly dismounted
>>>> WARNING: /usr was not properly dismounted
>>>> WARNING: /var was not properly dismounted
>>>>
>>>> Fatal trap 12: page fault while in kernel mode
>>>> cpuid = 0; apic id = 00
>>>> fault virtual address = 0x5bbfe499
>>>> fault code = supervisor read, page not present
>>>> instruction pointer  = 0x20:0xc0684c37
>>>> stack pointer = 0x28:0xc4364a5c
>>>> frame pointer = 0x28:0xc4364c28
>>>> code segment = base 0x0, limit 0xfffff, type 0x1b
>>>>              = DPL 0, pres 1, def32 1, gran 1
>>>> processor eflags = interrupt enabled, resume, IOPL = 0
>>>> current process = 136 (ifconfig)
>>>> trap number = 12
>>>> panic: page fault
>>>> cpuid = 0
>>>>
>>>> [a few crashes later, when it comes to mind to get a backtrace]
>>>> root ~# kldload ath_rate
>>>> root ~# kldload if_ath
>>>> ath0: <Atheros 2413> mem 0xc9000000-0xc900ffff irq 18 at device 1.0 on
>>>> pci5
>>>> ath0: [ITHREAD]
>>>> [panic]
>>>> uart_z8530_class(c4ac5000, 0, 1, 1, c4390000, ...) at 0
>>>> ar5212Attach(1a, c48b0000, 1, c4389000, c437c8ec, ...) at
>>>> ar5212Attach+0x211
>>>> ath_hal_attach(1a, c48b0000, 1, c4389000, c437c8ec, ...) at
>>>> ath_hal_attach+0x56
>>>> ath_attach(1a, c48b0000, 3, c437c940, ffffffff, ...) at ath_attach+0x9e
>>>> ath_pci_attach(c46bb200, c4823854, c09fcf80, c099dc60, 80000000,
>>>> ...) at
>>>> ath_pci_attach+0x332
>>>> device_attach([snip]) at device_attach+0x36f
>>>> device_probe_and_attach([snip) at ...+0x43
>>>> pci_driver_added([snip]) at +0x104
>>>> devclass_add_driver([snip]) at +0xe8
>>>> driver_module_handler([snip]) at +0x79
>>>> module_register_init()
>>>> linker_load_module()
>>>> kern_kldload()
>>>>
>>>> (Please don't tell me you want any of that snips.)
>>>>
>>>> Any extra information I can provide to you ?
>>>> I am willing to help debugging / crashing.
>>>>
>>>>         
>>> Try building the driver into the kernel.  Also use sample and not amrr.
>>>     
>> root ~# cd /sys/modules/ath_rate_sample
>> root /sys/modules/ath_rate_sample# make
>> root /sys/modules/ath_rate_sample# make install
>> root /sys/modules/ath_rate_sample# kldload if_ath
>> link_elf: symbol ath_hal_computetxtime undefined
>> KLD if_ath.ko: depends on ath_rate - not available
>> kldload: can't load if_ath: No such file or directory
>> root /sys/modules/ath_rate_sample# kldload ath_rate
>> link_elf: symbol ath_hal_computetxtime undefined
>> kldload: can't load ath_rate: No such file or directory
>>
>> I'll try compiling it in.
>>
>>   
> I know module building is broken; I posted recently to just build things
> into the kernel.  I've got a possible solution in p4 in the sam_vap
> branch if you want to try it.  I removed the ath_rate_* modules and just
> smooshed the code into the ath module so we go from
> (ath+ath_hal+ath_rate) to just (ath).
> 
> Right now I want to see if your problem is in the module mess,
> ath_rate_amrr, or something else.  I tested 2413 w/ the driver built
> into the kernel so I'm guessing it's amrr which I may just nuke entirely
> (along with onoe).
The built-in version panics as well (while booting).

(Information of which I think it is relevant)
ath0: <Atheros 2413> mem 0xc9000000-0xc900ffff irq 18 at device 1.0 on pci5
ath0: [ITHREAD]

Fatal trap 1: privileged instruction fault while in kernel mode
cpuid = 0; apic id = 00
instruction pointer = 0x20:0x3
current process = 0 (swapper)
trap number = 1
Uptime: 1s

db> bt
uart_z8530_class(c46da000, 0, 1, 1, c433c000, ...) at 0x3
ar5212Attach(1a, c48c9000, 1, c433c000, c437c8ec, ...) at
ar5212Attach+0x70a
ath_hal_attach(1a, c46c9000, 3, c10208b8, ffffffff, ...) at
ath_hal_attach+0xbe

kernel config entries:
options AH_SUPPORT_AR5416
device ath
device ath_hal
device ath_rate_sample

How can I get a kernel of your p4 source ?
Can you provide me a diff against head or something alike ?

-- Jille
> 
>    Sam
> 
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
Received on Thu Dec 11 2008 - 17:32:29 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:38 UTC