1、Linux 系统下安装三汇板卡驱动步骤和注意事项准备工作;安装步骤;注意事项。由于 linux 系统内核版本及 gcc 编译版本的不同,导致三汇板卡驱动必须在相应系统上编译后,客户才能在特定的系统上使用。这一点很重要,忽略这点,会导致驱动装起来,板卡找不到等各种各样难以解释的故障现象。概括起来,在 Linux 系统下安装三汇板卡驱动,经过以下环节:获取 Linux 内核版本和 gcc版本、获取相应驱动压缩文件、解压驱动压缩文件、安装驱动、加载驱动、运行 test 进行测试,驱动的卸载。准备工作:如果计算机系统中需要安装 linux 系统,可采用 linux 内核在 2.6.11 含以上版本的系
2、统,如 centos、 ubonto、fc6 、fc8 等。如何获得 linux 系统内核及 gcc 版本:命令:cat /proc/version,如下图:命令:uname r,获取内核版本如何获得相应的驱动:可登录三汇网站 BBS 留言板,请先注册,可在以下链接地址中查找相应内核对应的驱动:http:/ 0571-88921532 联系我们的技术支持人员。下面以内核 2.6.23.1-42.fc8 下安装相对应的 5010 驱动为例,详细介绍驱动安装步骤:安装步骤:1. 以 root 权限登录系统如果不是以 root 身份登录,安装过程中会出现很多权限的问题。如何解决?2. 将获取的驱动压
3、缩文件复制到存放的目录驱动压缩文件的命名包括以下部分:CtiLinux + 内核版本 + 打包格式。复制压缩文件到存放目录,比如:下载时存放在/root 下面,现存放到/home/msc 下面:进入目录:cd /home/msc复制文件到当前目录:cp /root/CtiLinux5.0.10-2.6.23.1-42.fc8.tar.bz2 ./或者,如果在图形界面下,可以用鼠标直接右键复制粘贴到/root/home/msc 目录下。3. 解压驱动压缩文件tar xjvf CtiLinux5.0.10-2.6.23.1-42.fc8-i686.tar.bz2,该命令执行后会生成目录CtiLin
4、ux5.0.10-2.6.23.1-42.fc8-i686。(技巧:名字太长可以用 Tab 键补全,例如,Cti+Tab 就可以补全上面的驱动包名字。)注 1):如果得到的驱动压缩文件扩展名是.tar.gz ,则解压命令为:tar -zxvf 文件名.tar.gz;扩展名是.tar.z 的,解压命令为:tar -Zxvf 文件名.tar.z 。注 2):如果驱动压缩文件扩展名是.zip,则解压命令为:unzip 文件名.zip。4. 安装:进入驱动安装目录:cd CtiLinux5.0.10-2.6.23.1-42.fc8-i686。执行安装命令:./install.linux 。安装完成后,
5、会在/usr/local/lib/下生成 shcti 目录,用于存放驱动文件及相关工具和文档等。这就是三汇板卡驱动安装的默认路径。用以下命令可以查看该驱动安装目录下的内容:#cd /usr/local/lib/#ls5. 加载驱动:进入对应目录:cd /usr/local/lib/shcti/ver5.0.10/lkm/k2.6.23.1-42.fc8,红色字体会因为内核版本和驱动版本不同而有所改变。A) 手动加载#cd /usr/local/lib/shcti/ver5.0.10/lkm/k2.6.23.1-42.fc8/#ls#insmod shdpci.ko(说明:shdpci.ko 驱
6、动用于 pci 接口的板卡,shdcpci.ko 驱动用于 cpci 接口的板卡。)注意:手工加载驱动模块,计算机重启后会失效,所以,每次重启计算机都必须重新手工加载一遍驱动。关于手动加载驱动的一个常见问题:有时候,你用#insmod shdpci.ko 会出现错误,这有可能是由于驱动已经加载了的缘故。你可以先用#lsmod |grep shd 命令,查看是否存在 shdpci 或者 shdcpci 一项,如果存在,说明驱动已经加载上去了,就不用再加载了。B) 开机启动自动加载驱动进入驱动安装目录,新建一个脚本文件名为 load.sh。#cd /usr/local/lib/shcti/#vim
7、 load.sh在 load.sh 中添加内容如下:#!/bin/shinsmod /usr/local/lib/shcti/ver5.0.10/lkm/k2.6.23.1-42.fc8/shdpci.koinsmod /usr/local/lib/shcti/ver5.0.10/lkm/k2.6.23.1-42.fc8/shdcpci.ko说明:上面第一句加载的是 PCI 接口的板卡驱动,第二句加载的 CPCI 接口的板卡驱动。如果是 PCI 接口的板卡,只要加载第一句就行了;如果是 CPCI 接口的板卡,只要加载第二句就行了;如果你不能确定,就两个都加载上去,这样,不管什么接口的卡都能运行
8、了。修改开机启动脚本文件/etc/rc.d/rc.local#vim /etc/rc.d/rc.local在文件结尾添加内容如下:sh /usr/local/lib/shcti/load.sh这样,以后开机就会自动加载驱动模块了,不需要每次开机都手工加载驱动模块。加载:insmod shdpci.ko(如果是 cPCI 卡则为 insmod shdcpci.ko) 。注 1):系统重新启动后要重新加载驱动。驱动是否已经加载或是否加载成功可根据下面的第 7 步骤进行查看。注 2):如果执行 insmod 命令后有提示 “-1 Invalid module format”,则说明加载肯定是失败的,
9、且所加载的驱动与内核版本不符合,这时要核对所安装的驱动是否是对应该内核版本的。注 3):如果显示的是其他错误或提示检测不到板卡,可考虑使用命令 lspci 来查看 PCI 插槽信息,如果正常的话,显示中应该有“Computer telephony device“的项,且有多少板卡就应该有多少项;如果没有或数量不对,则要关机检查板卡是否插牢或插槽是否损坏。6. 查看信息:#lsmod |grep shd如果有一行显示 shdpci 或者 shdcpci,那么代表驱动加载成功,如果没有任何信息显示,那么驱动加载失败。加载驱动成功后可以用 dmesg 命令查看板卡的信息,相关信息为:Detected
10、 SHT-16B-CT/PCI with serial number 29988 on IRQ185;查看驱动加载是否成功:lsmod,如果成功,在列表中应该有 shdpci 这一项。如果觉得 shdpci 这一项难找,则使用命令:lsmod | sort,该命令会根据名称进行排序。查看板卡信息:dmesg,成功加载驱动后可看到系统中板卡的 BoardId 和其他信息。9、 运行 Test 前的准备运行 Test 前需要准备 ShConfig.ini 和 ShIndex.ini 两个文件,由于在 linux 下配置这两个文件相对比较复杂,所以一般我们选择先在 Windows 下配置好这两个文件
11、,然后再将这两文件拷贝到 Linux 的 Test 目录下。假设,我们已经将 Windows 下的 ShConfig.ini 和 ShIndex.ini 这两个文件拷贝到了/root/Download 文件夹下。 (你可以用 U 盘等方法,将 Windows 下的文件拷到 Linux 下。)#cd /root/Download#cp ./ShConfig.ini /usr/local/lib/shcti/ver5.0.10/Test/gtk2.4_test/src/#cp ./ShIndex.ini /usr/local/lib/shcti/ver5.0.10/Test/gtk2.4_test
12、/src/说明:这里 Fedora Core 8,支持 gtk2.4_test 文件夹下的 Test,根据 gtk 版本的不同,用的 Test 目录也不同。例如,如果是 redhat9 操作系统,我们用的是 gtk1.2_test 下的Test,相应的命令应该改为:#cp ./ShConfig.ini /usr/local/lib/shcti/ver5.0.10/Test/gtk1.2_test/src/#cp ./ShIndex.ini /usr/local/lib/shcti/ver5.0.10/Test/gtk1.2_test/src/10、 进入 Test 目录编译运行 Test 程序
13、#cd /usr/local/lib/shcti/ver5.0.10/Test/gtk2.4_test/src/#make#./Test如果需要启动 7 号信令服务器,则:进入对应目录:cd /usr/local/lib/shcti/ver5.0.10/ss7。复制 7 号信令配置文件 Ss7Server.ini 到当前目录,配置方法与前述同。启动信令服务器:./ss7d。11、 卸载驱动上面所述为驱动安装步骤。如果已经安装了驱动,但想换驱动版本,比如以前安装的是5010 驱动,现在想换到 5030,建议先卸载 5010,然后重新安装 5030。安装的步骤已讲过,现在说明一下怎么卸载驱动:a.
14、 关闭应用程序,如果启动了 7 号信令服务器,则还要关闭该服务器。方法:命令:ps ef ,用于查看进程,找到应用程序和./ss7d 对应的进程 id 号。命令:kill XXXX,用于结束 id 号为 XXXX 的进程。b. 卸载驱动:命令:rmmod shdpci,若加载的是 shdcpci.ko,则卸载命令应该为:rmmod shdcpci命令:lsmod 查看加载的驱动信息,若已成功卸载,则显示当中无 shdpci(或 shdcpci)项。注:如果还未启动应用程序,也未加载驱动模块或启动信令服务器,则可省上面步骤。具体情况可用 ps 命令和 lsmod 命令分别查看。c. 删除 shcti 目录:进入 shcti 所在目录:cd /usr/local/lib。删除 shcti:rm rf shcti。注意事项: