Knowledge Base


  • If I change Kvaser USB interfaces, do I need new Drivers and SDK?

    All Kvaser interfaces share the same Drivers and SDK package. A software that has been written for the Kvaser Leaf light or Kvaser Leaf Pro can often be used with Kvaser U100 and Kvaser U100P without any changes. (But it is never wrong to update/recompile the software with the latest Kvaser SDK).

  • Will a USB connected interface ever be as fast as an internal mounted interface card?

    The currently used technologies will always favor an internally mounted CAN interface before an externally connected CAN interface.

  • Is LIN supported in t-script?

    Yes, it is. An example on how to use it can be found in your CANlib directory, C:\Program Files (x86)\Kvaser\Canlib\Samples\Example\tScript\Misc. The lintest.t example will show a basic setup on how to set up a LIN t-script.

  • Why doesn’t my LIN communication work after Bus On?

    LIN Transceiver require reference voltage between 9-18V DC according to the LIN Protocol Specification. You need to have an external reference voltage to PIN9 of the DSUB connector. This is applicable to both the Kvaser Leaf Professional LIN as well as all Kvaser Hybrid series interfaces.

    For users that do their own programing with canlib/linlib SDK, a status of linERR_NOTFOUND will be returned if the LIN Transceiver doesn’t have reference power.

  • Will messages transmitted using a t program be received on a handle to the same channel controlling the t program?

    No. The only way to receive messages transmitted using a t program is to have another physical channel on the CAN bus.

  • Why do I receive copies of my canWrite messages in the receive buffer of my other handle to the channel?

    Multiple handles to the same channel work like a virtual bus extension.  When a message is successfully placed on the CAN bus through the canWrite call, a copy of the message is placed in every handle’s receive buffer associated with the same channel.  This is the default behavior.  You can change this behavior for a handle using the canIoCtl function with a func parameter value of canIOCTL_SET_LOCAL_TXECHO.  See the API documentation for more detail.

  • Will messages transmitted using the object buffers (canObjBuf***()) show up in my receive buffer if I have TX_ACK turned on?

    No. The only way to receive messages transmitted using the object buffers is to have another physical channel on the CAN bus.

  • Why do I receive a transmit buffer overrun when I try to test the CAN interface with nothing else connected?

    CAN requires a minimum of two active CAN nodes to have successful CAN communication.  When one node transmits on the CAN bus, the other node must be present to provide the ACK frame to let the transmitter know the frame was placed on the CAN bus correctly.  If there is no other CAN node, the CAN interface will continuously try to transmit the first CAN frame from your first canWrite call while your subsequent calls to canWrite fill the transmit buffer until the buffer is full.

  • Driver installation problems

    Driver installation problems are often caused by antivirus software. A common issue is failing to install the enumeration service during the driver install.

    Solution:  Make sure your antivirus software is turned off and then install the driver again.