曲径通幽论坛

标题: XFI Driver on kernel 2.6.31 (ubuntu 9.10) [打印本页]

作者: beyes    时间: 2009-11-18 11:44
标题: XFI Driver on kernel 2.6.31 (ubuntu 9.10)
目前为止,Linux 下的创新 X-FI 系列声卡最新驱动为 1.18 版本,可从从创新官网直接下载:
wget http://ccftp.creative.com/manual ... inux_US-1.18.tar.gz

下载后,直接安装可能会提示安装不成功。失败的原因可以查看相关的失败日志:
sudo tail -l/var/log/creative-installer.log
上面,你会发现提示几个内核模块(*.ko)没能生成。

所以安装前所要做的几点修改工作步骤如下:

1、解压缩
tar zxvf XFiDrv_Linux_US-1.18.tar.gz

2、需要再对解压缩文件夹里的 XFiDrv_Linux_US-1.18.tar.bz2 包再解压缩
tar xvjf XFiDrv_Linux_US-1.18.tar.bz2
解压缩完,是个 drivers 目录。

3、cd 进入到 drivers 目录下的 ossrv 目录
cd ./drivers/src/ossrv

4、编辑 ossrv 下的 LinuxSys.c 文件
vi LinuxSys.c

5、需要更改 LinuxSys.c 的几处内容
<1> 把648 行的 SA_SHIRQ 改成 IRQF_SHARED ,因为在 2.6 的后期内核中,处理中断宏已经改变,可在内核源码树里的 include/linux/interrupt.h 文件里看到。

<2> 在 33 行的后面添加 #include <linux/fs.h> 头文件,因为这是个设备驱动程序必须的一个头文件,里面定义有 struct file 基本结构体。

<3>  在 37 行的后面添加 #include <asm-generic/fcntl.h> 头文件,这里定义了驱动必须的一些宏。

6、修改 drivers/ctsound 脚本
找到 drivers="ctossrv ctsfman emupia ct20xut ctexfifx cthwiut haxfi ctalsa" 一行,然后调整一下双引号里面的顺序:
drivers="ctossrv emupia ctsfman haxfi ctalsa ct20xut ctexfifx cthwiut"

7、可以安装了
切换到初次解压缩后的 Creative/XFiDrv_Linux_US-1.18 目录下,执行命令:
./installer --with-alsainc=/usr/src/linux-headers-2.6.31-15-generic-pae
上面,--with-alsainc 后接的是你当前所运行内核对应的内核源码树。

编译安装完后,可有错误提示,但仍然提示安装安成,错误提示可以不理会,声卡可以使用了:
..... .....
make: *** [all] 错误 2
make: *** [install] 错误 2
Installation Complete

安装过程到此结束。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2