From owner-freebsd-mobile@FreeBSD.ORG Mon Sep 1 17:32:27 2003 Return-Path: Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3B7D916A4BF for ; Mon, 1 Sep 2003 17:32:27 -0700 (PDT) Received: from smtp100.mail.sc5.yahoo.com (smtp100.mail.sc5.yahoo.com [216.136.174.138]) by mx1.FreeBSD.org (Postfix) with SMTP id ACD5043FDD for ; Mon, 1 Sep 2003 17:32:24 -0700 (PDT) (envelope-from nw_clark@yahoo.com) Received: from dsl081-168-084.sea1.dsl.speakeasy.net (HELO bart.greyhound.dyndns.org) (nw?clark@64.81.168.84 with login) by smtp.mail.vip.sc5.yahoo.com with SMTP; 2 Sep 2003 00:32:23 -0000 Date: Mon, 1 Sep 2003 17:32:19 -0700 From: Nathan Clark To: freebsd-mobile@freebsd.org, freebsd-net@freebsd.org Message-Id: <20030901173219.0aee3017.nw_clark@yahoo.com> X-Mailer: Sylpheed version 0.9.3claws (GTK+ 1.2.10; i386-portbld-freebsd5.1) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Netgear MA401 stopped working X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Sep 2003 00:32:27 -0000 I have an IBM Thinkpad 600X which dual boots 5.1-Current and XP-Pro. I purchased a Netgear MA401 wireless 802.11b card which worked fine under both OS's for about a week. This past Saturday, however, I was unable to connect to websites, my mail server etc. The symptoms are the same under both OS's: After an extended time of waiting, I eventually resolve the host, seem to be sending packets, but never receive anything back. So I took to pinging my gateway (192.168.112.1): bart# ping 192.168.112.1 PING 192.168.112.1 (192.168.112.1): 56 data bytes 64 bytes from 192.168.112.1: icmp_seq=0 ttl=64 time=3.030 ms 64 bytes from 192.168.112.1: icmp_seq=1 ttl=64 time=3.077 ms 64 bytes from 192.168.112.1: icmp_seq=2 ttl=64 time=3.140 ms 64 bytes from 192.168.112.1: icmp_seq=3 ttl=64 time=2.934 ms ^C --- 192.168.112.1 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 2.934/3.045/3.140/0.075 ms bart# ping www.google.com PING www.google.com (216.239.53.99): 56 data bytes 64 bytes from 216.239.53.99: icmp_seq=0 ttl=51 time=99.043 ms 64 bytes from 216.239.53.99: icmp_seq=1 ttl=51 time=37.158 ms 64 bytes from 216.239.53.99: icmp_seq=2 ttl=51 time=36.656 ms 64 bytes from 216.239.53.99: icmp_seq=3 ttl=51 time=36.154 ms ^C --- www.google.com ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 36.154/52.253/99.043/27.017 ms bart# So far, so good. But check this out: bart# ping -D -s 128 192.168.112.1 PING 192.168.112.1 (192.168.112.1): 128 data bytes ^C --- 192.168.112.1 ping statistics --- 6 packets transmitted, 0 packets received, 100% packet loss bart# My first thought was check the MTU setting, but I haven't found that option for the wi driver. Besides, I haven't mucked with anything on the network. So I ran the same ping command again, this time with tcpdump monitoring the wi interface. ping still sees no response, but look what tcpdump saw: bart# tcpdump tcpdump: listening on wi0 16:15:15.508145 192.168.112.10 > gateway.int.jope.net: icmp: echo request 16:15:15.511106 gateway.int.jope.net > 192.168.112.10: icmp: echo reply 16:15:15.984403 192.168.112.10.49163 > caliban.int.jope.net.domain: 54094+ PTR? 1.112.168.192.in-addr.arpa. (44) 16:15:15.988652 arp who-has 192.168.112.10 tell gateway.int.jope.net 16:15:15.988693 arp reply 192.168.112.10 is-at 0:9:5b:54:c6:96 16:15:15.991514 caliban.int.jope.net.domain > 192.168.112.10.49163: 54094* 1/1/1 (117) 16:15:15.992078 192.168.112.10.49164 > caliban.int.jope.net.domain: 54095+ PTR? 10.112.168.192.in-addr.arpa. (45) 16:15:16.001517 caliban.int.jope.net.domain > 192.168.112.10.49164: 54095 NXDomain* 0/1/0 (95) 16:15:16.515254 192.168.112.10 > gateway.int.jope.net: icmp: echo request 16:15:16.517966 gateway.int.jope.net > 192.168.112.10: icmp: echo reply 16:15:16.995635 192.168.112.10.49165 > caliban.int.jope.net.domain: 54096+ PTR? 2.111.168.192.in-addr.arpa. (44) 16:15:16.999852 caliban.int.jope.net.domain > 192.168.112.10.49165: 54096* 1/1/1 (117) 16:15:17.525309 192.168.112.10 > gateway.int.jope.net: icmp: echo request 16:15:17.528173 gateway.int.jope.net > 192.168.112.10: icmp: echo reply 16:15:18.535258 192.168.112.10 > gateway.int.jope.net: icmp: echo request 16:15:18.538120 gateway.int.jope.net > 192.168.112.10: icmp: echo reply 16:15:19.545265 192.168.112.10 > gateway.int.jope.net: icmp: echo request 16:15:19.548276 gateway.int.jope.net > 192.168.112.10: icmp: echo reply ^C 18 packets received by filter 0 packets dropped by kernel bart# Ok, it looks to me like my gateway is responding to the pings, but ping isn't seeing them. How odd. I need more information. I fire up ethereal and ping my gateway again. Ping does not acknowledge any replies, but ethereal sees them. At this point, I don't really know what I'm looking at. Ethereal reports the IP checksum as correct, but the ICMP checksum as incorrect: Checksum: 0xb8a9 (incorrect, should be 0xb8a7) The payload looks correct to me (an increasing string of 128 bytes). I'm going to ping with a constant pattern this time and see what comes back: bart# ping -p aa -s 128 192.168.112.1 PATTERN: 0xaa PING 192.168.112.1 (192.168.112.1): 128 data bytes 136 bytes from 192.168.112.1: icmp_seq=0 ttl=64 time=3.125 ms 136 bytes from 192.168.112.1: icmp_seq=1 ttl=64 time=3.308 ms 136 bytes from 192.168.112.1: icmp_seq=2 ttl=64 time=2.909 ms 136 bytes from 192.168.112.1: icmp_seq=3 ttl=64 time=3.070 ms ^C --- 192.168.112.1 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 2.909/3.103/3.308/0.143 ms bart# They came back!!! This time, ethereal shows the IP and ICMP checksums as correct. I notice that I can successfully ping the gateway with larger packets: bart# ping -p aa -s 1472 192.168.112.1 PATTERN: 0xaa PING 192.168.112.1 (192.168.112.1): 1472 data bytes 1480 bytes from 192.168.112.1: icmp_seq=0 ttl=64 time=8.927 ms 1480 bytes from 192.168.112.1: icmp_seq=1 ttl=64 time=8.793 ms 1480 bytes from 192.168.112.1: icmp_seq=2 ttl=64 time=8.829 ms 1480 bytes from 192.168.112.1: icmp_seq=3 ttl=64 time=8.472 ms ^C --- 192.168.112.1 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 8.472/8.755/8.927/0.171 ms bart# But only if I specify a repeating pattern: bart# ping -s 1472 192.168.112.1 PING 192.168.112.1 (192.168.112.1): 1472 data bytes ^C --- 192.168.112.1 ping statistics --- 5 packets transmitted, 0 packets received, 100% packet loss bart# ping -p 99 -s 1472 192.168.112.1 PATTERN: 0x99 PING 192.168.112.1 (192.168.112.1): 1472 data bytes 1480 bytes from 192.168.112.1: icmp_seq=0 ttl=64 time=8.958 ms 1480 bytes from 192.168.112.1: icmp_seq=1 ttl=64 time=8.718 ms 1480 bytes from 192.168.112.1: icmp_seq=2 ttl=64 time=8.790 ms 1480 bytes from 192.168.112.1: icmp_seq=3 ttl=64 time=9.042 ms ^C --- 192.168.112.1 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 8.718/8.877/9.042/0.129 ms bart# The same is true when I try pinging Sun: bart# ping -p 99 -s 1472 www.sun.com PATTERN: 0x99 PING www.sun.com (64.124.140.199): 1472 data bytes 1480 bytes from 64.124.140.199: icmp_seq=0 ttl=243 time=132.539 ms 1480 bytes from 64.124.140.199: icmp_seq=1 ttl=243 time=107.285 ms 1480 bytes from 64.124.140.199: icmp_seq=2 ttl=243 time=104.601 ms ^C --- www.sun.com ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max/stddev = 104.601/114.808/132.539/12.585 ms bart# ping -s 1472 www.sun.com PING www.sun.com (64.124.140.199): 1472 data bytes ^C --- www.sun.com ping statistics --- 4 packets transmitted, 0 packets received, 100% packet loss bart# I really want to try some TCP traffic, so I enlist the help of firebird, which I point to www.freshports.org According to ethereal, freshports is acknowledging my requests. In fact, it does so several times, but the TCP checksum is incorrect. The wi driver has this to say about when things get really bad: Sep 1 16:57:24 bart kernel: wi0: failed in wi_seek to 3a2/0 Sep 1 16:57:26 bart kernel: wi0: failed in wi_seek to 3d3/0 And tons of similar messages. There are two other laptops( both Macs ) using this wireless network, neither one is experiencing any problems. My laptop works fine if I tether it to the access point using a Netgear FA411. I've exhausted my knowledge of TCP/IP and Wifi at this point. Netgear tech support suggested I contact Microsoft for instructions on changing the MTU settings. I, on the other hand, suspect a hardware problem with the card. I mean, it previously worked, then stopped under both OS's, other wireless laptops are having no problems on the same network, and other pcmcia cards work fine in the slot. Unfortunately I don't have another Intel based machine to test the wireless card in. Is there anything else I can do, before I RMA this thing? Oh yeah, the vitals: bart# uname -a FreeBSD bart.greyhound.dyndns.org 5.1-CURRENT FreeBSD 5.1-CURRENT #6: Sun Aug 31 12:57:32 PDT 2003 root@bart.greyhound.dyndns.org:/usr/obj/usr/src/sys/OLDCARD_BART i386 cvsuped just prior to rebuilding. bart# dmesg Copyright (c) 1992-2003 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.1-CURRENT #6: Sun Aug 31 12:57:32 PDT 2003 root@bart.greyhound.dyndns.org:/usr/obj/usr/src/sys/OLDCARD_BART Preloaded elf kernel "/boot/kernel/kernel" at 0xc05a6000. Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel Pentium III (498.27-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x681 Stepping = 1 Features=0x383f9ff real memory = 201129984 (191 MB) avail memory = 189206528 (180 MB) Pentium Pro MTRR support enabled npx0: on motherboard npx0: INT 16 interface pcibios: BIOS version 2.10 Using $PIR table, 6 entries at 0xc00f9d00 pcib0: at pcibus 0 on motherboard pci0: on pcib0 pci_cfgintr: 0:2 INTA BIOS irq 11 pci_cfgintr: 0:2 INTB BIOS irq 11 pci_cfgintr: 0:3 INTA BIOS irq 11 pci_cfgintr: 0:6 INTA BIOS irq 11 pci_cfgintr: 0:7 INTD BIOS irq 11 agp0: mem 0x40000000-0x43ffffff at device 0.0 on pci0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pci_cfgintr: 1:0 INTA BIOS irq 11 pci1: at device 0.0 (no driver attached) pcic0: mem 0x50103000-0x50103fff irq 11 at device 2.0 on pci0 pcic0: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][FUNC pci int + CSC serial isa irq] pccard0: on pcic0 pcic1: mem 0x50102000-0x50102fff irq 11 at device 2.1 on pci0 pcic1: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][FUNC pci int + CSC serial isa irq] pccard1: on pcic1 pci0: at device 3.0 (no driver attached) csa0: mem 0x50000000-0x500fffff,0x50100000-0x50100fff irq 11 at device 6.0 on pci0 csa: card is Thinkpad 600X/A20/T20 pcm0: on csa0 pcm0: isab0: at device 7.0 on pci0 isa0: on isab0 atapci0: port 0xfcf0-0xfcff at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0: port 0x4000-0x401f irq 11 at device 7.2 on pci0 usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered pci0: at device 7.3 (no driver attached) orm0: