Closed KellsonM closed 1 year ago
@KellsonM 我这没有跟你一样的设备,所以编出来可能你也用不了。 有什么问题什么错误,都可以贴出来,我看能不能解决。
谢谢回复,我是在WSL里面Ubuntu 18.04交叉编译,按照3.1复制默认hi3798mv100的默认配置,前面在第四步make -j$(nproc) 就出现下面的错误。
同时我也参考了https://bbs.histb.com/d/1286-zai-windowsxia-bian-yi-hai-si-linuxgu-jian 这里。
@KellsonM 如果是交叉编译,需要跳过3.1按照3.2的步骤来。 你给的链接里面写的很详细了,编译内核可以完全按照他的步骤来。 另外我其实有试过用wsl交叉编译出linux headers,很顺利,但没有进行后续编译驱动。有条件还是建议直接在设备上编译。
@AyFun 我最后还是直接上设备编译,根据你的步骤配置了环境,复制了linux-4.4.y文件夹进去配置好之后我用 make -C ./ M=/home/ch341/ 编译,终于编译成功了。
在安装的时候,提示 “insmod: ERROR: could not insert module ch341.ko: Device or resource busy”
dmesg显示 [ 167.912660] Error: Driver 'ch341' is already registered, aborting...
但lsmod没有显示安装任何module。
rmmod或者modprobe -r ch341卸载,然后重新安装或者放到 /usr/lib/modules/4.4.35_xxxx/kernel/drivers,depmod -a自动加载,重启或者重新插拔设备都试试
我发现了原来我的版本kernel内置了ch340,经过一番测试后,发现我真正需要的驱动是cdc-acm,用以下命令编译,再安装就搞定了! make CONFIG_USB_ACM=m /home/build/linux-4.4.y/drivers/usb/class/cdc-acm.ko
非常感谢!
恭喜!
@KellsonM 如果是交叉编译,需要跳过3.1按照3.2的步骤来。 你给的链接里面写的很详细了,编译内核可以完全按照他的步骤来。 另外我其实有试过用wsl交叉编译出linux headers,很顺利,但没有进行后续编译驱动。有条件还是建议直接在设备上编译。
大佬,headers怎么编译?我想用headers编译sdk以外的驱动
感谢你的付出,我尝试根据你链接内的方法去build,一直碰到各种错误,我的是hi3798mv100,hinas 4.4.35_ecoo_81051468,是mdmo1g的配置,能方便帮忙编译一个ch340的驱动吗?非常感谢