RT256x PCMCIA card under 7.0-BETA2
Heiko Wundram (Beenic)
wundram at beenic.net
Wed Nov 14 00:22:23 PST 2007
Hi all!
I just recently bought a RT2561C based (at least I think so) wireless card,
which is also happily recognized by the ral-driver:
ral0: <Ralink Technology RT2561> mem 0x88000000-0x88007fff irq 17 at device
0.0 on cardbus0
ral0: MAC/BBP RT2561C, RF RT2527
ral0: Ethernet address: 00:80:5a:51:23:53
ral0: [ITHREAD]
As soon as I plug in the card and the netif script starts wpa_supplicant and
dhclient, the laptop this is plugged into receives an interrupt storm on cbb0
(having 80% interrupt time), which leads to a noticeable slowdown of the
whole system:
phoenix# vmstat -i
interrupt total rate
irq1: atkbd0 9773 3
irq10: acpi0 729 0
irq14: ata0 17173 6
irq15: ata1 64 0
irq17: cbb0 cbb1+ 10408993 4217
irq18: pcm0 5753 2
irq19: sis0+ 33302 13
irq20: ohci0 207 0
irq21: ohci1 44261 17
irq23: ehci0 1 0
cpu0: timer 4926468 1996
Total 15446724 6258
phoenix#
This snapshot was taken some time after I killed wpa_supplicant (when it had
been up for about 10 seconds).
When I manually start wpa_supplicant (with no stations in reach), there is no
interrupt storm, but just normal activity with around 7-10 interrupts on cbb0
per second.
I can also manually scan using the card (but ifconfig scan never finishes, but
will show the stations in reach when doing an ifconfig list scan after ^C-ing
the ifconfig scan), but cannot attach to any WPA access point in
scanning-reach with wpa_supplicant (the only type of stations I have access
to; I cannot test with WEP at the moment); enabling net.wlan.debug and
net.wlan.0.debug also shows the scan taking place and the keys being set to
the card, but nothing else from there.
The card itself is a "Conceptronic C54RC Version 2.0", which I guess explains
the difference (in hardware) between the note in the manpage of ral(4) for
this adapter and the actual hardware type it finds:
Conceptronic C54RC RT2560 CardBus
Anyway, doing a pciconv -lv leads to a different result than the actual driver
reports, which is compatible with the hardware specification in the manpage:
ral0 at pci0:2:0:0: class=0x028000 card=0x3c231948 chip=0x03021814
rev=0x00 hdr=0x00
vendor = 'Ralink Technology, Corp'
device = 'RT2525 2.4GHz transceiver + RT2560 MAC/BBP wireless a/b'
class = network
The kernel all of this runs under is a (slightly) modified GENERIC 7.0-BETA2
(from yesterday evening CET; an older 7.0-BETA2 didn't exhibit the interrupt
storm behaviour, but was similar for the rest), with SMP disabled and
SCHED_ULE instead of SCHED_4BSD.
As debug.ral isn't available under the 7.0 ral-driver (which is referenced in
the FreeBSD setup page http://damien.bergamini.free.fr/ral/ral-freebsd.html),
I have no immediately obvious means of debugging what's actually happening
when the interrupt storm takes place, and why the card won't attach to the AP
even though the same wpa_supplicant config works using an ndis-wrapped driver
for a different PCMCIA-card (Broadcom-based).
Thanks for any hint you can give me!
--
Heiko Wundram
Product & Application Development
More information about the freebsd-stable
mailing list