LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Trying to install linmodemn driver but missing file modversions.h (http://www.linuxquestions.org/questions/slackware-14/trying-to-install-linmodemn-driver-but-missing-file-modversions-h-149589/)

jimdaworm 02-23-2004 12:43 PM

Trying to install linmodem driver but missing file modversions.h
 
Hey I am trying to install a winmodem driver, it worked perfectly for 2.4.22 but I have installed 2.6.3.

And now I get the following error:

WARNING: missing file /lib/modules/2.6.3/build/include/linux/modversions.h
The cause of this problem is usually a missing or misconfigured
kernel source tree (and sometimes an incorrect directory or symbolic link).

I have a symbolic link to my current kernal, any ideas??

Adam

closet geek 02-23-2004 12:55 PM

Sorry to get your hopes up, I can't offer a solution just confirm your problem on numerous different set ups for me. Debian, RH, Libranet I get this error on all of them - please someone supply a solution!!! (strangely I don't get it on Slack)

cg

jimdaworm 02-23-2004 01:18 PM

Hey what kernal did you use with slack?? It worked fine before. I found this modversions.h file in another directory and just copied it over but then I guess there are still problems by the build_log. One of the things it doesnīt seem to like is that I have pre-emptive compiled in my kernal... but I donīt think taking it out is going to do any good somehow.

This might be the last stand for my linmodem....... I have held out with this modem for about the 6 months or so that I have had linux... but this could be the last straw!

:( :confused:


rm -f *.o *.a
make[1]: Entering directory `/usr/lib/hsf/modules/osspec'
rm -f *.o *.a
make[1]: Leaving directory `/usr/lib/hsf/modules/osspec'
* compiling (gcc) mod_osspec.c
In file included from /lib/modules/2.6.3/build/include/linux/irq.h:20,
from /lib/modules/2.6.3/build/include/asm/hardirq.h:6,
from /lib/modules/2.6.3/build/include/linux/interrupt.h:11,
from ../modules/osspec/include/oscompat.h:25,
from mod_osspec.c:10:
/lib/modules/2.6.3/build/include/asm/irq.h:16:25: irq_vectors.h: No such file or directory
In file included from /lib/modules/2.6.3/build/include/asm/hardirq.h:6,
from /lib/modules/2.6.3/build/include/linux/interrupt.h:11,
from ../modules/osspec/include/oscompat.h:25,
from mod_osspec.c:10:
/lib/modules/2.6.3/build/include/linux/irq.h:70: `NR_IRQS' undeclared here (not in a function)
In file included from /lib/modules/2.6.3/build/include/linux/irq.h:72,
from /lib/modules/2.6.3/build/include/asm/hardirq.h:6,
from /lib/modules/2.6.3/build/include/linux/interrupt.h:11,
from ../modules/osspec/include/oscompat.h:25,
from mod_osspec.c:10:
/lib/modules/2.6.3/build/include/asm/hw_irq.h:28: `NR_IRQ_VECTORS' undeclared here (not in a function)
/lib/modules/2.6.3/build/include/asm/hw_irq.h:31: `NR_IRQS' undeclared here (not in a function)
In file included from mod_osspec.c:10:
../modules/osspec/include/oscompat.h:80:2: #error Preemptible kernel option (CONFIG_PREEMPT) not yet supported. Reconfigure your kernel without it.
In file included from mod_osspec.c:10:
../modules/osspec/include/oscompat.h: In function `cnxthsf_OsModuleUseCountInc':
../modules/osspec/include/oscompat.h:205: warning: `MOD_INC_USE_COUNT' is deprecated (declared at /lib/modules/2.6.3/build/include/linux/module.h:488)
In file included from mod_osspec.c:10:
../modules/osspec/include/oscompat.h: In function `cnxthsf_OsModuleUseCountDec':
../modules/osspec/include/oscompat.h:210: warning: `MOD_DEC_USE_COUNT' is deprecated (declared at /lib/modules/2.6.3/build/include/linux/module.h:500)
mod_osspec.c: At top level:
mod_osspec.c:26: warning: `__used__' attribute ignored
mod_osspec.c:27: warning: `__used__' attribute ignored
mod_osspec.c:28: warning: `__used__' attribute ignored
mod_osspec.c:29: warning: `__used__' attribute ignored
mod_osspec.c:30: warning: `__used__' attribute ignored
mod_osspec.c:31: warning: `__used__' attribute ignored
mod_osspec.c:32: warning: `__used__' attribute ignored
mod_osspec.c:33: warning: `__used__' attribute ignored
mod_osspec.c:34: warning: `__used__' attribute ignored
mod_osspec.c:35: warning: `__used__' attribute ignored
mod_osspec.c:36: warning: `__used__' attribute ignored
mod_osspec.c:37: warning: `__used__' attribute ignored
mod_osspec.c:38: warning: `__used__' attribute ignored
mod_osspec.c:39: warning: `__used__' attribute ignored
mod_osspec.c:40: warning: `__used__' attribute ignored
mod_osspec.c:41: warning: `__used__' attribute ignored
mod_osspec.c:42: warning: `__used__' attribute ignored
mod_osspec.c:43: warning: `__used__' attribute ignored
mod_osspec.c:44: warning: `__used__' attribute ignored
mod_osspec.c:45: warning: `__used__' attribute ignored
mod_osspec.c:46: warning: `__used__' attribute ignored
mod_osspec.c:47: warning: `__used__' attribute ignored
mod_osspec.c:48: warning: `__used__' attribute ignored
mod_osspec.c:49: warning: `__used__' attribute ignored
mod_osspec.c:50: warning: `__used__' attribute ignored
mod_osspec.c:59: warning: `__used__' attribute ignored
mod_osspec.c:60: warning: `__used__' attribute ignored
mod_osspec.c:61: warning: `__used__' attribute ignored
mod_osspec.c:62: warning: `__used__' attribute ignored
mod_osspec.c:63: warning: `__used__' attribute ignored
mod_osspec.c:64: warning: `__used__' attribute ignored
mod_osspec.c:65: warning: `__used__' attribute ignored
mod_osspec.c:66: warning: `__used__' attribute ignored
mod_osspec.c:67: warning: `__used__' attribute ignored
mod_osspec.c:68: warning: `__used__' attribute ignored
mod_osspec.c:69: warning: `__used__' attribute ignored
mod_osspec.c:70: warning: `__used__' attribute ignored
mod_osspec.c:71: warning: `__used__' attribute ignored
mod_osspec.c:72: warning: `__used__' attribute ignored
mod_osspec.c:73: warning: `__used__' attribute ignored
mod_osspec.c:74: warning: `__used__' attribute ignored
mod_osspec.c:75: warning: `__used__' attribute ignored
mod_osspec.c:76: warning: `__used__' attribute ignored
mod_osspec.c:77: warning: `__used__' attribute ignored
mod_osspec.c:78: warning: `__used__' attribute ignored
mod_osspec.c:79: warning: `__used__' attribute ignored
mod_osspec.c:82: warning: `__used__' attribute ignored
mod_osspec.c:83: warning: `__used__' attribute ignored
mod_osspec.c:84: warning: `__used__' attribute ignored
mod_osspec.c:85: warning: `__used__' attribute ignored
mod_osspec.c:86: warning: `__used__' attribute ignored
mod_osspec.c:87: warning: `__used__' attribute ignored
mod_osspec.c:88: warning: `__used__' attribute ignored
mod_osspec.c:89: warning: `__used__' attribute ignored
mod_osspec.c:90: warning: `__used__' attribute ignored
mod_osspec.c:93: warning: `__used__' attribute ignored
mod_osspec.c:94: warning: `__used__' attribute ignored
mod_osspec.c:95: warning: `__used__' attribute ignored
mod_osspec.c:96: warning: `__used__' attribute ignored
mod_osspec.c:97: warning: `__used__' attribute ignored
mod_osspec.c:98: warning: `__used__' attribute ignored
mod_osspec.c:99: warning: `__used__' attribute ignored
mod_osspec.c:102: warning: `__used__' attribute ignored
mod_osspec.c:103: warning: `__used__' attribute ignored
mod_osspec.c:104: warning: `__used__' attribute ignored
mod_osspec.c:105: warning: `__used__' attribute ignored
mod_osspec.c:106: warning: `__used__' attribute ignored
mod_osspec.c:107: warning: `__used__' attribute ignored
mod_osspec.c:108: warning: `__used__' attribute ignored
mod_osspec.c:109: warning: `__used__' attribute ignored
mod_osspec.c:110: warning: `__used__' attribute ignored
mod_osspec.c:111: warning: `__used__' attribute ignored
mod_osspec.c:112: warning: `__used__' attribute ignored
mod_osspec.c:113: warning: `__used__' attribute ignored
mod_osspec.c:114: warning: `__used__' attribute ignored
mod_osspec.c:115: warning: `__used__' attribute ignored
mod_osspec.c:116: warning: `__used__' attribute ignored
mod_osspec.c:117: warning: `__used__' attribute ignored
mod_osspec.c:118: warning: `__used__' attribute ignored
mod_osspec.c:121: warning: `__used__' attribute ignored
mod_osspec.c:122: warning: `__used__' attribute ignored
mod_osspec.c:123: warning: `__used__' attribute ignored
mod_osspec.c:124: warning: `__used__' attribute ignored
mod_osspec.c:125: warning: `__used__' attribute ignored
mod_osspec.c:126: warning: `__used__' attribute ignored
mod_osspec.c:129: warning: `__used__' attribute ignored
mod_osspec.c:130: warning: `__used__' attribute ignored
mod_osspec.c:133: warning: `__used__' attribute ignored
mod_osspec.c:134: warning: `__used__' attribute ignored
mod_osspec.c:135: warning: `__used__' attribute ignored
mod_osspec.c:136: warning: `__used__' attribute ignored
mod_osspec.c:137: warning: `__used__' attribute ignored
mod_osspec.c:140: warning: `__used__' attribute ignored
mod_osspec.c:141: warning: `__used__' attribute ignored
mod_osspec.c:142: warning: `__used__' attribute ignored
mod_osspec.c:143: warning: `__used__' attribute ignored
mod_osspec.c:145: warning: `__used__' attribute ignored
mod_osspec.c:146: warning: `__used__' attribute ignored
mod_osspec.c:147: warning: `__used__' attribute ignored
make: *** [mod_osspec.o] Error 1

rcsuk 02-23-2004 02:36 PM

You may need to get a later version of whatever you are trying to compile. I had this problem with some old NVidia drivers when trying to compile them against the 2.6 kernel and it turned out that the older version of the drivers were not compatible with the new 2.6 kernel source tree (file structure) layout. When I downloaded and complied the newer drivers they worked a treat.

Hope this helps,

Paul.

jimdaworm 02-23-2004 03:08 PM

Hey rcsuk ... thats just kind of confirming what I thought. Its going to be easier to buy a real modem as I am trying to compile the last of the free HSF linmodem drivers.

Thanks

Adam

justwantin 02-23-2004 09:18 PM

I've had this problem only when compiling my own kernel but never when running stock bare.i

You have to compile your ltmodem drivers against the kernel source for the kernel you are running which means that /usr/src/linux has to be pointing at the correct source when you run ./build_module.

There is one option that has to be ticked to have modversions.h included correctly in your source. I remember that I had to backtrack and find which option it was but I can't remember more than it was at the very beginning of the config file for the 2.4.X kernels.

Sorry I couldn't be more specific. I'm at work on a win box.

rcsuk 02-24-2004 02:24 AM

jimdaworm

Is the modem driver you are trying to install the Conexant one from linuxant.com? I ask this because I usually connect to the Internet via ethernet but my laptop has a Conexant modem built into it which I no longer use.

However, when I tried to compile the old driver (the unrestricted free one pre-Linuxant) it will not compile under 2.6 complaining about modversions.h yet again. After downloading and trying the new Linuxant restricted one it works fine.

I think this is the same reason as mentioned above.

Hope this helps,

Paul.

justwantin 02-24-2004 02:40 AM

Hi,

I'm home from work and had a look at my /boot/config-ide-2.4.22 and this is the section I was talking about:

<snip>
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y
<snip>

I remember the one time I compiled ltmodem drivers to a kernel I had compiled that the problem was wih the line "CONFIG_KMOD" being set to "=n".

Maybe that'll help.

I've been using the same winmodems with lucent chipsets in various various linux boxes for 4 years. Externals are great but you can get by without them.

Another trick you can try is taking lt_serial.o and lt_modem.o compiled from one kernel source and loading them with the command "insmod -f lt_serial" and "insmod -f lt_modem" on another kernel. It used to work with 2.4.X kernels although you'll see some complaints print to the screen. To do it every time at boot add the command to your /etc/rc.d/rc.local.

I actually used to use that trick for drivers from a 2.2.X kernel on a 2.4 box. The guy I purchased my first Linux box from had set it up that way when he installed SuSe for me.

spurious 02-24-2004 09:55 AM

You should read this Slashdot article on kernel 2.6 modules. Your modversions.h problem is a result of the change in the way modules are compiled between the 2.4 and 2.6 kernel versions. The Slashdot article has links to some other good resources.

Unfortunately, getting your 2.4 module to compile for 2.6 is not trivial. Those of use who rely on closed-source drivers (I have a HomePNA 2.0 network card) are at the mercy of the vendors. If you upgrade your modem, research first and choose one with open-source drivers so you don't have this problem again.

jimdaworm 02-24-2004 11:25 AM

Hey spurious thanks for that... pretty interesting, I didnīt understand it all but at least some of it!

So there have been some pretty big changes, I like how they have setup everything more logically when you compile the kernal with make menconfig... but didnīt really the scope of the changes!

Hey from that artical

Quote:

the loadable kernel module can be automatically loaded when the corresponding device is first accessed, provided that the depmod command has been used to create the module dependency tree.
Does this mean that if I donīt do depmod when I compile the kernal that modules wonīt get automatically loaded when the system needs them?

Hey by the way I just went out and bought an external controller based modem... somthing I should have done a long time ago!:D

Thanksjustwantin but I have decided finally to simplify things and ditch the winmodem.

rcsuk yes it was from that site... but decide it was easier to buy a modem than buy the drivers.


Thanks for all your guys help this place is wicked, without linuxquestions.org I donīt think I would have linux.

Adam


All times are GMT -5. The time now is 11:07 PM.