EMP-8602 400mw 802.11a/g/b wireless mini-pci - driver


  • Greetings,
    I just tried the new 400mw EMP-8602 with pfSense 2/19/06 beta and it didn't recognize it.
    I thought this driver was built into the newer freeBSD?
    Does anyone know when pfSense will have this driver?
    Thanks, -pc


  • Don't have a exact date, but it should work once we get the latest HAL in freebsd (should be updated for 6.1).
    Scott tried a build with the latest HAL but it b0rked wireless completely, so we had to revert to the december HAL.
    freebsd 6.1 is supposed to be released 17 of march. So hopefully it wil be in before that time.


  • Has the HAL been updated to 6.1 in the latest beta?  Does this card now work?
    Thanks, -pc



  • Card has been tested and operates correctly on Madwifi-ng. A problem exists with WRAP boards which do not correctly detect the card on a cold boot. After a reboot the card works properly. WRAP boards with firmware 1.11 or newer cold boot properly and do not have this problem.

    This card should work with anything beta2 or later. Please report back any findings.


  • Just installed EMP-8602 in a WRAP 2C system and flashed pfSense-Embedded-1.0BETA2.img.gz
    It didn't auto-detect.
    Flashed http://www.pfsense.com/~sullrich/RELENG_1_SNAPSHOT_03-19-2006/pfSense.img.gz
    Still didn't auto-detect.
    I have two EMP-8602, neither one auto-detected.
    Well, back to 200mw.  Does anyone know of any other 400mw cards that auto-detect?
    Thanks,
    -pc


  • Ubiquiti SR-5 should work. Atleast it worked before.


  • Accoring to this product info website for EMP-8602 it works with freeBSD 6.1 …
    http://www.netgate.com/product_info.php?products_id=279
    ( Note: I did NOT purchase these units from the above site!

    I assume this means the ath driver that exists in the latest pfSense beta should support this card.
    Is there any way to force pfSense to use the ath driver; or, even better, modify pfSense to autodetect EMP-8602 as an ath.
    Thanks, -Pete


  • It might be a detection issue, do you know what chip this card is based on ?

    The freebsd ath driver might support the card, it might just be a detection issue as you say, i'll look into it and see if i can find out what this card is based on. Can you do me a favour and show me the output of pciconf -lv and dmesg ?

    You might want to take a look at: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/contrib/dev/ath/ah_devid.h

    #define ATHEROS_VENDOR_ID 0x168c /* Atheros PCI vendor ID /
    /

    • NB: all Atheros-based devices should have a PCI vendor ID
      *     of 0x168c, but some vendors, in their infinite wisdom
      *     do not follow this so we must handle them specially.
      */

  • do you know what chip this card is based on ?
    Atheros AR5006.
    I will try those commands tomorrow and post the output.
    Thanks,-pc


  • below


  • Hardware: WRAP 2C
    Software: pfSense-Embedded-1.0BETA2.img.gz
    Wireless: Mfg: EnGenius, Model: EMP-8602 Chipset: Atheros AR5006 6th generation chipset http://www.atheros.com/pt/AR5006Bulletins.htm

    Here is the Output from those commands…

    pciconf -lv

    hostb0@pci0:0:0: class=0x060000 card=0x00000000 chip=0x00011078 rev=0x00 hdr=0x00
        class    = bridge
        subclass = HOST-PCI
    none0@pci0:13:0: class=0x020000 card=0x00000000 chip=0xff16168c rev=0x01 hdr=0x00
        class    = network
        subclass = ethernet
    none1@pci0:13:1: class=0x070002 card=0xee96168c chip=0xff96168c rev=0x01 hdr=0x00
        class    = simple comms
        subclass = UART
    none2@pci0:13:2: class=0x000000 card=0x00000000 chip=0x00000000 rev=0x00 hdr=0x00
        class    = old
        subclass = non-VGA display device
    none3@pci0:13:3: class=0x000000 card=0x00000000 chip=0x00000000 rev=0x00 hdr=0x00
        class    = old
        subclass = non-VGA display device
    none4@pci0:13:4: class=0x000000 card=0x00000000 chip=0x00000000 rev=0x00 hdr=0x00
        class    = old
        subclass = non-VGA display device
    none5@pci0:13:5: class=0x000000 card=0x00000000 chip=0x00000000 rev=0x00 hdr=0x00
        class    = old
        subclass = non-VGA display device
    none6@pci0:13:6: class=0x000000 card=0x00000000 chip=0x00000000 rev=0x00 hdr=0x00
        class    = old
        subclass = non-VGA display device
    none7@pci0:13:7: class=0x000000 card=0x00000000 chip=0x00000000 rev=0x00 hdr=0x00
        class    = old
        subclass = non-VGA display device
    sis0@pci0:14:0: class=0x020000 card=0x0020100b chip=0x0020100b rev=0x00 hdr=0x00
        class    = network
        subclass = ethernet
    none8@pci0:17:0: class=0x020000 card=0x00000000 chip=0xff16168c rev=0x01 hdr=0x00
        class    = network
        subclass = ethernet
    none9@pci0:17:1: class=0x070002 card=0xee96168c chip=0xff96168c rev=0x01 hdr=0x00
        class    = simple comms
        subclass = UART
    none10@pci0:17:2: class=0x000000 card=0x00000000 chip=0x00000000 rev=0x00 hdr=0x00
        class    = old
        subclass = non-VGA display device
    none11@pci0:17:3: class=0x000000 card=0x00000000 chip=0x00000000 rev=0x00 hdr=0x00
        class    = old
        subclass = non-VGA display device
    none12@pci0:17:4: class=0x000000 card=0x00000000 chip=0x00000000 rev=0x00 hdr=0x00
        class    = old
        subclass = non-VGA display device
    none13@pci0:17:5: class=0x000000 card=0x00000000 chip=0x00000000 rev=0x00 hdr=0x00
        class    = old
        subclass = non-VGA display device
    none14@pci0:17:6: class=0x000000 card=0x00000000 chip=0x00000000 rev=0x00 hdr=0x00
        class    = old
        subclass = non-VGA display device
    none15@pci0:17:7: class=0x000000 card=0x00000000 chip=0x00000000 rev=0x00 hdr=0x00
        class    = old
        subclass = non-VGA display device
    isab0@pci0:18:0: class=0x060100 card=0x0500100b chip=0x0510100b rev=0x00 hdr=0x00
        class    = bridge
        subclass = PCI-ISA
    none16@pci0:18:1: class=0x068000 card=0x0501100b chip=0x0511100b rev=0x00 hdr=0x00
        class    = bridge
    atapci0@pci0:18:2: class=0x010180 card=0x0502100b chip=0x0502100b rev=0x01 hdr=0x00
        class    = mass storage
        subclass = ATA
    none17@pci0:18:3: class=0x040100 card=0x0503100b chip=0x0503100b rev=0x00 hdr=0x00
        class    = multimedia
        subclass = audio
    none18@pci0:18:5: class=0x068000 card=0x0505100b chip=0x0515100b rev=0x00 hdr=0x00
        class    = bridge

    dmesg

    Copyright (c) 1992-2006 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 6.1-PRERELEASE #0: Thu Mar  2 22:07:36 UTC 2006
        sullrich@builder.livebsd.com:/usr/obj.pfSense/usr/src/sys/pfSense_wrap.6
    Timecounter "i8254" frequency 1193182 Hz quality 0
    CPU: Geode(TM) Integrated Processor by National Semi (266.66-MHz 586-class CPU)
      Origin = "Geode by NSC"  Id = 0x540  Stepping = 0
      Features=0x808131 <fpu,tsc,msr,cx8,cmov,mmx>real memory  = 134217728 (128 MB)
    avail memory = 121913344 (116 MB)
    wlan: mac acl policy registered
    ath_hal: 0.9.16.16 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
    npx0: [FAST]
    npx0: <math processor="">on motherboard</math>
    npx0: INT 16 interface
    cpu0 on motherboard
    pcib0: <host to="" pci="" bridge="">pcibus 0 on motherboard
    pci0: <pci bus="">on pcib0
    pci0: <network, ethernet="">at device 13.0 (no driver attached)
    pci0: <simple comms,="" uart="">at device 13.1 (no driver attached)
    pci0: <old, non-vga="" display="" device="">at device 13.2 (no driver attached)
    pci0: <old, non-vga="" display="" device="">at device 13.3 (no driver attached)
    pci0: <old, non-vga="" display="" device="">at device 13.4 (no driver attached)
    pci0: <old, non-vga="" display="" device="">at device 13.5 (no driver attached)
    pci0: <old, non-vga="" display="" device="">at device 13.6 (no driver attached)
    pci0: <old, non-vga="" display="" device="">at device 13.7 (no driver attached)
    sis0: <natsemi 10="" dp8381[56]="" 100basetx="">port 0x1400-0x14ff mem 0x80080000-0x80080fff irq 10 at device 14.0 on pci0
    sis0: Silicon Revision: DP83816A
    miibus0: <mii bus="">on sis0
    ukphy0: <generic ieee="" 802.3u="" media="" interface="">on miibus0
    ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
    sis0: Ethernet address: 00:0d:b9:03:13:30
    pci0: <network, ethernet="">at device 17.0 (no driver attached)
    pci0: <simple comms,="" uart="">at device 17.1 (no driver attached)
    pci0: <old, non-vga="" display="" device="">at device 17.2 (no driver attached)
    pci0: <old, non-vga="" display="" device="">at device 17.3 (no driver attached)
    pci0: <old, non-vga="" display="" device="">at device 17.4 (no driver attached)
    pci0: <old, non-vga="" display="" device="">at device 17.5 (no driver attached)
    pci0: <old, non-vga="" display="" device="">at device 17.6 (no driver attached)
    pci0: <old, non-vga="" display="" device="">at device 17.7 (no driver attached)
    Geode GPIO@ = f400
    Geode PC Engines WRAP.2B/2C v1.09 tinyBIOS V1.4a (C)1997-2005
    isab0: <pci-isa bridge="">port 0xf400-0xf43f,0xf600-0xf63f at device 18.0 on pci0
    isa0: <isa bus="">on isab0
    pci0: <bridge>at device 18.1 (no driver attached)
    atapci0: <national geode="" sc1100="" ata33="" controller="">port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 18.2 on pci0
    ata0: <ata 0="" channel="">on atapci0
    ata1: <ata 1="" channel="">on atapci0
    pci0: <multimedia, audio="">at device 18.3 (no driver attached)
    Geode CBA@ 0x9000
    Geode rev: 06 03
    Timecounter "Geode" frequency 27000000 Hz quality 1000
    pci0: <bridge>at device 18.5 (no driver attached)
    pmtimer0 on isa0
    orm0: <isa option="" rom="">at iomem 0xe0000-0xe7fff on isa0
    ppc0: parallel port not found.
    sio0 at port 0x3f8-0x3ff irq 4 flags 0x30 on isa0
    sio0: type 16550A, console
    sio1: configured irq 3 not in bitmap of probed irqs 0
    sio1: port may not be enabled
    RTC BIOS diagnostic error 80 <clock_battery>Timecounters tick every 10.000 msec
    Fast IPsec: Initialized Security Association Processing.
    ad0: 122MB <sandisk sdcfj-128="" hdx="" 2.33="">at ata0-master PIO4
    GEOM_LABEL: Label for provider ad0a is ufs/pfSense.
    GEOM_LABEL: Label for provider ad0d is ufs/pfSenseCfg.
    Trying to mount root from ufs:/dev/ufs/pfSense
    sis0: link state changed to UP
    pflog0: promiscuous mode enabled
    #</sandisk></clock_battery></isa></bridge></multimedia,></ata></ata></national></bridge></isa></pci-isa></old,></old,></old,></old,></old,></old,></simple></network,></generic></mii></natsemi></old,></old,></old,></old,></old,></old,></simple></network,></pci></host></fpu,tsc,msr,cx8,cmov,mmx>


  • The chipid is not detected. it's not in the list. http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/contrib/dev/ath/ah_devid.h
    Post your pciconf -lv info on the freebsdmobile mailing list and let Sam add the deviceID.
    Also give the relevant info on the card I have a feeling that the AR5413 might not be supported by the 0.9.16.16 HAL.

    I'll try to write a patch for this to be detected, but I'm not sure it will work. So you should ask Sam Leffler on the freebsdmobile list.


  • I have spent some time researching this now. And as far as i can tell this has to be added by Sam Leffler.
    Neither the madwifi drivers or the freebsd driver seem to have this deviceID.

    Mail the freebsdmobile mailing list, that is the best advice i can give you.


  • Thank you for the help and suggestions.
    So far I have been unable to find where to join and submit to the "freebsdmobile" mailing list.



  • I submitted the information to the mailing list…

    http://lists.freebsd.org/pipermail/freebsd-mobile/2006-March/008099.html

    Thank you lsf, -pc


  • Sam wrote:
    Did you ask the vendor if the eeprom were misprogrammed?  As far as I
    can tell the pci device id is chip=0xff16168c which has the correct
    vendor id (168c) but nonsense for a device id (ff16).  In general
    Atheros uses device id's with 0's in the upper nibble and f's only for
    pre-production parts that are never used in retail products.

    Is there any way for me to alter my Device Id"?
    Could the driver be altered to recognize my Device Id?
    If not, I may need to send one of these to Sam…

    I've ordered another EMP-8602 from a different vendor for comparison testing.
    -pc


  • @pcatiprodotnet:

    Sam wrote:
    Did you ask the vendor if the eeprom were misprogrammed?  As far as I
    can tell the pci device id is chip=0xff16168c which has the correct
    vendor id (168c) but nonsense for a device id (ff16).  In general
    Atheros uses device id's with 0's in the upper nibble and f's only for
    pre-production parts that are never used in retail products.

    Sounds like hardware issues.  Call the manufacturer is about all we can say at this point.


  • I have a feeling the vendor wouldn't care since they don't officially support freebsd.
    I'll try and find a flash bios upgrade for this card (EnGenius Senao EMP-8602)…
    Thank you,-Pete


  • There's an utility called ar5k, people use it to change the regdomain and countrycode, but I have seen som sites where people use it to change the deviceid.
    So do a search on google for ar5k.c and be aware that you might ruin your card.


  • I received another suggestion…

    [this is also suggested by above by lsf, but I must have missed it;
    I usually skip quoted/reply text because it's usually repeat info
    from an earlier post in the same thread.]

    "Its possible that the PCI reset timing is causing this issue.

    Be aware that PC Engines recently released an update to the BIOS for 
    its WRAP boards.  From the release notes:
    -    WRAP BIOS revision history:
    -    ; v1.11
    -    ; pd 051108 extend insufficient PCI reset pulse width - caused
    -    ;          problems with Atheros single chip cards.
    The 8602 cards are (indeed) based on a single-chip Atheros part. "

    Will try flashing the WRAP BIOS monday and report...
    Thanks,-pc


  • Heh, I already mentioned the wrap firmware issue in the 5th post in this thread.
    http://forum.pfsense.org/index.php?topic=676.msg5200#msg5200

    I hope you already did upgrade to the newest bios rev.


  • Any news ? was the wrap firmware the issue ?


  • I haven't yet been able to allocate a few free hours to discover how to flash the WRAP.
    It may have to wait until next week.  I ordered two new WRAP.2C units, hopefully with
    the latest bios, and two new EMP-8602.  They should be arriving soon; will post results.
    Thank you,-pc


  • from http://pcengines.ch/wrap1c.pdf :

    (9) 9600 baud 3 38400 baud
    (C) CHS mode L LBA mode
    (X) Xmodem upload (Q) Quit

    […]

    • XMODEM upload of new firmware (X). Start transmission when prompted. 128 byte and 1024
      byte packet sizes can be accepted, CRC mode only. Checksum mode is not supported as it is
      considered too risky for firmware upgrade.
      The actual flash update algorithm is included in the uploaded file. Flash programming takes
      about two seconds. If power fails during this time, the BIOS chip will need to be
      reprogrammed through other means.

  • I upgraded to wrap bios 1.11: "PC Engines WRAP.2B/2C v1.11".
    I purchased two additional EMP-8602 mini-pci cards that do Not have "ff" in the device id.

    Using the latest pfSense versions 04-02-2006 and 04-03-2006, both
    old and new cards are NOT detected.
    However, after "downgrading" to pfSense 03-27-2006 they both ARE detected!

    Here is the output from "pciconf -lv" and "dmesg" when using pfSense 04-02-2006:

    pciconf -lv

    hostb0@pci0:0:0: class=0x060000 card=0x00000000 chip=0x00011078 rev=0x00 hdr=0x00
        class    = bridge
        subclass = HOST-PCI
    none0@pci0:13:0: class=0x020000 card=0x2063168c chip=0x001b168c rev=0x01 hdr=0x00
        class    = network
        subclass = ethernet
    sis0@pci0:14:0: class=0x020000 card=0x0020100b chip=0x0020100b rev=0x00 hdr=0x00
        class    = network
        subclass = ethernet
    none1@pci0:17:0: class=0x020000 card=0x2063168c chip=0x001b168c rev=0x01 hdr=0x00
        class    = network
        subclass = ethernet
    isab0@pci0:18:0: class=0x060100 card=0x0500100b chip=0x0510100b rev=0x00 hdr=0x00
        class    = bridge
        subclass = PCI-ISA
    none2@pci0:18:1: class=0x068000 card=0x0501100b chip=0x0511100b rev=0x00 hdr=0x00
        class    = bridge
    atapci0@pci0:18:2: class=0x010180 card=0x0502100b chip=0x0502100b rev=0x01 hdr=0x00
        class    = mass storage
        subclass = ATA
    none3@pci0:18:3: class=0x040100 card=0x0503100b chip=0x0503100b rev=0x00 hdr=0x00
        class    = multimedia
        subclass = audio
    none4@pci0:18:5: class=0x068000 card=0x0505100b chip=0x0515100b rev=0x00 hdr=0x00
        class    = bridge

    dmesg

    Copyright © 1992-2005 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 6.0-RELEASE-p6 #0: Sun Apr  2 22:26:42 UTC 2006
        sullrich@builder.livebsd.com:/usr/obj.pfSense/usr/src/sys/pfSense_wrap.6
    Timecounter "i8254" frequency 1193182 Hz quality 0
    CPU: Geode(TM) Integrated Processor by National Semi (266.69-MHz 586-class CPU)
      Origin = "Geode by NSC"  Id = 0x540  Stepping = 0
      Features=0x808131 <fpu,tsc,msr,cx8,cmov,mmx>real memory  = 134217728 (128 MB)
    avail memory = 121917440 (116 MB)
    wlan: mac acl policy registered
    ath_hal: 0.9.14.9 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413)
    npx0: [FAST]
    npx0: <math processor="">on motherboard</math>
    npx0: INT 16 interface
    cpu0 on motherboard
    pcib0: <host to="" pci="" bridge="">pcibus 0 on motherboard
    pci0: <pci bus="">on pcib0
    pci0: <network, ethernet="">at device 13.0 (no driver attached)
    sis0: <natsemi 10="" dp8381[56]="" 100basetx="">port 0x1000-0x10ff mem 0x80040000-0x80040fff irq 10 at device 14.0 on pci0
    sis0: Silicon Revision: DP83816A
    miibus0: <mii bus="">on sis0
    ukphy0: <generic ieee="" 802.3u="" media="" interface="">on miibus0
    ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
    sis0: Ethernet address: 00:0d:b9:03:8c:c4
    pci0: <network, ethernet="">at device 17.0 (no driver attached)
    Geode GPIO@ = f400
    Geode PC Engines WRAP.2B/2C v1.11 tinyBIOS V1.4a (C)1997-2005
    isab0: <pci-isa bridge="">port 0xf400-0xf43f,0xf600-0xf63f at device 18.0 on pci0
    isa0: <isa bus="">on isab0
    pci0: <bridge>at device 18.1 (no driver attached)
    atapci0: <national geode="" sc1100="" ata33="" controller="">port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 18.2 on pci0
    ata0: <ata 0="" channel="">on atapci0
    ata1: <ata 1="" channel="">on atapci0
    pci0: <multimedia, audio="">at device 18.3 (no driver attached)
    Geode CBA@ 0x9000
    Geode rev: 06 03
    Timecounter "Geode" frequency 27000000 Hz quality 1000
    pci0: <bridge>at device 18.5 (no driver attached)
    pmtimer0 on isa0
    orm0: <isa option="" rom="">at iomem 0xe0000-0xe7fff on isa0
    ppc0: parallel port not found.
    sio0 at port 0x3f8-0x3ff irq 4 flags 0x30 on isa0
    sio0: type 16550A, console
    sio1: configured irq 3 not in bitmap of probed irqs 0
    sio1: port may not be enabled
    Timecounters tick every 10.000 msec
    Fast IPsec: Initialized Security Association Processing.
    ad0: FAILURE - SETFEATURES SET TRANSFER MODE status=51 <ready,dsc,error>error=4 <aborted>ad0: 122MB <hitachi xx.v.3.7.0.0="" rev="" 0.00="">at ata0-master BIOSPIO
    GEOM_LABEL: Label for provider ad0a is ufs/pfSense.
    GEOM_LABEL: Label for provider ad0d is ufs/pfSenseCfg.
    Trying to mount root from ufs:/dev/ufs/pfSense
    sis0: link state changed to DOWN
    pflog0: promiscuous mode enabled

    Thank you,
    -Pete</hitachi></aborted></ready,dsc,error></isa></bridge></multimedia,></ata></ata></national></bridge></isa></pci-isa></network,></generic></mii></natsemi></network,></pci></host></fpu,tsc,msr,cx8,cmov,mmx>


  • fyi:
    EMP-8602 is detected and functioning again in the 04-06-06 pfSense snapshot…
    http://www.pfsense.com/~sullrich/RELENG_1_SNAPSHOT_04-06-2006/pfSense.img.gz

    Thanks,
    -Pete