Compatible Linux Versions?

Post general discussions on using our drivers to write your own software here
Post Reply

Compatible Linux Versions?

Post by sartory » Thu Apr 10, 2003 12:39 am

I am trying to install the parallel port linux drivers for an ADC100. I've tried several versions of linux, but get a series of errors running MAKE. Probably there is no significant problem, but I don't know enough to interpret the error messages.

The PicoTech literature mentions RedHat6.0. That's quite old. Are there any other versions of linux for which the drivers are known to compile & install without errors?

If I buy an old copy of RedHat6.0 on ebay, can I then be assured of being able to MAKE & install the drivers error-free?



User avatar
Advanced User
Advanced User
Posts: 109
Joined: Wed Sep 25, 2002 9:35 am
Location: Cambridgeshire, UK

Post by matthew » Thu Apr 10, 2003 10:01 am

Hi Walt,

Although, I can get the application to compile on linux kernel 2.4 (I think its Redhat 6). I can't get the ADC-100 to take any readings.

Since we're not in a position to support the Linux drivers in a timely fashion (see the notice on the linux download page), I would advise against persuing the Linux path at this time.

The windows 32-bit drivers are fully supported.

Best Regards,
Matt Everett

Pico Software Engineer


Red Hat compatibility

Post by jrhunt » Sat May 17, 2003 12:00 pm

I was able to compile the ADC42 driver under RH7.2, so probably no need to go back as far as RH6.
Cannot compile under RH8.0, which is a shame because I had written a nice little Perl app to log data to file at regular intervals.
Using Windows is not an option for me - this is a Microsoft free zone.


Compilation fails - possible cause

Post by jrhunt » Sat May 17, 2003 1:10 pm

It looks to me (but I am not an expert in this) as if reason for compile fail is missing /usr/include/asm/delay.h and others.
Up to RH7.2 (and 7.3?) these were in the kernel-headers rpm. That rpm no longer exists. I don't know where these files are in RH8. They are NOT in any rpm in any of the 3 install CDs. If they exist at all they are in an rpm on one of the source CDs, that I don't have copies of.


Compilation fails - Correction

Post by jrhunt » Sun May 18, 2003 10:20 am

No, its not that simple.
By trial and error, changing the includes in picolnx.c to
#include <linux/time.h> // added
#include <linux/kernel.h>
#include <linux/config.h>
#include <linux/module.h>
#include <linux/version.h>
#include <linux/types.h>
#include <linux/fs.h>
#include <linux/mm.h>
#include <linux/errno.h>
#include <asm/segment.h>
#include <asm/io.h>
//#include <asm/uaccess.h> // removed
#include <linux/sched.h>
#include <linux/tqueue.h>
//#include <linux/delay.h> // removed

reduces number of compile errors reported. Sorry, I don't have the time to investigate further. I'm sure someone who is expert at compiling C could fix this quickly.


Wrong makefile

Post by tomset » Sun Jun 29, 2003 2:09 pm

The makefile was wrong, corrected:

INCLUDEDIR = /lib/modules/`uname -r`/build/include

targets: pico.o ddtest a10test a11test a100test

pico.o: picolnx.o drdaqscl.o

ld -r -o pico.o picolnx.o drdaqscl.o

picolnx.o: picolnx.c

gcc -O -DMODULE -D__KERNEL__ -I$(INCLUDEDIR) -o picolnx.o -c picolnx.c

drdaqscl.o: drdaqscl.c

gcc -O -DMODULE -D__KERNEL__ -I$(INCLUDEDIR) -o drdaqscl.o -c drdaqscl.c

ddtest: ddtest.c pico_lnx.h

gcc -D LINUX -o ddtest ddtest.c

a11test: a11test.c pico_lnx.h

gcc -o a11test a11test.c

a10test: a10test.c pico_lnx.h

gcc -o a10test a10test.c

a100test: a100test.c pico_lnx.h

gcc -o a100test a100test.c


Linux makefile needs a fix

Post by Guest » Thu Sep 25, 2003 4:03 pm

This post applies to the picopar.tar Linux module distribution.

To get it to make, the line

gcc -O -DMODULE -D__KERNEL__ -o picolnx.o -c picolnx.c

needs to be changed to point to the correct kernel include files, which in my case are at /usr/src/linux-2.4.22/include:

gcc -O -I/usr/src/linux-2.4.22/include -DMODULE -D__KERNEL__ -o picolnx.o -c picolnx.c

A more complete fix was posted by tomset, but that was months ago, and the makefile still hasn't been patched.

When you load the module, you get:

[root@flasher picopar]# insmod ./pico.o
Warning: loading ./pico.o will taint the kernel: no license
See for information about tainted modules
Module pico loaded, with warnings

Reviewing the code, I wonder why Pico doesn't GPL or OSS this stuff.

I lack the hardware for the moment, but it builds and loads with RH9, Linux 2.4.22, so this looks pretty good.

Post Reply