You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

克隆指定Git仓库时出现gnutls_handshake错误如何解决?

解决gitorious仓库克隆失败并安装SocketCAN ISO-TP模块

这个问题的核心原因其实不是防火墙或者握手配置的问题——gitorious.org早在2016年就已经停止服务了,你要克隆的那个仓库地址已经完全失效了。别担心,我们有几个靠谱的替代方案来获取ISO-TP模块:

方法1:使用GitHub官方镜像仓库克隆

Linux CAN项目的代码已经迁移到了GitHub,你可以直接克隆官方镜像:

git clone https://github.com/linux-can/can-modules.git

克隆完成后,进入目录编译安装模块:

cd can-modules
make
sudo make install
sudo modprobe can-isotp

安装完成后,用lsmod | grep can-isotp验证模块是否加载成功。

方法2:从当前系统内核源码编译ISO-TP模块

现在ISO-TP模块已经合并到Linux主线内核中,如果你使用的是较新的内核(通常3.15及以上),可以直接从内核头文件编译:

  1. 首先安装当前内核的头文件:
    sudo apt install linux-headers-$(uname -r)
    
  2. 进入内核头文件目录:
    cd /usr/src/linux-headers-$(uname -r)
    
  3. 打开内核配置界面,找到CAN相关选项:
    sudo make menuconfig
    
    在界面中依次导航到:Networking support → CAN bus subsystem support → CAN Transport Layer,勾选ISO 15765-2 CAN Transport Layer (ISO-TP)为模块(M选项)。
  4. 编译并安装模块:
    sudo make modules_prepare
    sudo make modules SUBDIRS=drivers/net/can/isotp
    sudo cp drivers/net/can/isotp/can-isotp.ko /lib/modules/$(uname -r)/kernel/drivers/net/can/isotp/
    sudo depmod -a
    sudo modprobe can-isotp
    

方法3:检查系统是否已自带ISO-TP模块

很多现代Linux发行版已经默认包含了ISO-TP模块,你可以先尝试直接加载:

sudo modprobe can-isotp

如果没有报错,执行lsmod | grep can-isotp能看到模块信息,说明系统已经自带,不需要额外克隆编译。


内容的提问来源于stack exchange,提问作者annonymous

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:03:17