QUANCOM Kernel Modul

If you want to communicate with our cards and modules using Linux you need a Kernel module on the one hand an a QLIB on the other The kernel is just responsible for the communication layer but most of the work is done by the QLIB.

The PCI kernel module supports all PCI optocoupler and relay cards, so as the PCI Watchdog boards. The USB kernel module supports all USB optocoupler and relay modules, so as the USB watchdog modules and the USBGPIB.

A list of all currently supported cards and modules is located here: List of Linux supporting cards

Preparement

You need to have at least a Linux kernel 2.6.x and the configured kernel source to install the kernel modules. It would be the best to extract the source directly into the /usr/src/ bin. After thet configure it and produce the currently running kernel out of it. Different distributions like UBUNTU come up with different ways to configure kernelsource to their needs.

Next step is to find out if one of device systems udev or devfs is currently occupied by some other process. The easiest way to do this is using

>> mount

and after that check if something is mounted into /dev (not /dev/pts or /dev/shm).

Kernel module

After extracting the driver package change your directory to "module". If you´ve done so just start

>> make

Normaly make should find the kernelsource and start building the kernel module. If this doesn´t work proberbly you have to mention the complete path.

>> make LINUX_SOURCE=/usr/src/linux-2.6.12

Note that /usr/src/linux-2.6.12 stands for the directory where the kernel sources are.

If against all odd´s an error occurs please forward the output file to us.

Test

This step only runs proberbly if the currently running kernel is the same version like the kernelsources and you are logged in as root

>> make insmod

After this the kernel module should be loaded. You are able to check this by using

>> dmesg | tail

If you have installed a QUANCOM PCI card it should´ve been found now. You now have the posibility to connect a USB device too. You can check thats it´s recognized the right way by typing

>> dmesg | tail

If you own an USB module and udev or devfs a device node will be created. You´ll find this under /dev/qusb0 or /dev/usb/qusb0.
In case you use classical device nodes you have to create them by yourself (one time only).

Compared to the USB kernel module the PCI kernel module doesn´t support udev or devfs. Because of that you have to create all needed device nodes by yourself.
If you use classical Device Notes you don't have to consider anything. But if you use udev or devfs you need to recreate them after every shutdown on the one hand or you create them while devfs isn't mounted. (At every mount existing nodes are adopted and all others will only be created virtually which means that they will be deleted after restarting.This as a backgroung information. We recommand you to choose the first suggestion (to create new ones after restarting) because we will install the support of udev/devfs in the near future.

The easiest way is:

>> make nodes

Installation

This step isn't necessary because the system works also without it but when you install this module Kernel can find and load it automatically. Otherwise you need to do it by yourself after every restart. The system runs under targetkernel and you should work as root.

>> make install

As above-mentioned make should automatically know where to put the module. Please pay attention to the output if there is no number of the version in the account something went wrong.

If you have any questions or helpful suggestions don't hesitate to send them to  support@quancom.de.