Steve Scrimpshire Posted May 30, 2003 Report Share Posted May 30, 2003 Ok, I just installed MDK 9.1 (what a nightmare, but that's another story) and one of the modules that I have to install and load is a proprietary module for my Linksys HPNA (Home Phoneline network card) and after compiling the module using the instructions I attempt to load it: $ insmod -n il Using /lib/modules/2.4.20/kernel/net/hpna/il.o.gz Warning: loading /lib/modules/2.4.20/kernel/net/hpna/il.o.gz will taint the kernel: no license See http://www.tux.org/lkml/#export-tainted for information about tainted modules I know that the -n switch does not actually load it, but if I do actually load it, it loads with warnings and everything freezes up, only thing I can do is push the power button (good thing I have ReiserFS). I have no understanding of the solutions I have read while googling (something about exporting with a switch or something) and even if I did, there is no GPL license code to pass. Any ideas? My fiancee will kill me if I can't get the network up. Note, this is the same 2.4.20 generic kernel that I used in 8.1 (MDK's 2.4.x kernel will not boot on my machine due to some config problems and my Kadoka MoBo) where the module loaded fine. Quote Link to comment Share on other sites More sharing options...
Steve Scrimpshire Posted May 30, 2003 Author Report Share Posted May 30, 2003 A new problem with this. I recompiled my kernel with gcc-3.* so that I could rebuild the NVIDIA_kernel stuff and now I cannot even use the il.o driver because it is built using another precompiled *.o file that was compiled on gcc-2.* gggrrrrrrrrrrrrrrrrrrrrrrrrr Is there a way to 'uncompile' the required *.o files and recompile them using gcc-3.*? Quote Link to comment Share on other sites More sharing options...
tyme Posted May 30, 2003 Report Share Posted May 30, 2003 just recompile the driver, it'll replace the *.o files. (or it should) i don't think you can "uncompile" things-that is, aside from reverse engineering...which isn't really uncompiling in the sense you are looking for. Quote Link to comment Share on other sites More sharing options...
Steve Scrimpshire Posted May 30, 2003 Author Report Share Posted May 30, 2003 Well, it's not as simple as just recompiling. Here's an synopsis: Inside the directory that I download, there are these files (among others): linux_osl.c il_linux.c il.c something.h something-else.o (If I remember right, I'm not at home right now) If I compile, I get: linux_osl.o il_linux.o il.o which I'm supposed to copy to my /lib/modules/2.4.20/kernel/net/hpna directory and gzip. If I remove something-else.o, then il.c will not compile, saying that it includes something-else.o which it cannot find and there is no something-else.c to recompile (make sense?). I'm definitely trying to compile with a gcc-3.* compiler, but I'm assuming that something-else.o is compiled with a gcc-2.* compiler and that is why I get the cross-compilation errors when I try to insmod il after compiling it. Quote Link to comment Share on other sites More sharing options...
tyme Posted May 30, 2003 Report Share Posted May 30, 2003 contact linksys and see if they can rebuild that other .o file with gcc3? i have no idea... Quote Link to comment Share on other sites More sharing options...
DragonMage Posted May 30, 2003 Report Share Posted May 30, 2003 Googling for your particular problem, it seems that you are not alone in this matter. Your card seems incompatible with gcc 3.xx based distro such as RH 8.0 and MDK 9.0 up. However, I found something interesting in my googling. http://groups.yahoo.com/group/jreceiver_us...er/message/1845 Why don't you email that person and ask for that updated driver? Who knows, maybe he has more information or even better, a source driver :) Quote Link to comment Share on other sites More sharing options...
Steve Scrimpshire Posted May 30, 2003 Author Report Share Posted May 30, 2003 Wow. Thanks DragonMage! I thought *I* was the king of googling and could find anything, but I turned up nothing (or maybe I got frustrated and didn't see it). I've got an email into support@linksys.com as well, but I still need help with this 'tainting' issue. Quote Link to comment Share on other sites More sharing options...
tyme Posted May 30, 2003 Report Share Posted May 30, 2003 with this driver you'll probably always get the tainting error. it's just like the NVIDIA drivers, they aren't GPL, so they "taint" the kernel. Quote Link to comment Share on other sites More sharing options...
Steve Scrimpshire Posted May 30, 2003 Author Report Share Posted May 30, 2003 Well, I emailed that guy from the yahoo group. His problem was in October and he has since gone with a hardware solution and no longer has the driver in his possession and said it was compiled already for one specific kernel version. Bummer. Quote Link to comment Share on other sites More sharing options...
Steve Scrimpshire Posted June 1, 2003 Author Report Share Posted June 1, 2003 No answer yet from the people at the website. Linksys is no help either, they don't support Linux. I would still love to get this working. Quote Link to comment Share on other sites More sharing options...
DragonMage Posted June 1, 2003 Report Share Posted June 1, 2003 That's the problem with non-open source driver I'm afraid.. I guess you are stuck with using gcc 2.9x if you want to use your HPNA.. Anyway, why so dead set with HPNA anyway? I mean, regular ethernet cards are really cheap and cables are not exactly expensive either. Yeah.. wireless networking is pretty expensive on the other hand. Quote Link to comment Share on other sites More sharing options...
Steve Scrimpshire Posted June 1, 2003 Author Report Share Posted June 1, 2003 Well, we live in a 150 year old house and one computer is upstairs while the other is downstairs. I have two network cards other than my HPNA cards, but no way to run cable between the two. Quote Link to comment Share on other sites More sharing options...
Steve Scrimpshire Posted June 1, 2003 Author Report Share Posted June 1, 2003 Here's an update. I downgraded to gcc 2.96 and recompiled my kernel and the driver. Now, I don't get the wrong compiler error when I try to load it. I do, however, get a kernel oops and my system hangs: May 31 18:24:19 localhost kernel: eth0: Broadcom InsideLine10(tm) PCI Network Adapter 2.34.0.2 May 31 18:24:19 localhost kernel: Unable to handle kernel paging request at virtual address 00010000 May 31 18:24:19 localhost kernel: printing eip: May 31 18:24:19 localhost kernel: d8d708f5 May 31 18:24:19 localhost kernel: *pde = 00000000 May 31 18:24:19 localhost kernel: Oops: 0000 May 31 18:24:19 localhost kernel: CPU: 0 May 31 18:24:19 localhost kernel: EIP: 0010:[reiserfs+414058974/674299904] Tainted: P May 31 18:24:19 localhost kernel: EIP: 0010:[<d8d708f5>] Tainted: P May 31 18:24:19 localhost kernel: EFLAGS: 00010006 May 31 18:24:19 localhost kernel: eax: 00000001 ebx: 00000202 ecx: 00010000 edx: 00010000 May 31 18:24:19 localhost kernel: esi: cac5c000 edi: 00000000 ebp: d17f7f08 esp: d17f7efc May 31 18:24:19 localhost kernel: ds: 0018 es: 0018 ss: 0018 May 31 18:24:19 localhost kernel: Process ifplugd (pid: 1861, stackpage=d17f7000) May 31 18:24:19 localhost kernel: Stack: 00000202 d17f7f5c 000089f1 d17f7f28 d8d6fac9 cac5c000 00000001 00010000 May 31 18:24:19 localhost kernel: 00000202 00000004 ce06ee00 bffffd90 c01e4d09 ce06ee00 d17f7f5c 000089f1 May 31 18:24:19 localhost kernel: 00000000 d17f7f5c 000089f1 c01e4f75 d17f7f5c 000089f1 d17f7f5c 00000000 May 31 18:24:19 localhost kernel: Call Trace: [reiserfs+414055346/674299904] [dev_ifsioc+857/880] [dev_ioctl+597/848] [sock_ioctl+30/48] [sys_ioctl+375/400] May 31 18:24:19 localhost kernel: Call Trace: [<d8d6fac9>] [<c01e4d09>] [<c01e4f75>] [<c01dd5be>] [<c0141977>] May 31 18:24:19 localhost kernel: [system_call+51/56] May 31 18:24:19 localhost kernel: [<c010890f>] May 31 18:24:19 localhost kernel: May 31 18:24:19 localhost kernel: Code: 8b 1a eb 09 8d b4 26 00 00 00 00 31 db 83 f8 0f 0f 87 18 02 Now, if I rename /sbin/ifplugd to /sbin/ifplugd.old and insmod il then rename it back, I do not get the kernel oops, but nothing pertaining to network interfaces works. ppp0 won't come up, ifconfig won't work (just hangs). If I try to run ifplugd, it tells me that an instance of ifplugd is already running for interface eth0. I'm getting closer, I can smell it. Quote Link to comment Share on other sites More sharing options...
Steve Scrimpshire Posted June 2, 2003 Author Report Share Posted June 2, 2003 Hmmm...I hadn't changed anything except not gzipping the *.o files one I put them in /lib/modules/2.4.20/kernel/drivers/net/hpna, but now when I try to insmod il, it tells me it is not an ELF file. How can I compile it as an ELF file? Maybe that's why I got the kernel oops. Edit: I'm back with more info. Recompiled the modules and don't get the ELF error, but still get the kernel oops. I'm assuming this is going to be a problem with ifplugd but I'm not allowed to remove it: # urpme ifplugd removing package basesystem-9.0-3mdk will break your system removing package makedev-4.0.1-1mdk will break your system removing package ifplugd-0.13-3mdk will break your system removing package util-linux-2.11x-3mdk will break your system removing package kernel-2.4.21.0.13mdk-1-1mdk will break your system removing package vixie-cron-3.0.1-55mdk will break your system removing package SysVinit-2.84-2mdk will break your system removing package libldap2-2.0.27-5.3mdk will break your system removing package initscripts-7.06-12.1mdk will break your system removing package passwd-0.68-1mdk will break your system removing package rpm-helper-0.9-1mdk will break your system removing package libsasl7-1.5.28-5mdk will break your system removing package libuser1-0.51-6mdk will break your system removing package sysklogd-1.4.1-4mdk will break your system removing package pam-0.75-30mdk will break your system removing package rpm-4.0.4-28mdk will break your system removing package coreutils-4.5.7-1mdk will break your system removing package utempter-0.5.2-10mdk will break your system removing package console-tools-0.2.3-42mdk will break your system removing package mkbootdisk-1.4.5-4mdk will break your system removing package libuser-0.51-6mdk will break your system removing package mkinitrd-3.1.6-37mdk will break your system Nothing to remove Quote Link to comment Share on other sites More sharing options...
Steve Scrimpshire Posted June 3, 2003 Author Report Share Posted June 3, 2003 Ok, after having relaxed a little bit and doing some more Google-ing, I figure that ifplugd is just not compatible with my driver. I'm going to try downloading the *.tar.gz version of ifplugd and recompiling it. If this doesn't work, does anyone know of a way to disable ifplugd and just going back to the 8.1 way of handling the interfaces? Edit: After having tried to debug this with ksymoops, it appears that it is the il module requesting a memory address that is out of range or something (I'm not very knowledgable in this area). So, since the il module works with the 2.4.20 kernel in 8.1 and this is actually a kernel oops, I'm assuming there are modifications to the kernel that allow ifplugd to do its thing properly, so I'm going to try upgrading my kernel and see how it goes. The il driver is not listed in the supported drivers of ifplugd, but it's also not a very common driver, so he may not even know about its existence. Maybe I'll get lucky and a kernel upgrade will work. By the time this is over, I may be able to write my own driver. :wink: Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.