[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: wireless bridge with soekris 4801 and seano 2511mp+



I have some more information now.
I'm sorry, its a bit long winded, but I thought I'll document my experiment.
pf is disabled.
ip forwarding is disabled

I am completely stumped and will really appreciate any input.

Thanks & Regards,

Anwar.

Experiment follows:

--------------------------------------------------------------------------------------------------
 computer1 --------- wi0 - bridge1 - sis2 ---------------------computer2
 (192.168.5.3)       (soekris machine with no ip assigned)    (192.168.5.1)
 

ping 192.168.5.1 from computer1 (192.168.5.3)
On Soekris:
tcpdump -i wi0 
22:44:47.170157 arp who-has 192.168.5.1 tell 192.168.5.3
22:44:47.170528 arp reply 192.168.5.1 is-at 0:6:5b:d7:bf:f7
22:44:48.190277 arp who-has 192.168.5.1 tell 192.168.5.3
22:44:48.190618 arp reply 192.168.5.1 is-at 0:6:5b:d7:bf:f7

tcpdump -i sis2
22:45:34.080259 arp who-has 192.168.5.1 tell 192.168.5.3
22:45:34.080350 arp reply 192.168.5.1 is-at 0:6:5b:d7:bf:f7
22:45:35.100330 arp who-has 192.168.5.1 tell 192.168.5.3
22:45:35.100421 arp reply 192.168.5.1 is-at 0:6:5b:d7:bf:f7

--------------------------------------------------------------------------------------------------
Similarly, 
ping 192.168.5.3 from computer2
On soekris:
tcpdump -i sis2
22:46:55.190161 arp who-has 192.168.5.3 tell 192.168.5.1
22:46:57.190171 arp who-has 192.168.5.3 tell 192.168.5.1

tcpdump -i wi0
22:47:41.210268 arp who-has 192.168.5.3 tell 192.168.5.1
22:47:42.210266 arp who-has 192.168.5.3 tell 192.168.5.1

So it looks like the bridge works.

---------------------------------------------------------------------------------------------------
On soekris initially, no inet4 address assigned:
wi0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        address: 00:02:6f:33:bc:66
        ieee80211: nwid test2 nwkey 0x31415926535897932384603141 -21dBm (auto) 
        media: IEEE802.11 autoselect ibss-master (DS11)
        status: active
        inet6 fe80::202:6fff:fe33:bc66%wi0 prefixlen 64 scopeid 0x8

On Soekris, Now assign an IP address:
/root# ifconfig wi0 192.168.5.2 up
/root# ifconfig wi0                
wi0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        address: 00:02:6f:33:bc:66
        ieee80211: nwid test2 nwkey 0x31415926535897932384603141 -21dBm (auto) 
        media: IEEE802.11 autoselect ibss-master (DS11)
        status: active
        inet6 fe80::202:6fff:fe33:bc66%wi0 prefixlen 64 scopeid 0x8
        inet 192.168.5.2 netmask 0xffffff00 broadcast 192.168.5.255
-------------------------------------------------------------------------------------------
Now:
 computer1 --------- wi0 - bridge1 - sis2 ---------------------computer2
 (192.168.5.3)       (192.168.5.2 on wi0                       (192.168.5.1)
                      no ip address on sis2
                      soekris)
-------------------------------------------------------------------------------------------

ping 192.168.5.2 (soekris wi0) from computer1
On soekris: 
tcpdump -i wi0
22:52:33.710202 arp who-has 192.168.5.2 tell 192.168.5.3
22:52:33.710526 arp reply 192.168.5.2 is-at 0:2:6f:33:bc:66
22:52:33.711016 192.168.5.3 > 192.168.5.2: icmp: echo request
22:52:33.711283 192.168.5.2 > 192.168.5.3: icmp: echo reply
22:52:34.740159 192.168.5.3 > 192.168.5.2: icmp: echo request
22:52:34.740413 192.168.5.2 > 192.168.5.3: icmp: echo reply

It works! (So it looks like the wireless network is also working)
I do receive the ping replies on computer1.
---------------------------------------------------------------------------------------------

Similarly, from computer2
ping 192.168.5.2 (soekris wi0) from computer2
On soekris:
tcpdump -i sis2
22:56:15.620077 arp who-has 192.168.5.2 tell 192.168.5.1
22:56:15.620251 arp reply 192.168.5.2 is-at 0:2:6f:33:bc:66
22:56:15.620982 192.168.5.1 > 192.168.5.2: icmp: echo request (DF)
22:56:15.621159 192.168.5.2 > 192.168.5.1: icmp: echo reply (DF)
22:56:16.620089 192.168.5.1 > 192.168.5.2: icmp: echo request (DF)
22:56:16.620230 192.168.5.2 > 192.168.5.1: icmp: echo reply (DF)

That works as well... So the bridge is working as well.

---------------------------------------------------------------------------------------------
Now the old experiment again:
ping 192.168.5.1 (computer2) from computer1
On soekris:
tcpdump -i wi0
22:58:32.260139 arp who-has 192.168.5.1 tell 192.168.5.3
22:58:32.260508 arp reply 192.168.5.1 is-at 0:6:5b:d7:bf:f7
22:58:33.280221 arp who-has 192.168.5.1 tell 192.168.5.3
22:58:33.280579 arp reply 192.168.5.1 is-at 0:6:5b:d7:bf:f7

No echo request/ reply.  i.e. computer1 has not received the arp reply.

ping 192.168.5.3 (computer1) from computer2
On soekris:
tcpdump -i sis2
23:00:31.980133 arp who-has 192.168.5.3 tell 192.168.5.1
23:00:32.980131 arp who-has 192.168.5.3 tell 192.168.5.1

So the icmp request is not going out from wi0.
----------------------------------------------------------------------------------------------

Any ideas?





===================================================================================================


Begin On Thu, 25 Aug 2005 17:36:55 +0100, Anwar Puthu <anwar_(_at_)_puthu_(_dot_)_org_(_dot_)_uk> wrote:

> Hi all,
> 
> Has anybody built a wireless bridge using the Soekris net 4801 and a seano 2511mp+ (wi) minipci card?
> 
> When I tried configuring wi0 in hostap mode with WEP, it used to fail consistently with the message
> wi0: init failed.
> 
> I then tried setting up the card in ibss-master mode.  This at least initialises the card.
> 
> I have tried setting up 2 bridges as:
> sis0 - bridge0 - sis1
> wi0 - bridge1 - sis2
> 
> tcpdump on sis2 and wi0 shows that the bridge is working properly, with arp requests visible at both ends.
> However when I set up another computer sis2 side as:
> 
> computer1 --------- wi0 - bridge1 - sis2 ---------------------computer2
> (192.168.5.3)       (soekris machine with no ip assigned)    (192.168.5.1)
> 
> I cannot ping the two computers.
> 
> ping 192.168.5.1 from computer1 shows the whois packets and the corresponding reply with tcpdump on wi0, but computer1 does not initiate the icmp echo requests.
> 
> The other way around, ping 192.168.5.3 from computer2 shows the icmp echo requests, but no echo replies.
> 
> As a sanity check I set up another computer as 192.168.5.100 on a wireless network, and I could ping computer 1 successfully.
> 
> I then tried setting up an IP address on soekris-wi0, but it did not help.
> 
> It's almost like the wi0 card is not being initialised correctly on the soekris board.
> I swapped the wi0 cards with another I use on my main laptop, to check that the wi0 hardware was OK.
> 
> The kernel is GENERIC, but rebuilt with the latest patches for 37.
> 
> Any ideas would be appreciated.
> 
> The dmesg and startup capture, hostname.* and bridgename.* are appended.
> 
> 
> Thanks & Regards,
> 
> Anwar Puthu.
> 
> 
> 
> com port capture:
> ---------------------------------------------------------------------------------------------------------
> 
> 
> POST: 0123456789bcefghipajklnopq,,,tvwxy
> comBIOS ver. 1.28  20050529  Copyright (C) 2000-2005 Soekris Engineering.
> 
> net4801
> 
>                                          CPU Geode 266 Mhz 0000 Mbyte Memory00020003000400050006000700080009001000110012001300140015001600170018001900200021002200230024002500260027002800290030003100320033003400350036003700380039004000410042004300440045004600470048004900500051005200530054005500560057005800590060006100620063006400650066006700680069007000710072007300740075007600770078007900800081008200830084008500860087008800890090009100920093009400950096009700980099010001010102010301040105010601070108010901100111011201130114011501160117011801190120012101220123012401250126012701280128
> 
> Pri Sla  64MB CTS                        LBA 1001-4-32  64 Mbyte
> 
> Slot   Vend Dev  ClassRev Cmd  Stat CL LT HT  Base1    Base2   Int 
> -------------------------------------------------------------------
> 0:00:0 1078 0001 06000000 0107 0280 00 00 00 00000000 00000000 
> 0:06:0 100B 0020 02000000 0107 0290 00 3F 00 0000E101 A0000000 10
> 0:07:0 100B 0020 02000000 0107 0290 00 3F 00 0000E201 A0001000 10
> 0:08:0 100B 0020 02000000 0107 0290 00 3F 00 0000E301 A0002000 10
> 0:10:0 104C AC23 06040002 0107 0210 08 3F 01 00000000 00000000 
> 0:14:0 1260 3873 02800001 0117 0290 08 3C 00 A0003008 00000000 11
> 0:18:2 100B 0502 01018001 0005 0280 00 00 00 00000000 00000000 
> 0:19:0 0E11 A0F8 0C031008 0117 0280 08 38 00 A0004000 00000000 05
> 1:00:0 100B 0020 02000000 0107 0290 00 3F 00 0000D001 A4000000 09
> 1:01:0 100B 0020 02000000 0107 0290 00 3F 00 0000D101 A4001000 05
> 1:02:0 100B 0020 02000000 0107 0290 00 3F 00 0000D201 A4002000 09
> 1:03:0 100B 0020 02000000 0107 0290 00 3F 00 0000D301 A4003000 05
> 
>    Seconds to automatic boot.   Press Ctrl-P for entering Monitor. 2 1
> Using drive 0, partition 3.
> Loading.....
> probing: pc0 com0 com1 mem[639K 127M a20=on] 
> disk: hd0+
> >> OpenBSD/i386 BOOT 2.06
> |/-\|/-switching console to com0
> >> OpenBSD/i386 BOOT 2.06
> com0: changing speed to 19200 baud in 5 seconds, change your terminal to match!
> 
> com0: 19200 baud
> boot> 
> booting hd0a:/bsd: \|/-\4686432|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\!
 |!
>  /-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|+945680 [52+241328/-\|/-\|/-\|/-\|/-\|/-\|/-\|/+223324-\|/-\|/-\|/-\|/-\|/-\|/-\|]=0x5d0924
> entry point at 0x100120
> 
> [ using 465076 bytes of bsd ELF symbol table ]
> Copyright (c) 1982, 1986, 1989, 1991, 1993
> 	The Regents of the University of California.  All rights reserved.
> Copyright (c) 1995-2005 OpenBSD. All rights reserved.  http://www.OpenBSD.org
> 
> OpenBSD 3.7 (GENERIC) #0: Wed Aug 17 10:32:12 BST 2005
>     root_(_at_)_dblon666999obsd_(_dot_)_wks_(_dot_)_uk_(_dot_)_deuba_(_dot_)_com:/usr/src/sys/arch/i386/compile/GENERIC
> 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  = 133799936 (130664K)
> avail mem = 115593216 (112884K)
> 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 #1 is the last bus
> bios0: ROM list: 0xc8000/0x9000
> cpu0 at mainbus0
> pci0 at mainbus0 bus 0: configuration mode 1 (no 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:c4:82:88
> 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:c4:82:89
> 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:c4:82:8a
> nsphyter2 at sis2 phy 0: DP83815 10/100 PHY, rev. 1
> ppb0 at pci0 dev 10 function 0 "Texas Instruments PCI2250 PCI-PCI" rev 0x02
> pci1 at ppb0 bus 1
> sis3 at pci1 dev 0 function 0 "NS DP83815 10/100" rev 0x00: DP83816A, irq 9, address 00:00:24:c4:5f:6c
> nsphyter3 at sis3 phy 0: DP83815 10/100 PHY, rev. 1
> sis4 at pci1 dev 1 function 0 "NS DP83815 10/100" rev 0x00: DP83816A, irq 5, address 00:00:24:c4:5f:6d
> nsphyter4 at sis4 phy 0: DP83815 10/100 PHY, rev. 1
> sis5 at pci1 dev 2 function 0 "NS DP83815 10/100" rev 0x00: DP83816A, irq 9, address 00:00:24:c4:5f:6e
> nsphyter5 at sis5 phy 0: DP83815 10/100 PHY, rev. 1
> sis6 at pci1 dev 3 function 0 "NS DP83815 10/100" rev 0x00: DP83816A, irq 5, address 00:00:24:c4:5f:6f
> nsphyter6 at sis6 phy 0: DP83815 10/100 PHY, rev. 1
> wi0 at pci0 dev 14 function 0 "Intersil PRISM2.5" rev 0x01: irq 11
> wi0: PRISM2.5 ISL3874A(Mini-PCI), Firmware 1.1.1 (primary), 1.8.4 (station), address 00:02:6f:33:bc:66
> gscpcib0 at pci0 dev 18 function 0 "NS SC1100 ISA" rev 0x00
> gpio0 at gscpcib0: 64 pins
> "NS SC1100 SMI/ACPI" 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 1: <64MB CTS>
> wd0: 1-sector PIO, LBA, 62MB, 128128 sectors
> wd0(pciide0:0:1): using PIO mode 0
> 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, class 9/0, rev 1.00/1.00, addr 1
> uhub0: 3 ports with 3 removable, self powered
> isa0 at gscpcib0
> isadma0 at isa0
> pckbc0 at isa0 port 0x60/5
> pckbd0 at pckbc0 (kbd slot)
> pckbc0: using irq 1 for kbd slot
> wskbd0 at pckbd0 (mux 1 ignored for console): console keyboard
> pcppi0 at isa0 port 0x61
> midi0 at pcppi0: <PC speaker>
> sysbeep0 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 f1e5 netmask ffe5 ttymask ffe7
> pctr: no performance counters in CPU
> dkcsum: wd0 matched BIOS disk 80
> root on wd0a
> rootdev=0x0 rrootdev=0x300 rawdev=0x302
> 
> /dev/rwd0a: file system is clean; not checking
> mfs: mounting /tmp...
> mfs: mounting /var...
> mfs: populating /var...
> machdep.allowaperture: 0 -> 2
> starting network
> started sis0
> started sis1
> started sis2
> started monitor interface
> started wi0
> started bridge0
> started bridge1
> starting system logger
> rm: /dev/log: Read-only file system
> syslogd: cannot bind /dev/log: Address already in use
> building ps databases: kvm dev.
> starting pre-securelevel daemons:.
> setting kernel security level: kern.securelevel: 0 -> 1
> creating runtime link editor directory cache.
> starting network daemons: sendmail inetd sshd.
> starting local daemons:.
> standard daemons: apmd sensorsd/etc/rc[330]: /usr/sbin/sensorsd: not found
>  cronAug 25 17:31:21 apmd: cannot open device file `/dev/apmctl': Device not configured
> .
> Thu Aug 25 17:31:21 BST 2005
> 
> OpenBSD/i386 (sentinel.puthu.org.uk) (tty00)
> 
> login: 
> 
> 
> ----------------------------------------------------------------------------------------------
> hostname.wi0
> 
> ! ifconfig \$if up media autoselect mediaopt ibss-master nwid "test2" nwkey "0x..." 
> ! wicontrol \$if -f 3 -e 1 -A 2
> ! echo started wi0
> 
> ----------------------------------------------------------------------------------------------
> hostname.sis2
> 
> up
> !echo started sis2
> 
> ----------------------------------------------------------------------------------------------
> bridgename.bridge1
> 
> # External i/f
> add wi0
> 
> # Internal i/f
> add sis2
> 
> # Disallow non-ip packets
> blocknonip wi0
> blocknonip sis2
> 
> # Stop all non-IP multicast packets from being forwarded by the bridge.
> link0
> 
> # Stop all IP multicast packets from being forwarded by the bridge.
> link1
> 
> # Filter on wi0 mac addresses
> flushrule wi0
> rule pass in on wi0
> rule pass out on wi0
> 
> #rule pass in  on wi0 src 0:1:2:3:4:5 dst 5:4:3:2:1:0
> #rule pass out  on wi0 src 0:1:2:3:4:5 dst 5:4:3:2:1:0
> #rule block in on wi0
> #rule block out on wi0
> 
> # Finally bring the bridge up...
> up
> 
> !echo started bridge1