在 linux 下驱动 Compaq 万通宝

近日完全转到 linux 了,不过 PocketPC 和万通宝的驱动是个大问题,Google 了好久,终于解决了万通宝的驱动,如下:

万通宝的驱动要自己编译安装,所以我们必须先要安装一些必要的软件包,以ubuntu为例,debian及其它发行版会略有不同:

我们需要的是 gcc,curl,cvs,以及与当前相对应的内核头文件

sudo apt-get install build-essential

以上命令可安装编译所需要的软件包如 gcc,cpp等,然后是安装 cvs

sudo apt-get install cvs

以及当前版本的内核头文件

sudo apt-get install linux-headers-`uname -r`

注意:` 符号是 tab 键上面数字 1 键左边那个,不是单引号

然后是 curl

sudo apt-get install curl

以上是为了说明清楚一些,当然也可以一次性安装:

sudo apt-get install build-essential cvs linux-headers-`uname -r` curl

安装好必要的软件包后,我们需要从 cvs 上去 checkout 最新的驱动源码

cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/cvsroot/orinoco co orinoco

然后编译驱动

cd orinoco

make

编译正确完成后需要安装

sudo make install

之后我们需要去下载 windows 的 firmware,当然这个不用我们动手,已经有写好的脚本来完成了

cd firmware

./get_ezusb_fw

将得到的 firmware 拷贝到 linux 内核的 firmware 目录中,在 dapper (ubuntu 6.06)中为 /lib/firmware/linux-kernel-xxx (xxx为内核版本)目录中,其它发行版视实际情况而定

sudo cp ./orinoco_ezusb_fw /lib/firmware/`uname -r`

现在我们可以尝试激活万通宝了

sudo modprobe -v orinoco_usb

看看万通宝的绿灯有没有亮,不亮的话则需要重启一下

最后,保证系统在启动的时候自动加载万通宝模块,需要修改一下 /etc/modules 文件,在文件的末尾加一行

orinoco_usb

重启,进入桌面后看看,绿灯还不亮的话试下 Fn + F2,这样子应该差不多正常工作了,enjoy~

« 完全linux links for 2006-07-18 »

12 Responses to 在 linux 下驱动 Compaq 万通宝

gravatar qxf at October 16, 2006 8:59pm

您好,我的系统是debian etch,本本为evo 620c, 按照您的方法安装了万通宝(二代,朗讯芯片)的驱动, 开机后,lsmod中有orinoco和hermes,可是网卡灯不亮,网络设置中也没有无线网络,网络选择器中显示“无线已禁用”。看来还是驱动没装好?如果您能够指点一下,就太谢谢了。
我的QQ:190812846

gravatar wayne at October 17, 2006 7:36pm

fn + F2 灯也不亮么?中间操作有没有什么出错的地方?

gravatar fn at January 23, 2008 4:41pm

装的华镭2。0
前面都顺利,到这一步就通不过了。
root@n410c:/home/TrackPoint# sudo apt-get install build-essential cvs linux-headers-`uname -r` curl
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
build-essential 已经是最新的版本了。
cvs 已经是最新的版本了。
linux-headers-2.6.22-1-686 已经是最新的版本了。
curl 已经是最新的版本了。
共升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件未被升级。
root@n410c:/home/TrackPoint# cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/cvsroot/orinoco co orinoco
cvs checkout: CVS password file /root/.cvspass does not exist – creating a new file
cvs checkout: Updating orinoco
U orinoco/README
cvs checkout: Updating orinoco/firmware
cvs checkout: Updating orinoco/net
root@n410c:/home/TrackPoint# cd orinoco
root@n410c:/home/TrackPoint/orinoco# make
make: *** 没有指明目标并且找不到 makefile。 停止。

gravatar wayne at January 23, 2008 5:29pm

@fn: 刚才看了一下CVS,发现源码已经删掉了,查看README得知,orinoco项目已经移到sf上了,所以把
cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/cvsroot/orinoco co orinoco
改成
svn co https://orinoco.svn.sourceforge.net/svnroot/orinoco/trunk/然后继续应该就可以了

gravatar fn at January 24, 2008 10:00am

谢谢回复。小弟是超级菜鸟,新学乍练的。装的系统华镭2。0,又叫新华linux,是国内基于Debian做的一个发行版。贪他汉化效果好,方便初学者。
鼓捣了半天,原来我机器上没有装SVN。(当然现在装上了)
可但是,依然没有成功。

gravatar fn at January 24, 2008 10:01am

第一步 安装相关软件包
第二步 下载驱动
第三步 编译
root@n410c:~# sudo apt-get install build-essential cvs linux-headers-`uname -r` curl subversion
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
build-essential 已经是最新的版本了。
cvs 已经是最新的版本了。
linux-headers-2.6.22-1-686 已经是最新的版本了。
curl 已经是最新的版本了。
subversion 已经是最新的版本了。
共升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件未被升级。
root@n410c:~# svn co https://orinoco.svn.sourceforge.net/svnroot/orinoco/trunk/A trunk/orinoco_pci.c
A trunk/net
A trunk/net/ieee80211.h
A trunk/orinoco.c
A trunk/orinoco_pci.h
A trunk/README
A trunk/orinoco_tmd.c
A trunk/orinoco.h
A trunk/airport.c
A trunk/hermes.c
A trunk/README.orinoco
A trunk/hermes_rid.h
A trunk/spectrum_cs.c
A trunk/hermes.h
A trunk/compat.h
A trunk/Kbuild
A trunk/orinoco_nortel.c
A trunk/NEWS
A trunk/orinoco_plx.c
A trunk/Makefile
A trunk/orinoco_cs.c
U trunk
取出修订版 1298。
接下来的cd trunk
make
sudo make install
都完成了
root@n410c:~/trunk# make
make -C /usr/src/linux-headers-2.6.22-1-686 M=/root/trunk KERNELRELEASE=2.6.22-1-686 modules
make1: Entering directory `/usr/src/linux-headers-2.6.22-1-686’
Building modules, stage 2.
MODPOST 8 modules
make1: Leaving directory `/usr/src/linux-headers-2.6.22-1-686’
root@n410c:~/trunk# sudo make install
make -C /usr/src/linux-headers-2.6.22-1-686 M=/root/trunk KERNELRELEASE=2.6.22-1-686 modules
make1: Entering directory `/usr/src/linux-headers-2.6.22-1-686’
Building modules, stage 2.
MODPOST 8 modules
make1: Leaving directory `/usr/src/linux-headers-2.6.22-1-686’
make -C /usr/src/linux-headers-2.6.22-1-686 M=/root/trunk KERNELRELEASE=2.6.22-1-686 modules_install \\
INSTALL_MOD_DIR=kernel/drivers/net/wireless
make1: Entering directory `/usr/src/linux-headers-2.6.22-1-686’
INSTALL /root/trunk/hermes.ko
INSTALL /root/trunk/orinoco.ko
INSTALL /root/trunk/orinoco_cs.ko
INSTALL /root/trunk/orinoco_nortel.ko
INSTALL /root/trunk/orinoco_pci.ko
INSTALL /root/trunk/orinoco_plx.ko
INSTALL /root/trunk/orinoco_tmd.ko
INSTALL /root/trunk/spectrum_cs.ko
DEPMOD 2.6.22-1-686
make1: Leaving directory `/usr/src/linux-headers-2.6.22-1-686’
/sbin/depmod -ae
root@n410c:~/trunk#
傻眼了 这回哪里有firmware呢

gravatar fn at January 24, 2008 11:41am

下载了
orinoco-0.15.tar.gz
orinoco-fwutils-0.3.tar.gz
好象那个0。15是适用于PCMCIA的 编译就报错
FATAL: Module orinoco_usb not found.
FATAL: Module get_ezusb_fw not found.
我从其它网友的贴子里也试过了直接下载orinoco_usb.zip
试了一下 也可耻地失败了。。。
linux和瘟到死还真是完全不同的两码事咧。。。

gravatar wayne at January 24, 2008 11:51am

@fn:
你的orinoco已经编译安装完成了,这一步不需要编译,下载orinoco-fwutils-0.3.tar.gz,解包,执行get_ezusb_fw就可以获得orinoco_ezusb_fw文件

gravatar fn at January 24, 2008 12:05pm

root@n410c:/home/TrackPoint/Desktop/orinoco-fwutils-0.3# ./get_ezusb_fw
436+0 records in
436+0 records out
6976 bytes (7.0 kB) copied, 0.00398006 seconds, 1.8 MB/s
root@n410c:/home/TrackPoint/Desktop/orinoco-fwutils-0.3# sudo cp ./orinoco_ezusb_fw /lib/firmware/`uname -r`
root@n410c:/home/TrackPoint/Desktop/orinoco-fwutils-0.3# sudo modprobe -v orinoco_usb
FATAL: Module orinoco_usb not found.

gravatar wayne at January 24, 2008 12:12pm
gravatar fn at January 24, 2008 12:16pm

娃哈哈 灯亮了
谢谢谢谢
谢谢wayne
我再研究下

Name (*)

Email Address (*)

Web Address

Other  Receive Email Notify

Comment