2008年11月2日

Acer 4530 wireless configuration openSUSE 11.0

Acer 4530 wireless configuration openSUSE 11.0 - howto solve the
Atheros Communications Inc. AR242x problems ath5k phy0: failed to
wakeup the MAC Chip

Initial condition of my configuration problems:

A complete system upgrade from openSUSE 10.2 to openSUSE11.0 using
DVD. Before update ALL worked perfectly, after update NO wireless HW
recognized.

ath5k with a persistent "failed to wakeup the MAC Chip" vs ath_pci
with full AR242x support

Good news first:

it's working without recompiling, without special patches - just a
little creative thinking
The same solution below may also work for others

Error messages experienced directly after system update from openSUSE
n10.2 to 11.0

lspci shows:

07:00.0 Ethernet controller: Atheros Communications Inc. AR242x
802.11abg Wireless PCI Express Adapter (rev 01)

Error messages have been

kernel: ath5k phy0: failed to wakeup the MAC Chip
kernel: ath5k_pci: probe of 0000:07:00.0 failed with error -5
ath5k_pci 0000:07:00.0: registered as 'phy0'
kernel: wifi%d: unable to attach hardware: 'Hardware didn't respond as
expected' (HAL status 3)

Long search with Google thru various forums, blogs and howtos shows
that many others have exactly same problem using SuSE 11.0 and their
old good working wireless chip after the update. My update was from
openSUSE 10.2 to 11.0. Before with 10.2, I was using the kernel module
ath_pci with zero problems for approximately one full year. By default
the new openSUSE 11.0 always wants to use ath5k which fails to support
the Atheros AR242x chip. Some have found a working solution with
patching or recompiling,, others still are desperate. Here my
contribution of one among many possible solutions.

I have repeatedly tested below method, rebooted this ending night
about half a dozen time to assure the wireless chip works dependable
after every reboot. It appears to me that the new drivers NOW in use
provide a faster connection, better/stronger signal than the earlier
madwifi version I used under openSUSE 10.2!

Original situation after the complete system UPGRADE from suse 10.2 to 11.0

After the update to openSUSE 11.0 using newest kernel Linux
2.6.25.16-0.1-default #1 SMP 2008-08-21 00:34:25 +0200 x86_64 x86_64
x86_64 GNU/Linux, updated just minutes before the final successful
repeated testing, The hardware was NOT connected and a configuration
impossible.

Various solutions offered had little attraction to me, I wanted an out
of the box working wifi connection !

Here a few steps I FIRST went thru - without success:

Repeated times the ath5k always was loaded first in addition to
ath_pci. An often recommended blacklist in /etc/modprobe.d/blacklist
failed to work. repeated times despite the blacklist entry blacklist
ath5k, the kernel module ath5k with all its "sister" modules were all
present !

A removal of:

rmmod ath5k
rmmod mac80211
rmmod cfg80211

still gave NO success.!

Even a complete removal of ALL wireless relevant modules and modeprobe
of ath_pci brought NO success.!

Of course AFTER every major configuration change a REBOOT ..... still
the entire configuration in

Network --- Networksetting --- AR242x 802.11abg Wireless PCI Express
Adapter showed NO hardware information and thus was NOT free for edit
to finalize the wifi setup.

Hence I use ADD in Network --- Networksetting to add a wireless device
and entered ath_pci as the module. Then I rebooted and the wifi was
working ONCE - after the next reboot it all was like before - a.m.-
i.e. failed to wakeup the MAC Chip !

kernel module ath5k still loaded despite blacklist entry!

After the reboot however - using ath_pci in the added 3rd network
device the AR242x 802.11abg Wireless PCI Express Adapter device was
free to edit !! Hence I changed the default module ath5k to ath_pci,
then removed my added 3rd device, blacklisted again - then REBOOT
again. finally the wireless worked!

Hence the important steps for your AR242x 802.11abg Wireless PCI
Express Adapter configuration on Acer Ferrari 5000:

REMOVE any other packages you might have from earlier OLD Linux
version. I had driverloader and ndiswrapper present and uninstalled
any wireless relevant package except the newest madwifi packages !

The madwifi I installed are official openSUSE packages for x86_64
architecture. My laptop runs on dual 64 bit CPUs. The madwifi packages
installed are the newest official packages as of the date of this
writing:

madwifi-0.9.4-1.x86_64.rpm
madwifi-kmp-default-0.9.4_2.6.25.5_2-1.x86_64.rpm

After install of a.m. packages, a few steps below:

rmmod ath5k + rmmod mac80211 + rmmod cfg80211
in Network --- Networksetting ADD NEW device - as wireless, add the
kernel module ath_pci
/etc/modprobe.d/blacklist enter at bottom a new blacklist entry blacklist ath5k,
reboot
after boot delete your earlier added new wireless device, then edit
your NOW editable AR242x 802.11abg Wireless PCI Express Adapter, enter
ath_pci as kernel module!
Your hardware now should become visible - if in range of an AP you
should see the signal. You may however have to restart your network
with rcnetwork restart. For unknown reason the NEW kernel modules do
NOT autoconnect to the wireless network, even after a new system-start
or reboot!

add new wireless device using kernel module ath_PCi

After all above changes - a short prayer and then a reboot. Your
verification in your network configuration should show all still
correct as below picture. In my Ferrari 5000 case I have 2 network
devices, 1 LAN and one wireless. Both properly recognized and working.

Finally only 2 network devices - WIFI and LAN

For an unknown reason the WLAN does NOT auto-connect to the nearest AP
even if configured to load on boot or on cable connect ( for wlan
cable connect = AP availability ). The problem is annoying but a
simple rcnetwork restart always connects properly to the available AP!
There is justified hope that a soon to come kernel / madwifi update
may solve this issue.

A brief verification of:

lspci -v | grep Atheros -A 20 | grep -v Capabilities | sed
's/^$/\n\n\n\n\n\n\n\n\n\n/' | head -n 10 | uniq shows:

07:00.0 Ethernet controller: Atheros Communications Inc. AR242x
802.11abg Wireless PCI Express Adapter (rev 01)
Subsystem: AMBIT Microsystem Corp. Device 0422
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at b0200000 (64-bit, non-prefetchable) [size=64K]
Kernel driver in use: ath_pci
Kernel modules: ath_pci, ath5k

Thus all perfect now. Above success message ALSO exists directly after
reboot / BEFORE rcnetwork restart. So may be the missing connection to
the AP before the rcnetwork restart may be a timing problem. May be
the AP is too slow for built-in timeout limits or the attempt to
access the AP occurs too early during the boot process ... ?
Nevertheless, the problem is a minor and since I reboot my laptop
every many days or weeks except during travel, it's no deal for me.
But all earlier years until now the wifi connection ALWAYS was up and
running right after the boot/reboot ! Hence this issue may be but a
temporary minor bug to be fixed soon.

My first attempts to blacklist ath5k FAILED

Remember that for an unknown reason my first attempts to blacklist
ath5k FAILED during at least 2-3 reboots !!! Now however it appears to
reliably work. NONE of any ath5k relevant modules is present / loaded
in the current running system. It is UNKNOWN to me what exactly caused
the blacklist NOW to work after repeated initial failures!!!

It took me countless hours during the past 2 days and intense googling
on my second laptop ( Ferrari 4000 ) to search and read thru all the
different other solutions and problems others had and many still have.
Hence I am happy to have it working. The advantage of my current
working solution is that ALL is default openSUSE - all packages, all
configuration ( except the blacklist entry ) and thus ALL current
working system can and will be regularly UPDATED using YAST online
update until one day it all works again as it did all the years
before.

没有评论: