9

I am trying to install drivers for fax modem, and I have tried different ways to do it, but each way leads me to an error which says:

fatal error: asm/system.h: No such file or directory

Is there some way to solve this?

EDIT: On a CD which came with my drivers, there is v.1.0 version of dgcmodem driver (http://www.linuxant.com/drivers/dgc/downloads.php), and I tried to install that version and also the newest version (found in mentioned link), and I got that error. Also I tried to install hsfmodem drivers (http://www.linuxant.com/drivers/hsf/oem/downloads.php), and I got the same error.

xpg94
  • 191
  • 1
  • 1
  • 5

3 Answers3

9

This file was removed in Linux 3.4, commit f05e798ad4c0; its contents have been moved into various other headers.

It's possible that just removing the #include <asm/system.h> might work, but it's much more likely that your driver is simply incompatible with current Linux versions.

u1686_grawity
  • 426,297
  • 64
  • 894
  • 966
  • The thing is, the driver I got is the latest driver for that hardware. If it is as you say, then I am highly disappointed in linux. – xpg94 Jul 15 '14 at 08:34
  • 1
    Why not the Unix /Linux stack exchange – bhathiya-perera Jul 15 '14 at 09:59
  • 2
    @xpg94 disappointed for not maintaining a proprietary driver for obsolete hardware? You should blame it on the proprietors of the driver, then, not on Linux. We, as a community, cannot be held responsible for **not** maintaining proprietary software. – MariusMatutiae Jul 15 '14 at 10:38
  • @MariusMatutiae I suppose you're right. – xpg94 Jul 16 '14 at 06:04
  • @xpg94 Why don't you tell us which driver you are trying to compile? Other people have gotten around the problem, one way or another. – MariusMatutiae Jul 16 '14 at 06:15
  • 1
    On a CD which came with my drivers, there is v.1.0 version of dgcmodem driver (http://www.linuxant.com/drivers/dgc/downloads.php), and I tried to install that version and also the newest version (found in mentioned link). Also I tried to install hsfmodem drivers (http://www.linuxant.com/drivers/hsf/oem/downloads.php), and I get the same error. – xpg94 Jul 16 '14 at 06:24
2

As a matter of fact, there seems to be a patch for your driver. You will find it discussed in this Ubuntu Forum post. Mind you, the discussion is 6 pages long... at some point a guy called linktopower provides a patch that allows compilation. The patch is provided through a file, uploaded to the net several times as the guy shuffles providers. The last link is provided at page 6, and it is still active.

The patch allows compilation against the kernel in Ubuntu 12.04, so most likely it would be a 3.2 kernel. You may try going down this road.

Sathyajith Bhat
  • 61,504
  • 38
  • 179
  • 264
MariusMatutiae
  • 46,990
  • 12
  • 80
  • 129
  • When I try to patch using this command: sudo patch -p1 < dgcmodem-1.13.patch I get this output (Don't know what to type in now): can't find file to patch at input line 4 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff -ur dgcmodem-1.13-old/modules/mod_dgcusbdcp.c dgcmodem-1.13-new/modules/mod_dgcusbdcp.c |--- dgcmodem-1.13-old/modules/mod_dgcusbdcp.c 2010-03-25 10:31:18.000000000 -0700 |+++ dgcmodem-1.13-new/modules/mod_dgcusbdcp.c 2012-07-25 22:30:08.366214038 -0700 -------------------------- File to patch: – xpg94 Jul 16 '14 at 07:09
  • I placed the patch into the same directory, and the patching was successful. But after installation, when I enter dgcconfig, to finlaize the installation, I get the same error I had before patching the file. – xpg94 Jul 16 '14 at 07:16
0

Go to ...arch/{x86,arm64,etc}/include/asm/system{_misc,_types}.h

It'll depened upon architecture you're building for and also system.h may've been split into system_misc.h and system_types.h

Then, replace <asm/system.h> in the faulty .c for "full/path/to/your/newly/found/asm/system_misc.h"