Share your knowledge at the LQ Wiki.
Go Back > Forums > Linux Forums > Linux - Software > Linux - Kernel
User Name
Linux - Kernel This forum is for all discussion relating to the Linux kernel.


  Search this Thread
Old 09-15-2006, 02:23 AM   #1
Andy Hunter
LQ Newbie
Registered: Dec 2005
Location: Leicestershire UK
Distribution: PCLinuxOS
Posts: 12

Rep: Reputation: 0
Intel 536 kernel module problems

Hello, can someone out there help this linux newbie with his modem installation

I'm trying to compile the kernel module for an Intel536 based modem. The compilation process calls a 'config_check' script file that is supposed to check that I have the correct kernel source code installed.

Here are the offending lines from the 'config_check' file...

if [ -a /lib/modules/$KERNVER/build/include/linux/autoconf.h ]; then
echo " /lib/modules... autoconf.h exists"
echo " /lib/modules... autoconf.h does not exist"
echo " please install kernel source"
exit 1

This makes perfect sense to me but the '/lib.modules/$KERNVER/build' directory is in fact a link to the '/usr/src/linux-' directory. This directory contains nothing but a file titled 'Module.symvers'. As far as I can see the actual kernel sources are installed in '/usr/src/linux-'

What I want to know is...

1) What's the difference between the '/usr/src/linux-' and the '/usr/src/linux-' directories.
2) Is it okay for me to alter the '/lib.modules/$KERNVER/build' link to point to the correct directory?

The 'config_check' file then goes on to the following...

if [ "`diff /boot/vmlinuz.autoconf.h /lib/modules/$KERNVER/build/include/linux/autoconf.h`" \
== "" ]; then
echo " autoconf.h matches running kernel"

As far as I can see my system has no /boot/vmlinuz.autoconf.h file! Any ideas on this one?

Many regards

Andy H
Old 09-19-2006, 11:10 AM   #2
Registered: Jul 2003
Location: NY
Distribution: None (src & compile)
Posts: 312

Rep: Reputation: 52
The 536EP is a chipset for a Winmodem, but will work nicely on Linux with the resulting Intel536.ko module.

I've never seen a /usr/src/linux-(version)-obj directory. Is this something your distro is doing? Looks like someone wanted to try to keep the object files out of the source code. While that's possible, it can causes troubles later (like this one.)

If you build/install from source , you'll get /lib/modules/(version)/build symbolic linked to /usr/src/linux-(version). Then, autoconf.h will be in the right place that the script expects. The "build" directory in /lib/modules/(version) is so you can later compile modules against the source code. I'm curious how they'd get built with it linked to '/usr/src/linux- From what you've said, there is no source there. Prehaps you could fix the symlink. You can always put it back if need should arise later on.

I don't have a /boot/vmlinuz.autoconf.h either. Or even a vmlinuz. I think these are RedHat-isms. This in itself shouldn't halt the build. Ignore it. It's been awhile since my Intel536 source directory was install-default, so prehaps I fixed the script to not mind this file. I can't remember. If the script refuses to go forward without that file, remove that part from the script. The important thing is kernel version = source that is installed version.

Now we run into one other problem. Last I checked, the latest Intel536 source on their site was this tarball, Intel-536EP-4.71.tgz, which will not compile and work with 2.6.16-2.6.17 (and I want to say 2.6.15's as well, but that was awhile ago since I ran that kernel.)

Hopefully you have a distro-fixed version that will work on 2.6.16 and up. I've not seen one, but if your build bombs, this is most likely what is happening. Many things changed in the kernel source, and the code needs to be updated for the module. I found some patches on the net and compiled them together, and hacked in a few very ugly fixes just to get it working (C is definately not my language). The biggest trouble it seems is the kernel does not want to export the required symbols due to the fact that the module code is labeled Proprietry, and it wants GPL to export the symbols. Likely large parts of the module would need re-writing.
Old 09-21-2006, 10:27 AM   #3
Andy Hunter
LQ Newbie
Registered: Dec 2005
Location: Leicestershire UK
Distribution: PCLinuxOS
Posts: 12

Original Poster
Rep: Reputation: 0

Thanks for the reply jayjwa, Iíll have another play over the weekend and report back on Monday.

As far as Iím aware an Intel536 based modem is a hardware modem. Mine was certainly advertised as such. The kernel module is apparently to emulate the serial port interface.

Iíve no idea why the /usr/src/linux-(version)-obj directory is there or why /lib/modulesÖ links to it. Iíll alter the symlink and try again.

If I canít get it working this weekend I think Iíll procure an external modem!



Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Intel 536 Modem Problem kingfish Ubuntu 2 12-14-2005 09:39 AM
Intel 536 dailing but not connecting asadaftab76 Linux - Hardware 1 03-03-2005 10:25 AM
Intel 536 modem Trio3b Mandriva 0 02-07-2005 12:29 AM
Intel 536 modem Trio3b Linux - Newbie 0 02-04-2005 11:50 PM
Intel 536 ep Mandrake 10.0 PsychoDrake Mandriva 5 09-03-2004 07:57 PM > Forums > Linux Forums > Linux - Software > Linux - Kernel

All times are GMT -5. The time now is 03:26 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration