Why do I get error frames?
Error frames indicate a problem with the network topology/configuration.
You need to make sure:
1. The CAN bus is properly terminated. You should have 120 Ohm termination at the furthest points of the CAN network between CAN_H and CAN_L. This would mean you should measure approximately 60 Ohms between CAN)_H and CAN_L. We do not have termination in our products.
2. The software application talking through the Kvaser interface should be using the same bus parameter settings as the other nodes on the bus. This would be bit rate, sample point, and SJW. You will need to make sure the application you are using is setting the bus parameters correctly.
3. At least CAN_H, CAN_L, and SIG_GND need to be connected. In most vehicle scenarios, all nodes are using battery for V+ and GND, so the SIG_GND would be connected to this ground.
4. The network must have at least 2 active nodes on the network to have successful CAN communication. If there is just one other node on the network, you cannot be in silent mode. If no unit can acknowledge a sent frame, the sending unit will create error frames.
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.
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 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
canWritecall, 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
canIoCtlfunction with a func parameter value of
canIOCTL_SET_LOCAL_TXECHO. See the API documentation for more detail.
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 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_NOTFOUNDwill be returned if the LIN Transceiver doesn’t have reference power.
Is LIN supported in t-script?
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.
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).
My Windows 7 MacBook freezes when I connect a Leaf Light. How can I solve this?
We have heard customers having problem where their MacBook, running Windows 7, freezes when they try to use a Leaf Light. From what we gather, this might be due to a MacBook hardware issue, where the (System management Controller) needs to be reset. This is done by restarting, and then holding the Command + Option + P + R keys before the Apple sign appears on the screen. Please consult with an Apple technician first if you are unsure, as we do not regularly use MacBooks in house, and cannot vouch for the results.
How can I connect multiple CAN interfaces to my CAN bus network?
Use the Kvaser T-cannector v2 breakout box.
If the CAN bus network is accessed through an OBD diagnostic port, simply pair the Kvaser T-cannector v2 with Kvaser’s OBD II to DSUB9 Adapter Cable (00723-9) to connect multiple CAN devices to the network.
In any system with CAN – a car, for example – you may want to experiment with different ways of data logging and set different triggers or filters. To log standard fault conditions, a good choice is a Kvaser Memorator Light – a fully automatic datalogger that requires no set-up whatsoever. However, to configure different filters in order to determine how, when and what data should be logged on separate channels, you’ll need a more complex datalogger such as a Kvaser Memorator Pro. To connect both devices to the same CAN network, use the T-cannector v2 breakout box, which is compatible with most CAN interfaces or dataloggers and best of all, can distribute power to those that require it. Critically, you won’t need to do any soldering or wiring whatsoever – simple click and connect using the T-cannector v2, and get gathering data within minutes.
How To: Get Hexadecimal output in Kvaser CanKing
- Find the “Select Formatters” window in Kvaser CanKing and select “Standard Text Format” then click Options.
2. Then select Hexadecimal from the Dialog below.
3. Click OK and you are done!
Error -37 in Setup Tools
I get Error code -37 in in Setup Tools when trying to connect to my Memorator Professional / Memorator Light:
The most common cause of this error is trying to connect to a new firmware with an old version of Setup Tool.
Update to the latest version of the setup tool to solve this problem, downloads can be found here: www.kvaser.com/support/downloads
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.
The Kvaser VI appears to be broken when I load the VI in LabVIEW.
The Kvaser VI library was originally created using LabVIEW 6.0. We have noticed that some of the newer versions of LabVIEW break wires and change constants in the VIs during the up-conversion process. This can be remedied by reattaching the broken wires and adjusting the constants back.
If you have a particular version of LabVIEW you are using, send an email to [email protected] stating the version of LabVIEW you are using. We may be able to provide a version of the Kvaser VI library that has already been corrected for that version.
The Dell E6410 has known issues with IRQ and I/O Range assignment with our drivers.
The following steps should resolve your issue:
- You need to make sure that you are using version 4.4 or later of our drivers.
The drivers are available on our website at the following location: www.kvaser.com/support/downloads
Set the Download Type to Drivers
The second item in the Results list should be Kvaser Drivers for Windows 2000/XP/Vista/Windows 7
You must have administrator rights when you install the driver.
You can confirm the driver version you are using by running the Kvaser Hardware Configuration program and checking the CANLib version on the About tab.
The Kvaser Hardware Configuration program can be found on your PC at:
Start -> Programs -> Kvaser CAN Drivers -> Kvaser Hardware Configuration
- Next, you will need to run:
dell_e6410.reg which is found in the driver install directory:
\Program Files\Kvaser\Drivers\ and reboot your computer.
These step should hopefully resolve this issue, please let us know if it doesn’t.
- You need to make sure that you are using version 4.4 or later of our drivers.
Why does my LabVIEW VI sometimes fail to find the Kvaser hardware?
When you call kvCanInitializeLibrary.vi in your application, the driver determines what hardware is attached to the PC and assigns channel numbers. The driver will not recognize any additional hardware until the dynamic link library (DLL) is unloaded. This would normally happen when the application exits. However, Windows associates the DLL with LabVIEW – not the running VI. Therefore, the DLL is not unloaded until LabVIEW is completely exited.
So, if you run your VI until the VI exits, then attach Kvaser hardware. When you run the VI again, the newly attached Kvaser hardware will not be recognized unless you completely exit LabVIEW first.
If you would like to unload the DLL within you VI, you can create a VI wrapper for the canlib32.dll function canUnloadLibrary().
Using Vector CANalyzer 5.2 with Kvaser hardware
Unknown Device: computer doesn’t recognize the CAN hardware
The example below is taken from Win2000 (and some specific has been taken from XP), it’s not exactly the same on Win98/ME/XP but it should not be a significant problem for anyone. Pay attention to the red colored text.
1. Make sure that you have installed the latest drivers.
2. Open the Control Panel (click Start -> Settings -> Control Panel)
3. In the Control Panel double click the “System” icon (opens the “System Properties” window). In the “System Properties” window click the “Hardware” folder and then the “Device Manager” button (Win98: There is no “Hardware”-folder in Win98, instead there is a “Device Manager” folder that you may use instead to open the “Device Manager Window”, see point 3).
3. In the “Device Manager” window double-click the “KVASER hardware” icon (that will open the “KVASER hardware Properties“-window). Use the the mouse right mouse button and open the “Properties” window..
4. In the “KVASER [hardware] Properties” mark the “Driver” folder and then you click the “Update Driver” button.
5. By clicking the “Update Driver” button the “Upgrade Device Driver Wizard” will start. Click “Next”
6. In the “Install Hardware Device Drivers” window mark “Display a list of the known drivers for this device so that I can choose a specific“. (DO NOT LET WINDOWS SEARCH BY ITS OWN!)
7. In the next window (“Select a Device Driver“) click the “Have Disk” button.
( DO NOT CLICK “Next”, that’s very important )
8. In the next Window (“Install from disk“) click “Browse” and browse to the directory where you chose to install the drivers(point 1 of this document). You may find either of “kvaser.inf” or “kvaser2.inf” file in that directory; open this file. (The default location is “C:\Program Files\KVASER\Drivers”)
9. The CANLib Drivers (represented by the INF file you opened in the previous step) contains drivers for most KVASER hardware, therefore you have to mark the “KVASER hardware” and then you click “Next“.
10. In the next window (“Start Device Installation“) just click “Next“.
11. In the next window (“Completing the Upgrade Device Driver Wizard“) just click the “Finish” button.
12. Reboot your computer!!!