Howto build the AVM ISDN (Fritz Card) driver on a 32bit linux with a pretty new kernel (e.g. 2.6.14)Tags: linux
No Comments »
AVM provides two linux drivers for the Fritz Card and other ISDN PCI Cards. One for 32 bit and one for 64 bit systems. But the 32 bit seems to be older then the 64 bit driver and does not work with new kernel sources.
The current 32 bit driver version 03.11.07 dated 07/07/2005 is called fcpci-suse93-3.11-07.
The current 64 bit driver version 03.11.07 dated 01/05/2006 is called fcpci-suse10.0-64bit-3.11-07.
On a system with a 32 bit kernel version 2.6.14 (in fact the current kernel from Suse 10.1) I get errors while compiling both packages:
CC [M] /usr/src/fritz/src/main.o
In file included from /usr/src/fritz/src/queue.h:27,
/usr/src/fritz/src/tools.h:74: error: parse error before “typeof”
LD [M] /usr/src/fritz/src/fcpci.o
ld: Relocatable linking with relocations from format elf64-x86-64 (/tmp/fritz/fcpci-lib.o) to format elf32-i386 (/usr/src/fritz/src/fcpci.o) is not supported
The AVM driver package contains some source files and a precompiled library without sources. On a 32 bit system you cannot use the 64 bit library. But the 32 bit sources from AVM did not work with this kernel version.
So I use the sourcefiles form the 64 bit package but the library fcpci.o from the 32 bit package.
Download and untar both drivers and copy the file lib/fcpci-lib.o from the 32 bit package to the 64 bit package (override the 64 bit version of the library). Now you can build the driver from the 64 bit directory and it works well with this version of the Kernel.