Date: Sat, 29 Sep 2007 15:57:33 +0900 From: Weongyo Jeong <weongyo.jeong@gmail.com> To: Sam Leffler <sam@errno.com> Cc: freebsd-current@freebsd.org Subject: Re: atheros panic (D-Link DWL-G520) Message-ID: <20070929065733.GB66680@freebsd.weongyo.org> In-Reply-To: <46FDC5A4.5060403@errno.com> References: <20070929025030.GA66680@freebsd.weongyo.org> <46FDC5A4.5060403@errno.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Sep 28, 2007 at 08:25:24PM -0700, Sam Leffler wrote: > Weongyo Jeong wrote: > > My device is D-Link DWL-G520 and the device encountered a panic when I > > did `ifconfig ath0 up'. The kernel was cvs-uped yesterday. The following > > are the panic message: > > > > hostap# ifconfig ath0 up > > ath0: ath_chan_set: unable to reset channel 1 (2412 Mhz, flags 0x480 hal > > flags 0xc0) > > hostap# ath0: ath_chan_set: unable to reset channel 11 (2462 Mhz, flags > > 0x480 hal flags 0xc0) > > ath0: ath_chan_set: unable to reset channel 13 (2472 Mhz, flags 0x480 > > hal flags 0xc0) > > ath0: ath_chan_set: unable to reset channel 3 (2422 Mhz, flags 0x480 hal > > flags 0xc0) > > ath0: ath_chan_set: unable to reset channel 8 (2447 Mhz, flags 0x480 hal > > flags 0xc0) > > ath0: hardware error; resetting > > ath0: 0x00080000 0x00000000 0x00000000, 0x00010000 0x00000000 0x00000000 > > > > > > Fatal trap 18: integer divide fault while in kernel mode > > cpuid = 0; apic id = 00 > > instruction pointer = 0x20:0xc09f0d25 > > stack pointer = 0x28:0xcbd3acd8 > > frame pointer = 0x28:0xcbd3acd8 > > code segment = base 0x0, limit 0xfffff, type 0x1b > > = DPL 0, pres 1, def32 1, gran 1 > > processor eflags = interrupt enabled, IOPL = 0 > > current process = 11 (idle: cpu0) > > [thread pid 11 tid 100004 ] > > Stopped at cpu_idle_default+0x5: popl %ebp > > db> bt > > Tracing pid 11 tid 100004 td 0xc20f7630 > > cpu_idle_default(cbd3acf8,c0769e17,c0bad610,2,c0a9a19d,...) at > > cpu_idle_default+0x5 > > cpu_idle(c0bad610,2,c0a9a19d,562,cbd3ad24,...) at cpu_idle+0x28 > > sched_idletd(0,cbd3ad38,c0a9515d,314,c20f6aa0,...) at sched_idletd+0x37 > > fork_exit(c0769de0,0,cbd3ad38) at fork_exit+0xb8 > > fork_trampoline() at fork_trampoline+0x8 > > --- trap 0, eip = 0, esp = 0xcbd3ad70, ebp = 0 --- > > db> > > > > > > And the below informations are device informations: > > > > hostap# uname -a > > FreeBSD hostap 7.0-CURRENT FreeBSD 7.0-CURRENT #1: Thu Sep 27 02:43:04 > > KST 2007 root@rumhostap:/usr/obj/usr/src/sys/GENERIC i386 > > > > hostap# pciconf -lcv > > ath0@pci2:2:0: class=0x020000 card=0x3a131186 chip=0x0013168c rev=0x01 > > hdr=0x00 > > vendor = 'Atheros Communications Inc.' > > device = 'AR5212, AR5213 802.11a/b/g Wireless Adapter' > > class = network > > subclass = ethernet > > cap 01[44] = powerspec 2 supports D0 D3 current D0 > > > > hostap# sysctl -a | grep dev.ath.0 > > dev.ath.0.%desc: Atheros 5212 > > dev.ath.0.%driver: ath > > dev.ath.0.%location: slot=2 function=0 > > dev.ath.0.%pnpinfo: vendor=0x168c device=0x0013 subvendor=0x1186 > > subdevice=0x3a13 class=0x020000 > > dev.ath.0.%parent: pci2 > > dev.ath.0.smoothing_rate: 95 > > dev.ath.0.sample_rate: 10 > > dev.ath.0.countrycode: 0 > > dev.ath.0.regdomain: 48 > > dev.ath.0.slottime: 9 > > dev.ath.0.acktimeout: 96 > > dev.ath.0.ctstimeout: 96 > > dev.ath.0.softled: 0 > > dev.ath.0.ledpin: 0 > > dev.ath.0.ledon: 0 > > dev.ath.0.ledidle: 2700 > > dev.ath.0.txantenna: 0 > > dev.ath.0.rxantenna: 0 > > dev.ath.0.diversity: 0 > > dev.ath.0.txintrperiod: 5 > > dev.ath.0.diag: 0 > > dev.ath.0.tpscale: 0 > > dev.ath.0.tpc: 0 > > dev.ath.0.tpack: 63 > > dev.ath.0.tpcts: 63 > > dev.ath.0.fftxqmin: 2 > > dev.ath.0.fftxqmax: 50 > > dev.ath.0.monpass: 24 > > > > hostap# ifconfig ath0 list channel > > Channel 1 : 2412 Mhz 11g Channel 8 : 2447 Mhz 11g > > Channel 2 : 2417 Mhz 11g Channel 9 : 2452 Mhz 11g > > Channel 3 : 2422 Mhz 11g Channel 10 : 2457 Mhz 11g > > Channel 4 : 2427 Mhz 11g Channel 11 : 2462 Mhz 11g > > Channel 5 : 2432 Mhz 11g Channel 12 : 2467 Mhz 11g > > Channel 6 : 2437 Mhz 11g Turbo Channel 13 : 2472 Mhz 11g > > Channel 7 : 2442 Mhz 11g > > > > stap# /sbin/ifconfig > > ath0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 > > ether 00:1b:11:1a:ee:32 > > media: IEEE 802.11 Wireless Ethernet autoselect (autoselect) > > status: no carrier > > ssid "" channel 1 (2412 Mhz 11b) > > authmode OPEN privacy OFF txpowmax 100 bmiss 7 scanvalid 60 bgscan > > bgscanintvl 300 bgscanidle 250 roam:rssi11b 14 roam:rate11b 1 burst > > > > hostap# dmesg | grep -i ath > > ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413) > > ath0: <Atheros 5212> mem 0xe7000000-0xe700ffff irq 11 at device 2.0 on pci2 > > ath0: [ITHREAD] > > ath0: using obsoleted if_watchdog interface > > ath0: Ethernet address: 00:1b:11:1a:ee:32 > > ath0: mac 7.9 phy 4.5 radio 5.6 > > Unfortunately the value of status isn't printed when the ath_hal_reset > calls fail. Please add that to the printf in ath_chan_set. > > Not sure where the divide fault comes from; the stack trace doesn't > provide much help. If you don't have INVARIANTS enabled you should do > that in case it catches what's going on before the panic happens. The status value which is returned by ath_hal_reset() (if_ath.c 5043 line) was 3 (HAL_EIO) and the kernel was compiled with INVARIANTS. Regards, Weongyo Jeong
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070929065733.GB66680>