安装Dahdi模块出现insmod: can't insert 'dahdi.ko': unknown symbol in module or invalid parameter
2014-12-01 15:58
1706 查看
从Digitum官网下载的dahdi源代码,编译完成后,安装dadhi时出现错误:
#insmod dahdi.ko
dahdi: Unknown symbol crc_ccitt_table
insmod: can't insert 'dahdi.ko': unknown symbol in module or invalid parameter
找原因...
于是查看虚拟机下是否有这个内核符号。
#cat /proc/kallsyms |grep "crc_ccitt"
f8caa260 r __ksymtab_crc_ccitt [crc_ccitt]
f8caa278 r __kstrtab_crc_ccitt [crc_ccitt]
f8caa270 r __kcrctab_crc_ccitt [crc_ccitt]
f8caa268 r __ksymtab_crc_ccitt_table [crc_ccitt]
f8caa282 r __kstrtab_crc_ccitt_table [crc_ccitt]
f8caa274 r __kcrctab_crc_ccitt_table [crc_ccitt]
f8caa292 r _rheldata [crc_ccitt]
f8caa2a0 d __this_module [crc_ccitt]
f8caa000 T crc_ccitt [crc_ccitt]
说明虚拟机下有这个模块。然后继续寻找:
#modinfo crc_ccitt
filename: /lib/modules/2.6.32-220.el6.i686/kernel/lib/crc-ccitt.ko
license: GPL
description: CRC-CCITT calculations
srcversion: 2294FCAD06D727386004EEB
depends:
vermagic: 2.6.32-220.el6.i686 SMP mod_unload modversions 686
原来crc_ccitt内核符号是在/lib/modules/2.6.32-220.el6.i686/kernel/lib/crc-ccitt.ko里面。
查看Linux内核源代码发现默认是没有编译进内核而是模块形式。
#make menuconfig
---> library routines
--->CRC_CCITT funcitons
选中编译进内核即可或者设为模块形式。
于是拷贝这个模块到开发板中,先安装此模块,然后再安装dahdi.ko即可成功。
#insmod crc-ccitt.ko
#insmod dahdi.ko
#insmod dahdi.ko
dahdi: Unknown symbol crc_ccitt_table
insmod: can't insert 'dahdi.ko': unknown symbol in module or invalid parameter
找原因...
于是查看虚拟机下是否有这个内核符号。
#cat /proc/kallsyms |grep "crc_ccitt"
f8caa260 r __ksymtab_crc_ccitt [crc_ccitt]
f8caa278 r __kstrtab_crc_ccitt [crc_ccitt]
f8caa270 r __kcrctab_crc_ccitt [crc_ccitt]
f8caa268 r __ksymtab_crc_ccitt_table [crc_ccitt]
f8caa282 r __kstrtab_crc_ccitt_table [crc_ccitt]
f8caa274 r __kcrctab_crc_ccitt_table [crc_ccitt]
f8caa292 r _rheldata [crc_ccitt]
f8caa2a0 d __this_module [crc_ccitt]
f8caa000 T crc_ccitt [crc_ccitt]
说明虚拟机下有这个模块。然后继续寻找:
#modinfo crc_ccitt
filename: /lib/modules/2.6.32-220.el6.i686/kernel/lib/crc-ccitt.ko
license: GPL
description: CRC-CCITT calculations
srcversion: 2294FCAD06D727386004EEB
depends:
vermagic: 2.6.32-220.el6.i686 SMP mod_unload modversions 686
原来crc_ccitt内核符号是在/lib/modules/2.6.32-220.el6.i686/kernel/lib/crc-ccitt.ko里面。
查看Linux内核源代码发现默认是没有编译进内核而是模块形式。
#make menuconfig
---> library routines
--->CRC_CCITT funcitons
选中编译进内核即可或者设为模块形式。
于是拷贝这个模块到开发板中,先安装此模块,然后再安装dahdi.ko即可成功。
#insmod crc-ccitt.ko
#insmod dahdi.ko
相关文章推荐
- 往开发板写led驱动时出现错误:insmod: can't insert 's3c_led.ko': unknown symbol in module or invalid parameter
- 出现insmod: can't insert 'kernel_hello.ko': invalid module format解决方法
- 编译模块出错:insmod: ERROR: could not insert module module.ko: Invalid parameters
- insmod: error inserting './scull.ko': -1 Unknown symbol in module
- 模块插入错误 insmod: can't insert 'memdev.ko': Device or resource busy
- insmod: error inserting 'sequans_usb.ko': -1 Unknown symbol in module
- insmod: ERROR: could not insert module xxx.ko: Unkown symbol in module
- insmod: error inserting './igb.ko': -1 Unknown symbol in module 的问题所在
- insmod: error inserting './igb.ko': -1 Unknown symbol in module 的问题所在
- insmod: can't insert 'led.ko': invalid module format详细解释
- 插入模块出现Error: could not insert module testsecond.ko: Device or resource busy
- arm上加载insmod驱动时出现Unknown symbol in module
- insmod: error inserting 'myvivi.ko': -1 Unknown symbol in module 问题解决办法
- insmod: error inserting './sctp.ko': -1 Unknown symbol in module
- linux驱动模块加载出错insmod: error inserting './usb_driver.ko': -1 Unknown symbol in module
- 模块插入错误 insmod: can't insert 'memdev.ko': Device or resource busy
- insmod: error inserting 'vivid.ko': -1 Unknown symbol in module
- 解决FATAL: Error inserting ip_vs ... Unknown symbol in module, or unknown parameter
- insmod: Unknown symbol in module or no symbol version for
- kvm 模块加载时报错:insmod: error inserting 'kvm.ko': -1 Unknown symbol in module