PDA

View Full Version : Help Compiling Modem or any other Drivers with a Live CD.



Alanm
08-13-2005, 10:09 AM
How can I compile & install SmartLink SmartPCI562 56K modem drivers, using a Knoppix 3.3 Live CD (BioKnoppix 0.2.1 beta) without a “full” Hdd or RAM installation?
I only have 256MB of RAM.

I ran ScanModem and got the latest drivers (have a bundled driver source CD too).
But “$ make” generates:


knoppix@ttyp0[slmodem-2.9.9e-pre1a]$ make KERNEL_DIR=/lib/modules/2.4.22-xfs/build
make -C modem all
make[1]: Entering directory `/mnt/sdb1/slmodem-2.9.9e-pre1a/modem'
rebuild profile...
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_main.o -c modem_main.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_cmdline.o -c modem_cmdline.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem.o -c modem.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_datafile.o -c modem_datafile.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_at.o -c modem_at.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_timer.o -c modem_timer.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_pack.o -c modem_pack.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_ec.o -c modem_ec.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_comp.o -c modem_comp.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_param.o -c modem_param.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_debug.o -c modem_debug.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o homolog_data.o -c homolog_data.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o dp_sinus.o -c dp_sinus.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o dp_dummy.o -c dp_dummy.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o sysdep_common.o -c sysdep_common.c
gcc -o slmodemd modem_main.o modem_cmdline.o modem.o modem_datafile.o modem_at.o modem_timer.o modem_pack.o modem_ec.o modem_comp.o modem_param.o modem_debug.o homolog_data.o dp_sinus.o dp_dummy.o dsplibs.o sysdep_common.o
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_test.o -c modem_test.c
gcc -o modem_test modem_test.o modem_cmdline.o modem.o modem_datafile.o modem_at.o modem_timer.o modem_pack.o modem_ec.o modem_comp.o modem_param.o modem_debug.o homolog_data.o dp_sinus.o dp_dummy.o dsplibs.o sysdep_common.o
make[1]: Leaving directory `/mnt/sdb1/slmodem-2.9.9e-pre1a/modem'
make -C drivers KERNEL_DIR=/lib/modules/2.4.22-xfs/build
make[1]: Entering directory `/mnt/sdb1/slmodem-2.9.9e-pre1a/drivers'
cc -I/lib/modules/2.4.22-xfs/build/include -o kernel-ver kernel-ver.c
make all KERNEL_VER=2.4.22-xfs
make[2]: Entering directory `/mnt/sdb1/slmodem-2.9.9e-pre1a/drivers'
cc -Wall -pipe -O3 -fomit-frame-pointer -D__KERNEL__ -DMODULE -DEXPORT_SYMTAB -DMODVERSIONS --include /lib/modules/2.4.22-xfs/build/include/linux/modversions.h -I/lib/modules/2.4.22-xfs/build/include -I. -I./../modem -o amrmo_init.o -c amrmo_init.c
In file included from /lib/modules/2.4.22-xfs/build/include/linux/capability.h:17,
from /lib/modules/2.4.22-xfs/build/include/linux/binfmts.h:5,
from /lib/modules/2.4.22-xfs/build/include/linux/sched.h:9,
from /lib/modules/2.4.22-xfs/build/include/linux/mm.h:4,
from /lib/modules/2.4.22-xfs/build/include/linux/slab.h:14,
from /lib/modules/2.4.22-xfs/build/include/asm/pci.h:37,
from /lib/modules/2.4.22-xfs/build/include/linux/pci.h:654,
from amrmo_init.c:50:
/lib/modules/2.4.22-xfs/build/include/linux/fs.h:15:23: /lib/modules/2.4.22-xfs/build/include/linux/net.h: Input/output error
In file included from /lib/modules/2.4.22-xfs/build/include/asm/semaphore.h:39,
from /lib/modules/2.4.22-xfs/build/include/linux/fs.h:202,
from /lib/modules/2.4.22-xfs/build/include/linux/capability.h:17,
from /lib/modules/2.4.22-xfs/build/include/linux/binfmts.h:5,
from /lib/modules/2.4.22-xfs/build/include/linux/sched.h:9,
from /lib/modules/2.4.22-xfs/build/include/linux/mm.h:4,
from /lib/modules/2.4.22-xfs/build/include/linux/slab.h:14,
from /lib/modules/2.4.22-xfs/build/include/asm/pci.h:37,
from /lib/modules/2.4.22-xfs/build/include/linux/pci.h:654,
from amrmo_init.c:50:
/lib/modules/2.4.22-xfs/build/include/asm/system.h: In function `__set_64bit_var':
/lib/modules/2.4.22-xfs/build/include/asm/system.h:190: warning: dereferencing type-punned pointer will break strict-aliasing rules
/lib/modules/2.4.22-xfs/build/include/asm/system.h:190: warning: dereferencing type-punned pointer will break strict-aliasing rules
/lib/modules/2.4.22-xfs/build/include/linux/fs.h:324:28: /lib/modules/2.4.22-xfs/build/include/linux/ncp_fs_i.h: Input/output error
In file included from /lib/modules/2.4.22-xfs/build/include/linux/capability.h:17,
from /lib/modules/2.4.22-xfs/build/include/linux/binfmts.h:5,
from /lib/modules/2.4.22-xfs/build/include/linux/sched.h:9,
from /lib/modules/2.4.22-xfs/build/include/linux/mm.h:4,
from /lib/modules/2.4.22-xfs/build/include/linux/slab.h:14,
from /lib/modules/2.4.22-xfs/build/include/asm/pci.h:37,
from /lib/modules/2.4.22-xfs/build/include/linux/pci.h:654,
from amrmo_init.c:50:
/lib/modules/2.4.22-xfs/build/include/linux/fs.h: At top level:
/lib/modules/2.4.22-xfs/build/include/linux/fs.h:519: error: field `ncpfs_i' has incomplete type
/lib/modules/2.4.22-xfs/build/include/linux/fs.h:521: error: field `socket_i' has incomplete type
/lib/modules/2.4.22-xfs/build/include/linux/fs.h:734:29: /lib/modules/2.4.22-xfs/build/include/linux/ncp_fs_sb.h: Input/output error
In file included from /lib/modules/2.4.22-xfs/build/include/linux/capability.h:17,
from /lib/modules/2.4.22-xfs/build/include/linux/binfmts.h:5,
from /lib/modules/2.4.22-xfs/build/include/linux/sched.h:9,
from /lib/modules/2.4.22-xfs/build/include/linux/mm.h:4,
from /lib/modules/2.4.22-xfs/build/include/linux/slab.h:14,
from /lib/modules/2.4.22-xfs/build/include/asm/pci.h:37,
from /lib/modules/2.4.22-xfs/build/include/linux/pci.h:654,
from amrmo_init.c:50:
/lib/modules/2.4.22-xfs/build/include/linux/fs.h:793: error: field `ncpfs_sb' has incomplete type
/lib/modules/2.4.22-xfs/build/include/linux/fs.h:877: warning: `struct iovec' declared inside parameter list
/lib/modules/2.4.22-xfs/build/include/linux/fs.h:877: warning: its scope is only this definition or declaration, which is probably not what you want
/lib/modules/2.4.22-xfs/build/include/linux/fs.h:878: warning: `struct iovec' declared inside parameter list
make[2]: *** [amrmo_init.o] Error 1
make[2]: Leaving directory `/mnt/sdb1/slmodem-2.9.9e-pre1a/drivers'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/mnt/sdb1/slmodem-2.9.9e-pre1a/drivers'
make: *** [drivers] Error 2

$cat /lib/modules/…/net.h” generates an Input/Output error.

Since the kernel was compiled with gcc-2.95.4, but “/usr/bin/gcc -> gcc-3.3” I expected problems.

gcc-2.95.4 is available but I cannot change the link (it’s read-only).
If I somehow manage to change the /usr/bin/gcc link to gcc-2.95.4, should I also change the /usr/bin/cpp link to /usr/bin/cpp-2.95.4 too?

Is there away I can go around that? Like modifying the "Makefile" to point to gcc-2.95.4 or using a 512MB USB key?

Is this even the cause of the errors?

If I manage to compile the drivers how do I install them each time I boot with the Live CD?

Thanks in advance.

------------ -------------- System information ------------------------
Debian GNU/LINUX on System with processor: i686
currently under kernel: 2.4.22-xfs
The kernel was assembled with compiler: 2.95.4
with current System compiler GCC=3.3.2
/usr/bin/gcc -> gcc-3.3
RAM: 256MB

rusty
08-13-2005, 03:39 PM
There's a couple of things that might help,

You can use a gcc= cheatcode at boot time to change the version of gcc that knoppix uses, as long as the version is available. You could also try copying the makefile to your usbdrive, hacking it and using make -f .

You might be able to find the the kernel module in binary from, and save it to the usb stick, then insmod it . I'm not sure if that will work or not. Take a look at linmodems.org, if you haven't already.

Generally, software modems are a pain and you will spend a lot of time getting this to work. If you plan on using that particular distro and need to get online alot, look into getting a controller based, usually external serial modem. On the other hand I think Kanotix has the slmodem drivers prebuilt, and you might want to explore using that for a live cd and getting the bioknoppix specific applications to run from your usbstick.

HTH