Skip to main content

有关 64位Linux 驱动 Atheros 5007EG 无线网卡

[2008-10-03 更新]ubuntu 8.10中新增了acer_wmi模块,可以完美驱动无线网卡了 :)

系统是 Ubuntu 8.04 rc amd64,笔记本是Acer Aspire 4520

无线网卡现在看来是 Atheros 5007EG, 为什么这么说呢,我主要依靠lspci判断,最早识别不出来,后来能认出Atheros,但是没型号。然后一段时间内都认成5006EG。当时也是按它装的驱动。但是最近update pciid后又认成了AR242x。 在http://madwifi.org/wiki/Compatibility/Atheros 上是这么说的

Atheros AR5007EG

Chipset:AR2425 / AR5007EG
URL:http://atheros.com/pt/AR5007EG.htm
Supports:802.11b 802.11g
Interface:PCI-Express x1
Device Information: Ethernet controller: Atheros Communications, Inc. Unknown device 001c (rev 01),Subsystem: AMBIT Microsystem Corp. Unknown device 3065
Notes:not supported by HAL as of 2007.04.28 - resturns Hal status 13
Notes:Suported by ndiswrapper with windows driver, but some user reports crash problems
Notes:Instructions about how to use the windows driver + ndiswrapper
Notes:works fine with ndiswrapper, using old drivers, search ubuntu forums
Notes:Sometimes erroneously reported as an AR5006EG by lspci
Notes:Works perfectly with latest madwifi snapshot and this patch --> http://madwifi.org/ticket/1679
Notes:This patch is tested and working on:
Notes:Acer Aspire 5315, Acer Aspire 5520 - detected as AR5006EG, Acer Aspire 5613WLMi, Acer Aspire 5720Z, Toshiba Satellite A210, LG E500, Packard Bell EasyNote? MX-52, Samsung P500, Asus X51RL, MSI-VR601-051, Fujitsu-Siemens Amilo LI1718, Fujitsu-Siemens Amilo PA2510, Asus EEEPC more, Acer Aspire 5570, Acer Aspire 5100, Toshiba Satellite Pro L40-136, Toshiba Satellite P200-170 (PSPBQA) - detected as AR5006EG, Acer Aspire 5050-3785 - detect as AR5006eg working ok
Notes:How-to compile madwifi and the patch
Notes:Works on HP dv6730eg, openSuse 10.3 after installing http://www.pc-forum24.de/suse-treiber/7830-experimentelle-madwifi-pakete-fuer-karten-mit-ar2425-ar5007eg-chipsatz-nur-32-bit.html and kdenetworkmanager
Notes:Does not work with HP dv9722eg (64Bit), no results with ndiswrapper, svn and snapshots with patches, sometimes HAL status 13 and sometimes HAL status 3

于是现在看来,觉得这个就是我的情况。

之前用32位的时候无线网卡一开始也搞了很长时间。 主要是最初查到Atheros有linux下的驱动madwifi。然后试了半天也不行,结果在官网上查到了当时不支持。于是只好用ndiswrapper配windows xp的驱动,工作的也不错。

现在升了64位, ndiswrapper不能挂32位的驱动了,winxp64位的驱动又特别难找。 (倒是有vista64的驱动,但是ndiswrapper不支持)。 于是又想到了madwifi. 也看到了上面的文字。 不过它的5007的snapshot只支持32位,比较郁闷。 一开始我还不知道, co了svn上的代码编译安装,编译是有个小问题,手工解决,然后倒是能载入,但是不能支持网卡。 于是只好又回到ndiswrapper.

那么就要找winxp64的驱动了,仔细找找也找到了不少,ndiswrapper也能安装这些驱动,但是挂载ndiswrapper内核模块后仍没网卡,dmesg说ACPI的IRQ7的问题。 一时又没了主意。

偶然进到了ndiswrapper支持网卡列表http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list_a/(后来后悔:一开始怎么没想到进去看看呢)发现了很多类似网卡,尤其很多标以pci id: 168c:001c正好和我的一样。 其中有三个这样的,里面有两个给出了64位的winxp驱动的地址。而这两个只有一个是免费的,如下:

Laptop: Acer Aspire 5570Z根据最后一个链接下到了一个通用驱动,找到winxp64的驱动用ndiswrapper安装。但是载入内核模块后仍是同样的错误。仔细看上面说明是要求卸载madwifi驱动,我一一rmmod后重载ndiswrapper也无效。于是干脆重启,心想不成功便成仁。 不行就跟Wireless告别一段时间。 没想到重启后再一试竟然好了,实在是高兴。 这也说明当时我搜到的其他winxp64驱动也应该奏效。

不管怎样,经过一个晚上的努力,终于把无线网卡弄好了,值得庆贺。

Comments

Gordon Wang said…
玩儿Linux就是这一点有意思~~~特别是驱动,无数次山穷水尽之后突然搞定,爽~~

Popular posts from this blog

Determine Perspective Lines With Off-page Vanishing Point

In perspective drawing, a vanishing point represents a group of parallel lines, in other words, a direction. For any point on the paper, if we want a line towards the same direction (in the 3d space), we simply draw a line through it and the vanishing point. But sometimes the vanishing point is too far away, such that it is outside the paper/canvas. In this example, we have a point P and two perspective lines L1 and L2. The vanishing point VP is naturally the intersection of L1 and L2. The task is to draw a line through P and VP, without having VP on the paper. I am aware of a few traditional solutions: 1. Use extra pieces of paper such that we can extend L1 and L2 until we see VP. 2. Draw everything in a smaller scale, such that we can see both P and VP on the paper. Draw the line and scale everything back. 3. Draw a perspective grid using the Brewer Method. #1 and #2 might be quite practical. #3 may not guarantee a solution, unless we can measure distances/p...

Chasing an IO Phantom

My home server has been weird since months ago, it just becomes unresponsive occassionally. It is annoying but it happens only rarely, so normally I'd just wait or reboot it. But weeks ago I decided to get to the bottom of it. What's Wrong My system set up is: Root: SSD, LUKS + LVM + Ext4 Data: HDD, LUKS + ZFS 16GB RAM + 1GB swap Rootless dockerd The system may become unresponsive, when the IO on HDD  is persistantly high for a while. Also: Often kswapd0 has high CPU High IO on root fs (SSD) From dockerd and some containers RAM usage is high, swap usage is low It is very strange that IO on HDD can affect SSD. Note that when this happens, even stopping the IO on HDD does not always help. Usually restarting dockerd does not help, but rebooting helps. Investigation: Swap An obvious potential root cause is the swap. High CPU on kswapd0 usually means the free memory is low and the kernel is busy exchanging data between disk and swap. However, I tried the following steps, none of the...

Moving Items Along Bezier Curves with CSS Animation (Part 2: Time Warp)

This is a follow-up of my earlier article.  I realized that there is another way of achieving the same effect. This article has lots of nice examples and explanations, the basic idea is to make very simple @keyframe rules, usually just a linear movement, then use timing function to distort the time, such that the motion path becomes the desired curve. I'd like to call it the "time warp" hack. Demo See the Pen Interactive cubic Bezier curve + CSS animation by Lu Wang ( @coolwanglu ) on CodePen . How does it work? Recall that a cubic Bezier curve is defined by this formula : \[B(t) = (1-t)^3P_0+3(1-t)^2tP_1+3(1-t)t^2P_2+t^3P_3,\ 0 \le t \le 1.\] In the 2D case, \(B(t)\) has two coordinates, \(x(t)\) and \(y(t)\). Define \(x_i\) to the be x coordinate of \(P_i\), then we have: \[x(t) = (1-t)^3x_0+3(1-t)^2tx_1+3(1-t)t^2x_2+t^3x_3,\ 0 \le t \le 1.\] So, for our animated element, we want to make sure that the x coordiante (i.e. the "left" CSS property) is \(...