CAMBRIA and more than one atheros card

Adrian Chadd adrian at freebsd.org
Thu Jul 17 19:30:54 UTC 2014


okay, I think that needs to be fixed first. I can't debug it otherwise. :)



-a


On 17 July 2014 12:24, John Hay <jhay at meraka.org.za> wrote:
> On Thu, Jul 17, 2014 at 12:17:19PM -0700, Adrian Chadd wrote:
>> I've seen some weird cases in the past where there's just no
>> interrupts making out after boot. I don't know why.
>>
>> Chances are that's what you're seeing - the frame is going out but
>> there's no interrupts.
>>
>> Check vmstat -ia ; see if ath0 is generating interrupts.
>
> I don't think vmstat -ia work properly. On a boot where ath works, this
> is what I see:
>
> tst-11-arm:~ # vmstat -ia
> interrupt                          total       rate
> irq0: npe1                             0          0
> irq2: npe0                             0          0
> irq3: ixpqmgr0                         0          0
> irq4: ixpqmgr0                         0          0
> irq5: ixpclk0                          0          0
> Total                            3520443        172
>
> Ath0-2 do not pitch up and npe0 stays 0 even though packets have been
> sent and received on it.
>
> John
>
>>
>>
>>
>> -a
>>
>>
>> On 17 July 2014 03:34, John Hay <jhay at meraka.org.za> wrote:
>> > On Mon, Jul 14, 2014 at 10:37:07PM +0200, John Hay wrote:
>> >> On Mon, Jul 14, 2014 at 01:02:03PM -0700, Adrian Chadd wrote:
>> >> >
>> >> > Ah, you're not even using it in 11n mode. Ok.
>> >> >
>> >> > Well, that's 72 mbufs allocated, and up to 200 more being allocated
>> >> > during transmit. Then there's the handful of pages being used for DMA
>> >> > descriptors. So yeah, over time that may become a problem.
>> >> >
>> >> > Try doubling the number of bounce buffers available and see what happens.
>> >>
>> >> The first boot looks good, all 3 aths came up. Bounce buffers just
>> >> after login:
>> >>
>> >> tst-11-arm:~ # sysctl hw.busdma
>> >> hw.busdma.total_bpages: 128
>> >> hw.busdma.zone0.total_bpages: 128
>> >> hw.busdma.zone0.free_bpages: 128
>> >> hw.busdma.zone0.reserved_bpages: 0
>> >> hw.busdma.zone0.active_bpages: 0
>> >> hw.busdma.zone0.total_bounced: 0
>> >> hw.busdma.zone0.total_deferred: 0
>> >> hw.busdma.zone0.lowaddr: 0x4000fff
>> >> hw.busdma.zone0.alignment: 4096
>> > ...
>> >> Great! At last it seems like we are making progress. I'll leave it
>> >> till the morning and then do a few reboots and then some traffic.
>> >>
>> >> One question, should the active bounce pages keep growing or stabilize
>> >> somewhere? How do I know if I have to few or if there is a leak?
>> >>
>> >> Thanks Adrian for your help.
>> >
>> > I still ran out sometimes during a reboot, so I upped it to 512 and added
>> > a sysctl to show the max that active_bpages has been. Sometimes just
>> > after a reboot active_bpages is low and other times higher, I have seen
>> > 140. A few times during a reboot I see timeouts, which only a reboot
>> > seem to recover from. Can it be a left over config from the previous boot
>> > that does not get cleaned out? Or maybe traffic being received while the
>> > config is happening?
>> >
>> > Here is an example during the boot:
>> >
>> > ####################
>> > ...
>> > ath0: <Atheros 9220> irq 28 at device 1.0 on pci0
>> > alloc_bounce_pages: numpages 63
>> > [ath] enabling AN_TOP2_FIXUP
>> > alloc_bounce_pages: numpages 63
>> > alloc_bounce_pages: numpages 63
>> > alloc_bounce_pages: numpages 63
>> > alloc_bounce_pages: numpages 63
>> > alloc_bounce_pages: numpages 63
>> > alloc_bounce_pages: numpages 63
>> > alloc_bounce_pages: numpages 63
>> > alloc_bounce_pages: numpages 8
>> > ath0: AR9220 mac 128.2 RF5133 phy 13.0
>> > ath0: 2GHz radio: 0x0000; 5GHz radio: 0x00c0
>> > ath1: <Atheros 9220> irq 27 at device 2.0 on pci0
>> > [ath] enabling AN_TOP2_FIXUP
>> > ath1: AR9220 mac 128.2 RF5133 phy 13.0
>> > ath1: 2GHz radio: 0x0000; 5GHz radio: 0x00c0
>> > ath2: <Atheros 5413> irq 26 at device 3.0 on pci0
>> > ath2: AR5413 mac 10.5 RF5413 phy 6.1
>> > ath2: 2GHz radio: 0x0000; 5GHz radio: 0x0063
>> > ixpclk0: <IXP4XX Timer> on ixp0
>> > ixpiic0: <IXP4XX GPIO-Based I2C Interface> on ixp0
>> > ...
>> > /sbin/ifconfig.bin wlan0 create wlandev ath0 wlanmode adhoc country ZA
>> > wlan0: Ethernet address: 00:21:a4:35:70:42
>> > /sbin/ifconfig.bin wlan0 inet6 ifdisabled
>> > /sbin/ifconfig.bin wlan0 -bgscan channel 140 ssid mesh bssid 02:8c:ca:fe:ca:00
>> > /sbin/ifconfig.bin wlan0 inet6 -ifdisabled
>> > /sbin/ifconfig.bin wlan0 inet6 auto_linklocal
>> > /sbin/ifconfig.bin wlan0 inet6 -ifdisabled
>> > dev.ath.0.debug: 0 -> 8
>> > /sbin/ifconfig.bin wlan0 up
>> > ath0: ath_init: if_flags 0x8803
>> > ath0: ath_stop_locked: invalid 0 if_flags 0x8803
>> > dev.ath.0.debug: 8 -> 0
>> > ath0: hardware error; resetting
>> > ath0: 0x00000000 0x00000020 0x00000000, 0x00000000 0x00000000 0x00000000
>> > ar5416StopDmaReceive: dma failed to stop in 10ms
>> > AR_CR=0x00000024
>> > AR_DIAG_SW=0x42000020
>> > /sbin/ifconfig.bin wlan0 inet6 fd35:ac5b:b116:10:: prefixlen 64 eui64 alias
>> > /sbin/ifconfig.bin wlan0 inet6 fd35:ac5b:b116:10:: prefixlen 64 alias anycast
>> > /sbin/ifconfig.bin wlan1 create wlandev ath1 wlanmode adhoc country ZA
>> > wlan1: Ethernet address: 00:21:a4:35:6c:96
>> > /sbin/ifconfig.bin wlan1 inet6 ifdisabled
>> > /sbin/ifconfig.bin wlan1 -bgscan channel 136 ssid mesh bssid 02:88:ca:fe:ca:00
>> > /sbin/ifconfig.bin wlan1 inet6 -ifdisabled
>> > /sbin/ifconfig.bin wlan1 inet6 auto_linklocal
>> > /sbin/ifconfig.bin wlan1 inet6 -ifdisabled
>> > dev.ath.1.debug: 0 -> 8
>> > /sbin/ifconfig.bin wlan1 up
>> > ath1: ath_init: if_flags 0x8803
>> > ath1: ath_stop_locked: invalid 0 if_flags 0x8803
>> > R[ 0] (DS.V:0xcd027000 DS.P:0x1227000) L:01227060 D:00089000 *
>> >       00000000 00000800 0b802c2c 000000b2
>> >         0000175f 00000100 2f808080 00000000 00000000 00000000 00000003
>> > R[ 0] (DS.V:0xcd027060 DS.P:0x1227060) L:012270c0 D:0008a000
>> >       00000000 00000800 00000000 00000000
>> >         00000000 00000000 00000000 00000000 00000000 00000000 00000000
>> > dev.ath.1.debug: 8 -> 0
>> > /sbin/ifconfig.bin wlan1 inet6 fd35:ac5b:b116:10:: prefixlen 64 eui64 alias
>> > /sbin/ifconfig.bin wlan1 inet6 fd35:ac5b:b116:10:: prefixlen 64 alias anycast
>> > ifa_add_loopback_route: insertion failed: 17
>> > ifconfig.bin: ioctl (SIOCAIFADDR): File exists
>> > /sbin/ifconfig.bin wlan2 create wlandev ath2 wlanmode adhoc country ZA
>> > wlan2: Ethernet address: 00:21:a4:32:38:c2
>> > /sbin/ifconfig.bin wlan2 inet6 ifdisabled
>> > ath0: device timeout
>> > ar5416StopDmaReceive: dma failed to stop in 10ms
>> > AR_CR=0x00000024
>> > AR_DIAG_SW=0x42000020
>> > /sbin/ifconfig.bin wlan2 -bgscan channel 13 ssid hotspot bssid 02:0d:ca:fe:ca:00
>> > /sbin/ifconfig.bin wlan2 inet6 -ifdisabled
>> > /sbin/ifconfig.bin wlan2 inet6 auto_linklocal
>> > /sbin/ifconfig.bin wlan2 inet6 -ifdisabled
>> > dev.ath.2.debug: 0 -> 8
>> > /sbin/ifconfig.bin wlan2 up
>> > ath2: ath_init: if_flags 0x8803
>> > ath2: ath_stop_locked: invalid 0 if_flags 0x8803
>> > dev.ath.2.debug: 8 -> 0
>> > /sbin/ifconfig.bin wlan2 inet 10.56.244.1/24 alias
>> > /sbin/ifconfig.bin wlan2 inet6 fd35:ac5b:b116:38f4:: prefixlen 64 eui64 alias
>> > /sbin/ifconfig.bin wlan2 inet6 fd35:ac5b:b116:38f4:: prefixlen 64 alias anycast
>> > ...
>> > ath0: device timeout
>> > ar5416StopDmaReceive: dma failed to stop in 10ms
>> > AR_CR=0x00000024
>> > AR_DIAG_SW=0x42000020
>> > ...
>> > tst-11-arm:~ # uptime
>> >  9:18AM  up 2 mins, 1 user, load averages: 1.63, 0.70, 0.28
>> > tst-11-arm:~ # sysctl hw.busdma
>> > hw.busdma.total_bpages: 512
>> > hw.busdma.zone0.total_bpages: 512
>> > hw.busdma.zone0.free_bpages: 375
>> > hw.busdma.zone0.reserved_bpages: 0
>> > hw.busdma.zone0.active_bpages: 137
>> > hw.busdma.zone0.max_active_bpages: 137
>> > hw.busdma.zone0.total_bounced: 1739
>> > hw.busdma.zone0.total_deferred: 0
>> > hw.busdma.zone0.lowaddr: 0x4000fff
>> > hw.busdma.zone0.alignment: 4096
>> > tst-11-arm:~ # ath0: device timeout
>> > ar5416StopDmaReceive: dma failed to stop in 10ms
>> > AR_CR=0x00000024
>> > AR_DIAG_SW=0x42000020
>> >
>> > tst-11-arm:~ # uptime
>> >  9:20AM  up 4 mins, 1 user, load averages: 0.68, 0.68, 0.34
>> > tst-11-arm:~ # sysctl hw.busdma
>> > hw.busdma.total_bpages: 512
>> > hw.busdma.zone0.total_bpages: 512
>> > hw.busdma.zone0.free_bpages: 326
>> > hw.busdma.zone0.reserved_bpages: 0
>> > hw.busdma.zone0.active_bpages: 186
>> > hw.busdma.zone0.max_active_bpages: 190
>> > hw.busdma.zone0.total_bounced: 6592
>> > hw.busdma.zone0.total_deferred: 0
>> > hw.busdma.zone0.lowaddr: 0x4000fff
>> > hw.busdma.zone0.alignment: 4096
>> > tst-11-arm:~ # ath0: device timeout
>> > ar5416StopDmaReceive: dma failed to stop in 10ms
>> > AR_CR=0x00000024
>> > AR_DIAG_SW=0x42000020
>> > ath0: device timeout
>> > ar5416StopDmaReceive: dma failed to stop in 10ms
>> > AR_CR=0x00000024
>> > AR_DIAG_SW=0x42000020
>> > ####################
>> >
>> > The 2 other interfaces did not seem to have a problem and after a reboot
>> > ath0/wlan0 was working fine again.
>> >
>> > John
>> > --
>> > John Hay -- jhay at meraka.csir.co.za / jhay at meraka.org.za


More information about the freebsd-wireless mailing list