Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Can't connect to a kvaser device with 4.6.1

Offen
#2,050 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
58/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
linux, python

Rechercherichtung

Beginne mit can/interfaces/kvaser/canlib.py bei dem im Traceback gemeldeten canIoCtlInit-Aufruf und vergleiche das minimale Verbindungsskript unter python-can 4.5.0 und 4.6.1. Prüfe den Initialisierungspfad der Kvaser-Schnittstelle und verifiziere, dass das Skript unter der neueren Version eine Verbindung zu Kanal 0 mit einer Bitrate von 500000 herstellt, ohne einen CANLIBOperationError auszulösen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug
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.1.10.12)

  • Simplest script and python-can 4.5.0
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:

  File "/home/st/Documents/PyScripts/BLapp/tmp.py", line 4, in <module>
    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
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 <module>
    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]


Vorherrschende Sprache
Python
Sterne
1.6k
Forks
697
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus hardbyte/python-can

Alle Issues in hardbyte/python-can

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.