1a608 [Solved] "Hardware error; resetting" on Atheros AR9285 - The FreeBSD Forums
The FreeBSD Forums  

Go Back   The FreeBSD Forums > Desktop Usage > Mobile Computing

Mobile Computing This forum discusses issues related to running FreeBSD on notebooks, laptops, and other mobile equipment.

Reply
 
Thread Tools Display Modes
  #1  
Old April 17th, 2011, 12:44
radmanly radmanly is offline
Junior Member
 
Join Date: Nov 2008
Posts: 37
Thanks: 5
Thanked 1 Time in 1 Post
Default "Hardware error; resetting" on Atheros AR9285

I have a Compaq Presario CQ56Z with an Atheros AR9285 wireless chip running FreeBSD-RELEASE 8.2 AMD64. Whenever I bring up the wireless connection, I get messages like this on the console over and over again:

Code:
Apr 16 21:01:11 ceres kernel: ath0: hardware error; resetting
Apr 16 21:01:11 ceres kernel: ath0: 0x00000000 0x00002000 0x00000000, 0x00000000 0x00000000 0x00000000
I've attached my kernel config.

Any ideas?

Thanks,
Rad
Attached Files
File Type: txt KERNEL_CONFIG.txt (12.8 KB, 28 views)

Last edited by radmanly; April 23rd, 2011 at 18:29. Reason: Problem solved.
Reply With Quote
  #2  
Old April 18th, 2011, 10:43
SirDice's Avatar
SirDice SirDice is offline
Moderator
 
Join Date: Nov 2008
Location: Rotterdam, Netherlands
Posts: 13,725
Thanks: 47
Thanked 2,023 Times in 1,862 Posts
Default

Try updating to -STABLE. I've noticed the ath driver got some updates recently.
__________________
Senior UNIX Engineer at Unix Support Nederland
Experience is something you don't get until just after you need it.
Reply With Quote
  #3  
Old April 18th, 2011, 13:34
radmanly radmanly is offline
Junior Member
 
Join Date: Nov 2008
Posts: 37
Thanks: 5
Thanked 1 Time in 1 Post
Default

Thanks for the reply.

Can I just get the latest driver or do I have to upgrade the whole OS?
Reply With Quote
  #4  
Old April 18th, 2011, 14:16
SirDice's Avatar
SirDice SirDice is offline
Moderator
 
Join Date: Nov 2008
Location: Rotterdam, Netherlands
Posts: 13,725
Thanks: 47
Thanked 2,023 Times in 1,862 Posts
Default

The easiest is to upgrade everything. You might be able to diff the changes and import them in your release but that will take a lot of fiddling.
__________________
Senior UNIX Engineer at Unix Support Nederland
Experience is something you don't get until just after you need it.
Reply With Quote
  #5  
Old April 18th, 2011, 17:47
Claud Claud is offline
Junior Member
 
Join Date: Nov 2010
Posts: 10
Thanks: 1
Thanked 0 Times in 0 Posts
Default

Quote:
Originally Posted by radmanly View Post
I have a Compaq Presario CQ56Z with an Atheros AR9285 wireless chip running FreeBSD-RELEASE 8.2 AMD64. Whenever I bring up the wireless connection, I get messages like this on the console over and over again:

Code:
Apr 16 21:01:11 ceres kernel: ath0: hardware error; resetting
Apr 16 21:01:11 ceres kernel: ath0: 0x00000000 0x00002000 0x00000000, 0x00000000 0x00000000 0x00000000
I've attached my kernel config.

Any ideas?

Thanks,
Rad
It looks like I have the same problem, on a Compaq Presario with Atheros ar9285, FreeBSD 8.2, just upgraded to stable, the problem was present from 8.1, tried a custom kernel, but it seems that when the resseting message appears, after a while, the connection drops also. I am curious if someone got to the bottom of this.

Last edited by DutchDaemon; April 18th, 2011 at 22:40. Reason: Mind your writing style: http://forums.freebsd.org/showthread.php?t=18043
Reply With Quote
  #6  
Old April 18th, 2011, 19:35
radmanly radmanly is offline
Junior Member
 
Join Date: Nov 2008
Posts: 37
Thanks: 5
Thanked 1 Time in 1 Post
Default

I assume you upgraded to -STABLE and the problem is still there, right?

I took a deep dive into the ath source code. I believe the 0x00002000 in the second position of the printed array refers to this from dev/ath/ath_hal/ar5416/ar5416reg.h:

Code:
#define	AR_INTR_SYNC_LOCAL_TIMEOUT	0x00002000
The code says AR_INTR_SYNC means it's an Atheros synchronous interrupt. I'm not sure exactly what is timing out and what to do about it. The hardware works fine under Windows and Linux so it's clearly something unique to FreeBSD.

Last edited by DutchDaemon; April 18th, 2011 at 22:41.
Reply With Quote
  #7  
Old April 19th, 2011, 17:50
radmanly radmanly is offline
Junior Member
 
Join Date: Nov 2008
Posts: 37
Thanks: 5
Thanked 1 Time in 1 Post
Default

I found this discussion thread about a similar (perhaps identical?) problem under Linux. The similarities are:
  1. the AR_INTR_SYNC_LOCAL_TIMEOUT synchronous interrupt
  2. the 0x2000 error message
  3. it afflicts the AR9285 chip
  4. a suspicious DMA commonality
I mention the last item because the discussion thread contains this text:
Quote:
"SYNC_LOCAL_TIMEOUT is generated when the PCIe core hangs, unable to complete
a DMA transfer."
The FreeBSD ath driver source code contains this text (dev/ath/if_ath.c:1408-1409):
Code:
	 * Fatal errors are unrecoverable.  Typically these
	 * are caused by DMA errors.
I don't know if this actually is the same problem but it does seem similar. The admission in the FreeBSD source code of a likely DMA connection jibes with the experience under Linux.
Reply With Quote
  #8  
Old April 20th, 2011, 05:54
xaker1 xaker1 is offline
Junior Member
 
Join Date: Apr 2011
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Hi! Is there a solution for this problem? Himself confronted with it.
Reply With Quote
  #9  
Old April 20th, 2011, 13:49
radmanly radmanly is offline
Junior Member
 
Join Date: Nov 2008
Posts: 37
Thanks: 5
Thanked 1 Time in 1 Post
Default

Not yet. I'm trying to compile a debug version of the driver. I've set:

Code:
options AH_DEBUG
options ATH_DEBUG
options ATH_DIAGAPI
in my kernel config and entered:

Code:
sysctl hw.ath.hal.debug=0xffffffff
sysctl hw.ath.debug=0xffffffff
after compiling and rebooting but I'm not getting any debug messages. I'm compiling the driver as a module. Perhaps I need to compile it into the kernel. Anyway, I need to figure out that problem before I can make any progress. I'm hoping to get a useful set of debug messages to put in a bug report. I figure the FreeBSD kernel developers help those who help themselves.

Last edited by radmanly; April 20th, 2011 at 15:16.
Reply With Quote
  #10  
Old April 20th, 2011, 18:15
radmanly radmanly is offline
Junior Member
 
Join Date: Nov 2008
Posts: 37
Thanks: 5
Thanked 1 Time in 1 Post
Default

I was able to get debug messages from ATH_DEBUG by compiling everything into the kernel and setting
Code:
hw.ath.hal.debug=0xffffffff
Putting
Code:
options AH_DEBUG
into my kernel config doesn't seem to do anything. Whether it's a module or built-in, the ath device never produces any debug output from AH_DEBUG. The output I get from ATH_DEBUG isn't useful. It doesn't tell me anything about the source of the timeout.

Suggestions or help would be appreciated.

Last edited by DutchDaemon; April 20th, 2011 at 18:21.
Reply With Quote
  #11  
Old April 21st, 2011, 20:18
radmanly radmanly is offline
Junior Member
 
Join Date: Nov 2008
Posts: 37
Thanks: 5
Thanked 1 Time in 1 Post
Default

Does anyone know the default mode for the ath driver? This discussion reports getting the "hardware error; resetting" messages running in adhoc mode because the "tx descriptor gets setup wrong." I didn't explicitly configure the mode when bringing up wlan0 so I assume it's operating in the default mode.

Is adhoc mode the default for the ath driver?

(If you're out there Adrian Chadd, please have mercy on us and offer some guidance!)
Reply With Quote
  #12  
Old April 22nd, 2011, 03:45
radmanly radmanly is offline
Junior Member
 
Join Date: Nov 2008
Posts: 37
Thanks: 5
Thanked 1 Time in 1 Post
Default

I tried explicitly setting station mode ("wlanmode sta") but it made no difference.
Reply With Quote
  #13  
Old April 23rd, 2011, 09:29
adrian@ adrian@ is offline
FreeBSD Developer
 
Join Date: Feb 2008
Posts: 16
Thanks: 0
Thanked 3 Times in 3 Posts
Smile Aiee! Someone said my name!

Quote:
Originally Posted by radmanly View Post
Does anyone know the default mode for the ath driver? This discussion reports getting the "hardware error; resetting" messages running in adhoc mode because the "tx descriptor gets setup wrong." I didn't explicitly configure the mode when bringing up wlan0 so I assume it's operating in the default mode.

Is adhoc mode the default for the ath driver?

(If you're out there Adrian Chadd, please have mercy on us and offer some guidance!)
Aiee, someone did say my name!

A 30 second update, since I'm currently supposed to be working (and work doesn't currently include "wireless hacking") :

* There's a -lot- of AR9285 fixes in the freebsd-head ath driver; so please update to HEAD to test before you do anything;
* No I won't be back-porting the fixes to -8 for now - -8 serves as a "comparison" to how things were in the past - the -8 code works for some users and doesn't work for others, so -HEAD should (should!) work for more users and not suddenly break for existing working users.
* No I won't budge from that, not for now. What I can do later is post instructions on how to build the -HEAD ath driver for -8, that's how I do my testing.

Now:

* I've just committed something to -HEAD to fix the fatal error you've seen. The bus timeout interrupt isn't handled as an error by the HAL so it should just be being ignored. I'll likely add some statistics soon so we at least count those errors.
* When you're doing testing, please disable power saving (powerd) and re-test. I know that power saving mode for the AR5416 and later chips (ie, everything that's 11n) is incomplete. I don't have the time at the moment to implement all the power saving fixes from ath9k, I'm sorry.

* And IIRC the default mode is station, not adhoc. You can check this by "ifconfig wlan0", it'll tell you the wlanmode if it's not station.

Further technical questions should be posted to freebsd-wireless@freebsd.org. I'm thankful that someone contacted the list with some technical information. I'm currently unable to really help users out here as I've got a lot on my plate at the moment, but I'll try to find/fix whatever bugs I can.

Finally, I've emailed some contacts inside atheros to see if (a) they can help me debug the issue further, and (b) how this problem was solved in ath9k.

I hope that helps.



Adrian
Reply With Quote
The Following User Says Thank You to adrian@ For This Useful Post:
radmanly (April 23rd, 2011)
  #14  
Old April 23rd, 2011, 18:27
radmanly radmanly is offline
Junior Member
 
Join Date: Nov 2008
Posts: 37
Thanks: 5
Thanked 1 Time in 1 Post
Default

It helps tremendously! After pulling the latest driver from -HEAD and rebuilding, the problem seems to be gone.

Thank you, Adrian!
Reply With Quote
  #15  
Old May 14th, 2011, 19:48
xaker1 xaker1 is offline
Junior Member
 
Join Date: Apr 2011
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Are there instructions on how to remove this error?

Last edited by DutchDaemon; May 15th, 2011 at 01:45.
Reply With Quote
  #16  
Old May 15th, 2011, 15:30
radmanly radmanly is offline
Junior Member
 
Join Date: Nov 2008
Posts: 37
Thanks: 5
Thanked 1 Time in 1 Post
Default

You can read how to connect to the repository here. To get the -HEAD ath driver, execute:

cvs co ath

And:

cvs co ath_pci

Look here for instructions on building the driver.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
/libexec/ld-elf.so.1: Shared object "libintl.so.8" not found, required by "pg_config" LocalEtc Installation and Maintenance of FreeBSD Ports or Packages 7 February 9th, 2011 18:30
[Solved] Shared object "libX11.so.6" not found, required by "soffice.bin" alie Installation and Maintenance of FreeBSD Ports or Packages 3 January 21st, 2011 03:31
[Solved] 7-2 hald_enable="YES" dbus_enable="YES" samba_enable="YES" not found ter2007 Installation and Maintenance of FreeBSD Ports or Packages 2 December 1st, 2009 15:58
[Solved] Atheros/Attansic L2 gives "No Buffer Space Available" levinas69 System Hardware 4 November 23rd, 2009 23:23
Can not make " libnice" , error "-Wno-missing-field-initializers" admail2 Installation and Maintenance of FreeBSD Ports or Packages 10 June 26th, 2009 01:29


All times are GMT +1. The time now is 02:29.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.
The mark FreeBSD is a registered trademark of The FreeBSD Foundation and is used by The FreeBSD Project with the permission of The FreeBSD Foundation.
Web protection and acceleration provided by CloudFlare
0