hardbyte / hardbyte/python-can

Can't connect to a kvaser device with 4.6.1

Abierto
#2,050 0 comentarios 0 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
Python
Estrellas
1.6k
Forks
697
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### Describe the bug

No connection to a kvaser device with a simplest demo script (linux, latest kvaser driver CANlib 8.50,
4.5.0 - works perfectly.

### To Reproduce

OS: Xubuntu 22.04.5 LTS x86_64 Kernel: 5.15.0-100-generic
driver Kvaser Linux Drivers and SDK 5.51.461
CANlib 8.50 (file [libcanlib.so](https://libcanlib.so/).1.10.12)

- Simplest script and python-can 4.5.0

```import can
import can.interfaces.kvaser
try:
bus = can.interface.Bus( interface='kvaser', channel=0, bitrate=500000)
bus.shutdown()
except Exception :
print("Error")
```

works for me perfectly.

- update to a new version (4.6.1).
Error

or without try/except boundaries:

```Traceback (most recent call last):
File "/home/st/Documents/PyScripts/BLapp/tmp.py", line 4, in
bus = can.interface.Bus(interface='kvaser', channel=0, bitrate=500000)
File "/home/st/Documents/PyScripts/BLapp/venv/lib/python3.10/site-packages/can/util.py", line 392, in wrapper
return f(*args, **kwargs)
File "/home/st/Documents/PyScripts/BLapp/venv/lib/python3.10/site-packages/can/interface.py", line 137, in Bus
bus = cls(channel, **kwargs)
File "/home/st/Documents/PyScripts/BLapp/venv/lib/python3.10/site-packages/can/interfaces/kvaser/canlib.py", line 563, in __init__
canIoCtlInit(
File "/home/st/Documents/PyScripts/BLapp/venv/lib/python3.10/site-packages/can/interfaces/kvaser/canlib.py", line 102, in __check_status_operation
raise CANLIBOperationError(function, result, arguments)
can.interfaces.kvaser.canlib.CANLIBOperationError: Function canIoCtl failed - Error in parameter [Error Code -1]
```

### Expected behavior

I expected in to connect to the bus as 4.5.0 did.

### Additional context

OS and version: Xubuntu 22.04.5 LTS x86_64 Kernel: 5.15.0-100-generic
Python version: 3.10.12
python-can version: 4.6.1
python-can interface/s (if applicable): kvaser

Traceback and logs

```python
import can
import can.interfaces.kvaser
try:
bus = can.interface.Bus( interface='kvaser', channel=0, bitrate=500000)
bus.shutdown()
except Exception :
print("Error")

File "/home/st/Documents/PyScripts/BLapp/tmp.py", line 4, in
bus = can.interface.Bus(interface='kvaser', channel=0, bitrate=500000)
File "/home/st/Documents/PyScripts/BLapp/venv/lib/python3.10/site-packages/can/util.py", line 392, in wrapper
return f(*args, **kwargs)
File "/home/st/Documents/PyScripts/BLapp/venv/lib/python3.10/site-packages/can/interface.py", line 137, in Bus
bus = cls(channel, **kwargs)
File "/home/st/Documents/PyScripts/BLapp/venv/lib/python3.10/site-packages/can/interfaces/kvaser/canlib.py", line 563, in __init__
canIoCtlInit(
File "/home/st/Documents/PyScripts/BLapp/venv/lib/python3.10/site-packages/can/interfaces/kvaser/canlib.py", line 102, in __check_status_operation
raise CANLIBOperationError(function, result, arguments)
can.interfaces.kvaser.canlib.CANLIBOperationError: Function canIoCtl failed - Error in parameter [Error Code -1]

```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.