Need help with Intel 56k Modem Driver

Asked by Shah Hussain Khan on 2008-07-04

Hello Dears,

I have an Intel 56k Modem on a Toshiba Satellite x200-21t laptop, i am trying to install my driver on ubuntu, but don't know how to do it, i am getting some errors :S

Detail about of modem:

[INTEL-V92HAM-453]
Chip Number: MD5628D-L-B

and Driver can be find here:
http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&ProductID=1057&DwnldID=5976&strOSs=39&OSFullName=Linux*&lang=eng

ok, i have try the following to install the driver:

ypcname@ubuntu:~$ cd /home/mypcname/Desktop/Intel-v92ham-453/
mypcname@ubuntu:~/Desktop/Intel-v92ham-453$ sudo make clean
-------------------------
when i wrote: sudo make clean i got this:
-------------------------
[sudo] password for mypcname:
cd coredrv; make clean
make[1]: Entering directory `/home/mypcname/Desktop/Intel-v92ham-453/coredrv'
rm -f *.o *~ core
make[1]: Leaving directory `/home/mypcname/Desktop/Intel-v92ham-453/coredrv'
cd serialdrv; make clean
make[1]: Entering directory `/home/mypcname/Desktop/Intel-v92ham-453/serialdrv'
rm -f *.o *~ core
make[1]: Leaving directory `/home/mypcname/Desktop/Intel-v92ham-453/serialdrv'
rm -f *.o
rm -f *.o
-------------------------
When i wrote this: sudo make ham i got this:
-------------------------
mypcname@ubuntu:~/Desktop/Intel-v92ham-453$ sudo make ham
Module precompile check
Current running kernel is: 2.6.24-16-generic
/lib/modules... autoconf.h exists
diff: /boot/vmlinuz.autoconf.h: No such file or directory
autoconf.h matches running kernel
diff: /boot/vmlinuz.version.h: No such file or directory
version.h matches running kernel
cd coredrv; make \
"PSTN_DEF=-DTARGET_HAM -DDSP_CODE_800_SERIES -DTARGET_LINUX -DLINUX" \
ham;
make[1]: Entering directory `/home/mypcname/Desktop/Intel-v92ham-453/coredrv'
cc -DTARGET_HAM -DDSP_CODE_800_SERIES -DTARGET_LINUX -DLINUX -Wall -O -I /lib/modules/`uname -r`/build/include -I../inc -c -o coredrv.o coredrv.c
In file included from ../inc/hamcore.h:48,
from coredrv.c:33:
../inc/hamdefs.h:49:28: error: linux/config.h: No such file or directory
In file included from /lib/modules/2.6.24-16-generic/build/include/asm/processor.h:4,
from /lib/modules/2.6.24-16-generic/build/include/linux/prefetch.h:14,
from /lib/modules/2.6.24-16-generic/build/include/linux/list.h:8,
from /lib/modules/2.6.24-16-generic/build/include/linux/preempt.h:11,
from /lib/modules/2.6.24-16-generic/build/include/linux/spinlock.h:49,
from /lib/modules/2.6.24-16-generic/build/include/linux/seqlock.h:29,
from /lib/modules/2.6.24-16-generic/build/include/linux/time.h:8,
from /lib/modules/2.6.24-16-generic/build/include/linux/timex.h:57,
from /lib/modules/2.6.24-16-generic/build/include/linux/sched.h:53,
from coredrv.c:35:
/lib/modules/2.6.24-16-generic/build/include/asm/processor_64.h:79: error: ‘CONFIG_X86_L1_CACHE_SHIFT’ undeclared here (not in a function)
/lib/modules/2.6.24-16-generic/build/include/asm/processor_64.h:79: error: requested alignment is not a constant
/lib/modules/2.6.24-16-generic/build/include/asm/processor_64.h:200: error: requested alignment is not a constant
In file included from /lib/modules/2.6.24-16-generic/build/include/linux/sched.h:54,
from coredrv.c:35:
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:33:3: error: #error You lose.
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
/lib/modules/2.6.24-16-generic/build/include/linux/jiffies.h:225:31: error: division by zero in #if
In file included from /lib/modules/2.6.24-16-generic/build/include/asm/ptrace.h:35,
from /lib/modules/2.6.24-16-generic/build/include/linux/sched.h:65,
from coredrv.c:35:
/lib/modules/2.6.24-16-generic/build/include/asm/vm86.h:22:1: warning: "VM_MASK" redefined
In file included from /lib/modules/2.6.24-16-generic/build/include/asm/processor.h:4,
from /lib/modules/2.6.24-16-generic/build/include/linux/prefetch.h:14,
from /lib/modules/2.6.24-16-generic/build/include/linux/list.h:8,
from /lib/modules/2.6.24-16-generic/build/include/linux/preempt.h:11,
from /lib/modules/2.6.24-16-generic/build/include/linux/spinlock.h:49,
from /lib/modules/2.6.24-16-generic/build/include/linux/seqlock.h:29,
from /lib/modules/2.6.24-16-generic/build/include/linux/time.h:8,
from /lib/modules/2.6.24-16-generic/build/include/linux/timex.h:57,
from /lib/modules/2.6.24-16-generic/build/include/linux/sched.h:53,
from coredrv.c:35:
/lib/modules/2.6.24-16-generic/build/include/asm/processor_64.h:29:1: warning: this is the location of the previous definition
In file included from /lib/modules/2.6.24-16-generic/build/include/linux/sched.h:65,
from coredrv.c:35:
/lib/modules/2.6.24-16-generic/build/include/asm/ptrace.h: In function ‘user_mode’:
/lib/modules/2.6.24-16-generic/build/include/asm/ptrace.h:50: error: ‘SEGMENT_RPL_MASK’ undeclared (first use in this function)
/lib/modules/2.6.24-16-generic/build/include/asm/ptrace.h:50: error: (Each undeclared identifier is reported only once
/lib/modules/2.6.24-16-generic/build/include/asm/ptrace.h:50: error: for each function it appears in.)
/lib/modules/2.6.24-16-generic/build/include/asm/ptrace.h:50: error: ‘USER_RPL’ undeclared (first use in this function)
/lib/modules/2.6.24-16-generic/build/include/asm/ptrace.h: In function ‘user_mode_vm’:
/lib/modules/2.6.24-16-generic/build/include/asm/ptrace.h:54: error: ‘SEGMENT_RPL_MASK’ undeclared (first use in this function)
/lib/modules/2.6.24-16-generic/build/include/asm/ptrace.h:54: error: ‘USER_RPL’ undeclared (first use in this function)
In file included from /lib/modules/2.6.24-16-generic/build/include/linux/sched.h:78,
from coredrv.c:35:
/lib/modules/2.6.24-16-generic/build/include/linux/proportions.h: In function ‘prop_inc_percpu’:
/lib/modules/2.6.24-16-generic/build/include/linux/proportions.h:75: warning: implicit declaration of function ‘local_irq_save’
/lib/modules/2.6.24-16-generic/build/include/linux/proportions.h:77: warning: implicit declaration of function ‘local_irq_restore’
In file included from /lib/modules/2.6.24-16-generic/build/include/linux/timer.h:5,
from /lib/modules/2.6.24-16-generic/build/include/linux/sched.h:87,
from coredrv.c:35:
/lib/modules/2.6.24-16-generic/build/include/linux/ktime.h: In function ‘ktime_set’:
/lib/modules/2.6.24-16-generic/build/include/linux/ktime.h:84: warning: comparison is always false due to limited range of data type
coredrv.c: At top level:
coredrv.c:47: warning: data definition has no type or storage class
coredrv.c:47: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:47: warning: parameter names (without types) in function declaration
coredrv.c:48: warning: data definition has no type or storage class
coredrv.c:48: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:48: warning: parameter names (without types) in function declaration
coredrv.c:49: warning: data definition has no type or storage class
coredrv.c:49: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:49: warning: parameter names (without types) in function declaration
coredrv.c:50: warning: data definition has no type or storage class
coredrv.c:50: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:50: warning: parameter names (without types) in function declaration
coredrv.c:51: warning: data definition has no type or storage class
coredrv.c:51: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:51: warning: parameter names (without types) in function declaration
coredrv.c:52: warning: data definition has no type or storage class
coredrv.c:52: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:52: warning: parameter names (without types) in function declaration
coredrv.c:53: warning: data definition has no type or storage class
coredrv.c:53: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:53: warning: parameter names (without types) in function declaration
coredrv.c:54: warning: data definition has no type or storage class
coredrv.c:54: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:54: warning: parameter names (without types) in function declaration
coredrv.c:55: warning: data definition has no type or storage class
coredrv.c:55: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:55: warning: parameter names (without types) in function declaration
coredrv.c:56: warning: data definition has no type or storage class
coredrv.c:56: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:56: warning: parameter names (without types) in function declaration
coredrv.c:57: warning: data definition has no type or storage class
coredrv.c:57: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:57: warning: parameter names (without types) in function declaration
coredrv.c:58: warning: data definition has no type or storage class
coredrv.c:58: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:58: warning: parameter names (without types) in function declaration
coredrv.c:59: warning: data definition has no type or storage class
coredrv.c:59: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:59: warning: parameter names (without types) in function declaration
coredrv.c:60: warning: data definition has no type or storage class
coredrv.c:60: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:60: warning: parameter names (without types) in function declaration
coredrv.c:61: warning: data definition has no type or storage class
coredrv.c:61: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:61: warning: parameter names (without types) in function declaration
coredrv.c:62: warning: data definition has no type or storage class
coredrv.c:62: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:62: warning: parameter names (without types) in function declaration
coredrv.c:63: warning: data definition has no type or storage class
coredrv.c:63: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:63: warning: parameter names (without types) in function declaration
coredrv.c:64: warning: data definition has no type or storage class
coredrv.c:64: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:64: warning: parameter names (without types) in function declaration
coredrv.c:65: warning: data definition has no type or storage class
coredrv.c:65: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:65: warning: parameter names (without types) in function declaration
coredrv.c:66: warning: data definition has no type or storage class
coredrv.c:66: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:66: warning: parameter names (without types) in function declaration
coredrv.c:67: warning: data definition has no type or storage class
coredrv.c:67: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:67: warning: parameter names (without types) in function declaration
coredrv.c:68: warning: data definition has no type or storage class
coredrv.c:68: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:68: warning: parameter names (without types) in function declaration
coredrv.c:69: warning: data definition has no type or storage class
coredrv.c:69: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL_NOVERS’
coredrv.c:69: warning: parameter names (without types) in function declaration
coredrv.c:123: error: expected ‘)’ before string constant
coredrv.c: In function ‘kcli’:
coredrv.c:317: warning: implicit declaration of function ‘cli’
coredrv.c: In function ‘ksave_flags’:
coredrv.c:322: warning: implicit declaration of function ‘save_flags’
coredrv.c: In function ‘krestore_flags’:
coredrv.c:327: warning: implicit declaration of function ‘restore_flags’
coredrv.c: In function ‘ham_proc_shutdown_wait’:
coredrv.c:375: error: ‘CONFIG_HZ’ undeclared (first use in this function)
coredrv.c: In function ‘kdisable_irq’:
coredrv.c:387: warning: implicit declaration of function ‘disable_irq’
coredrv.c: In function ‘kenable_irq’:
coredrv.c:395: warning: implicit declaration of function ‘enable_irq’
make[1]: *** [coredrv.o] Error 1
make[1]: Leaving directory `/home/mypcname/Desktop/Intel-v92ham-453/coredrv'
make: *** [ham] Error 2
-------------------------
When i wrote, sudo make install i got this:
-------------------------
mypcname@ubuntu:~/Desktop/Intel-v92ham-453$ sudo make install
bash haminst
running kernel 2.6.24-16-generic
unsupported kernel version.
make: *** [install] Error 1
mypcname@ubuntu:~/Desktop/Intel-v92ham-453$
-------------------------

Please i have 100% explain my error, so now please can any one help me please

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu hal Edit question
Assignee:
No assignee Edit question
Solved by:
Sharar Ravitz
Solved:
2008-07-07
Last query:
2008-07-07
Last reply:
2008-07-07

Sorry, i forgot to tell you this:

The Intel-V92ham-453.tgz contains the Intel® V.92 modem chipset driver for Linux (PCI) version 4.53. This driver supports Linux versions 2.4.X kernels (up to 2.4.18). This driver is not compatible with kernel version 2.2.X.

My Modem Driver Support 2.4.X kernels, but where can i find this??

Please help me

Sharar Ravitz (jewfro-macabbi) said : #2

You need to install your kernel headers, and autoconf: sudo apt-get install autoconf linux-kernel-headers linux-source

after that try installing per the README :

log in as root.

insmod -f hamcore.o

insmod -f ham.o

you can start "hamregistry" at this point if you wish.

rm /dev/ham

mknod /dev/ham c 240 1 (note "240" is the default, if it does not
work see what /proc/devices says ham's major number is)

ln -s /dev/ham /dev/modem

start a comm application like minicom and use the modem.

Sharar Ravitz (jewfro-macabbi) said : #3

You can fine 2.4 kernel source here: http://www.kernel.org/pub/linux/kernel/v2.4/

You'd have to compile it yourself.

Hey Yeshara Ravitz, I have try that also but got the same problem, i have find alot of kernel version on that page i have just download the Jan 1 2008 release, but i got the same problem, please help i have also contact intel..... please any one help me,,,,,............... :(

Sharar Ravitz (jewfro-macabbi) said : #6

Shah which step are you stuck at, and can you post any relevant error messages? Were you able to compile/install the 2.4 kernel? The install script is not debian/ubuntu specific - so to get it to work you'd have to edit. The second set of install instructions - using insmod are your best bet.

Sharar Ravitz (jewfro-macabbi) said : #7

Here's Ubuntu specific kernel compiling instructions:

https://help.ubuntu.com/community/Kernel/Compile

Hello Dear Yeshara Ravitz and marcobra, i don;t understand what to do here: https://help.ubuntu.com/community/Kernel/Compile

i have 2 computers 1 is laptop and 1 is desktop, i am using laptop with which i am using now, and on desktop i have ubuntu, i don't have internet on that desktop(ubuntu), i want a way to download some packages on this laptop computer and install it on that desktop pc(ubuntu)..

Sorry, brothers i am really new to ubuntu so please help me :( :(

please again......

Thanks

Sharar Ravitz (jewfro-macabbi) said : #9

Shah,
If the laptop can connect, why not network the desktop through it to pull your packages, or until you can get your modem driver working? If that's not possible, you can download .deb packages and burn them to disc.

where can i download that .deb packages??

Simply, how can i install linux kernel 2.4.x(upto 2.4.18) over 2.6.x ?? << i think if i done this then everthing is done.. please help

You can grab .deb packages here:

http://packages.ubuntu.com/

The fastest way to install a 2.4 kernel is to grab the source from kernel.org (link above). Extract it, then cd into that directory.

Issue these commands:

sudo apt-get install linux-kernel-devel fakeroot build-essential

sudo apt-get build-dep linux-source

cp -vi /boot/config-`uname -r` .config

sudo apt-get install qt3-dev-tools libqt3-mt-dev # if you plan to use 'make xconfig'

make xconfig

make-kpkg clean

fakeroot make-kpkg --initrd --append-to-version=custom kernel_headers kernel_image kernel_source

It takes quite a while to compile a kernel, but when it's done you'll have three installable deb files for linux-image, linux-headers, and linux-source.

but what kind of package i have to grab there is thosand of packages..?

You'll need all the packages listed in the sudo ap-get commands above, and any dependencies.

can you please explain this a little more:
---------------------------------------------------------------

The fastest way to install a 2.4 kernel is to grab the source from kernel.org (link above). Extract it, then cd into that directory.

Issue these commands:

sudo apt-get install linux-kernel-devel fakeroot build-essential

sudo apt-get build-dep linux-source

cp -vi /boot/config-`uname -r` .config

sudo apt-get install qt3-dev-tools libqt3-mt-dev # if you plan to use 'make xconfig'

make xconfig

make-kpkg clean

fakeroot make-kpkg --initrd --append-to-version=custom kernel_headers kernel_image kernel_source

It takes quite a while to compile a kernel, but when it's done you'll have three installable deb files for linux-image, linux-headers, and linux-source.

----------------------------------------------------------------------

I have download the kernel, but don't in which folder i have to extract it, ??

i have downloaded 2.4.17 kernel from kernel.org, but don't know where to extract and how to install, please can you explain your above message a little more... please?

Move the file you've downloaded to the /usr/src directory and extract it. Then CD into the extracted directory from the command line. After that folllow the instructions above.

Here a page with detailed info on kernel compilation if need more help:

https://help.ubuntu.com/community/Kernel/Compile

Did you try to install the drive using the insmod method? It may be possible to insert the module in your current kernel using these steps:

insmod -f hamcore.o

insmod -f ham.o

you can start "hamregistry" at this point if you wish.

rm /dev/ham

mknod /dev/ham c 240 1 (note "240" is the default, if it does not
work see what /proc/devices says ham's major number is)

ln -s /dev/ham /dev/modem

start a comm application like minicom and use the modem.

i try this, but got an error:

mypc@ubuntu:/$ cd /home/mypc/Desktop/Intel-v92ham-453
mypc@ubuntu:~/Desktop/Intel-v92ham-453$ insmod -f hamcore.o
insmod: can't read 'hamcore.o': No such file or directory

please help

and also i try other way, and got an error, please help :

root@ubuntu:~# cd /usr/src/linux/
root@ubuntu:/usr/src/linux# sudo apt-get install linux-kernel-devel fakeroot build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package linux-kernel-devel

jewfro@mossada:~$ aptitude search linux-kernel
p liblinux-kernelsort-perl - Perl module for sorting Linux Kernel versi
p linux-kernel-devel - Linux kernel hacking dependencies
v linux-kernel-headers -
v linux-kernel-log-daemon -
jewfro@mossada:~$

As you can see - it's in the repos. Not sure why you can't install it. But your going to need those packages to compile the driver, and to compile a 2.4 kernel version as well.

You can probably live without linux-kernel-devel, as I see I don't have it, and I've compiled a few kernels... But you will need linux-headers and linux-source

not works, i waste alot of your time, lets do one thing, can you tell me the most working 56kmodem on ubuntu, and i will buy a new one, if you know then please tell me and that's it my problem is solved.

Thanks alot bro, thanks again...

Please tell me the good modem which works with ubuntu kernel 2.6.xx etc...

please

There's lots of modems which work easily in Ubuntu - get a "hardware" modem. Most modems are cheap winmodems - half on their job is performed in Windows OS, and this is why it's very difficult to make them work under linux.

Any U.S. Robotics "hardware" modem will work great. I've had several of them and they are detected out of box in linux - no drivers needed.

so can you tell me where can i find that.?

Anywhere and everywhere my friend. I bought both of mine off ebay. Here's a list of them for sale:

http://www.google.com/products?q=U.S.+robotics+hardware+modem&btnG=Search+Products&hl=en

Just make sure it's a "hardware" modem. After you find one you could always check U.S. robotics site and make sure it lists "linux" compatability

ok, got a one, which works with Linux (Kernel 2.3 and higher):
http://www.xpcgear.com/vp2973a.html

Thanks Yeshara Ravitz, that solved my question.