Athros wireless stopped working
Quoted 17 lines
The athros chip in my Fujitsu notebook as stopped working after an update (Debian squeeze) about a month ago. It uses the ath5k driver. uname -a returns Linux WideBook 2.6.32-trunk-amd64 #1 SMP Sun Jan 10 22:40:40 UTC 2010
x86_64GNU/LinuxIt appears that iwconfig can't set the essid and the password reliably. When I issue iwconfig ath0 I usually get garbage in the essid and password fields. This can be after setting both (with iwconfig) apparently successfully.
This notebook is dual boot so I know that the hardware is working.
I have put some debug output in the wireless-tools script in if-pre-up.d so that I can see that the essid and password fields seem to 'take' for a short time, then revert to garbage.
Quoted 6 lines
Does any of this sound familiar? Is this a known problem?
Regards,
Jim Ham
I've attached the modified
script /etc/network/if-pre-up.d/wireless-tools. I added a couple of echo statements to the script to make sure that the environmental variables were being passed correctly. Then I added two instances of "iwconfig ath0" at the bottom of the script. I then created an new script /etc/network/if-pre-up.d/zz that only contains the command iwconfig ath0.
Here is the result of an ifdown followed by an ifup:
WideBook:/etc/network# ifdown ath0 There is already a pid file /var/run/dhclient.ath0.pid with pid 7879 killed old client process, removed PID file Internet Systems Consortium DHCP Client V3.1.3 Copyright 2004-2009 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/ath0/00:1b:9e:56:b1:27
Sending on LPF/ath0/00:1b:9e:56:b1:27
Sending on Socket/fallback
DHCPRELEASE on ath0 to 192.168.0.1 port 67
Reloading /etc/samba/smb.conf: smbd only.
WideBook:/etc/network# ifup ath0
iface ath0
wireless_key abcd-ef01-2345-6789-abcd-ef01-23
essid PorcineAssociates
eval /sbin/iwconfig ath0 key abcd-ef01-2345-6789-abcd-ef01-23
/sbin/iwconfig ath0 essid PorcineAssociates
ath0 IEEE 802.11abg ESSID:"PorcineAssociates"
Mode:Managed Frequency:2.417 GHz Access Point:
Not-Associated
Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:ABCD-EF01-2345-6789-ABCD-EF01-23
Power Management:offath0 IEEE 802.11abg ESSID:")\x9E\xDD\xB1\xF2<#\xC6\x05\x988
\x9B;Xbs\xB6=\xE0\x8ARk\xDBb\xFEA\xBE\xDB\xBBO\x8F\xE5"
Mode:Managed Frequency:2.417 GHz Access Point:
Not-Associated
Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:ABCD-EF01-2345-6789-ABCD-EF01-23
Power Management:offath0 IEEE 802.11abg ESSID:")\x9E\xDD\xB1\xF2<#\xC6\x05\x988
\x9B;Xbs\xB6=\xE0\x8ARk\xDBb\xFEA\xBE\xDB\xBBO\x8F\xE5"
Mode:Managed Frequency:2.417 GHz Access Point:
Not-Associated
Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Internet Systems Consortium DHCP Client V3.1.3 Copyright 2004-2009 Internet Systems Consortium. All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/ath0/00:1b:9e:56:b1:27
Sending on LPF/ath0/00:1b:9e:56:b1:27
Sending on Socket/fallback
DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 5 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 6 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 7 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 8 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 11 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 12 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 12 No DHCPOFFERS received.
No working leases in persistent database - sleeping. Starting portmap daemon...Already running.. Starting NFS common utilities: statd. WideBook:/etc/network#
What I have discovered is that if the ESSID is not active, iwconfig sets it correctly and it sticks. If the ESSID is one that is locally present, iwconfig seems to set it, but it almost immediately reverts to garbage. For instance if I issue the command:
iwconfig ath0 essid PorcineAssociate
All works. Here is an example:
WideBook:/etc/network# iwconfig ath0 essid PorcineAssociate
WideBook:/etc/network# iwconfig ath0
ath0 IEEE 802.11abg ESSID:"PorcineAssociate"
Mode:Managed Frequency:2.417 GHz Access Point:
Not-Associated
Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:offWideBook:/etc/network# iwconfig ath0 essid PorcineAssociates
WideBook:/etc/network# iwconfig ath0
ath0 IEEE 802.11abg ESSID:"\xEDl\x96\xDF\xA9\xB9\xA5\xAER\xDEI
\x8D6\xAB\x00\xEC\xE9\xE1w;LR\x9DJ\x93[%N\xAA\xB43\x97"
Mode:Managed Frequency:2.417 GHz Access Point:
Not-Associated
Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:offWideBook:/etc/network#
PorcineAssociates exists and is my local network ID. PorcineAssociate does not exist. I have repeated this experiment with my neighbors network names and I observe the same thing: if the network exists, the name changes to garbage after a short time.
Here's the Athros entry from lspic -vv:
07:00.0 Ethernet controller: Atheros Communications Inc. AR5001 Wireless Network Adapter (rev 01)
Subsystem: Fujitsu Limited. Device 139c
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 19
Region 0: Memory at fe2f0000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mAPME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit-
Address: 00000000 Data: 0000
Capabilities: [60] Express (v1) Legacy Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <128ns, L1 <2us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop- MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0
<512ns, L1 <64us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive-
BWMgmt- ABWMgmt-
Capabilities: [90] MSI-X: Enable- Count=1 Masked-
Vector table: BAR=0 offset=00000000
PBA: BAR=0 offset=00000000
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq+ ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+
MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr+ BadTLP- BadDLLP+ Rollover- Timeout- NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
AERCap: First Error Pointer: 14, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [140 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntrySize=0
Arb: Fixed- WRR32- WRR64- WRR128- 100ns- - - onfig- TableOffset=0
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- Fixed- RR32-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
Status: NegoPending- InProgress-
Kernel driver in use: ath5k
It's all very confusing to me!
Regards,
Jim Ham
Quoted 2 lines
Quoted 3 lines · Jim Ham
What I have discovered is that if the ESSID is not active, iwconfig sets it correctly and it sticks. If the ESSID is one that is locally present, iwconfig seems to set it, but it almost immediately reverts to garbage.
Either you have a memory corruption bug in your kernel, or you have some buggy userspace tool (it could be a misbehaving NetworkManager or wicd) that changes ESSID on the interface as soon as the driver reports association. I haven't seen any similar reports.
Quoted 1 line
Kernel driver in use: ath5k
ath5k is not an example of code quality, but I don't remember any memory corruption bugs in it fixed since 2.6.32.
I suggest following steps:
1) Check for updates for your distribution, install updates, recheck.
2) Boot to the single user mode, make sure that wpa_supplicant and wicd are not running (kill them otherwise) and try setting up the connection manually.
3) Install the latest compat-wireless, recheck.
Signature · 2 lines
Regards, Pavel Roskin
Quoted 10 lines · Pavel Roskin
Quoted 3 lines · Jim Ham
What I have discovered is that if the ESSID is not active, iwconfig sets it correctly and it sticks. If the ESSID is one that is locally present, iwconfig seems to set it, but it almost immediately reverts to garbage.
Either you have a memory corruption bug in your kernel, or you have some buggy userspace tool (it could be a misbehaving NetworkManager or wicd) that changes ESSID on the interface as soon as the driver reports association. I haven't seen any similar reports.
Right on! All works in single user mode. On poking around I found that the Gnome client for NetworkManager was missing. Once I installed the client all started to work. So this is a Debian package management issue, along with perhaps a bug in NetworkManager or it's underlying utilities.
My distribution is Debian Testing (Squeeze). I'm not sure when NetworkManager showed up, but I'm betting that it was coincident with the wireless problem.
Thanks for the advice.
Quoted 20 lines
Quoted 2 lines
Kernel driver in use: ath5k
ath5k is not an example of code quality, but I don't remember any memory corruption bugs in it fixed since 2.6.32.
I suggest following steps:
1) Check for updates for your distribution, install updates, recheck.
2) Boot to the single user mode, make sure that
wpa_supplicantand wicd are not running (kill them otherwise) and try setting up the connection manually.3) Install the latest compat-wireless, recheck.
Quoted 4 lines
No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 9.0.733 / Virus Database: 271.1.1/2733 - Release Date: 03/09/10 11:33:00
begin:vcard
fn:James Ham
n:Ham;James
org:Porcine Associates
adr:;;244 O'Connor St.;Menlo Park;CA;94025;USA
email;internet:[email protected]
tel;work:+1 650 326.2669
tel;fax:+1 650 326.1071
x-mozilla-html:FALSE
url:www.porcine.com
version:2.1
end:vcard
Quoted 23 lines · Jim Ham
Quoted 17 lines
The athros chip in my Fujitsu notebook as stopped working after an update (Debian squeeze) about a month ago. It uses the ath5k driver. uname -a returns Linux WideBook 2.6.32-trunk-amd64 #1 SMP Sun Jan 10 22:40:40 UTC 2010
x86_64GNU/LinuxIt appears that iwconfig can't set the essid and the password reliably. When I issue iwconfig ath0 I usually get garbage in the essid and password fields. This can be after setting both (with iwconfig) apparently successfully.
This notebook is dual boot so I know that the hardware is working.
I have put some debug output in the wireless-tools script in if-pre-up.d so that I can see that the essid and password fields seem to 'take' for a short time, then revert to garbage.
Quoted 6 lines
Does any of this sound familiar? Is this a known problem?
Regards,
Jim Ham
Quoted 7 lines
I've attached the modified
script/etc/network/if-pre-up.d/wireless-tools. I added a couple of echo statements to the script to make sure that the environmental variables were being passed correctly. Then I added two instances of "iwconfig ath0" at the bottom of the script. I then created an new script/etc/network/if-pre-up.d/zzthat only contains the command iwconfig ath0.
Ath0? Are you sure you have ath5k, and not madwifi, loaded?
Quoted 172 lines
Here is the result of an ifdown followed by an ifup:
WideBook:/etc/network# ifdown ath0 There is already a pid file /var/run/dhclient.ath0.pid with pid 7879 killed old client process, removed PID file Internet Systems Consortium DHCP Client V3.1.3 Copyright 2004-2009 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/Listening on LPF/ath0/00:1b:9e:56:b1:27
Sending on LPF/ath0/00:1b:9e:56:b1:27
Sending on Socket/fallback
DHCPRELEASE on ath0 to 192.168.0.1 port 67
Reloading/etc/samba/smb.conf: smbd only.WideBook:/etc/network# ifup ath0 iface ath0 wireless_key abcd-ef01-2345-6789-abcd-ef01-23 essid PorcineAssociates eval /sbin/iwconfig ath0 key abcd-ef01-2345-6789-abcd-ef01-23 /sbin/iwconfig ath0 essid PorcineAssociates ath0 IEEE 802.11abg ESSID:"PorcineAssociates" Mode:Managed Frequency:2.417 GHz Access Point: Not-Associated Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:ABCD-EF01-2345-6789-ABCD-EF01-23 Power Management:offath0 IEEE 802.11abg ESSID:")\x9E\xDD\xB1\xF2<#\xC6\x05\x988 \x9B;Xbs\xB6=\xE0\x8ARk\xDBb\xFEA\xBE\xDB\xBBO\x8F\xE5" Mode:Managed Frequency:2.417 GHz Access Point:
Not-Associated
Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:ABCD-EF01-2345-6789-ABCD-EF01-23 Power Management:offath0 IEEE 802.11abg ESSID:")\x9E\xDD\xB1\xF2<#\xC6\x05\x988 \x9B;Xbs\xB6=\xE0\x8ARk\xDBb\xFEA\xBE\xDB\xBBO\x8F\xE5" Mode:Managed Frequency:2.417 GHz Access Point:
Not-Associated
Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off
Power Management:offInternet Systems Consortium DHCP Client V3.1.3 Copyright 2004-2009 Internet Systems Consortium. All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/Listening on LPF/ath0/00:1b:9e:56:b1:27
Sending on LPF/ath0/00:1b:9e:56:b1:27
Sending on Socket/fallback
DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 5 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 6 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 7 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 8 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 11 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 12 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 12 No DHCPOFFERS received.
No working leases in persistent database - sleeping. Starting portmap daemon...Already running.. Starting NFS common utilities: statd. WideBook:/etc/network#What I have discovered is that if the ESSID is not active, iwconfig sets it correctly and it sticks. If the ESSID is one that is locally present, iwconfig seems to set it, but it almost immediately reverts to garbage. For instance if I issue the command:
iwconfig ath0 essid PorcineAssociate
All works. Here is an example:WideBook:/etc/network# iwconfig ath0 essid PorcineAssociate WideBook:/etc/network# iwconfig ath0 ath0 IEEE 802.11abg ESSID:"PorcineAssociate" Mode:Managed Frequency:2.417 GHz Access Point: Not-Associated Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:offWideBook:/etc/network# iwconfig ath0 essid PorcineAssociates WideBook:/etc/network# iwconfig ath0 ath0 IEEE 802.11abg ESSID:"\xEDl\x96\xDF\xA9\xB9\xA5\xAER\xDEI \x8D6\xAB\x00\xEC\xE9\xE1w;LR\x9DJ\x93[%N\xAA\xB43\x97" Mode:Managed Frequency:2.417 GHz Access Point: Not-Associated Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:offWideBook:/etc/network#
PorcineAssociates exists and is my local network ID. PorcineAssociate does not exist. I have repeated this experiment with my neighbors network names and I observe the same thing: if the network exists, the name changes to garbage after a short time.
Here's the Athros entry from lspic -vv:
07:00.0 Ethernet controller: Atheros Communications Inc. AR5001 Wireless Network Adapter (rev 01)
Subsystem: Fujitsu Limited. Device 139c
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 19
Region 0: Memory atfe2f0000(64-bit, non-prefetchable) [size=64K]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mAPME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit-
Address: 00000000 Data: 0000
Capabilities: [60] Express (v1) Legacy Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <128ns, L1 <2us ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop- MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <512ns, L1 <64us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
Capabilities: [90] MSI-X: Enable- Count=1 Masked-
Vector table: BAR=0 offset=00000000
PBA: BAR=0 offset=00000000
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr+ BadTLP- BadDLLP+ Rollover- Timeout- NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
AERCap: First Error Pointer: 14, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [140 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntrySize=0
Arb: Fixed- WRR32- WRR64- WRR128- 100ns- - - onfig- TableOffset=0
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- Fixed- RR32-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
Status: NegoPending- InProgress-
Kernel driver in use: ath5kIt's all very confusing to me!
Regards,
Jim Ham
Quoted 2 lines
Signature · 1 line
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)