hcllm 发表于 2004-9-15 12:11:33

请教高手:有没有实现驱动的另类方法?--请帮忙看看吧。。。

我有一个PDA的LINUX平台,可是系统是别人做的,我想加入USB打印机的驱动模块,可是却出了问题:
insmod 不成功:提示:Using /lib/modules/2.4.24/printer.o
insmod: QM_MODULES: Function not implemented
我重新编译BUSYBOX,打开#define BB_FEATURE_OLD_MODULE_INTERFACE
可却提示:# ./insmod -f printer
Using /lib/modules/2.4.24/printer.o
insmod: Warning: kernel-module version mismatch
/lib/modules/2.4.24/printer.o was compiled for kernel version 2.4.21
while this kernel is version 2.4.24
insmod: get_kernel_syms: printer: Function not implemented
看上去应该是该内核没有打开对模块的支持,我没有SOURCECODE,
不能改变,所以请教高手:

有没有不通过模块加入驱动而实现驱动打印的方法???
我的系统是能够在/proc/bus/usb/devices中显示出该设备的,
可我就是看着干瞪眼,急呀!!!
哪位好心人帮帮忙呀。。。谢谢了先

bwb 发表于 2004-9-15 12:55:58

需要将kernel-source装上

hcllm 发表于 2004-9-15 13:01:04

bwb兄,可以具体些吗,谢谢了了

hcllm 发表于 2004-9-15 13:05:57

关键是我没有SOURCE,因为PDA上有些硬件是特定的,而我没有SOURCECODE,所以要重新编译内核是做不到的。。。。

bwb 发表于 2004-9-15 13:09:03

PDA就说不清楚了,没有干过。
试试找一下有没有打印机的驱动装装试试,好象本坛就有,装上装不上不好说,有些驱动还是需要向内核中插入的。

hcllm 发表于 2004-9-15 13:16:45

我要的不是打印机驱动,我上面的printer.o 就是linux/drivers/usb/printer.c编译成驱动模块的,我只想用他向打印机发送指令就行了,可是现在的问题是我insmod不成功,如上所述。所以想可能是kernel编译时未支持modules的加入,但我又不能重新编译KERNEL,所以请教。。。
有没有办法让我的printer.o MODULE 工作起来?。。。。

bwb 发表于 2004-9-15 13:19:19

到现在没有想出办法~~~

linky_fan 发表于 2004-9-15 22:49:18


insmod: Warning: kernel-module version mismatch
/lib/modules/2.4.24/printer.o was compiled for kernel version 2.4.21
while this kernel is version 2.4.24

内核中打开了modules-vision的支持,所以2。4。21的module没法用在2。4。24的内核上(pda的内核版本是2。4。24吧 :-D ),找个2。4。24的module试一下

hcllm 发表于 2004-9-16 12:06:38

是打开modules-vision的支持了吗,谢谢,我试一下下。。。

hcllm 发表于 2004-9-16 14:11:37

我用2.2.24的kernel编译模块printer.o试了,还是不行。只是少了版本不匹配的提示。
估计还是有可能是kernel modules 未支持,因为信息本来是这样的:
# insmod printer.o
Using printer.o
insmod: QM_MODULES: Function not implemented
只是因为看到网上一些介绍怕是BUSYBOX对modules的前后支持方式不同,
改用
// Support insmod/lsmod/rmmod for post 2.1 kernels
//#define BB_FEATURE_NEW_MODULE_INTERFACE
//
// Support insmod/lsmod/rmmod for pre 2.1 kernels
#define BB_FEATURE_OLD_MODULE_INTERFACE
才会出现版本不同的提示,其实这样应该没有必要,因为他是2.1前的kernel
才需要这样的(我刚刚才发现)的。。。
会不会是这个让linky_fan老兄的判断有误呢?
LINKY_FAN老兄,到底怎样可以断定kernel中打开了对module的支持呢?
老兄们,哪位知道呀。。。。谢谢各位啦。。

linky_fan 发表于 2004-9-16 14:27:19


2.4.24

不是2.2.24

hcllm 发表于 2004-9-16 15:01:46

WW。。。不好意思,是我写错了,我把2.4.24写成了2.2.24,
其实我测试的就是2.4.24,但就是不成功。
使用我编译的OLD_MODULE_INTERFACE的busybox提示如下:
# ./insmod ./printer.o
Using ./printer.o
insmod: get_kernel_syms: printer: Function not implemented
使用系统自带busybox提示如下:
# insmod printer.o
Using printer.o
insmod: QM_MODULES: Function not implemented
关键是现在我不能肯定kernel是否支持modules?...
了解的太少了,帮我解解困惑吧。。。。

linky_fan 发表于 2004-9-16 19:17:46

有重新编内核的可能吗?

bwb 发表于 2004-9-17 09:42:24

没有kernel-source编不成内核的,想想别的办法吧,但愿你的modules support是开着的。

hcllm 发表于 2004-9-17 11:02:30

我已经打算放弃了。。。。
各位仁兄熟悉USB开发的仁兄帮我讲讲吧,
我的PDA上有USB modem的驱动ttyACMx,
我有个想法,通过设备文件ttyACMx来操作打印机等其他设备,有没有可能呢,
或是有什么方式通过USB控制器HUB驱动来从底层操作所有USB设备呢,
我就是搞不太清楚 。。。哪位我讲讲这些东东吧
页: [1] 2
查看完整版本: 请教高手:有没有实现驱动的另类方法?--请帮忙看看吧。。。