以上操作后ip link show can1还是能看到CAN1
时间: 2023-12-27 21:02:39 浏览: 31
如果你在执行以上操作后,仍然可以通过 `ip link show can1` 命令看到 `can1` 接口,可能是因为该接口已经被其他程序占用了。
你可以先尝试执行以下命令,查看哪些程序正在使用 `can1` 接口:
```
sudo fuser -v /dev/can1
```
如果有程序正在使用 `can1` 接口,可以先停止这些程序并再次执行 `ip link set can1 down` 命令,再执行 `ip link show can1` 命令检查 `can1` 接口是否已被禁用。
如果 `can1` 接口仍然无法被禁用,你可以尝试卸载 `socketcan` 模块,然后重新加载该模块。具体步骤如下:
1. 执行以下命令,卸载 `socketcan` 模块:
```
sudo modprobe -r can_raw
sudo modprobe -r can_dev
```
2. 执行以下命令,重新加载 `socketcan` 模块:
```
sudo modprobe can_dev
sudo modprobe can_raw
```
3. 执行以下命令,将 `can1` 接口设置为禁用状态:
```
ip link set can1 down
echo "manual" > /sys/class/net/can1/operstate
```
4. 验证 `can1` 接口已被禁用:
```
ip link show can1
```
如果 `can1` 接口已被禁用,应该输出类似以下内容:
```
Device 'can1' does not exist.
```
这表明 `can1` 接口不存在,也就是被成功禁用了。
5. 重启系统,使更改生效。
这样,`can1` 接口就应该被成功禁用了。