Linux(麒麟)系统下CH365/367驱动安装失败,发现不了设备的解决方案
2024-09-24 10:53:00 来源:华启智能
如何快速解决Linux(麒麟)系统下CH365/367驱动安装失败,发现不了设备的问题?
CH365/367是常用的一款PCI/PCIE桥芯片,在Linux系统下尤其是现在国产化的麒麟系统会出现驱动安装失败,/dev/目录下无法出现ch36xpci0设备的问题,本文记录一下我的解决过程,希望对你有所帮助。
正常情况下在Linux系统下安装CH365/367驱动后,/dev/目录下会出现类似ch36xpci0的设备名字,前几天有个客户出现了安装后没有出现预期的设备名字,截图如下:
这说明CH365/367的驱动安装失败了。
这时候我们可以执行dmesg指令查看报错信息。
可以发现是中断请求资源冲突了,无法请求。执行cat /proc/intertupts查看系统目前已使用的中断资源。
可以发现1,2,3,5已经被占用了,可以挑选一个空闲的中断号,比如4或者6给CH365/367使用。
可以先删除现在的驱动程序:
编辑驱动程序源文件,修改 ch36x_pci_probe函数,ch36x_dev->irq=4或者6(选一个空闲的号)。
保存后,重新编译,重新安装:
查看一下:
查看中断资源分配情况,可以发现ch36xpci0使用了6号中断资源。
这时候会发现/dev/目录下出现了ch36xpci0设备
这时候可以安装编译好的驱动程序:
至此,解决掉了CH365/367在Linux系统驱动安装失败的问题。就可以正常访问PCI/PCIE设备啦!
正常情况下在Linux系统下安装CH365/367驱动后,/dev/目录下会出现类似ch36xpci0的设备名字,前几天有个客户出现了安装后没有出现预期的设备名字,截图如下:
这说明CH365/367的驱动安装失败了。
这时候我们可以执行dmesg指令查看报错信息。
可以发现是中断请求资源冲突了,无法请求。执行cat /proc/intertupts查看系统目前已使用的中断资源。
可以发现1,2,3,5已经被占用了,可以挑选一个空闲的中断号,比如4或者6给CH365/367使用。
可以先删除现在的驱动程序:
编辑驱动程序源文件,修改 ch36x_pci_probe函数,ch36x_dev->irq=4或者6(选一个空闲的号)。
保存后,重新编译,重新安装:
查看一下:
查看中断资源分配情况,可以发现ch36xpci0使用了6号中断资源。
这时候会发现/dev/目录下出现了ch36xpci0设备
这时候可以安装编译好的驱动程序:
至此,解决掉了CH365/367在Linux系统驱动安装失败的问题。就可以正常访问PCI/PCIE设备啦!