From nobody@FreeBSD.org  Sun Nov  4 16:48:46 2007
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id E5E0116A4C4
	for <freebsd-gnats-submit@FreeBSD.org>; Sun,  4 Nov 2007 16:48:46 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id D397513C491
	for <freebsd-gnats-submit@FreeBSD.org>; Sun,  4 Nov 2007 16:48:46 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.1/8.14.1) with ESMTP id lA4GmacS005118
	for <freebsd-gnats-submit@FreeBSD.org>; Sun, 4 Nov 2007 16:48:36 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.1/8.14.1/Submit) id lA4GmalT005117;
	Sun, 4 Nov 2007 16:48:36 GMT
	(envelope-from nobody)
Message-Id: <200711041648.lA4GmalT005117@www.freebsd.org>
Date: Sun, 4 Nov 2007 16:48:36 GMT
From: Christian Spiel <e9800675@stud4.tuwien.ac.at>
To: freebsd-gnats-submit@FreeBSD.org
Subject: rum related kernel panic
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         117820
>Category:       kern
>Synopsis:       [rum] [panic] rum related kernel panic
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kevlo
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Nov 04 16:50:01 UTC 2007
>Closed-Date:    Wed Nov 21 05:52:21 UTC 2007
>Last-Modified:  Sun Dec 30 15:10:00 UTC 2007
>Originator:     Christian Spiel
>Release:        7.0-CURRENT
>Organization:
Vienna University of Technology
>Environment:
amd64
>Description:
Using the rum driver with WPA enabled the kernel panics within a few minutes when downloading stuff.

I have backtraced the problem using the coredump and kgdb. It shows that in if_rum.c at line 842 a null pointer dereference occurs.

842:        if (data->m->m_flags & M_TXCB)
                    843:                ieee80211_process_callback(data->ni, data->m,
                    844:                        status == USBD_NORMAL_COMPLETION ? 0 : ETIMEDOUT);

data is NULL because the function rum_txeof was called with priv==NULL. 
>How-To-Repeat:
Easily repeatable
>Fix:
I have added a check against null pointer in this function and it improves the stability of the system considerably although that is of course not the correct solution.

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->kevlo 
Responsible-Changed-By: kmacy 
Responsible-Changed-When: Fri Nov 16 20:58:10 UTC 2007 
Responsible-Changed-Why:  

hand off to maintainer 

http://www.freebsd.org/cgi/query-pr.cgi?pr=117820 
State-Changed-From-To: open->closed 
State-Changed-By: kevlo 
State-Changed-When: Wed Nov 21 05:51:59 UTC 2007 
State-Changed-Why:  
Fixed. Thanks for the report. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=117820 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/117820: commit references a PR
Date: Wed, 21 Nov 2007 05:51:50 +0000 (UTC)

 kevlo       2007-11-21 05:51:43 UTC
 
   FreeBSD src repository
 
   Modified files:
     sys/dev/usb          if_rum.c 
   Log:
   Fix NULL dereference in rum_txeof()
   
   PR: kern/117820
   
   Revision  Changes    Path
   1.15      +2 -3      src/sys/dev/usb/if_rum.c
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 

From: Alexey Popov <lol@chistydom.ru>
To: bug-followup@FreeBSD.org,  e9800675@stud4.tuwien.ac.at
Cc: kevlo@FreeBSD.org
Subject: Re: kern/117820: [rum] [panic] rum related kernel panic
Date: Sun, 30 Dec 2007 17:05:36 +0300

 Hi
 
 There's one more incorrect NULL pointer operation in rum_txeof():
 
          ieee80211_free_node(data->ni);
          data->ni = NULL;
 
 Where "data->ni" happens to be NULL, but ieee80211_free_node() expects "ni" to
 be defined. I have kernel panic every 5-10 minutes using rum. Here's backtrace:
 
 ===
 %kgdb /boot/kernel.old/kernel /var/crash/vmcore.4
 [GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so:
 Undefined symbol "ps_pglobal_lookup"]
 GNU gdb 6.1.1 [FreeBSD]
 Copyright 2004 Free Software Foundation, Inc.
 GDB is free software, covered by the GNU General Public License, and you are
 welcome to change it and/or distribute copies of it under certain conditions.
 Type "show copying" to see the conditions.
 There is absolutely no warranty for GDB.  Type "show warranty" for details.
 This GDB was configured as "i386-marcel-freebsd".
 
 Unread portion of the kernel message buffer:
 
 
 Fatal trap 12: page fault while in kernel mode
 cpuid = 1; apic id = 01
 fault virtual address   = 0x4
 fault code              = supervisor read, page not present
 instruction pointer     = 0x20:0xc0810e02
 stack pointer           = 0x28:0xe42fabb8
 frame pointer           = 0x28:0xe42fabdc
 code segment            = base 0x0, limit 0xfffff, type 0x1b
                          = DPL 0, pres 1, def32 1, gran 1
 processor eflags        = interrupt enabled, resume, IOPL = 0
 current process         = 23 (irq23: uhci0 ehci0)
 trap number             = 12
 panic: page fault
 cpuid = 1
 Uptime: 4m5s
 Physical memory: 1002 MB
 Dumping 102 MB: 87 71 55 39 23 7
 
 #0  doadump () at pcpu.h:195
 195     pcpu.h: No such file or directory.
          in pcpu.h
 (kgdb) bt
 #0  doadump () at pcpu.h:195
 #1  0xc0753f07 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409
 #2  0xc07541c9 in panic (fmt=Variable "fmt" is not available.
 ) at /usr/src/sys/kern/kern_shutdown.c:563
 #3  0xc0a6737c in trap_fatal (frame=0xe42fab78, eva=4) at
 /usr/src/sys/i386/i386/trap.c:899
 #4  0xc0a67600 in trap_pfault (frame=0xe42fab78, usermode=0, eva=4) at
 /usr/src/sys/i386/i386/trap.c:812
 #5  0xc0a67fac in trap (frame=0xe42fab78) at /usr/src/sys/i386/i386/trap.c:490
 #6  0xc0a4df4b in calltrap () at /usr/src/sys/i386/i386/exception.s:139
 #7  0xc0810e02 in ieee80211_free_node (ni=0x0) at
 /usr/src/sys/net80211/ieee80211_node.c:1289
 #8  0xc06b9e7d in rum_txeof (xfer=0xc46f3600, priv=0xc4074498,
 status=USBD_NORMAL_COMPLETION) at /usr/src/sys/dev/usb/if_rum.c:861
 #9  0xc06d3605 in usb_transfer_complete (xfer=0xc46f3600) at
 /usr/src/sys/dev/usb/usbdi.c:977
 #10 0xc06a61e1 in ehci_softintr (v=0xc3fdf800) at /usr/src/sys/dev/usb/ehci.c:884
 #11 0xc06cf1b2 in usb_schedsoftintr (bus=0xc3fdf800) at
 /usr/src/sys/dev/usb/usb.c:844
 #12 0xc06a79be in ehci_intr1 (sc=0xc3fdf800) at /usr/src/sys/dev/usb/ehci.c:603
 #13 0xc06a83f5 in ehci_intr (v=0xc3fdf800) at /usr/src/sys/dev/usb/ehci.c:562
 #14 0xc073729b in ithread_loop (arg=0xc4032b60) at
 /usr/src/sys/kern/kern_intr.c:1036
 #15 0xc07341d9 in fork_exit (callout=0xc07370f0 <ithread_loop>, arg=0xc4032b60,
 frame=0xe42fad38) at /usr/src/sys/kern/kern_fork.c:754
 #16 0xc0a4dfc0 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:205
 (kgdb) up 7
 #7  0xc0810e02 in ieee80211_free_node (ni=0x0) at
 /usr/src/sys/net80211/ieee80211_node.c:1289
 1289    {
 (kgdb) list
 1284    #ifdef IEEE80211_DEBUG_REFCNT
 1285    ieee80211_free_node_debug(struct ieee80211_node *ni, const char *func,
 int line)
 1286    #else
 1287    ieee80211_free_node(struct ieee80211_node *ni)
 1288    #endif
 1289    {
 1290            struct ieee80211_node_table *nt = ni->ni_table;
 1291
 1292    #ifdef IEEE80211_DEBUG_REFCNT
 1293            IEEE80211_DPRINTF(ni->ni_ic, IEEE80211_MSG_NODE,
 (kgdb) print ni
 $1 = (struct ieee80211_node *) 0x0
 (kgdb) up
 #8  0xc06b9e7d in rum_txeof (xfer=0xc46f3600, priv=0xc4074498,
 status=USBD_NORMAL_COMPLETION) at /usr/src/sys/dev/usb/if_rum.c:861
 warning: Source file is more recent than executable.
 
 861             data->m = NULL;
 (kgdb) list
 856                     ifp->if_oerrors++;
 857                     return;
 858             }
 859
 860             m_freem(data->m);
 861             data->m = NULL;
 862             ieee80211_free_node(data->ni);
 863             data->ni = NULL;
 864
 865             sc->tx_queued--;
 (kgdb) print data->ni
 $2 = (struct ieee80211_node *) 0x0
 (kgdb) quit
 %exit
 ===
 
 As a workaround I've added simple check to rum_txeof:
 
 ===
 --- ./if_rum.c.orig     2007-09-17 23:07:24.000000000 +0400
 +++ ./if_rum.c  2007-12-30 13:59:34.000000000 +0300
 @@ -859,8 +858,10 @@
 
          m_freem(data->m);
          data->m = NULL;
 -       ieee80211_free_node(data->ni);
 -       data->ni = NULL;
 +       if (data->ni != NULL) {
 +               ieee80211_free_node(data->ni);
 +               data->ni = NULL;
 +       }
 
          sc->tx_queued--;
          ifp->if_opackets++;
 ===
 
 After applying this if_rum works much better. There's no more panics and I can
 even download FreeBSD CD ISO image.
 
 I believe this workaround would as well help to fix usb/92083, because backtrace
 and ural_txeof() driver are very similar to if_rum.
 
 There's still some questions left:
 1) Is it really expected data->ni to be NULL in rum_txeof? If so, should we also
 produce workarounds for if_ural and if_zad as the code there is very similar?
 
 2) A have transmit errors in /var/log/messages:
 
 Dec 30 16:23:02 buka kernel: rum0: could not transmit buffer: SHORT_XFER
 Dec 30 16:23:10 buka last message repeated 19 times
 Dec 30 16:24:53 buka last message repeated 15 times
 
 %netstat -I rum0
 Name    Mtu Network       Address              Ipkts Ierrs    Opkts Oerrs  Coll
 rum0   1500 <Link#1>      00:10:60:a1:7e:bd   791158     0 33592175  6031     0
 rum0   1500 192.168.102.0 192.168.102.102     791132     -   471156     -     -
 %
 
 Could this errors be related to the panic?
 
 With best regards,
 Alexey Popov
 
 %uname -a; cat /var/run/dmesg.boot ; ifconfig rum0
 FreeBSD buka 7.0-PRERELEASE FreeBSD 7.0-PRERELEASE #2: Sun Dec 30 14:06:00 MSK
 2007     root@buka:/usr/obj/usr/src/sys/GENERIC  i386
 Copyright (c) 1992-2008 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 is a registered trademark of The FreeBSD Foundation.
 FreeBSD 7.0-PRERELEASE #2: Sun Dec 30 14:06:00 MSK 2007
      root@buka:/usr/obj/usr/src/sys/GENERIC
 Timecounter "i8254" frequency 1193182 Hz quality 0
 CPU: Intel(R) Core(TM) Duo CPU      T2450  @ 2.00GHz (2000.09-MHz 686-class CPU)
    Origin = "GenuineIntel"  Id = 0x6ec  Stepping = 12
 
 Features=0xbfe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
    Features2=0xc189<SSE3,MON,EST,TM2,xTPR,PDCM>
    AMD Features=0x100000<NX>
    Cores per package: 2
 real memory  = 1063845888 (1014 MB)
 avail memory = 1027436544 (979 MB)
 ACPI APIC Table: <INTEL  CALISTGA>
 FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
   cpu0 (BSP): APIC ID:  0
   cpu1 (AP): APIC ID:  1
 ioapic0: Changing APIC ID to 1
 ioapic0 <Version 2.0> irqs 0-23 on motherboard
 kbd1 at kbdmux0
 ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
 hptrr: HPT RocketRAID controller driver v1.1 (Dec 30 2007 14:04:44)
 acpi0: <STD STANDARD> on motherboard
 acpi0: [ITHREAD]
 acpi0: Power Button (fixed)
 Timecounter "HPET" frequency 14318180 Hz quality 900
 Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
 acpi_ec0: <Embedded Controller: GPE 0x19> port 0x62,0x66 on acpi0
 cpu0: <ACPI CPU> on acpi0
 est0: <Enhanced SpeedStep Frequency Control> on cpu0
 p4tcc0: <CPU Frequency Thermal Control> on cpu0
 cpu1: <ACPI CPU> on acpi0
 est1: <Enhanced SpeedStep Frequency Control> on cpu1
 p4tcc1: <CPU Frequency Thermal Control> on cpu1
 acpi_lid0: <Control Method Lid Switch> on acpi0
 acpi_button0: <Power Button> on acpi0
 acpi_button1: <Sleep Button> on acpi0
 acpi_acad0: <AC Adapter> on acpi0
 battery0: <ACPI Control Method Battery> on acpi0
 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
 pci0: <ACPI PCI bus> on pcib0
 vgapci0: <VGA-compatible display> port 0x1800-0x1807 mem
 0xb0080000-0xb00fffff,0xc0000000-0xcfffffff,0xb0040000-0xb007ffff irq 16 at
 device 2.0 on pci0
 agp0: <Intel 82945GM (945GM GMCH) SVGA controller> on vgapci0
 agp0: detected 7932k stolen memory
 agp0: aperture size is 256M
 vgapci1: <VGA-compatible display> mem 0xb0100000-0xb017ffff at device 2.1 on pci0
 pci0: <multimedia> at device 27.0 (no driver attached)
 pcib1: <ACPI PCI-PCI bridge> at device 28.0 on pci0
 pci2: <ACPI PCI bus> on pcib1
 pcib2: <ACPI PCI-PCI bridge> at device 28.1 on pci0
 pci4: <ACPI PCI bus> on pcib2
 pcib3: <ACPI PCI-PCI bridge> at device 28.2 on pci0
 pci5: <ACPI PCI bus> on pcib3
 uhci0: <UHCI (generic) USB controller> port 0x1820-0x183f irq 23 at device 29.0
 on pci0
 uhci0: [GIANT-LOCKED]
 uhci0: [ITHREAD]
 usb0: <UHCI (generic) USB controller> on uhci0
 usb0: USB revision 1.0
 uhub0: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
 uhub0: 2 ports with 2 removable, self powered
 uhci1: <UHCI (generic) USB controller> port 0x1840-0x185f irq 19 at device 29.1
 on pci0
 uhci1: [GIANT-LOCKED]
 uhci1: [ITHREAD]
 usb1: <UHCI (generic) USB controller> on uhci1
 usb1: USB revision 1.0
 uhub1: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1
 uhub1: 2 ports with 2 removable, self powered
 uhci2: <UHCI (generic) USB controller> port 0x1860-0x187f irq 18 at device 29.2
 on pci0
 uhci2: [GIANT-LOCKED]
 uhci2: [ITHREAD]
 usb2: <UHCI (generic) USB controller> on uhci2
 usb2: USB revision 1.0
 uhub2: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb2
 uhub2: 2 ports with 2 removable, self powered
 uhci3: <UHCI (generic) USB controller> port 0x1880-0x189f irq 16 at device 29.3
 on pci0
 uhci3: [GIANT-LOCKED]
 uhci3: [ITHREAD]
 usb3: <UHCI (generic) USB controller> on uhci3
 usb3: USB revision 1.0
 uhub3: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb3
 uhub3: 2 ports with 2 removable, self powered
 ehci0: <Intel 82801GB/R (ICH7) USB 2.0 controller> mem 0xf0004000-0xf00043ff irq
 23 at device 29.7 on pci0
 ehci0: [GIANT-LOCKED]
 ehci0: [ITHREAD]
 usb4: EHCI version 1.0
 usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
 usb4: <Intel 82801GB/R (ICH7) USB 2.0 controller> on ehci0
 usb4: USB revision 2.0
 uhub4: <Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb4
 uhub4: 8 ports with 8 removable, self powered
 rum0: <Ralink 802.11 bg WLAN, class 0/0, rev 2.00/0.01, addr 2> on uhub4
 rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528
 rum0: Ethernet address: 00:10:60:a1:7e:bd
 rum0: if_start running deferred for Giant
 pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0
 pci6: <ACPI PCI bus> on pcib4
 fwohci0: <1394 Open Host Controller Interface> mem 0xb0200000-0xb02007ff irq 18
 at device 4.0 on pci6
 fwohci0: [FILTER]
 fwohci0: OHCI version 1.10 (ROM=0)
 fwohci0: No. of Isochronous channels is 8.
 fwohci0: EUI64 00:03:0d:00:51:15:7b:6d
 fwohci0: Phy 1394a available S400, 2 ports.
 fwohci0: Link S400, max_rec 2048 bytes.
 firewire0: <IEEE1394(FireWire) bus> on fwohci0
 dcons_crom0: <dcons configuration ROM> on firewire0
 dcons_crom0: bus_addr 0x148c000
 fwe0: <Ethernet over FireWire> on firewire0
 if_fwe0: Fake Ethernet address: 02:03:0d:15:7b:6d
 fwe0: Ethernet address: 02:03:0d:15:7b:6d
 fwip0: <IP over FireWire> on firewire0
 fwip0: Firewire address: 00:03:0d:00:51:15:7b:6d @ 0xfffe00000000, S400, maxrec 2048
 sbp0: <SBP-2/SCSI over FireWire> on firewire0
 fwohci0: Initiate bus reset
 fwohci0: BUS reset
 fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode
 pci6: <base peripheral> at device 4.2 (no driver attached)
 pci6: <mass storage> at device 4.3 (no driver attached)
 rl0: <RealTek 8139 10/100BaseTX> port 0x2000-0x20ff mem 0xb0200c00-0xb0200cff
 irq 16 at device 5.0 on pci6
 miibus0: <MII bus> on rl0
 rlphy0: <RealTek internal media interface> PHY 0 on miibus0
 rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 rl0: Ethernet address: 00:03:0d:6a:8f:79
 rl0: [ITHREAD]
 isab0: <PCI-ISA bridge> at device 31.0 on pci0
 isa0: <ISA bus> on isab0
 atapci0: <Intel ICH7 UDMA100 controller> port
 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1810-0x181f at device 31.1 on pci0
 ata0: <ATA channel 0> on atapci0
 ata0: [ITHREAD]
 ata1: <ATA channel 1> on atapci0
 ata1: [ITHREAD]
 atapci1: <Intel ICH7M SATA300 controller> port
 0x18d0-0x18d7,0x18c4-0x18c7,0x18c8-0x18cf,0x18c0-0x18c3,0x18b0-0x18bf mem
 0xf0004400-0xf00047ff irq 19 at device 31.2 on pci0
 atapci1: [ITHREAD]
 ata2: <ATA channel 0> on atapci1
 ata2: [ITHREAD]
 ata3: <ATA channel 1> on atapci1
 ata3: [ITHREAD]
 pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
 acpi_tz0: <Thermal Zone> on acpi0
 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
 atkbd0: <AT Keyboard> irq 1 on atkbdc0
 kbd0 at atkbd0
 atkbd0: [GIANT-LOCKED]
 atkbd0: [ITHREAD]
 psm0: <PS/2 Mouse> irq 12 on atkbdc0
 psm0: [GIANT-LOCKED]
 psm0: [ITHREAD]
 psm0: model Generic PS/2 mouse, device ID 0
 pmtimer0 on isa0
 orm0: <ISA Option ROMs> at iomem 0xdc000-0xdffff,0xe4000-0xe57ff pnpid ORM0000
 on isa0
 ppc0: parallel port not found.
 sc0: <System console> at flags 0x100 on isa0
 sc0: VGA <16 virtual consoles, flags=0x300>
 sio0: configured irq 4 not in bitmap of probed irqs 0
 sio0: port may not be enabled
 sio0: configured irq 4 not in bitmap of probed irqs 0
 sio0: port may not be enabled
 sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
 sio0: type 8250 or not responding
 sio0: [FILTER]
 sio1: configured irq 3 not in bitmap of probed irqs 0
 sio1: port may not be enabled
 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
 Timecounters tick every 1.000 msec
 hptrr: no controlfirewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
 firewire0: bus manager 0 (me)
 ler detected.
 acd0: DVDR <Optiarc DVD RW AD-7530B/NX03> at ata0-master UDMA33
 ad4: 114473MB <FUJITSU MHW2120BH 00000012> at ata2-master SATA150
 SMP: AP CPU #1 Launched!
 Trying to mount root from ufs:/dev/ad4s1a
 rum0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
          ether 00:10:60:a1:7e:bd
          inet 192.168.102.102 netmask 0xffffff00 broadcast 192.168.102.255
          media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
          status: associated
          ssid durdom channel 2 (2417 Mhz 11g) bssid 00:1c:f0:3b:bd:c5
          authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit TKIP 3:128-bit
          txpower 50 bmiss 7 scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250
          roam:rssi11g 7 roam:rate11g 5 protmode CTS roaming MANUAL
 %
 
 
 
>Unformatted:
