EL3, dgnc and smp

Hi,
I’m trying to install DIGI Neo (dgnc driver) on RedHat EL 3-6
On mode mono processor it’s OK (Kernel 2.4.21-37.EL)
On mode 2 processor (IT’s a Intel core 2 duo processor) the command “insmod dgnc” fail with many unresolved symbols and a mismatch kernel. (Kernel 2.4.21-37.ELsmp)

Why ?
What is the solution ?

Thanks.

Without more detail of the errors, I can only guess that the matching kernel source package is not installed on this host (kernel-devel-2.4.21-37).

Hi,
1)Is it possible to obtain a digi rpm distribution for use neo on kernel 2.4.21-37.ELsmp or it’s necessary to recompile driver for source rpm ?

2)Trace of the insmod command:

[root@ARP_A arp]# /sbin/insmod dgnc
Using /lib/modules/2.4.21-37.ELsmp/misc/dgnc.o
Warning: kernel-module version mismatch
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o was compiled for kernel version 2.4.21-37.EL
while this kernel is version 2.4.21-37.ELsmp
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol __ioremap_R9eac042a
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol tty_register_driver_R113e6eeb
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol pci_read_config_byte_R0e425a9e
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol del_timer_Rd35376fe
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol schedule_timeout_R17d59d01
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol do_gettimeofday_R72270e35
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol pci_register_driver_R14cc990a
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol pci_read_config_word_Rd25f3240
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol snprintf_R025da070
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol __const_udelay_Reae3dfd6
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol create_proc_entry_R0be93f3a
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol tq_timer_Rfa3e9acc
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol tty_hangup_Rcd63e5c1
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol kmalloc_R93d4cfe6
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol vfree_R2fd1d81c
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol unregister_chrdev_Rc192d491
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol in_egroup_p_Rd8a2ab95
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol pci_unregister_driver_Rda41300e
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol __generic_copy_to_user_Rd523fdd3
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol _ctype_R8d3894f2
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol __generic_copy_from_user_R116166aa
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol tty_hung_up_p_R3be6d860
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol tty_check_change_Rf9dd454e
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol vsprintf_R954cbb26
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol remove_proc_entry_Re94539f7
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol __tasklet_schedule_Red5c73bf
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol jiffies_R0da02d67
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol register_chrdev_Ra758a8b3
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol add_wait_queue_R5d016020
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol add_timer_R228a2b44
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol free_irq_Rf20dabd8
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol pci_enable_device_R30af41e2
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol __wake_up_Rb76c5f1e
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol tasklet_init_Ra5808bbf
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol sprintf_R1d26aa98
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol tasklet_kill_R79ad224b
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol tty_unregister_driver_Rd6f26116
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol simple_strtoul_R20000329
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol schedule_R4292364c
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol kfree_R037a0cba
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol printk_R1b7d4074
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol remove_wait_queue_R9126c1b4
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol iounmap_R5fb196d4
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol request_irq_R0c60f2e0
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol proc_root_Refe5bf48
/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o: unresolved symbol mod_timer_Rbafc866c

Binary RPM images are not available (there are simply too many kernel versions/architectures out there). The driver needs to be compiled against the running kernel.

In your case, it looks like you are running the “SMP” kernel:

>>/lib/modules/2.4.21-37.ELsmp/misc/dgnc.o was compiled for kernel version 2.4.21-37.EL
while this kernel is version 2.4.21-37.ELsmp

A “uname -a” will show the running kernel. For the SMP kernel, you will want to install the “kernel-smp-devel-2.4.21-37” kernel source package instead.

Before installing and compiling driver in smp mode , i try to compile it in normal mode.

So, I install the package “kernel-devel-2.4.21-37”
I Install your package and I pass the commands:
./configure
make ALL

After numberous warning an error occurs :
dgnc_tty.c: Dans la fonction « dgnc_tty_close »:
dgnc_tty.c:2079: opérandes invalides pour le binaire ==
make[1]: *** [dgnc_tty.o] Erreur 1

Attah file is the compilation result.
Thanks.

The errors suggest the “smp” version of the kernel source is not installed. Try installing “kernel-smp-devel-2.4.21-37” package to match your running kernel.

Also, if you are running a Red Hat distribution, you will want to add the “DISTRO” flag when installing. An example for Red Hat ES 3:

./configure --with-DISTRO=REDHAT_ES_3

The RPM syntax:

rpmbuild --rebuild --define DISTRO=REDHAT_ES_3

1)In my precedent post I write that I try to compile in a normal system. So not in smp.

  1. We install kernel-source package
    In Red Hat EL3 ther is no kernel-devel nor kernel-smp-devel package

  2. With the command
    ./configure --with-DISTRO=REDHAT_ES_3

it’s work on a normal kernel (normal compilation)
and it’s work also on a smp kernel (normal compilation and simple tests)

Thank’s a lot.