Hello,

I am testing soekris 4801 based access point with an atheros miniPCI card 
(802.11abg miniPCI NL-5354MP). I
successfully established a connection between two soekris 4801 one configured 
in hostap mode the other in bss mode
(802.11b mode). The problem comes when I try to configure those miniPCI in 
802.11a/g or when I try to change modes.
Sometimes when I'm changing the mode of operation from 802.11b to 802.11a I get 
some ath0 device timeout errors or a
panic and an reboot.

BOX1:
ifconfig ath0 inet 172.31.0.5 netmask 255.255.255.252 media autoselect mediaopt 
hostap nwid testlink1 mode 11b chan 1

BOX2:
ifconfig ath0 inet 172.31.0.6 netmask 255.255.255.252 media autoselect nwid 
testlink1 mode 11b chan 1

BOX1# ifconfig ath0
ath0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:02:6f:39:61:8b
        media: IEEE802.11 autoselect mode 11b hostap
        status: active
        ieee80211: nwid testlink1 chan 1 bssid 00:02:6f:39:61:8b
        inet 172.31.0.5 netmask 0xfffffffc broadcast 172.31.0.7
        inet6 fe80::202:6fff:fe39:618b%ath0 prefixlen 64 scopeid 0x4

BOX2# ifconfig ath0
ath0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:02:6f:39:61:86
        media: IEEE802.11 autoselect mode 11b (DS11 mode 11b)
        status: active
        ieee80211: nwid testlink1 chan 1 bssid 00:02:6f:39:61:8b
        inet 172.31.0.6 netmask 0xfffffffc broadcast 172.31.0.7
        inet6 fe80::202:6fff:fe39:6186%ath0 prefixlen 64 scopeid 0x4

BOX2# ping -c3 172.31.0.5
PING 172.31.0.5 (172.31.0.5): 56 data bytes
64 bytes from 172.31.0.5: icmp_seq=0 ttl=255 time=47.770 ms
64 bytes from 172.31.0.5: icmp_seq=1 ttl=255 time=0.714 ms
64 bytes from 172.31.0.5: icmp_seq=2 ttl=255 time=0.999 ms
--- 172.31.0.5 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.714/16.494/47.770/22.115 ms

Until here everything is working as supposed. Let's change that to 802.11a.

BOX2# ifconfig ath0 inet 172.31.0.6 netmask 255.255.255.252 media autoselect 
nwid testlink1 mode 11a chan 36
ifconfig: SIOCS80211CHANNEL: Invalid argument

BOX1: # ifconfig ath0 inet 172.31.0.5 netmask 255.255.255.252 media autoselect 
mediaopt hostap nwid testlink1 mode 11a
chan 52
ifconfig: SIOCS80211CHANNEL: Invalid argument

In manual of ath(4) this error should not happen. If I repeat that, the errors 
are gone, but I have no connection
between two boxes.

BOX2# ifconfig ath0
ath0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:02:6f:39:61:86
        media: IEEE802.11 autoselect mode 11a (OFDM6 mode 11a)
        status: no network
        ieee80211: nwid testlink1 chan 52
        inet6 fe80::202:6fff:fe39:6186%ath0 prefixlen 64 scopeid 0x4
        inet 172.31.0.6 netmask 0xfffffffc broadcast 172.31.0.7

BOX1# ifconfig ath0
ath0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:02:6f:39:61:8b
        media: IEEE802.11 autoselect mode 11a hostap
        status: active
        ieee80211: nwid testlink1 chan 52 bssid 00:02:6f:39:61:8b
        inet6 fe80::202:6fff:fe39:618b%ath0 prefixlen 64 scopeid 0x4
        inet 172.31.0.5 netmask 0xfffffffc broadcast 172.31.0.7

I'll try to change the mode of operation to 802.11g:

BOX1# ifconfig ath0 inet 172.31.0.5 netmask 255.255.255.252 media autoselect 
mediaopt hostap nwid testlink1 mode 11g chan 1
ifconfig: SIOCS80211CHANNEL: Invalid argument

That happens for everything I try to select for the channel number. If I omit 
the channel number, the card changes its
mode to 802.11g but the channel number stays from previous configuration:

BOX1# ifconfig ath0
ath0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:02:6f:39:61:8b
        media: IEEE802.11 autoselect mode 11g hostap
        status: active
        ieee80211: nwid testlink1 chan 52 bssid 00:02:6f:39:61:8b
        inet6 fe80::202:6fff:fe39:618b%ath0 prefixlen 64 scopeid 0x4
        inet 172.31.0.5 netmask 0xfffffffc broadcast 172.31.0.7

It is still not possible to select another channel number so I will unset that 
channel.
BOX1# ifconfig ath0 inet 172.31.0.5 netmask 255.255.255.252 media autoselect 
mediaopt hostap nwid testlink1 mode 11g
-chan 52

Now the box panics and reboots.

BOX1 dmesg with panic report:
OpenBSD 3.9-current (GENERIC-RD) #0: Tue May 16 13:38:36 CEST 2006
    [EMAIL PROTECTED]:/data/soekris/flashboot/obj/GENERIC-RD
cpu0: Geode(TM) Integrated Processor by National Semi ("Geode by NSC" 
586-class) 267 MHz
cpu0: FPU,TSC,MSR,CX8,CMOV,MMX
cpu0: TSC disabled
real mem  = 133787648 (130652K)
avail mem = 97685504 (95396K)
using 1658 buffers containing 6791168 bytes (6632K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(00) BIOS, date 20/50/29, BIOS32 rev. 0 @ 0xf7840
pcibios0 at bios0: rev 2.0 @ 0xf0000/0x10000
pcibios0: pcibios_get_intr_routing - function not supported
pcibios0: PCI IRQ Routing information unavailable.
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc8000/0x9000
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Cyrix GXm PCI" rev 0x00
sis0 at pci0 dev 6 function 0 "NS DP83815 10/100" rev 0x00, DP83816A: irq 10, 
address 00:00:24:c5:02:08
nsphyter0 at sis0 phy 0: DP83815 10/100 PHY, rev. 1
sis1 at pci0 dev 7 function 0 "NS DP83815 10/100" rev 0x00, DP83816A: irq 10, 
address 00:00:24:c5:02:09
nsphyter1 at sis1 phy 0: DP83815 10/100 PHY, rev. 1
sis2 at pci0 dev 8 function 0 "NS DP83815 10/100" rev 0x00, DP83816A: irq 10, 
address 00:00:24:c5:02:0a
nsphyter2 at sis2 phy 0: DP83815 10/100 PHY, rev. 1
ath0 at pci0 dev 14 function 0 "Atheros AR5212" rev 0x01: irq 11
ath0: AR5213 5.6 phy 4.1 rf5112 3.6, FCC2A*, address 00:02:6f:39:61:8b
gscpcib0 at pci0 dev 18 function 0 "NS SC1100 ISA" rev 0x00
gpio0 at gscpcib0: 64 pins
"NS SC1100 SMI" rev 0x00 at pci0 dev 18 function 1 not configured
pciide0 at pci0 dev 18 function 2 "NS SCx200 IDE" rev 0x01: DMA, channel 0 
wired to compatibility, channel 1 wired to
compatibility
wd0 at pciide0 channel 0 drive 0: <TOSHIBA THNCF128MMG>
wd0: 1-sector PIO, LBA, 122MB, 250368 sectors
wd0(pciide0:0:0): using PIO mode 2
geodesc0 at pci0 dev 18 function 5 "NS SC1100 X-Bus" rev 0x00: iid 6 revision 3 
wdstatus 0
ohci0 at pci0 dev 19 function 0 "Compaq USB OpenHost" rev 0x08: irq 5, version 
1.0, legacy support
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: Compaq OHCI root hub, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
isa0 at gscpcib0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
nsclpcsio0 at isa0 port 0x2e/2: NSC PC87366 rev 9: GPIO VLM TMS
gpio1 at nsclpcsio0: 29 pins
gscsio0 at isa0 port 0x15c/2: SC1100 SIO rev 1:
npx0 at isa0 port 0xf0/16: using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom0: console
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
biomask f3e5 netmask ffe5 ttymask ffe7
rd0: fixed, 30720 blocks
pctr: no performance counters in CPU
dkcsum: wd0 matches BIOS drive 0x80
root on rd0a
rootdev=0x1100 rrootdev=0x2f00 rawdev=0x2f02
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
fatal integer divide fault (8) in supervisor mode
trap type 8 code 0 eip d02ea0ae cs 50 eflags 10a06 cr2 85f62408 cpl 50
panic: trap type 8, code=0, pc=d02ea0ae
Starting stack trace...
panic(d191d820,0,d191d884,d0572eea,d083e6db) at panic+0xa4
panic(d083e6db,8,0,d02ea0ae,8) at panic+0xa4
trap() at trap+0x2b6
--- trap (number 8) ---
ar5k_ar5212_reset(d1ce8000,6,d191db30,1,d191db34,d1ce6682,14,dbc09010) at 
ar5k_ar5212_reset+0x93a
ath_chan_set(d1ce6000,d1ce6682,0,d191dbb0) at ath_chan_set+0xa8
ath_newstate(d1ce6030,4,ffffffff,d038f0c5) at ath_newstate+0xe6
ieee80211_create_ibss(d1ce6030,d1ce6682,d191dd64,d04423c7) at 
ieee80211_create_ibss+0x1e7
ieee80211_end_scan(d1ce6030,d1ce629e,d191dd94,d03b4af3) at 
ieee80211_end_scan+0x3f1
ieee80211_next_scan(d1ce6030,14,d191ddc4,d03d28db) at ieee80211_next_scan+0xbd
ath_next_scan(d1ce6000,d189e4e0,2710,0) at ath_next_scan+0x42
softclock(d1910058,10,d17f0010,10,d191c000) at softclock+0x3cc
Bad frame pointer: 0xd191de04
End of stack trace.
syncing disks... done


If I repeate the process of changing modes and channel I can get the same 
result on BOX2.

BOX2 dmesg and panic report:
OpenBSD 3.9-current (GENERIC-RD) #0: Tue May 16 13:38:36 CEST 2006
    [EMAIL PROTECTED]:/data/soekris/flashboot/obj/GENERIC-RD
cpu0: Geode(TM) Integrated Processor by National Semi ("Geode by NSC" 
586-class) 267 MHz
cpu0: FPU,TSC,MSR,CX8,CMOV,MMX
cpu0: TSC disabled
real mem  = 133787648 (130652K)
avail mem = 97685504 (95396K)
using 1658 buffers containing 6791168 bytes (6632K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(00) BIOS, date 20/50/29, BIOS32 rev. 0 @ 0xf7840
pcibios0 at bios0: rev 2.0 @ 0xf0000/0x10000
pcibios0: pcibios_get_intr_routing - function not supported
pcibios0: PCI IRQ Routing information unavailable.
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc8000/0x9000
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Cyrix GXm PCI" rev 0x00
sis0 at pci0 dev 6 function 0 "NS DP83815 10/100" rev 0x00, DP83816A: irq 10, 
address 00:00:24:c5:02:08
nsphyter0 at sis0 phy 0: DP83815 10/100 PHY, rev. 1
sis1 at pci0 dev 7 function 0 "NS DP83815 10/100" rev 0x00, DP83816A: irq 10, 
address 00:00:24:c5:02:09
nsphyter1 at sis1 phy 0: DP83815 10/100 PHY, rev. 1
sis2 at pci0 dev 8 function 0 "NS DP83815 10/100" rev 0x00, DP83816A: irq 10, 
address 00:00:24:c5:02:0a
nsphyter2 at sis2 phy 0: DP83815 10/100 PHY, rev. 1
ath0 at pci0 dev 14 function 0 "Atheros AR5212" rev 0x01: irq 11
ath0: AR5213 5.6 phy 4.1 rf5112 3.6, FCC2A*, address 00:02:6f:39:61:8b
gscpcib0 at pci0 dev 18 function 0 "NS SC1100 ISA" rev 0x00
gpio0 at gscpcib0: 64 pins
"NS SC1100 SMI" rev 0x00 at pci0 dev 18 function 1 not configured
pciide0 at pci0 dev 18 function 2 "NS SCx200 IDE" rev 0x01: DMA, channel 0 
wired to compatibility, channel 1 wired to
compatibility
wd0 at pciide0 channel 0 drive 0: <TOSHIBA THNCF128MMG>
wd0: 1-sector PIO, LBA, 122MB, 250368 sectors
wd0(pciide0:0:0): using PIO mode 2
geodesc0 at pci0 dev 18 function 5 "NS SC1100 X-Bus" rev 0x00: iid 6 revision 3 
wdstatus 0
ohci0 at pci0 dev 19 function 0 "Compaq USB OpenHost" rev 0x08: irq 5, version 
1.0, legacy support
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: Compaq OHCI root hub, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
isa0 at gscpcib0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
nsclpcsio0 at isa0 port 0x2e/2: NSC PC87366 rev 9: GPIO VLM TMS
gpio1 at nsclpcsio0: 29 pins
gscsio0 at isa0 port 0x15c/2: SC1100 SIO rev 1:
npx0 at isa0 port 0xf0/16: using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom0: console
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
biomask f3e5 netmask ffe5 ttymask ffe7
rd0: fixed, 30720 blocks
pctr: no performance counters in CPU
dkcsum: wd0 matches BIOS drive 0x80
root on rd0a
rootdev=0x1100 rrootdev=0x2f00 rawdev=0x2f02
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
ath0: device timeout
panic: ieee80211_newstate: bogus xmit rate 7 setup

Starting stack trace...
panic(dbc6190c,0,dbc61950,d04471c7,d08227ab) at panic+0xa4
panic(d08227ab,d082275e,7,1,1) at panic+0xa4
ieee80211_fix_rate(d1ce6030,4,ffffffff,0) at ieee80211_fix_rate+0x869
ath_newstate(d1ce6030,4,ffffffff,0) at ath_newstate+0x2a0
ieee80211_create_ibss(d1ce6030,d1ce6366,6,d02ef016) at 
ieee80211_create_ibss+0x1e7
ieee80211_fix_rate(d1ce6030,1,ffffffff,0) at ieee80211_fix_rate+0x62a
ath_newstate(d1ce6030,1,ffffffff,d1ce6682) at ath_newstate+0x2a0
ath_init1(d1ce6000,ffffffff,2,6) at ath_init1+0x292
ath_init(d1ce6030,d4deb708,0,d1ce8000) at ath_init+0x13
ath_media_change(d1ce6030,20280,ffffffff,d03df732) at ath_media_change+0x37
ifmedia_ioctl(d1ce6030,dbc61e78,d1ce69e4,c0206935) at ifmedia_ioctl+0xe4
ieee80211_ioctl(d1ce6030,c0206935,dbc61e78,d4d4e008) at ieee80211_ioctl+0x284
ath_ioctl(d1ce6030,c0206935,dbc61e78,d03ee9ed) at ath_ioctl+0x1be
ifioctl(d4d5819c,c0206935,dbc61e78,d4d4e008) at ifioctl+0x634
soo_ioctl(d4dd0e70,c0206935,dbc61e78,d4d4e008) at soo_ioctl+0x1dd
sys_ioctl(d4d4e008,dbc61f58,dbc61f50,0) at sys_ioctl+0x552
syscall() at syscall+0x2c0
--- syscall (number 54) ---
0xbf869a1:
End of stack trace.


Any clues? Am I missusing the commands?

Best regards,
Mitja

Reply via email to