Atheros Communications Inc. AR2413 802.11bg doesnt work after update

Bug #506180 reported by Laudeci Oliveira
70
This bug affects 14 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Unassigned
Karmic
Fix Released
Medium
Stefan Bader
linux-backports-modules-2.6.31 (Ubuntu)
Invalid
Undecided
Unassigned
Karmic
Fix Released
Medium
Stefan Bader

Bug Description

SRU justification:

Impact: Upstream 2.6.31.9 contained a patch that added a check for bogus EEPROM checksums to the ath5k driver but it seems to have missed the fact that custom EEPROMs might be different in size.

Fix: Upstream patch which was added to 2.6.32.4 but not carried over to 2.6.31.y adds code to query and work with differently sized EEPROMS.

Testcase: Bring up certain hw with custom EEPROM. Verified in the report.

---

Wifi does't work after upgrade to 2.6.31-18 kernel

--- /var/log/syslog ---
Jan 11 19:35:19 karnak kernel: [ 35.169691] ath5k 0000:06:02.0: enabling device (0000 -> 0002)
Jan 11 19:35:19 karnak kernel: [ 35.169701] alloc irq_desc for 22 on node -1
Jan 11 19:35:19 karnak kernel: [ 35.169704] alloc kstat_irqs on node -1
Jan 11 19:35:19 karnak kernel: [ 35.169712] ath5k 0000:06:02.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
Jan 11 19:35:19 karnak kernel: [ 35.169779] ath5k 0000:06:02.0: registered as 'phy0'
Jan 11 19:35:19 karnak kernel: [ 35.656680] ath5k phy0: Invalid EEPROM checksum 0xb113
Jan 11 19:35:19 karnak kernel: [ 35.658632] ath5k phy0: unable to init EEPROM
Jan 11 19:35:19 karnak kernel: [ 35.660626] ath5k 0000:06:02.0: PCI INT A disabled

pretto@karnak:~$ uname -a
Linux karnak 2.6.31-18-generic #55-Ubuntu SMP Fri Jan 8 14:55:26 UTC 2010 i686 GNU/Linux

ProblemType: Bug
Architecture: i386
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: pretto 1256 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xd0240000 irq 22'
   Mixer name : 'Realtek ALC883'
   Components : 'HDA:10ec0883,10250090,00100002 HDA:14f12bfa,1025007f,00090000'
   Controls : 24
   Simple ctrls : 14
Date: Mon Jan 11 19:49:41 2010
DistroRelease: Ubuntu 9.10
HibernationDevice: RESUME=UUID=74894f21-70c1-4950-9973-d6c37590c5cc
InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Release i386 (20091028.5)
MachineType: Acer Aspire 3690
Package: linux-image-2.6.31-18-generic 2.6.31-18.55
PccardctlIdent:
 Socket 0:
   no product info available
PccardctlStatus:
 Socket 0:
   no card
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.31-18-generic root=UUID=35370186-6434-4aac-b36d-02e82be1d66c ro
ProcEnviron:
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-18.55-generic
RelatedPackageVersions:
 linux-backports-modules-2.6.31-18-generic N/A
 linux-firmware 1.26
RfKill:
 0: acer-wireless: Wireless LAN
  Soft blocked: no
  Hard blocked: no
SourcePackage: linux
Uname: Linux 2.6.31-18-generic i686
dmi.bios.date: 01/09/2007
dmi.bios.vendor: Acer
dmi.bios.version: V3.33
dmi.board.name: Grapevine
dmi.board.vendor: Acer
dmi.board.version: N/A
dmi.chassis.type: 10
dmi.chassis.vendor: Acer
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnAcer:bvrV3.33:bd01/09/2007:svnAcer:pnAspire3690:pvrV3.33:rvnAcer:rnGrapevine:rvrN/A:cvnAcer:ct10:cvrN/A:
dmi.product.name: Aspire 3690
dmi.product.version: V3.33
dmi.sys.vendor: Acer

Revision history for this message
Laudeci Oliveira (laudeci) wrote :
Revision history for this message
^_Pepe_^ (jose-angel-fernandez-freire) wrote :

Hi,

Please, can you tell us which is the latest kernel release that works?

And, also, please, can you try with last kernel version, which is located on http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.32/?

Thanks in advance.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Laudeci Oliveira (laudeci) wrote :

it worked before with kernel 2.6.31-17-generic
The wireless worked with kernel 2.6.32-020632-generic from ppa too but not with 2.6.31-18-generic

Revision history for this message
323232 (323232) wrote :

Confirmed; multiplel (duplicate) bug reports are showing up! eg 505470 / 506190 /506180 (list including this bugreport)

Ath5k device does not show up in N etworkmanager or iwconfig
[ 304.160952] cfg80211: Calling CRDA to update world regulatory domain
[ 304.196635] cfg80211: World regulatory domain updated:
[ 304.196644] (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 304.196648] (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 304.196651] (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 304.196654] (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 304.196657] (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 304.196660] (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 304.218243] ath5k 0000:00:09.0: PCI INT A -> Link[LNK3] -> GSI 11 (level, low) -> IRQ 11
[ 304.218347] ath5k 0000:00:09.0: registered as 'phy0'
[ 304.699218] ath5k phy0: Invalid EEPROM checksum 0x5135
[ 304.699226] ath5k phy0: unable to init EEPROM
[ 304.706913] ath5k 0000:00:09.0: PCI INT A disabled
[ 304.706946] ath5k: probe of 0000:00:09.0 failed with error -5

Revision history for this message
Chris J (chriscf) wrote :

Based on the duplicates, and the fact that it's just happened on my own laptop, marking as confirmed.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: added: karmic regression-potential
Revision history for this message
Rodrigo Rivas Costa (rodrigorivascosta) wrote :

After some research I located the causing commit in the kernel git repository:

-------------------------------------
commit 512414b0bed0d376ac4d5ec1dd6f0b1a3551febc
Author: Luis R. Rodriguez <email address hidden>
Date: Wed Nov 25 17:23:26 2009 -0500

    ath5k: enable EEPROM checksum check

    Without this we have no gaurantee of the integrity of the
    EEPROM and are likely to encounter a lot of bogus bug reports
    due to actual issues on the EEPROM. With the EEPROM checksum
    check in place we can easily rule those issues out.

    If you run patch during a revert *you* have a card with a busted
    EEPROM and only older kernel will support that concoction. This
    patch is a trade off between not accepitng bogus EEPROMs and
    avoiding bogus bug reports allowing developers to focus instead
    on real concrete issues.

    If stable keeps bogus bug reports because of a possibly busted EEPROM
    feel free to apply this there too.

    Tested on an AR5414

    Cc: <email address hidden>
    Cc: <email address hidden>
    Cc: <email address hidden>
    Cc: <email address hidden>
    Cc: <email address hidden>
    Cc: <email address hidden>
    Signed-off-by: Luis R. Rodriguez <email address hidden>
    Signed-off-by: John W. Linville <email address hidden>
-------------------------------------

Reverting this and recompiling the ath5k driver solved the issue.
I understand that my EEPROM is wrong, and that some serious warning is needed. But stop working at all, when it may work (most of the time) is overkilling, IMHO.

Revision history for this message
Rodrigo Rivas Costa (rodrigorivascosta) wrote :

The following git commit in the main tree seems to solve this bug in my system:

commit 359207c687cc8f4f9845c8dadd0d6dabad44e584
Author: Luis R. Rodriguez <email address hidden>
Date: Mon Jan 4 10:40:39 2010 -0500

    ath5k: Fix eeprom checksum check for custom sized eeproms

    Commit 8bf3d79bc401ca417ccf9fc076d3295d1a71dbf5 enabled EEPROM
    checksum checks to avoid bogus bug reports but failed to address
    updating the code to consider devices with custom EEPROM sizes.
    Devices with custom sized EEPROMs have the upper limit size stuffed
    in the EEPROM. Use this as the upper limit instead of the static
    default size. In case of a checksum error also provide back the
    max size and whether or not this was the default size or a custom
    one. If the EEPROM is busted we add a failsafe check to ensure
    we don't loop forever or try to read bogus areas of hardware.

    This closes bug 14874

    http://bugzilla.kernel.org/show_bug.cgi?id=14874

    Cc: <email address hidden>
    Cc: David Quan <email address hidden>
    Cc: Stephen Beahm <email address hidden>
    Reported-by: Joshua Covington <email address hidden>
    Signed-off-by: Luis R. Rodriguez <email address hidden>
    Signed-off-by: John W. Linville <email address hidden>

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Triaged
Revision history for this message
Stefan Bader (smb) wrote :

For Lucid (2.6.32) the second patch is already included.

tags: added: regression-proposed
removed: regression-potential
Changed in linux (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Stefan Bader (smb) wrote :

For 2.6.31 this has no been added to the upstream stable tree afterwards. As the upstream 2.6.31.y is closed we need to SRU this into Karmic.

@Rodrigo, just to confirm I understood your comment correctly. You have build a test kernel with that patch added and it resolved the issue for you?

Changed in linux (Ubuntu Karmic):
assignee: nobody → Stefan Bader (stefan-bader-canonical)
importance: Undecided → Medium
status: New → In Progress
Daniele (daniele-godi)
description: updated
Revision history for this message
Rodrigo Rivas Costa (rodrigorivascosta) wrote :

Errrr, well, I just built the module ath5k.

Talking from memory, I got the source for the Ubuntu kernel (apt-get sourcelinux-image-2.6.31-18-generic), then applied that patch and compiled only the Atheros modules (drivers/net/wireless/ath$ make -C /usr/src/linux-headers-2.6.31-18-generic M=`pwd`) and copied the resulting ath5k.ko to the /lib/modules/... directory.

Then "modprobe -r ath5k ; depmod -e ; modprobe ath5k", or something like that and voila!

Revision history for this message
Stefan Bader (smb) wrote :

Committed to repo, but needs building and uploading.

description: updated
Changed in linux (Ubuntu Karmic):
status: In Progress → Fix Committed
Infin1ty (erezzarum)
Changed in linux (Ubuntu Karmic):
status: Fix Committed → Fix Released
status: Fix Released → Fix Committed
Revision history for this message
Stefan Bader (smb) wrote :

Accepted linux into karmic-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Revision history for this message
Jan Kaláb (pitel) wrote :

I guess it's still not solved :(

dmesg | grep ath5
[ 30.854746] ath5k 0000:06:02.0: enabling device (0000 -> 0002)
[ 30.854772] ath5k 0000:06:02.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[ 30.854826] ath5k 0000:06:02.0: registered as 'phy0'
[ 31.339883] ath5k phy0: Invalid EEPROM checksum 0xeeea
[ 31.339888] ath5k phy0: unable to init EEPROM
[ 31.339908] ath5k 0000:06:02.0: PCI INT A disabled
[ 31.660957] ath5k: probe of 0000:06:02.0 failed with error -5

uname -a
Linux manicka 2.6.31-20-generic-pae #57-Ubuntu SMP Mon Feb 8 10:23:59 UTC 2010 i686 GNU/Linux

Revision history for this message
Stefan Bader (smb) wrote :

Jan, can you check "modinfo ath5k"? This message should be different for 2.6.31-20 looking at my sources and binary modules here I would expect the message to be:

"Invalid EEPROM checksum: 0x???? eep_max: 0x???? ((custom|default) size)"

I think you are using linux-backports-modules. This has the same issue in the current version but it will be fixed in the next upload. Would wireless work for you when you uninstall linux-backports-modules-wireless?

Changed in linux-backports-modules-2.6.31 (Ubuntu):
status: New → Invalid
Changed in linux-backports-modules-2.6.31 (Ubuntu Karmic):
assignee: nobody → Stefan Bader (stefan-bader-canonical)
importance: Undecided → Medium
status: New → Fix Committed
Revision history for this message
Jan Kaláb (pitel) wrote :

Yes, I've backports installed. Uninstaling them made Atheros work again.

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (24.5 KiB)

This bug was fixed in the package linux - 2.6.31-20.57

---------------
linux (2.6.31-20.57) karmic-proposed; urgency=low

  [ Kees Cook ]

  * SAUCE: x86: brk away from exec rand area
    - LP: #452175

  [ Keng-Yu Lin ]

  * SAUCE: (drop after 2.6.31) input: Add hotkey quirk for Samsung
    Q210/P210 laptops
    - LP: #385683

  [ Pascal Bach ]

  * SAUCE: (drop after 2.6.31) input: Add hotkey quirk for Fujitsu Amilo
    1848+u
    - LP: #458503

  [ Stefan Bader ]

  * Revert "[Upstream] (drop after 2.6.31) acerhdf: fix fan control for
    AOA150 model"
    - LP: #494633
  * [Config] Disable CONFIG_USB_DEVICEFS
    - LP: #488274

  [ Upstream Kernel Changes ]

  * Revert "ext4: Don't update superblock write time when filesystem is
    read-only"
    - LP: #496816
  * Revert "ide: try to use PIO Mode 0 during probe if possible"
    - LP: #503430
  * Revert "isdn: isdn_ppp: Use SKB list facilities instead of home-grown
    implementation."
    - LP: #503430
  * nilfs2: fix kernel oops in error case of nilfs_ioctl_move_blocks
    - LP: #494633
  * cifs: don't use CIFSGetSrvInodeNumber in is_path_accessible
    - LP: #494633
  * cifs: clean up handling when server doesn't consistently support inode
    numbers
    - LP: #494633
  * cifs: clear server inode number flag while autodisabling
    - LP: #494633
  * CIFS: fix oops in cifs_lookup during net boot
    - LP: #494633
  * CIFS: Duplicate data on appending to some Samba servers
    - LP: #494633
  * rtl8187: Fix kernel oops when device is removed when LEDS enabled
    - LP: #494633
  * md: don't clear endpoint for resync when resync is interrupted.
    - LP: #494633
  * md/raid5: make sure curr_sync_completes is uptodate when reshape starts
    - LP: #494633
  * md/raid1/raid10: add a cond_resched
    - LP: #494633
  * ALSA: usb-audio: fix combine_word problem
    - LP: #494633
  * ALSA: hda - Dell Studio 1557 hd-audio quirk
    - LP: #494633
  * ALSA: AACI: fix AC97 multiple-open bug
    - LP: #494633
  * ALSA: AACI: fix recording bug
    - LP: #494633
  * jffs2: Fix memory corruption in jffs2_read_inode_range()
    - LP: #494633
  * sound: rawmidi: disable active-sensing-on-close by default
    - LP: #494633
  * sound: rawmidi: fix checking of O_APPEND when opening MIDI device
    - LP: #494633
  * sound: rawmidi: fix double init when opening MIDI device with O_APPEND
    - LP: #494633
  * sound: rawmidi: fix MIDI device O_APPEND error handling
    - LP: #494633
  * highmem: Fix race in debug_kmap_atomic() which could cause warn_count
    to underflow
    - LP: #494633
  * highmem: Fix debug_kmap_atomic() to also handle KM_IRQ_PTE, KM_NMI, and
    KM_NMI_PTE
    - LP: #494633
  * powerpc: Fix DEBUG_HIGHMEM build break from d4515646699
    - LP: #494633
  * kmap: fix build errors with DEBUG_HIGHMEM enabled
    - LP: #494633
  * V4L/DVB (13169): bttv: Fix potential out-of-order field processing
    - LP: #494633
  * V4L/DVB (13170): bttv: Fix reversed polarity error when switching video
    standard
    - LP: #494633
  * V4L/DVB (13109): tda18271: fix signedness issue in
    tda18271_rf_tracking_filters_init
    - LP: #494633
  * V4L/DVB (13107): tda18271: fix overflow in FM radio frequency...

Changed in linux (Ubuntu Karmic):
status: Fix Committed → Fix Released
Revision history for this message
ABW (abw) wrote :

I was up and running fine with kernel # 2.6.32-22-generic. I did an update to 2.6.32-23-generic and now my PCI wireless adapter is not seen at all. Its a TP-Link TL-WN350GD and it operates under driver # Atheros AR2413. Can some one guide me to a resolution? OR guide me back to kernel 22. This is most strange to say the least..
thanks.

Stefan Bader (smb)
Changed in linux-backports-modules-2.6.31 (Ubuntu Karmic):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.