- Walter Oney Software Driver Download For Windows 10 32-bit
- Walter Oney Software Driver Download For Windows 10 64-bit
The common filename for the program's installer is WALTR2.exe. The latest version of the program is supported on PCs running Windows 7/8/10, 64-bit. The actual developer of the program is Softorino, Inc. WALTR2 relates to System Utilities. The most popular versions among the software users are 2.7, 2.6 and 2.0. The VCPTest program is intended to show how to communicate with an FTDI device from a Windows CE based system using FTDI's VCP drivers for Windows CE. It sends and receives data through a loopback connector. To download the program with C source code, click click here. Microsoft® ODBC Driver 13.1 for SQL Server® - Windows, Linux, & macOS. The Microsoft ODBC Driver for SQL Server provides native connectivity from Windows, Linux, & macOS to Microsoft SQL Server and Microsoft Azure SQL Database. The easiest way to transfer files to any iPhone, iPad or iPod. Without iTunes, converters or other extra apps. Just drag-n-drop your music, video or book in any format into WALTR 2. The rest is done for you.
Now that we need a driver for our PCI card, there are two ways to get it.The easy way
The easy way consists on having someone else doing the hard work for you!Check out WinDriver.
That's a commercial toolkit that can build a PCI plug-and-play driver solution for you in minutes.
It works like that:
- You run a wizard that detects your plug-and-play devices, including the PCI cards.
- You select your card of interest, give a name to your device and create an '.inf' file.
- That's enough for Windows to be able to recognize the hardware and convince him that it should use WinDriver's driver. You quit the wizard, and go through Window's plug-and-play hardware detection to install the driver.
- Once the driver is installed, you run the wizard again, this time to build some example source code to access the PCI card.
Windriver may be nice, but at $2000, that's expensive if all you want to do is experiment with PCI plug-and-play mechanisms.
The hard way
Use Microsoft Windows DDK.
Installing Windows DDK
The latest Windows DDKs releases are not free, while earlier incarnations (98/2000) were free to download.The DDKs are easy to install. For Win98 and Win2000 DDKs, first install Visual C++ 5.0 or 6.0, then the DDK itself. Then following the 'install.htm' instructions to build a few sample drivers using the 'build' command.
A minimum WDM Plug-and-Play driver
Here's the very minimum code required for Windows device manager to allocate the memory resource used by our PCI card.Since it's a WDM driver, it works in WinXP/2000/98.
The entry point of a WDM driver is a 'DriverEntry' function (like the 'main' of a C program).
NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath) { DriverObject->DriverExtension->AddDevice = DevicePCI_AddDevice; DriverObject->MajorFunction[IRP_MJ_PNP] = DevicePCI_PnP; return STATUS_SUCCESS; } |
Walter Oney Software Driver Download For Windows 10 32-bit
A WDM driver creates at least one 'device' (if your PC has multiple similar items, the same WDM driver may create multiple devices). Before the driver can create a device, we need a 'Device Extension' structure. The structure is used by each device to store information. We can make it as big as we want, and a typical device will store many fields in there. Our minimum device just needs one field.
typedef struct { PDEVICE_OBJECT NextStackDevice; } DevicePCI_DEVICE_EXTENSION, *PDevicePCI_DEVICE_EXTENSION; |
What is this 'NextStackDevice' for? a WDM implementation detail..
WDM devices process IRPs ('I/O Request Packets', create/read/write/close..). WDM devices don't work alone but are assembled in logical 'stacks' of devices. IRP requests are sent along the stack and are processed on the way. Stacks are created from bottom to top (bottom=hardware layers, top=logical layers). When a stack is created, each device attaches itself to the device just below. A device typically stores the info about the device just below himself in the Device Extension, so that later, it can forward along IRP requests. A device doesn't really know where it is in the stack, it just processes or forwards requests as they are coming.
Anyway, now we can implement DevicePCI_AddDevice.
It creates a device object and attaches the device to the device stack.
NTSTATUS DevicePCI_AddDevice(PDRIVER_OBJECT DriverObject, PDEVICE_OBJECT pdo) { // Create the device and allocate the 'Device Extension' PDEVICE_OBJECT fdo; NTSTATUS status = IoCreateDevice(DriverObject, sizeof(DevicePCI_DEVICE_EXTENSION), NULL, FILE_DEVICE_UNKNOWN, 0, FALSE, &fdo); if(!NT_SUCCESS(status)) return status; // Attach to the driver below us PDevicePCI_DEVICE_EXTENSION dx = (PDevicePCI_DEVICE_EXTENSION)fdo->DeviceExtension; dx->NextStackDevice = IoAttachDeviceToDeviceStack(fdo, pdo); fdo->Flags &= ~DO_DEVICE_INITIALIZING; return STATUS_SUCCESS; } |
Finally we can process the Plug-and-Play IRP requests.
Our minimum device processes only START_DEVICE and REMOVE_DEVICE requests.
NTSTATUS DevicePCI_PnP(PDEVICE_OBJECT fdo, PIRP IRP) { PDevicePCI_DEVICE_EXTENSION dx = (PDevicePCI_DEVICE_EXTENSION)fdo->DeviceExtension; PIO_STACK_LOCATION IrpStack = IoGetCurrentIrpStackLocation(IRP); ULONG MinorFunction = IrpStack->MinorFunction; switch(MinorFunction) { case IRP_MN_START_DEVICE: // we should check the allocated resource.. break; case IRP_MN_REMOVE_DEVICE: status = IRP_NotCompleted(fdo, IRP); if(dx->NextStackDevice) IoDetachDevice(dx->NextStackDevice); IoDeleteDevice(fdo); break; } // call the device below us IoSkipCurrentIrpStackLocation(IRP); return IoCallDriver(dx->NextStackDevice, IRP); } |
The START_DEVICE request is the one where we accept or refuse the memory resources. Here we don't do anything but forward the request down the stack, where it is always accepted.
Now, our device gets some memory resources, but doesn't do anything with them.
To be more useful, the driver would need to:
- Check the memory resources before accepting them
- Export a device name
- Implement some 'DeviceIOcontrol' to communicate with a Win32 application
- Handle more IO requests ('IRP')
- ..
Walter Oney Software Driver Download For Windows 10 64-bit
You can get more sample code by studying the 'portio' project in the Windows 2000 DDK for example.Links
- Jungo's WinDriver toolkit
- Examples of NT4 style drivers: Kamel from ADP GmbH, DumpPCI from Microsoft
- Programming the Microsoft Windows driver model book from Walter Oney
Latest drivers:
Below is a block diagram showing drivers you need to install to get CANUSB to work properly (some are optional) in Windows. You as an end user need to find out which drivers to install if you use a software made by a 3rd party developer, check with them for more information. You as a developer of your own software/application can choose which level/path you want.
Introduction to drivers and what is needed:
The FTDI USB driver must be installed first and it is installed automatically when plugging in the CANUSB (on new CANUSB using standard USB VID/PID, see below for more information).
Then installing the CANUSB DLL or selecting VCP mode is optional.
CANUSB can work with FTDI USB driver only and interface with our ASCII protocol directly through the FTDI D2XX DLL or if enabled the VCP (Virtual COM port) mode. Using VCP is simple and the CANUSB can easily be tested with e.g. a terminal software but is much slower than the D2XX DLL.
The CANUSB DLL Library adds functions for opening, closing, sending & receiving CAN frames easily and there is also a DLL wrapper for C#. Our CANUSB DLL uses the FTDI USB D2XX DLL together with our ASCII protocol. Download the zip package, unzip and run setup to install the CANUSB DLL, do not run setup within the zip file. Choose either 32bit or 64bit DLL depending on what you shall develop or what the 3rd party program uses. This is not machine dependent, it is application dependant. We do not make/provide any HLP (Higher Layer Protocol) DLL/Software such as CANopen, DeviceNet, J1939 etc. CANUSB uses Layer 2 of OSI model, so any HLP could be added on top of that, but we do not make such software. Check with 3rd party companies.
Note: We have updated CANUSB to use standard FTDI PID 6001 in February 2015. LAWICEL CANUSB used FTDI VID 0403 and PID FFA8 prior to February 2015, then we have changed to standard FTDI VID 0403 and PID 6001. Read more about this in this post to see which CANUSB you have prior to installing drivers below.
Step 1, Installing FTDI USB Drivers:
If your PC (where you shall use the CANUSB) have an internet Connection, do not download FTDI USB drivers, Windows will find the proper drivers it self since they are signed.
Download targasys driver printer. If your PC (where you shall use the CANUSB) do not have an internet connection, download the FTDI USB from FTDI below.
FTDI USB drivers download section
Use only this older FTDI USB driver with CANUSB using custom PID FFA8 (CANUSB made prior to February 2015:
FTDI USB drivers (version 2.08.30)
Note: since this is not signed, drivers will not install automatically in Windows Vista and Windows 7/8/10, let if fail when you connect it and then go to the device manager and choose to update drivers (right click on CANUSB). In Windows 8/10 you also need to read this post. Since Microsoft has dropped support for Windows XP we cannot guarantee that the these old FTDI drivers work properly, you may need to update the PID.
If you shall use the VCP driver (which is slower than D2XX) with CANUSB you may need to go to device manager and right click on properties on the 'LAWICEL CANUSB' or 'USB Serial Converter' (depending on which PID you have on the CANUSB, see above for more information) device in the USB group, then click advance tab and check the checkbox 'Load VCP' and then save and exit (do this when CANUSB is connected), then unplug CANUSB and plug it in again, then it will load VCP drivers and a COMx port will be assigned to CANUSB. Picture below shows what to check/tick in yellow (using FTDI driver version 2.12.06). You may need to reboot PC for the Advanced folder to appear when you have installed (or updated) drivers. If you have other USB devices that uses FTDI, make sure you right click the correct one!
Step 2, Installing the CANUSB DLL (Optional):
Windows 10 users may need to enable .NET framework 3.5 (which includes v2.0) before installing CANUSB DLL. How to install .NET 3.5 support: Go to 'Control Panel' then 'Programs and Features' and then 'Turn Windows
features on or off' ( on left menu), then you can enable Microsoft .NET
Framework v3.5 which also adds support for 2.0 which is required for our CANUSB DLL. Then reboot PC and install our CANUSB DLL.
Use ONLY one of these DLL API if your application/software requires them and check if you shall use (32bit or 64bit) since most use 32bit (95%) even on 64bit machines, so it is not the Windows version that decides this, it's the software that shall use it:
Drivers wiquest usb devices. Download one of the zip file, uninstall and run the setup file. Please note in order to install these, you need the CANUSB and to have installed the FTDI USB drivers prior to this step!
Note: Only use the 64bit DLL driver package if you intend to develop 64bit software, since the 32bit demos or application will not work with 64bit drivers, they only work with 32bit drivers (even on a 64bit Windows). We have noticed that the canusbdrv64.dll is not installed properly everytime, so if you miss the canusbdrv64 DLL, you can download it here separatly (after installing the 64bit driver package 2.0.2 above).
If you use Windows XP, there are old drivers at the bottom of this page, however we (LAWICEL AB) do not support it any longer and 3rd party tool may require a newer FTDI USB driver. There are some issues with FTDI drivers and XP and it may not work on all PC's.
If you use Windows 7, 8 or 10 and old PID FFA8, please read this post. We changed PID February 2015.
Latest Documents:
The CANUSB ASCII manual is for those who will make the driver implementation on their own using FTDI VCP (Virtual COM port) or D2XX DLL directly.
CANUSB uses dual filter mode and we have made two documents that shows how to set these filters for both 11bit ID's and 29bit ID's. When using dual filter mode, it is possible to set to regions of CAN ID's. When using 11bit ID's this means it is possible to accept only one ID, but when using 29bit ID's it is not possible to mask the who ID. Also remember if you only need one ID or one group of ID to set both masks to the same, so the unwanted CAN frames do not slip through the second filter!
CANUSB uses SJA1000 CAN controller. For more information on how acceptence filters works we refer to the SJA1000 datasheet pages 44-48 and SJA1000 application note pages 19-22 (AN97076). Single filter mode is not availible in CANUSB.
Sample Programs (source code):
C# CAN232 Monitor Lite (Made with Visual Studio 2010)
Works with CANUSB and FTDI VCP USB drivers only, the CANUSB DLL is not needed for this sample, make sure you enable VCP, see above how to enable VCP. Information is in our CAN232 download section since this is in first hand a sample for CAN232, but will work with CANUSB in VCP mode as well.
Visual Studio 2010 (C# and VB.Net, uses new CANUSB DLL which is not included)
LabView 8 sample program (kindly provided by Nick Manor from EMP R&D Center) is provided as is, we cannot give support on it as it is right now, nor can the author. The program comes with source code and a stand alone EXE file, but in order to run the stand alone file without LabView 8, you need LabView 8 runtime files. Also make sure you have installed the latest version of the CANUSB API DLL and the D2XX USB drivers.
LabView 8 source code example (Provided as is, no support from us)
A sample package with instruction for Linux can be found below and was made by a customer. The maker have tested this driver under some Linux distributions and it seems to work well, however we cannot do support related questions on Linux right now since we have no Linux machine nor any experience with Linux. Follow the instructions on how to install the driver etc. It is important that you use the drivers included in the package since these drivers include our CANUSB PID info etc. This package is not the same full blown driver package as delivered with Windows, it is more a sample source code package on how to get started and install the CANUSB under Linux and send and receive frames using the D2XX driver. Customers who want to contribute with code built on this code or from code written from scratch are welcome todo so and we will put the code in the Linux folder with full credit to you.
Linux source code example with information (Provided as is, no support from us).
Other Software (no source code):
CAN Monitor Lite is a free version from WGSoft. Built using CANUSB API DLL 32bit (with D2XX USB drivers) and Delphi 2005. Package only includes the executable file, no source is included. This means you need to install the CANUSB with D2XX drivers and download the CANUSB DLL. The software is provided as is and may be used for free. This is a perfect software to log and send 11bit CAN frames. Use the 3:rd icon from the left on the toolbar to set CAN Speed etc. then open CANUSB driver with the 1:st icon and then press the green 'play button' and you are ready to log frames or/and send frames. We cannot answer any support related questions, please contact the vendor WGSoft for support. This is a 32bit application and will not work together with the 64bit driver DLL package even if you have a 64bit Windows!
Download Unibrain 1394 FireNet Adapter for Windows to net driver. UbCore(TM) 1394b drivers. UbCore™, is the first and only driver suite that fully supports the 1394b standard. It is highly recommended by Texas Instruments. Development / Drivers. Unibrain provides driver support for OHCI IEEE1394 Bus Host Controllers, IIDC 1394 Digital Cameras and SBP2 disks, special Fire-i API SDK to develop and debug professional applications for IIDC 1394 Digital Cameras and generic Fire API SDK with all the tools needed for developing and debugging any 1394 application in the Windows environment. Download Unibrain 1394 driver. UbCore™ drivers come into 2 'flavors' (versions): ‘ubCore' and ‘ubCore Pro‘. UbCore™ is oriented for end users who want to utilize the full Firewire-800 speed of their 1394b devices (webcams, firewire hard drives, networking) and it is available as a free download, while ubCore Pro™ is oriented for professional users and FireAPI™ SDK customers.
WGSoft CAN Monitor Lite V1.00 (requires 32bit CANUSB DLL to be installed)
For easy testing we recommend using a terminal software and we have been using Terminal by Bray for many years now, it is just one file and requires no installation. Just visit the link below, download and place executable in a new folder or on desktop. This terminal software is nice in the way you can see non printable characters.
Terminal software by Bray (requires VCP driver to be installed)
External Projects for CANUSB:
Please note we cannot have support on these projects, ask the respective author for support.
CANopen Library for CANUSB made and supported by Hagströms utbildning & konsult, Sweden. It is available as open source (GPL v.3.0) or commercial licence. Contact Hagströms directly for support and sales at www.datalink.se. Below you can dowload the PDF Documentation and a ZIP file containing the project. Right now we cannot answer any support related questions on this project, contact the vendor for support and info. The project is not hosted on this site, so if links do not work, contact the vendor.
Documentation, API (Documentation PDF is on external server)
Project, Source code package (Project ZIP is on external server)
jCAN, Open Source JAVA support for CANUSB. We cannot answer any support related questions on this project, so contact the maker for support.
Visit CodeSkin jCAN (Project is on external server)
The CANUSBJNA Library implements access to our native CANUSB DLL using Java Native Access (JNA).
Visit CANUSBJNA (Project is on external server)
SocketCAN is a set of open source CAN drivers and a networking stack contributed by Volkswagen Research to the Linux kernel and it uses the CANUSB (as well as the CAN232) ASCII API made by LAWICEL.
Visit SocketCAN on Wikipedia (external server)
NEW: Here is a great step-by-step guide on how to install the CANUSB on Linux using SocketCAN with slcan (VCP) by Pascal Walter. Contact the author for support related matters.
Visit Linux Guide (guide is on external server)
PeliCAN is designed as a simple visualization software for hobby Projects running under Linux and Windows. There is source code etc. and it uses the ASCII API made by LAWICEL.
Visit peliCAN (Project is on external server)
If you have any projects made with/for CANUSB and want to display them here, please contact us and we will be happy to put them here either on our server or a link to yours. It could be for Visual Basic 6, Delphi, C, C++, C#, Linux, Windows, MacOS, PDA's or other embedded projects. It doesn't need to include source code (though we like that). It could be an executable, picture or a story. We will give you full credit for the work. Use our contact form in our webshop to get in contact with us.
Old Documents:
No old documents found.
Use Microsoft Windows DDK.
Installing Windows DDK
The latest Windows DDKs releases are not free, while earlier incarnations (98/2000) were free to download.The DDKs are easy to install. For Win98 and Win2000 DDKs, first install Visual C++ 5.0 or 6.0, then the DDK itself. Then following the 'install.htm' instructions to build a few sample drivers using the 'build' command.
A minimum WDM Plug-and-Play driver
Here's the very minimum code required for Windows device manager to allocate the memory resource used by our PCI card.Since it's a WDM driver, it works in WinXP/2000/98.
The entry point of a WDM driver is a 'DriverEntry' function (like the 'main' of a C program).
Its main purpose is to publish addresses of callback functions. Our minimum driver just needs 2.
NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath) { DriverObject->DriverExtension->AddDevice = DevicePCI_AddDevice; DriverObject->MajorFunction[IRP_MJ_PNP] = DevicePCI_PnP; return STATUS_SUCCESS; } |
Walter Oney Software Driver Download For Windows 10 32-bit
A WDM driver creates at least one 'device' (if your PC has multiple similar items, the same WDM driver may create multiple devices). Before the driver can create a device, we need a 'Device Extension' structure. The structure is used by each device to store information. We can make it as big as we want, and a typical device will store many fields in there. Our minimum device just needs one field.
typedef struct { PDEVICE_OBJECT NextStackDevice; } DevicePCI_DEVICE_EXTENSION, *PDevicePCI_DEVICE_EXTENSION; |
What is this 'NextStackDevice' for? a WDM implementation detail..
WDM devices process IRPs ('I/O Request Packets', create/read/write/close..). WDM devices don't work alone but are assembled in logical 'stacks' of devices. IRP requests are sent along the stack and are processed on the way. Stacks are created from bottom to top (bottom=hardware layers, top=logical layers). When a stack is created, each device attaches itself to the device just below. A device typically stores the info about the device just below himself in the Device Extension, so that later, it can forward along IRP requests. A device doesn't really know where it is in the stack, it just processes or forwards requests as they are coming.
Anyway, now we can implement DevicePCI_AddDevice.
It creates a device object and attaches the device to the device stack.
NTSTATUS DevicePCI_AddDevice(PDRIVER_OBJECT DriverObject, PDEVICE_OBJECT pdo) { // Create the device and allocate the 'Device Extension' PDEVICE_OBJECT fdo; NTSTATUS status = IoCreateDevice(DriverObject, sizeof(DevicePCI_DEVICE_EXTENSION), NULL, FILE_DEVICE_UNKNOWN, 0, FALSE, &fdo); if(!NT_SUCCESS(status)) return status; // Attach to the driver below us PDevicePCI_DEVICE_EXTENSION dx = (PDevicePCI_DEVICE_EXTENSION)fdo->DeviceExtension; dx->NextStackDevice = IoAttachDeviceToDeviceStack(fdo, pdo); fdo->Flags &= ~DO_DEVICE_INITIALIZING; return STATUS_SUCCESS; } |
Finally we can process the Plug-and-Play IRP requests.
Our minimum device processes only START_DEVICE and REMOVE_DEVICE requests.
NTSTATUS DevicePCI_PnP(PDEVICE_OBJECT fdo, PIRP IRP) { PDevicePCI_DEVICE_EXTENSION dx = (PDevicePCI_DEVICE_EXTENSION)fdo->DeviceExtension; PIO_STACK_LOCATION IrpStack = IoGetCurrentIrpStackLocation(IRP); ULONG MinorFunction = IrpStack->MinorFunction; switch(MinorFunction) { case IRP_MN_START_DEVICE: // we should check the allocated resource.. break; case IRP_MN_REMOVE_DEVICE: status = IRP_NotCompleted(fdo, IRP); if(dx->NextStackDevice) IoDetachDevice(dx->NextStackDevice); IoDeleteDevice(fdo); break; } // call the device below us IoSkipCurrentIrpStackLocation(IRP); return IoCallDriver(dx->NextStackDevice, IRP); } |
The START_DEVICE request is the one where we accept or refuse the memory resources. Here we don't do anything but forward the request down the stack, where it is always accepted.
Now, our device gets some memory resources, but doesn't do anything with them.
To be more useful, the driver would need to:
- Check the memory resources before accepting them
- Export a device name
- Implement some 'DeviceIOcontrol' to communicate with a Win32 application
- Handle more IO requests ('IRP')
- ..
Walter Oney Software Driver Download For Windows 10 64-bit
You can get more sample code by studying the 'portio' project in the Windows 2000 DDK for example.Links
- Jungo's WinDriver toolkit
- Examples of NT4 style drivers: Kamel from ADP GmbH, DumpPCI from Microsoft
- Programming the Microsoft Windows driver model book from Walter Oney
Latest drivers:
Below is a block diagram showing drivers you need to install to get CANUSB to work properly (some are optional) in Windows. You as an end user need to find out which drivers to install if you use a software made by a 3rd party developer, check with them for more information. You as a developer of your own software/application can choose which level/path you want.
Introduction to drivers and what is needed:
The FTDI USB driver must be installed first and it is installed automatically when plugging in the CANUSB (on new CANUSB using standard USB VID/PID, see below for more information).
Then installing the CANUSB DLL or selecting VCP mode is optional.
CANUSB can work with FTDI USB driver only and interface with our ASCII protocol directly through the FTDI D2XX DLL or if enabled the VCP (Virtual COM port) mode. Using VCP is simple and the CANUSB can easily be tested with e.g. a terminal software but is much slower than the D2XX DLL.
The CANUSB DLL Library adds functions for opening, closing, sending & receiving CAN frames easily and there is also a DLL wrapper for C#. Our CANUSB DLL uses the FTDI USB D2XX DLL together with our ASCII protocol. Download the zip package, unzip and run setup to install the CANUSB DLL, do not run setup within the zip file. Choose either 32bit or 64bit DLL depending on what you shall develop or what the 3rd party program uses. This is not machine dependent, it is application dependant. We do not make/provide any HLP (Higher Layer Protocol) DLL/Software such as CANopen, DeviceNet, J1939 etc. CANUSB uses Layer 2 of OSI model, so any HLP could be added on top of that, but we do not make such software. Check with 3rd party companies.
Note: We have updated CANUSB to use standard FTDI PID 6001 in February 2015. LAWICEL CANUSB used FTDI VID 0403 and PID FFA8 prior to February 2015, then we have changed to standard FTDI VID 0403 and PID 6001. Read more about this in this post to see which CANUSB you have prior to installing drivers below.
Step 1, Installing FTDI USB Drivers:
If your PC (where you shall use the CANUSB) have an internet Connection, do not download FTDI USB drivers, Windows will find the proper drivers it self since they are signed.
Download targasys driver printer. If your PC (where you shall use the CANUSB) do not have an internet connection, download the FTDI USB from FTDI below.
FTDI USB drivers download section
Use only this older FTDI USB driver with CANUSB using custom PID FFA8 (CANUSB made prior to February 2015:
FTDI USB drivers (version 2.08.30)
Note: since this is not signed, drivers will not install automatically in Windows Vista and Windows 7/8/10, let if fail when you connect it and then go to the device manager and choose to update drivers (right click on CANUSB). In Windows 8/10 you also need to read this post. Since Microsoft has dropped support for Windows XP we cannot guarantee that the these old FTDI drivers work properly, you may need to update the PID.
If you shall use the VCP driver (which is slower than D2XX) with CANUSB you may need to go to device manager and right click on properties on the 'LAWICEL CANUSB' or 'USB Serial Converter' (depending on which PID you have on the CANUSB, see above for more information) device in the USB group, then click advance tab and check the checkbox 'Load VCP' and then save and exit (do this when CANUSB is connected), then unplug CANUSB and plug it in again, then it will load VCP drivers and a COMx port will be assigned to CANUSB. Picture below shows what to check/tick in yellow (using FTDI driver version 2.12.06). You may need to reboot PC for the Advanced folder to appear when you have installed (or updated) drivers. If you have other USB devices that uses FTDI, make sure you right click the correct one!
Step 2, Installing the CANUSB DLL (Optional):
Windows 10 users may need to enable .NET framework 3.5 (which includes v2.0) before installing CANUSB DLL. How to install .NET 3.5 support: Go to 'Control Panel' then 'Programs and Features' and then 'Turn Windows
features on or off' ( on left menu), then you can enable Microsoft .NET
Framework v3.5 which also adds support for 2.0 which is required for our CANUSB DLL. Then reboot PC and install our CANUSB DLL.
Use ONLY one of these DLL API if your application/software requires them and check if you shall use (32bit or 64bit) since most use 32bit (95%) even on 64bit machines, so it is not the Windows version that decides this, it's the software that shall use it:
Drivers wiquest usb devices. Download one of the zip file, uninstall and run the setup file. Please note in order to install these, you need the CANUSB and to have installed the FTDI USB drivers prior to this step!
Note: Only use the 64bit DLL driver package if you intend to develop 64bit software, since the 32bit demos or application will not work with 64bit drivers, they only work with 32bit drivers (even on a 64bit Windows). We have noticed that the canusbdrv64.dll is not installed properly everytime, so if you miss the canusbdrv64 DLL, you can download it here separatly (after installing the 64bit driver package 2.0.2 above).
If you use Windows XP, there are old drivers at the bottom of this page, however we (LAWICEL AB) do not support it any longer and 3rd party tool may require a newer FTDI USB driver. There are some issues with FTDI drivers and XP and it may not work on all PC's.
If you use Windows 7, 8 or 10 and old PID FFA8, please read this post. We changed PID February 2015.
Latest Documents:
The CANUSB ASCII manual is for those who will make the driver implementation on their own using FTDI VCP (Virtual COM port) or D2XX DLL directly.
CANUSB uses dual filter mode and we have made two documents that shows how to set these filters for both 11bit ID's and 29bit ID's. When using dual filter mode, it is possible to set to regions of CAN ID's. When using 11bit ID's this means it is possible to accept only one ID, but when using 29bit ID's it is not possible to mask the who ID. Also remember if you only need one ID or one group of ID to set both masks to the same, so the unwanted CAN frames do not slip through the second filter!
CANUSB uses SJA1000 CAN controller. For more information on how acceptence filters works we refer to the SJA1000 datasheet pages 44-48 and SJA1000 application note pages 19-22 (AN97076). Single filter mode is not availible in CANUSB.
Sample Programs (source code):
C# CAN232 Monitor Lite (Made with Visual Studio 2010)
Works with CANUSB and FTDI VCP USB drivers only, the CANUSB DLL is not needed for this sample, make sure you enable VCP, see above how to enable VCP. Information is in our CAN232 download section since this is in first hand a sample for CAN232, but will work with CANUSB in VCP mode as well.
Visual Studio 2010 (C# and VB.Net, uses new CANUSB DLL which is not included)
LabView 8 sample program (kindly provided by Nick Manor from EMP R&D Center) is provided as is, we cannot give support on it as it is right now, nor can the author. The program comes with source code and a stand alone EXE file, but in order to run the stand alone file without LabView 8, you need LabView 8 runtime files. Also make sure you have installed the latest version of the CANUSB API DLL and the D2XX USB drivers.
LabView 8 source code example (Provided as is, no support from us)
A sample package with instruction for Linux can be found below and was made by a customer. The maker have tested this driver under some Linux distributions and it seems to work well, however we cannot do support related questions on Linux right now since we have no Linux machine nor any experience with Linux. Follow the instructions on how to install the driver etc. It is important that you use the drivers included in the package since these drivers include our CANUSB PID info etc. This package is not the same full blown driver package as delivered with Windows, it is more a sample source code package on how to get started and install the CANUSB under Linux and send and receive frames using the D2XX driver. Customers who want to contribute with code built on this code or from code written from scratch are welcome todo so and we will put the code in the Linux folder with full credit to you.
Linux source code example with information (Provided as is, no support from us).
Other Software (no source code):
CAN Monitor Lite is a free version from WGSoft. Built using CANUSB API DLL 32bit (with D2XX USB drivers) and Delphi 2005. Package only includes the executable file, no source is included. This means you need to install the CANUSB with D2XX drivers and download the CANUSB DLL. The software is provided as is and may be used for free. This is a perfect software to log and send 11bit CAN frames. Use the 3:rd icon from the left on the toolbar to set CAN Speed etc. then open CANUSB driver with the 1:st icon and then press the green 'play button' and you are ready to log frames or/and send frames. We cannot answer any support related questions, please contact the vendor WGSoft for support. This is a 32bit application and will not work together with the 64bit driver DLL package even if you have a 64bit Windows!
Download Unibrain 1394 FireNet Adapter for Windows to net driver. UbCore(TM) 1394b drivers. UbCore™, is the first and only driver suite that fully supports the 1394b standard. It is highly recommended by Texas Instruments. Development / Drivers. Unibrain provides driver support for OHCI IEEE1394 Bus Host Controllers, IIDC 1394 Digital Cameras and SBP2 disks, special Fire-i API SDK to develop and debug professional applications for IIDC 1394 Digital Cameras and generic Fire API SDK with all the tools needed for developing and debugging any 1394 application in the Windows environment. Download Unibrain 1394 driver. UbCore™ drivers come into 2 'flavors' (versions): ‘ubCore' and ‘ubCore Pro‘. UbCore™ is oriented for end users who want to utilize the full Firewire-800 speed of their 1394b devices (webcams, firewire hard drives, networking) and it is available as a free download, while ubCore Pro™ is oriented for professional users and FireAPI™ SDK customers.
WGSoft CAN Monitor Lite V1.00 (requires 32bit CANUSB DLL to be installed)
For easy testing we recommend using a terminal software and we have been using Terminal by Bray for many years now, it is just one file and requires no installation. Just visit the link below, download and place executable in a new folder or on desktop. This terminal software is nice in the way you can see non printable characters.
Terminal software by Bray (requires VCP driver to be installed)
External Projects for CANUSB:
Please note we cannot have support on these projects, ask the respective author for support.
CANopen Library for CANUSB made and supported by Hagströms utbildning & konsult, Sweden. It is available as open source (GPL v.3.0) or commercial licence. Contact Hagströms directly for support and sales at www.datalink.se. Below you can dowload the PDF Documentation and a ZIP file containing the project. Right now we cannot answer any support related questions on this project, contact the vendor for support and info. The project is not hosted on this site, so if links do not work, contact the vendor.
Documentation, API (Documentation PDF is on external server)
Project, Source code package (Project ZIP is on external server)
jCAN, Open Source JAVA support for CANUSB. We cannot answer any support related questions on this project, so contact the maker for support.
Visit CodeSkin jCAN (Project is on external server)
The CANUSBJNA Library implements access to our native CANUSB DLL using Java Native Access (JNA).
Visit CANUSBJNA (Project is on external server)
SocketCAN is a set of open source CAN drivers and a networking stack contributed by Volkswagen Research to the Linux kernel and it uses the CANUSB (as well as the CAN232) ASCII API made by LAWICEL.
Visit SocketCAN on Wikipedia (external server)
NEW: Here is a great step-by-step guide on how to install the CANUSB on Linux using SocketCAN with slcan (VCP) by Pascal Walter. Contact the author for support related matters.
Visit Linux Guide (guide is on external server)
PeliCAN is designed as a simple visualization software for hobby Projects running under Linux and Windows. There is source code etc. and it uses the ASCII API made by LAWICEL.
Visit peliCAN (Project is on external server)
If you have any projects made with/for CANUSB and want to display them here, please contact us and we will be happy to put them here either on our server or a link to yours. It could be for Visual Basic 6, Delphi, C, C++, C#, Linux, Windows, MacOS, PDA's or other embedded projects. It doesn't need to include source code (though we like that). It could be an executable, picture or a story. We will give you full credit for the work. Use our contact form in our webshop to get in contact with us.
Old Documents:
No old documents found.
Old Drivers:
These are old drivers for reference only of ir you have an old CANUSB or running Windows XP. It seems XP doesn't handle the newer FTDI USB drivers (2.08.xx or later) very well and the old CANUSB using FTDI USB chip FT245BL seems to have problems with the new FTDI drivers as well, so if you run into problems, test 2.04.16.
Our own CANUSB DLL incuded Active X control in 0.0.18 but we do not support this way in our newest drivers due to ActiveX do not handle usigned long variables.
FTDI USB drivers (version 2.04.16) to be used on XP and older CANUSB.
Old Samples (not supported):
These are here only for reference, not supported any more!
Visual Basic 6 (Old, VB6 is not supported any longer)
Visual Basic 6 Active X (Old, Active X is not supported any longer)
VC++ (Made with Visual Studio 2008. CANUSB DLL not included)
Visual Studio 2008 (C# and VB.Net, uses old 0.0.18 CANUSB DLL, old CANUDB DLL must be installed first, we do not support this any longer, it is here only for reference)
THE SOFTWARE IS PROVIDED TO YOU 'AS IS,' AND WE MAKE NO EXPRESS OR IMPLIED WARRANTIES WHATSOEVER WITH RESPECT TO ITS FUNCTIONALITY, OPERABILITY, OR USE, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR INFRINGEMENT. WE EXPRESSLY DISCLAIM ANY LIABILITY WHATSOEVER FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR SPECIAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST REVENUES, LOST PROFITS, LOSSES RESULTING FROM BUSINESS INTERRUPTION OR LOSS OF DATA, REGARDLESS OF THE FORM OF ACTION OR LEGAL THEORY UNDER WHICH THE LIABILITY MAY BE ASSERTED, EVEN IF ADVISED OF THE POSSIBILITY OR LIKELIHOOD OF SUCH DAMAGES.
By downloading software from this site, you agree with the specified terms.