Hi. I'm at my wits end. My original configuration: I have a laptop (HP Pavillion dv9700). It comes with an integrated Intel Wireless WiFi Link 4965AGN adapter and is running Vista Home Premium. I have a D-Link DWL-2200AP wireless access point. I have an old Gateway computer with a P3 processor running at 650 MHz and five NICs that was running FreeBSD 7. I have a Westell DSL modem with 3000/768 service through Verizon. The Gateway is set up as a firewall with ipf. The notebook connects wirelessly to the WAP, which is cabled into a NIC in the firewall, which is cabled to the DSL modem through a different NIC.
The problem: I noticed that my wireless was running slowly. Verizon has a speed testing website, so I test my speed with it. My upload speed nearly maxes out at >700 Kbps no matter what my configuration is. My download speed doesn't typically get above 90 Kbps. BUT, I have a PC running Windows XP Pro connected to a third NIC in the firewall, and the speed test nearly maxes out both upload and download speeds. What I did: Okay, something's wrong with the wireless link. I connect the WAP directly to the DSL modem and retest my speed. I'm running at FULL speed, so the problem isn't with the wireless connection between the laptop and the WAP. So I reconnect the WAP to the firewall with a different (new, prefab, unopened) ethernet cable and retest. Download speed sucks again; it's not a cabling issue. So I move to a different NIC and retest. Download speed still sucks; it's not the NIC. So I move to the NIC to which my XP PC was connected (which got fast download speeds) and retested. Download speed STILL sucks. I buy a D-Link DAP-1522 wireless access point and replace the DWL-2200AP. I retest and get sucky download speeds. I've been wanting to move to OpenBSD and pf for some time now, so I install OpenBSD 4.3 on the firewall, set up my DSL connection, DNS service, and DHCP service. I configure pf with a minimal configuration that basically lets all outbound traffic pass and blocks all inbound traffic from the internet. I test connectivity, and my Vista laptop and XP PC both connect to the Internet and can talk to each other. The firewall can talk to everything. I put all cables back to their original configuration; everything's connected as it was when I first noticed the problem except for the new WAP, the new OS, and the new cable. I retest my speeds. I'm back where I started: XP PC gets full speed internet service, laptop gets sucky download speeds through the wireless link. So with OpenBSD on the Gateway I retry everything I just described above with the new WAP and new cable and get the same results. I put everything back to the original configuration again except the WAP, OS, and cable. I test the speed over the wireless link again and get sucky download speeds. I copy a large file from my XP PC to my laptop (which is still connected to the firewall wirelessly all this time) and I get GREAT transfer speeds. Conclusion: So I can talk through my WAP and through my firewall to anything else on my side of the internet connection at full speed, and everything that's not wireless can talk through the firewall to the internet at full speed. But I cannot talk through my WAP and through my firewall to the Internet at full speed. I can talk through my WAP to the Internet (not through the firewall) at full speed. Can anyone please offer some assistance? Thank you... Additional information: The three NICs in the firewall that I tried use the vr, xl, and ne drivers. The vr has a VIA Rhine or RhineII chipset. The xl is a 3Com 3c905, and the ne is a generic card using the Realtek 8029 chipset. pf.conf: # Network interfaces inet_if = "tun0" home_if = "vr0" wlan_if = "xl0" dmz_if = "rl0" # Miscellanous macros localnets = "{ vr0:network, xl0:network, rl0:network }" # Enable NAT on the internet interface nat on $inet_if from $localnets to any -> ($inet_if) block all pass inet proto tcp from { $inet_if, $localnets } to any pass inet proto udp from { $inet_if, $localnets } to any pass inet proto icmp from { $inet_if, $localnets } to any ifconfig: lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33208 groups: lo inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x7 inet 127.0.0.1 netmask 0xff000000 vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:50:ba:e6:73:4c description: home media: Ethernet autoselect (100baseTX full-duplex) status: active inet6 fe80::250:baff:fee6:734c%vr0 prefixlen 64 scopeid 0x1 inet 192.168.55.1 netmask 0xffffff00 broadcast 192.168.55.255 xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:60:08:5a:14:38 description: wlan media: Ethernet autoselect (100baseTX full-duplex) status: active inet6 fe80::260:8ff:fe5a:1438%xl0 prefixlen 64 scopeid 0x2 inet 192.168.56.1 netmask 0xffffff00 broadcast 192.168.56.255 rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:48:54:4b:bd:32 description: dmz media: Ethernet autoselect (100baseTX full-duplex) status: active inet6 fe80::248:54ff:fe4b:bd32%rl0 prefixlen 64 scopeid 0x3 inet 192.168.57.1 netmask 0xffffff00 broadcast 192.168.57.255 ne3: flags=8822<BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:60:67:2c:6a:0d media: Ethernet autoselect (10base2) ne4: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:00:b4:55:28:f0 description: internet media: Ethernet autoselect (10baseT full-duplex) inet6 fe80::200:b4ff:fe55:28f0%ne4 prefixlen 64 scopeid 0x5 enc0: flags=0<> mtu 1536 tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492 groups: tun egress inet 162.84.116.166 --> 10.13.1.1 netmask 0xffffff00 dmesg: OpenBSD 4.3 (GENERIC) #698: Wed Mar 12 11:07:05 MDT 2008 [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC cpu0: Intel Pentium III ("GenuineIntel" 686-class) 647 MHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE real mem = 267993088 (255MB) avail mem = 251080704 (239MB) mainbus0 at root bios0 at mainbus0: AT/286+ BIOS, date 11/02/99, BIOS32 rev. 0 @ 0xfd780, SMBIOS rev. 2.1 @ 0xefca0 (49 entries) bios0: vendor Intel Corp. version "4W4SB0X0.15A.0017.P12" date 12/21/1999 bios0: Gateway " apm0 at bios0: Power Management spec V1.2 apm0: AC on, battery charge unknown acpi at bios0 function 0x0 not configured pcibios0 at bios0: rev 2.1 @ 0xfd780/0x880 pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdf10/208 (11 entries) pcibios0: PCI Interrupt Router at 000:07:0 ("Intel 82371FB ISA" rev 0x00) pcibios0: PCI bus #1 is the last bus bios0: ROM list: 0xc0000/0xa000 0xe4000/0xc000 cpu0 at mainbus0 pci0 at mainbus0 bus 0: configuration mode 1 (no bios) pchb0 at pci0 dev 0 function 0 "Intel 82443BX AGP" rev 0x03 agp0 at pchb0: aperture at 0xf8000000, size 0x4000000 ppb0 at pci0 dev 1 function 0 "Intel 82443BX AGP" rev 0x03 pci1 at ppb0 bus 1 vga1 at pci1 dev 0 function 0 "3DFX Interactive Voodoo3" rev 0x01 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) piixpcib0 at pci0 dev 7 function 0 "Intel 82371AB PIIX4 ISA" rev 0x02 pciide0 at pci0 dev 7 function 1 "Intel 82371AB IDE" rev 0x01: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility wd0 at pciide0 channel 0 drive 0: <WDC AC313000R> wd0: 16-sector PIO, LBA, 12416MB, 25429824 sectors wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 atapiscsi0 at pciide0 channel 1 drive 0 scsibus0 at atapiscsi0: 2 targets cd0 at scsibus0 targ 0 lun 0: <MITSUMI, CR-48XATE, 1.0C> SCSI0 5/cdrom removable cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2 uhci0 at pci0 dev 7 function 2 "Intel 82371AB USB" rev 0x01: irq 9 piixpm0 at pci0 dev 7 function 3 "Intel 82371AB Power" rev 0x02: SMI iic0 at piixpm0 spdmem0 at iic0 addr 0x50: 256MB SDRAM non-parity PC133CL3 vr0 at pci0 dev 13 function 0 "VIA Rhine/RhineII" rev 0x06: irq 10, address 00:50:ba:e6:73:4c amphy0 at vr0 phy 8: Am79C873 10/100 PHY, rev. 0 xl0 at pci0 dev 14 function 0 "3Com 3c905 100Base-TX" rev 0x00: irq 11, address 00:60:08:5a:14:38 nsphy0 at xl0 phy 24: DP83840 10/100 PHY, rev. 1 rl0 at pci0 dev 15 function 0 "Realtek 8139" rev 0x10: irq 5, address 00:48:54:4b:bd:32 rlphy0 at rl0 phy 0: RTL internal PHY ne3 at pci0 dev 16 function 0 "Realtek 8029" rev 0x00: irq 9, address 00:60:67:2c:6a:0d ne4 at pci0 dev 17 function 0 "Realtek 8029" rev 0x00: irq 10, address 00:00:b4:55:28:f0 isa0 at piixpcib0 isadma0 at isa0 pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard, using wsdisplay0 pcppi0 at isa0 port 0x61 midi0 at pcppi0: <PC speaker> spkr0 at pcppi0 lpt0 at isa0 port 0x378/4 irq 7 npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16 pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo fdc0 at isa0 port 0x3f0/6 irq 6 drq 2 fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec usb0 at uhci0: USB revision 1.0 uhub0 at usb0 "Intel UHCI root hub" rev 1.00/1.00 addr 1 biomask f345 netmask ff65 ttymask ffe7 mtrr: Pentium Pro MTRR support softraid0 at root root on wd0a swap on wd0b dump on wd0b