CM9 Atheros card problems. . .

  • I really really need some assistance with this problem.  Below is the error message I receive on bootup on my WRAP .2c

    ath0: <atheros 5212="">mem 0x80000000-0x8000ffff irq 12 at device 13.0 on pci0                                                                           
    ath0: unable to attach hardware; HAL status 7                                           
    device_attach: ath0 attach returned 6

    I have a different revision CM9 that works perfectly on this board.  Yet this one doesnt.  I had another CM9 that produced the same results and I RMA'd it thinking it was defective.
    The results are reproducible with both Beta 1 and 2.  I've also tried booting with m0n0wall 1.27b just for the heck of it with the same error.</atheros>

  • I have some cm9s and they all work well. Sounds like defective hardware to me. Can you test this card in another machine? You also might want to try to "mod" the card the way described here:

  • I don't think that would have worked.  Reason being the driver doesn't even attach itself to the hardware at all.  Doesn't even come up in ifconfig, hence the problem.

    I just RMA'd this one too.  I'm trying a different vendor this time.  Hopefully the next one will work  ???

  • Hello,

    just a short look at google:

    ath%d: unable to attach hardware; HAL status %u  The Atheros Hardware
        Access Layer was unable to configure the hardware as requested.  The sta-
        tus code is explained in the HAL include file sys/contrib/dev/ath/ah.h.

    try to find out the status code !


  • Hello,

    as i was a little bit interested in this problem i found the status code:


    • Status codes that may be returned by the HAL.  Note that
    • interfaces that return a status code set it only when an
    • error occurs–i.e. you cannot check it for success.
      typedef enum {
      HAL_OK = 0, /
      No error /
      HAL_ENXIO = 1, /
      No hardware present /
      HAL_ENOMEM = 2, /
      Memory allocation failed /
      HAL_EIO = 3, /
      Hardware didn't respond as expected /
      HAL_EEMAGIC = 4, /
      EEPROM magic number invalid /
      HAL_EEVERSION = 5, /
      EEPROM version invalid /
      HAL_EELOCKED = 6, /
      EEPROM unreadable /
      HAL_EEBADSUM = 7, /
      EEPROM checksum invalid /
      HAL_EEREAD = 8, /
      EEPROM read problem /
      HAL_EEBADMAC = 9, /
      EEPROM mac address invalid /
      HAL_EESIZE = 10, /
      EEPROM size not supported /
      HAL_EEWRITE = 11, /
      Attempt to change write-locked EEPROM /
      HAL_EINVAL = 12, /
      Invalid parameter to function /
      HAL_ENOTSUPP = 13, /
      Hardware revision not supported /
      HAL_ESELFTEST = 14, /
      Hardware self-test failed /
      HAL_EINPROGRESS = 15, /
      Operation incomplete */
      } HAL_STATUS;

    so your EEPROM on your wlan card has a wrong checksum and so the driver will not accept it. result: no init of the card. May be other driver don't care and the freebsd driver is a little bit sensitive. and may be it really a chance to use the channel tuning utility which will set the value of the country code new in the eeprom and is so nice and will recalculate the checksum. it will be really good if someone has an datasehht of the atheros chipset or a mapping in the eeprom. is it internal?


  • This is normally caused because of a recognized region setting. Try to change the regionsetting of the card, it will normally fix this.