I am using Atheros AR5414 card in a custom Geode LX-based board. It is a mini-PCI card with PCI ID 168c:001b. Under the 2.6.25 kernel, the ath5k driver works. Under the 3.0.9 and 3.2.0 kernels, the card does not work. By 'does not work' I mean that it can't find any access points. After digging a bit, it looks like interrupts are not occurring. Here is a snippet of the kernel log (Geode LX/3.0.9): [ 1.712119] cfg80211: Calling CRDA to update world regulatory domain [ 1.801089] ath5k 0000:00:0c.0: PCI INT A -> Link[LNKA] -> GSI 10 (level, low) -> IRQ 10 [ 1.801270] ath5k 0000:00:0c.0: registered as 'phy0' [ 2.468139] ath: EEPROM regdomain: 0x0 [ 2.468158] ath: EEPROM indicates default country code should be used [ 2.468176] ath: doing EEPROM country->regdmn map search [ 2.468200] ath: country maps to regdmn code: 0x3a [ 2.468217] ath: Country alpha2 being used: US [ 2.468233] ath: Regpair used: 0x3a [ 2.468862] ieee80211 phy0: Selected rate control algorithm 'pid' [ 2.471545] ath5k phy0: Atheros AR5414 chip found (MAC: 0xa5, PHY: 0x61) ~ # cat /proc/interrupts CPU0 0: 43630 XT-PIC-XT-PIC timer 2: 0 XT-PIC-XT-PIC cascade 3: 1 XT-PIC-XT-PIC 4: 1 XT-PIC-XT-PIC 8: 0 XT-PIC-XT-PIC rtc0 9: 0 XT-PIC-XT-PIC acpi 10: 0 XT-PIC-XT-PIC ath 11: 2373 XT-PIC-XT-PIC ehci_hcd:usb1, ohci_hcd:usb2, eth0 14: 418 XT-PIC-XT-PIC pata_cs5536 NMI: 0 Non-maskable interrupts LOC: 0 Local timer interrupts SPU: 0 Spurious interrupts PMI: 0 Performance monitoring interrupts IWI: 0 IRQ work interrupts ERR: 0 MIS: 0 The 'registers' from debugfs show that an interrupt is pending. ~ # cat /debug/ieee80211/phy1/ath5k/registers AR5K_CR 0x00000004 AR5K_RXDP 0x1f3524e0 AR5K_CFG 0x00000100 AR5K_IER 0x00000001 AR5K_BCR 0x00000000 AR5K_RTSD0 0x00000000 AR5K_RTSD1 0x00000000 AR5K_TXCFG 0x00000015 AR5K_RXCFG 0x00000005 AR5K_RXJLA 0x1f3524f0 AR5K_MIBC 0x00000001 AR5K_TOPS 0x00000008 AR5K_RXNOFRM 0x00000000 AR5K_TXNOFRM 0x00000000 AR5K_RPGTO 0x00000000 AR5K_RFCNT 0x0000001f AR5K_MISC 0x00000000 AR5K_QCUDCU_CLKGT 0x00de96a1 AR5K_ISR 0x00000000 AR5K_PISR 0x00045005 AR5K_SISR0 0x00000000 AR5K_SISR1 0x00000000 AR5K_SISR2 0x88800000 AR5K_SISR3 0x00000000 AR5K_SISR4 0x00000000 AR5K_IMR 0x00000000 AR5K_PIMR 0x800814b5 AR5K_SIMR0 0x00cf0000 AR5K_SIMR1 0x004f0000 AR5K_SIMR2 0x00070000 AR5K_SIMR3 0x00000000 AR5K_SIMR4 0x00000000 AR5K_DCM_ADDR 0x00000012 AR5K_DCCFG 0x00000000 AR5K_CCFG 0x00000000 AR5K_CPC0 0x00000000 AR5K_CPC1 0x00000000 AR5K_CPC2 0x00000000 AR5K_CPC3 0x00000000 AR5K_CPCOVF 0x00000000 AR5K_RESET_CTL 0x00000000 AR5K_SLEEP_CTL 0x00000000 AR5K_INTPEND 0x00000001 AR5K_SFR 0x00000000 AR5K_PCICFG 0x00000014 AR5K_GPIOCR 0x00008000 AR5K_GPIODO 0x00000001 AR5K_SREV 0x000000a5 For comparison, I also have an older Geode GX-based board with the same Atheros card. The exact same 3.0.9 image works just fine on that board. Here is the same group of kernel logs: [ 6.033111] cfg80211: Calling CRDA to update world regulatory domain [ 6.455114] ath5k 0000:00:0d.0: guessed PCI INT A -> IRQ 11 [ 6.455965] ath5k 0000:00:0d.0: registered as 'phy0' [ 7.228768] ath: EEPROM regdomain: 0x0 [ 7.228800] ath: EEPROM indicates default country code should be used [ 7.228828] ath: doing EEPROM country->regdmn map search [ 7.228865] ath: country maps to regdmn code: 0x3a [ 7.228893] ath: Country alpha2 being used: US [ 7.228918] ath: Regpair used: 0x3a [ 7.230164] ieee80211 phy0: Selected rate control algorithm 'pid' [ 7.234204] ath5k phy0: Atheros AR5414 chip found (MAC: 0xa5, PHY: 0x61) The only significant difference is the line that shows the IRQ. At this point, I'm not sure if this is a problem with the ath5k driver or with the something else that changed in the kernel between the two versions, or with the CPU board itself. I have not yet done a bisect to see when the driver stopped working on the LX. I plan to do that next. Any suggestions as to what to look for would be helpful. Thanks, Ben -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html