我用的是QNX641系统,为PCI板卡开发了驱动,但我将板卡插到工控机时却找不到设备。
驱动中最先调用的是pci_find_device(厂商号和设备号是厂商提供),但该函数始终返回“PCI_DEVICE_NOT_FOUND”,请
问各路高手我该如何继续查。
ps:为了验证厂商号和设备号,我在ubuntu系统上为该板卡也开发了一个驱动,识别、访问均正常。但实在是不知QNX下为何
返回找不到设备,请各位高手帮帮忙啊,小弟感激不尽!
我用的是QNX641系统,为PCI板卡开发了驱动,但我将板卡插到工控机时却找不到设备。
驱动中最先调用的是pci_find_device(厂商号和设备号是厂商提供),但该函数始终返回“PCI_DEVICE_NOT_FOUND”,请
问各路高手我该如何继续查。
ps:为了验证厂商号和设备号,我在ubuntu系统上为该板卡也开发了一个驱动,识别、访问均正常。但实在是不知QNX下为何
返回找不到设备,请各位高手帮帮忙啊,小弟感激不尽!
用 pci -vvv的命令看看能不能找到硬件,
如果这个命令都不能找到,那你得升级你的pci-bios了
如果能找到,只能说明你写的驱动有点点问题。
多谢回复。
曾用pci -vvv | less 命令查看,列表中没有该设备。
今天试一下您说的升级pci-bios的方案。
如果这个命令都不能找到,那你得升级你的pci-bios了
你好,我在QNX官网上没有找到能够更新的pci-bios,请问您指的升级是怎么升级?
Hi,all:
这个问题的原因我找到了。 QNX系统在6.3.2版本以后的一个变更是拒绝无效的PCI class code,因此我的板卡在6.3.2以前的版本
上可以正确识别,在6.4.1或6.50上却识别不到,因此驱动无法使用。
解决办法是运行命令“pci-bios -c”,-c选项的意思是忽略class code的检测,现在系统可正确识别板卡,驱动可以正常使用。
这个问题困扰我将近一周了,装了好多版本的系统进行尝试,最后终于解决了,跟大家分享一下 。
恭喜恭喜
有耐心就能搞定