树莓派4B insmod pl2303.ko err <Unknown symbol in module>

MarcoWang 2021-09-081331 次点击
使用了pl2303usb转串口模块,发现下载的驱动文件经过编译后,安装提示

root@MarcoRaspi:/home/pi/4.20_ok# insmod pl2303.ko
insmod: ERROR: could not insert module pl2303.ko: Unknown symbol in module



root@MarcoRaspi:/home/pi/4.20_ok# dmesg |tail
[ 3245.948052] pl2303: Unknown symbol usb_serial_generic_open (err -2)
[ 3245.948086] pl2303: Unknown symbol usb_serial_generic_close (err -2)
[ 3245.948131] pl2303: Unknown symbol usb_serial_handle_dcd_change (err -2)
[ 3245.948164] pl2303: Unknown symbol usb_serial_deregister_drivers (err -2)
[ 3245.948199] pl2303: Unknown symbol usb_serial_generic_tiocmiwait (err -2)
[ 3245.948230] pl2303: Unknown symbol usb_serial_register_drivers (err -2)

看样子应该是内核的这些函数随着版本更新而改变了,请问该如何替换这些失效的函数呢?
收藏 ♥ 感谢
Spoony 小组长 2021-09-08 
具体的原因需要查源码,仅从错误信息看像是缺少某些依赖致使内核文件无法加载。函数不是很好排查。
MarcoWang 2021-09-09 
@Spoony 感谢您的回复。
在源码中,include<linux/usb/serial.h>
但是在/usr/include/linux/usb/中没有找到serial.h

登录注册 后可回复。

这里由以下店铺的技术人员在此免费提供能力范围内的技术支持。

NXEZ 创客商店(淘宝)

排障问题发帖注意事项:
1、请尽可能将故障说明清晰,列明例如使用环境和做了哪些操作和配置等。
2、排障中已经做了哪些尝试,如果能在问题中进行描述将极大提高解决问题的效率。
3、对于需要自身完成知识积累才能解决的问题,请自行通过搜索引擎寻找资料学习。