if_bridge problem in hostap (ath)?

Paulo Fragoso paulo at nlink.com.br
Sun Jul 9 01:27:52 UTC 2006


Excuse-me my poor english, but I will try to correct...

This machine have three WiFi cards DWL-G520 (chipset Atheros, ath0, ath1 
and ath2), all WiFi cards are running in hostap mode and all works fine.

One time per day happen a crash, I suspect there are any problem with 
if_bridge, because all crashes I can found a backtrace related with 
nve0, ath1 or ath2, all nics joint to bridge0 interface, how showed in 
last crash:

kgdb kernel.debug /var/crash/vmcore.3
[GDB will not be able to debug user-mode threads: 
/usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain 
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".

Unread portion of the kernel message buffer:

============================================================
Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0xbfc00d00
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc06c07ef
stack pointer           = 0x28:0xd325eb1c
frame pointer           = 0x28:0xd325eb7c
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         = 20 (irq20: nve0)
trap number             = 12
panic: page fault
Uptime: 1d0h21m32s
Dumping 255 MB (2 chunks)
  chunk 0: 1MB (159 pages) ... ok
  chunk 1: 255MB (65264 pages) 239 223 207 191 175 159 143 127 111 95 79 
63 47 31 15

#0  doadump () at pcpu.h:165
165             __asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb) backlist
Undefined command: "backlist".  Try "help".
(kgdb) backtrace
#0  doadump () at pcpu.h:165
#1  0xc05288fd in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:402
#2  0xc0528b94 in panic (fmt=0xc06fa922 "%s")
    at /usr/src/sys/kern/kern_shutdown.c:558
#3  0xc06d32f4 in trap_fatal (frame=0xd325eadc, eva=3217034496)
    at /usr/src/sys/i386/i386/trap.c:836
#4  0xc06d305b in trap_pfault (frame=0xd325eadc, usermode=0, eva=3217034496)
    at /usr/src/sys/i386/i386/trap.c:744
#5  0xc06d2cb9 in trap (frame=
      {tf_fs = 8, tf_es = 40, tf_ds = 40, tf_edi = -1019245940, tf_esi = 
-1019245944, tf_ebp = -752489604, tf_isp = -752489720, tf_ebx = 0, 
tf_edx = 3407872, tf_ecx = 3407872, tf_eax = 832, tf_trapno = 12, tf_err 
= 0, tf_eip = -1066661905, tf_cs = 32, tf_eflags = 590354, tf_esp = 
-1018302464, tf_ss = 3409989})
    at /usr/src/sys/i386/i386/trap.c:434
#6  0xc06c2b1a in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#7  0xc06c07ef in bus_dmamap_load_mbuf (dmat=0xc343e100, map=0xc349e100,
    m0=0xc3452600, callback=0xc06aa9e8 <nve_dmamap_rx_cb>,
    callback_arg=0xc33f8a9c, flags=1) at pmap.h:200
#8  0xc06ac9b0 in nve_osallocrxbuf (ctx=0xc340f400, mem=0xd325ebd0, 
id=0x340)
    at /usr/src/sys/dev/nve/if_nve.c:1439
#9  0xc069660f in CreateReceiveDescriptor ()
#10 0xc340f400 in ?? ()
#11 0xd325ebd0 in ?? ()
#12 0xd325ebcc in ?? ()
#13 0xc363ab00 in ?? ()
#14 0xc33f8a88 in ?? ()
#15 0xc3449800 in ?? ()
#16 0x0000061e in ?? ()
#17 0xd5480000 in ?? ()
#18 0xd548e0d8 in ?? ()
#19 0xd5480000 in ?? ()
#20 0xc069571f in UpdateReceiveDescRingData ()
#21 0x00000000 in ?? ()
(kgdb)
============================================================

What is happening?

Paulo.

Paulo Fragoso wrote, On 08/07/2006 11:23:
> Hi,
>
> Are there any problem with if_bridge in hostap mode? We have a FreeBSD
> 6.1 runnig with 03 atheros cards (all atheros cards are in hostap mode)
> where 02 cards are bridged:
>
> bridge0: flags=8043<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
>        ether ac:de:48:0f:31:2a
>        priority 32768 hellotime 2 fwddelay 15 maxage 20
>        member: nve0 flags=3<LEARNING,DISCOVER>
>        member: ath1 flags=3<LEARNING,DISCOVER>
>        member: ath2 flags=3<LEARNING,DISCOVER>
>
> In this server are happing some crahses like this:
>
> ============================================================
> kgdb kernel.debug /var/crash/vmcore.2
> [GDB will not be able to debug user-mode threads:
> /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
> GNU gdb 6.1.1 [FreeBSD]
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and 
> you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for 
> details.
> This GDB was configured as "i386-marcel-freebsd".
>
> Unread portion of the kernel message buffer:
>
>
> #0  doadump () at pcpu.h:165
> 165             __asm __volatile("movl %%fs:0,%0" : "=r" (td));
> (kgdb) backtrace
> #0  doadump () at pcpu.h:165
> #1  0xc05288fd in boot (howto=260) at 
> /usr/src/sys/kern/kern_shutdown.c:402
> #2  0xc0528b94 in panic (fmt=0xc06fa922 "%s")
>    at /usr/src/sys/kern/kern_shutdown.c:558
> #3  0xc06d32f4 in trap_fatal (frame=0xd0fe9ae8, eva=12)
>    at /usr/src/sys/i386/i386/trap.c:836
> #4  0xc06d305b in trap_pfault (frame=0xd0fe9ae8, usermode=0, eva=12)
>    at /usr/src/sys/i386/i386/trap.c:744
> #5  0xc06d2cb9 in trap (frame=
>      {tf_fs = 8, tf_es = 40, tf_ds = 40, tf_edi = -1017680556, tf_esi =
> 320, tf_ebp = -788620468, tf_isp = -788620524, tf_ebx = -1017680640,
> tf_edx = 0, tf_ecx = -1013202928, tf_eax = 0, tf_trapno = 12, tf_err =
> 0, tf_eip = -1068114357, tf_cs = 32, tf_eflags = 590338, tf_esp = 0,
> tf_ss = -788620464})
>    at /usr/src/sys/i386/i386/trap.c:434
> #6  0xc06c2b1a in calltrap () at /usr/src/sys/i386/i386/exception.s:139
> #7  0xc055de4b in m_copym (m=0x0, off0=1500, len=1480, wait=1)
>    at /usr/src/sys/kern/uipc_mbuf.c:400
> #8  0xc05d0d08 in ip_fragment (ip=0xc39bc010, m_frag=0xd0fe9c08,
>    mtu=-1017680640, if_hwassist_flags=0, sw_csum=1)
>    at /usr/src/sys/netinet/ip_output.c:975
> #9  0xc05d09af in ip_output (m=0xc399cd00, opt=0xc3449800, ro=0xd0fe9bd4,
>    flags=1, imo=0x0, inp=0x0) at /usr/src/sys/netinet/ip_output.c:804
> #10 0xc05cfd98 in ip_forward (m=0xc399cd00, srcrt=0)
>    at /usr/src/sys/netinet/ip_input.c:1907
> #11 0xc05ce907 in ip_input (m=0xc399cd00)
>    at /usr/src/sys/netinet/ip_input.c:689
> #12 0xc05a5243 in netisr_processqueue (ni=0xc0797458)
>    at /usr/src/sys/net/netisr.c:236
> #13 0xc05a53f6 in swi_net (dummy=0x0) at /usr/src/sys/net/netisr.c:343
> #14 0xc0513129 in ithread_execute_handlers (p=0xc3329830, ie=0xc338c300)
>    at /usr/src/sys/kern/kern_intr.c:684
> #15 0xc0513240 in ithread_loop (arg=0xc330f640)
>    at /usr/src/sys/kern/kern_intr.c:767
> #16 0xc0512098 in fork_exit (callout=0xc05131ec <ithread_loop>,
>    arg=0xc330f640, frame=0xd0fe9d38) at /usr/src/sys/kern/kern_fork.c:805
> #17 0xc06c2b7c in fork_trampoline () at
> /usr/src/sys/i386/i386/exception.s:208
> ============================================================
>
> Our /etc/sysctl.conf is:
>
> net.link.ether.ipfw=1
> kern.maxfiles=32768
> net.inet.ip.fw.dyn_max=10240
> kern.ipc.nmbclusters=32768
> kern.ipc.somaxconn=38400
>
> and /boot/loader.conf:
> kern.ipc.nmbclusters=32768
> kern.ipc.maxpipekva=6553600
> if_ath_load="YES"
> ath_hal_load="YES"
> ath_rate_load="YES"
> kern.maxusers=512
> debug.mpsafenet=0
>
> and dmesg:
> Copyright (c) 1992-2006 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>        The Regents of the University of California. All rights reserved.
> FreeBSD 6.1-RELEASE-p2 #0: Thu Jul  6 08:59:27 GMT+3 2006
>    paulo@***:/usr/obj/usr/src/sys/KERNEL4
> WARNING: MPSAFE network stack disabled, expect reduced performance.
> Timecounter "i8254" frequency 1193182 Hz quality 0
> CPU: AMD Sempron(tm) Processor 3000+ (1808.81-MHz 686-class CPU)
>  Origin = "AuthenticAMD"  Id = 0x20fc0  Stepping = 0
>
> Features=0x78bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CM 
>
> OV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2>
>  Features2=0x1<SSE3>
>  AMD Features=0xe2500800<SYSCALL,NX,MMX+,FFXSR,LM,3DNow+,3DNow>
>  AMD Features2=0x1<LAHF>
> real memory  = 268369920 (255 MB)
> avail memory = 252715008 (241 MB)
> ACPI APIC Table: <Nvidia AWRDACPI>
> ioapic0 <Version 1.1> irqs 0-23 on motherboard
> ath_hal: 0.9.16.16 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, 
> RF5413)
> acpi0: <Nvidia AWRDACPI> on motherboard
> acpi0: Power Button (fixed)
> Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
> acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
> cpu0: <ACPI CPU> on acpi0
> acpi_button0: <Power Button> on acpi0
> pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff,0xcf0-0xcf3 on acpi0
> pci0: <ACPI PCI bus> on pcib0
> agp0: <NVIDIA nForce3-250 AGP Controller> mem 0xf8000000-0xf9ffffff at
> device 0.
> 0 on pci0
> isab0: <PCI-ISA bridge> at device 1.0 on pci0
> isa0: <ISA bus> on isab0
> pci0: <serial bus, SMBus> at device 1.1 (no driver attached)
> nve0: <NVIDIA nForce MCP7 Networking Adapter> port 0xcc00-0xcc07 mem
> 0xfd002000-
> 0xfd002fff irq 20 at device 5.0 on pci0
> nve0: Ethernet address 00:0f:ea:ae:d7:44
> miibus0: <MII bus> on nve0
> ukphy0: <Generic IEEE 802.3u media interface> on miibus0
> ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> nve0: Ethernet address: 00:0f:ea:ae:d7:44
> nve0: [GIANT-LOCKED]
> atapci0: <nVidia nForce3 Pro UDMA133 controller> port
> 0x1f0-0x1f7,0x3f6,0x170-0x
> 177,0x376,0xf000-0xf00f at device 8.0 on pci0
> ata0: <ATA channel 0> on atapci0
> ata1: <ATA channel 1> on atapci0
> atapci1: <nVidia nForce3 Pro SATA150 controller> port
> 0x9f0-0x9f7,0xbf0-0xbf3,0x
> 970-0x977,0xb70-0xb73,0xe800-0xe80f,0xec00-0xec7f irq 21 at device 10.0
> on pci0
> ata2: <ATA channel 0> on atapci1
> ata3: <ATA channel 1> on atapci1
> pcib1: <ACPI PCI-PCI bridge> at device 11.0 on pci0
> pci1: <ACPI PCI bus> on pcib1
> pcib2: <ACPI PCI-PCI bridge> at device 14.0 on pci0
> pci2: <ACPI PCI bus> on pcib2
> ath0: <Atheros 5212> mem 0xfc040000-0xfc04ffff irq 18 at device 6.0 on 
> pci2
> ath0: [GIANT-LOCKED]
> ath0: Ethernet address: 00:13:46:93:b6:13
> ath0: mac 7.9 phy 4.5 radio 5.6
> ath1: <Atheros 5212> mem 0xfc020000-0xfc02ffff irq 19 at device 7.0 on 
> pci2
> ath1: [GIANT-LOCKED]
> ath1: Ethernet address: 00:13:46:93:b8:5b
> ath1: mac 7.9 phy 4.5 radio 5.6
> ath2: <Atheros 5212> mem 0xfc030000-0xfc03ffff irq 16 at device 8.0 on 
> pci2
> ath2: [GIANT-LOCKED]
> ath2: Ethernet address: 00:13:46:93:b6:01
> ath2: mac 7.9 phy 4.5 radio 5.6
> pci2: <display, VGA> at device 9.0 (no driver attached)
> sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on
> acpi0
> sio0: type 16550A
> sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
> sio1: type 16550A
> atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
> atkbd0: <AT Keyboard> irq 1 on atkbdc0
> kbd0 at atkbd0
> atkbd0: [GIANT-LOCKED]
> pmtimer0 on isa0
> orm0: <ISA Option ROM> at iomem 0xc0000-0xc7fff on isa0
> ppc0: parallel port not found.
> sc0: <System console> at flags 0x100 on isa0
> sc0: VGA <16 virtual consoles, flags=0x300>
> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
> Timecounter "TSC" frequency 1808812915 Hz quality 800
> Timecounters tick every 1.000 msec
> ipfw2 (+ipv6) initialized, divert loadable, rule-based forwarding
> enabled, defau
> lt to accept, logging unlimited
> ad0: 38203MB <SAMSUNG SP0411N TW100-13> at ata0-master UDMA100
> Trying to mount root from ufs:/dev/ad0s1a
> WARNING: / was not properly dismounted
> bridge0: Ethernet address: ac:de:48:0f:31:2a
>
> Can anyone help us?
>
> Thanks,
> Paulo.
>
>
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"


More information about the freebsd-net mailing list