Velleman K8055

This USB experiment interface board from Velleman has 5 digital input channels and 8 digital output channels. In addition, there are two analogue inputs and two analogue outputs with 8 bit resolution. The number of inputs/outputs can be further expanded by connecting more (up to a maximum of four) cards to the PC's USB connectors.

DomotiGa interfaces with the library from the libk8055 project, so you need to install that too.

$ sudo apt-get install libusb-dev

$ mkdir -p ~/install/libk8055
$ cd ~/install/libk8055
$ wget

$ tar xzvf libk8055.0.4.1.tar.gz
$ cd src

$ vi Makefile

# change this to your distribution default
# usually /usr/local or /usr
PREFIX = /usr/local

# Also replace the following line:
 $(CC) -o${VERSION} $(LIBS) -shared libk8055.o
# with:
 $(CC) -o${VERSION} -shared libk8055.o $(LIBS)

After the modify of the Makefile, you can make and install the k8055 library:

$ make 
$ sudo make install

When you get the error that the library cannot be found, the following steps can fix that:

Check if the library is in this library cache output:

$ sudo ldconfig -p|grep 8055

If not, check if there is a ldconfig file with local in it.

$ cd /etc/
$ ls
biarch-compat.conf  GL.conf  lib32asound2.conf  libasound2.conf  libc.conf  x86_64-linux-gnu.conf
$ grep local *

If there is no file found which contains 'local' create the following file and the one line, then run 'sudo ldconfig' again, to add the path to the cache.

$ sudo vi k8055.conf

Then build cache again with new config:

$ sudo ldconfig

Restart gambas IDE to let it load the cache again.

Install rules to create device with correct permissions.

$ cd ~/install/libk8055/src
$ vi velleman.rules
# To access the devices under a regular user account, you must
# be in the k8055 group.

SUBSYSTEMS=="usb", ATTRS{idVendor}=="10cf", ATTRS{idProduct}=="5500" , SYMLINK="k8055_0", MODE="0660", GROUP="k8055" 
SUBSYSTEMS=="usb", ATTRS{idVendor}=="10cf", ATTRS{idProduct}=="5501" , SYMLINK="k8055_1", MODE="0660", GROUP="k8055" 
SUBSYSTEMS=="usb", ATTRS{idVendor}=="10cf", ATTRS{idProduct}=="5502" , SYMLINK="k8055_2", MODE="0660", GROUP="k8055" 
SUBSYSTEMS=="usb", ATTRS{idVendor}=="10cf", ATTRS{idProduct}=="5503" , SYMLINK="k8055_3", MODE="0660", GROUP="k8055" 

$ sudo cp velleman.rules /etc/udev/rules.d

$ sudo groupadd k8055
$ sudo addgroup ron k8055
Adding user `ron' to group `k8055' ...
Adding user ron to group k8055

$ sudo /etc/init.d/udev restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service udev restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop udev ; start udev. The restart(8) utility is also available.
udev stop/waiting
udev start/running, process 29490

Remove and insert K8055 board to trigger udev rules.

Some checks:

$ dmesg
[ 1096.837622] usb 1-1.5: new low-speed USB device number 5 using ehci-pci
[ 1096.935050] usb 1-1.5: New USB device found, idVendor=10cf, idProduct=5500
[ 1096.935054] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1096.935057] usb 1-1.5: Product: USB K8055
[ 1096.935059] usb 1-1.5: Manufacturer: Velleman 
[ 1096.952881] comedi comedi0: driver 'vmk80xx' has successfully auto-configured 'K8055 (VM110)'.

$ lsusb
Bus 001 Device 006: ID 10cf:5500 Velleman Components, Inc. 8055 Experiment Interface Board (address=0)

$ k8055 

Restart terminal, reboot, and/or DomotiGa to use new group membership and make above checks work.

Something to fix?:

[1206331.943386] usb 1-1.6: usbfs: interface 0 claimed by usbfs while 'gbx2' sets config #1
[1206331.951359] usb 1-1.6: usbfs: interface 0 claimed by usbfs while 'k8055' sets config #1
[1206337.118115] usb 1-1.6: usbfs: process 29937 (gbx2) did not claim interface 0 before use

Related Resources

    Updated by: rdnzl, Updated over 4 years ago
    Access count: 75984 since 2011-08-25

    Attached Files

    Also available in: PDF HTML TXT