LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   PCLinuxOS winmodem installation errors (https://www.linuxquestions.org/questions/linux-hardware-18/pclinuxos-winmodem-installation-errors-514218/)

3po 12-28-2006 01:16 AM

PCLinuxOS winmodem installation errors
 
Hi! I am a firsttimer to Linus and have started with PCLinuxOS (Linux 2.6.16.27.tex1.lve). I am trying to install a winmodem that otherwise works on Windows XP. Following some advise on various linux forums, I installed and ran scanmodem. Modem chip idenification as reported by scanmodem is "134d:2189 is a PCTel HSP56 MicroModem 688T modem with the Oasis chipset."

I saw somehere that something called ungrad-winmodem has to be installed and then to install the driver slmodem-2.9.11-20061021. I think I could do the first install, but with the second one, after giving the command make, the output showed many error messages, of which the following is repeated several times:
#error "======================================================="
"You should not include /usr/include/{linux,asm}/ header files directly for the compilation of kernel modules. glibc now uses kernel header files from a well-defined working kernel version
(as recommended by Linus Torvalds. These files are glibc internal and may not match the currently running kernel. They should only be
"included via other system header files - user space programs should not directly include <linux/*.h> or <asm/*.h> as well. To build kernel modules please do the following:
o Have the kernel sources installed
o Make sure that the symbolic link
/lib/modules/`uname -r`/build exists and points to the matching kernel source directory
o Now copy /boot/vmlinuz.version.h to
/lib/modules/`uname -r`/build/include/linux/version.h
o When compiling, make sure to use the following compiler option to
use the correct include files:
-I/lib/modules/`uname -r`/build/include instead of
-I/usr/include/linux
Please adjust the Makefile accordingly.
=========================

This type of message ocured after lines like:
"In file included from /usr/include/linux/module.h:297,
from amrmo_init.c:47:
/usr/include/linux/version.h:2:2:#error"
"In file included from amrmo_init.c:48:
/usr/include/linux/version.h:2:2: #error"

So my questions are:
1. How do I check if the kernel sources are already installed, and if not, then how to install them?
2. Under /boot, there is one shortcut vmlinuz, but there is no file called version.h. So where is it?
3. What is the procedure to copy the file /boot/vmlinuz.version.h to
/lib/modules/`uname -r`/build/include/linux/version.h (which I could locate)
4. Is there any other way to install the driver?


Besides, some of the other error messages are given below, in case they are useful to figure what is happenning:

"/usr/include/asm/processor.h:55: error: `CONFIG_X86_L1_CACHE_SHI
FT' undeclared here (not in a function)"
"/usr/include/asm/processor.h:55: error: requested alignment is not a constant"
"In file included from amrmo_init.c:47:
/usr/include/linux/module.h:299: error: syntax error before "UTS
_RELEASE"

"In file included from /usr/include/linux/mm.h:12,
from /usr/include/linux/slab.h:14,
from /usr/include/asm/pci.h:37,
from /usr/include/linux/pci.h:654,
from amrmo_init.c:50:
/usr/include/linux/mmzone.h:44: error: `CONFIG_X86_L1_CACHE_SHIF
T' undeclared here (not in a function)
/usr/include/linux/mmzone.h:44: error: requested alignment is no
t a constant
In file included from /usr/include/asm/hardirq.h:6,
from /usr/include/linux/interrupt.h:46,
from amrmo_init.c:52:
/usr/include/linux/irq.h:65: error: `CONFIG_X86_L1_CACHE_SHIFT'
undeclared here (not in a function)
/usr/include/linux/irq.h:65: error: requested alignment is not a
constant
In file included from /usr/include/linux/interrupt.h:46,
from amrmo_init.c:52:
/usr/include/asm/hardirq.h:16: error: `CONFIG_X86_L1_CACHE_SHIFT
' undeclared here (not in a function)
/usr/include/asm/hardirq.h:16: error: requested alignment is not
a constant
In file included from amrmo_init.c:52:
/usr/include/linux/interrupt.h:129: error: `CONFIG_X86_L1_CACHE_
SHIFT' undeclared here (not in a function)
/usr/include/linux/interrupt.h:129: error: requested alignment i
s not a constant
amrmo_init.c:57:40: missing binary operator before token "("
amrmo_init.c:65:26: linux/device.h: No such file or directory
amrmo_init.c:68:41: missing binary operator before token "("
amrmo_init.c: In function `amrmo_open':
amrmo_init.c:447: warning: implicit declaration of function `imi
nor'
amrmo_init.c: At top level:
amrmo_init.c:504: error: syntax error before "amrmo_pci_interrup
t"
amrmo_init.c:505: warning: return type defaults to `int'
amrmo_init.c: In function `amrmo_pci_interrupt':
amrmo_init.c:508: error: `IRQ_HANDLED' undeclared (first use in
this function)
amrmo_init.c:508: error: (Each undeclared identifier is reported
only once
amrmo_init.c:508: error: for each function it appears in.)
amrmo_init.c: In function `amrmo_pci_probe':
amrmo_init.c:568: warning: implicit declaration of function `pci
_request_regions'
amrmo_init.c:580: warning: implicit declaration of function `pci
_release_regions'
amrmo_init.c:589: warning: passing arg 2 of `request_irq' from i
ncompatible pointer type
amrmo_init.c:643: warning: implicit declaration of function `cla
ss_simple_device_add'
amrmo_init.c: In function `amrmo_pci_remove':
amrmo_init.c:674: warning: implicit declaration of function `cla
ss_simple_device_remove'
amrmo_init.c: At top level:
amrmo_init.c:702: error: syntax error before "int"
amrmo_init.c:702: warning: type defaults to `int' in declaration
of `module_param'
amrmo_init.c:702: warning: data definition has no type or storag
e class
amrmo_init.c: In function `amrmo_init':
amrmo_init.c:731: warning: implicit declaration of function `pci
_dev_driver'
amrmo_init.c:739:42: missing binary operator before token "("
amrmo_init.c:757: warning: implicit declaration of function `cla
ss_simple_create'
amrmo_init.c:757: warning: assignment makes pointer from integer
without a cast
amrmo_init.c:764:40: missing binary operator before token "("
amrmo_init.c:771: warning: implicit declaration of function `cla
ss_simple_destroy'
make[2]: *** [amrmo_init.o] Error 1
make[2]: Leaving directory `/root/slmodem-2.9.11-20061021/driver
s'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/slmodem-2.9.11-20061021/driver
s'
make: *** [drivers] Error 2"

So what do I do?

Thanks a lot.

Cara25 12-28-2006 08:47 AM

3po,
Most Linux users use hardware modems with their flavor of Linux. Some people have been able to get the winmodems to work, but with much frustration as you now experience. For winmodem support and advice, try www.linmodem.com. If the information there does not work, I suggest you buy an external, serial port modem and use it. There are still some very good internal US Robotics modems on a PCI card, modems that are true hardware modems, but they are getting hard to find. Try the US eBay at Dan's Discount Computer Parts.
Scott

TB0ne 12-28-2006 09:28 AM

I'd suggest http://www.linuxant.com/ first. They make a very good set of drivers for winmodems. The free drivers only support speeds of 14.4k, while the ones you purchase support faxing too, and speeds of 56k, and installation is a breeze. Since the price is $20, it's well worth the money. Good thing to support them too, IMHO.

I've had several laptops with integrated winmodems, and they've all worked fine.

3po 12-28-2006 10:46 PM

Thanks a lot for your replies. I had tried linuxant.com earlier, but couldn't find my modem identification listed there. However after going through archives.linmodem.org, I downloaded the drivers from http://linmodems.technion.ac.il/packages/smartlink/. Not sure if they are the right ones or not. While buying hardware modems is an option, I was wondering if this driver installation option was workable. Thanks anyway.


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