Linux - KernelThis forum is for all discussion relating to the Linux kernel.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Distribution: Windoze Vista x64; Debian 4.0r0 server
Posts: 23
Rep:
Why was "ksyms" dropped from 2.6+?
I'm trying to make an old ISA NIC work in a PC (kernel 2.6.8).
Apparently I've discovered that the driver requires ksyms, which kernel 2.6.8 doesn't have.
I know it was replaced by kallsyms, but why? It's annoying because now the driver module for the NIC won't work. The NIC itself was released around the turn of the century and the driver, I believe, was written in 2001. Thus, it's plausible that the driver relied on a feature not present in the latest kernel.
Is there any way I can make ksyms appear anyway?
I've heard that ksyms is a security risk. Is it and how so?
The NIC, by the way, is a 3C515.
If necessary, I'll buy another NIC (Gigabit, PCI based), but I'd rather not. And I think that ksyms is the issue.
Distribution: Windoze Vista x64; Debian 4.0r0 server
Posts: 23
Original Poster
Rep:
Quote:
Originally Posted by syg00
There is a 3C515 option in the kernel config - have you tried using that ???.
Yes. In fact that's how I originally got the compiled module. I was trying to load the module from the source directory via the command "insmod.modutils." Just using "insmod" gives an error about invalid module format, as it's an older format (not surprising, the NIC driver was written in 2001).
When I used "insmod.modutils," that's when I got the complaint about "ksyms," and discovered I didn't have it.
I wonder if there's a way to make "ksyms" appear anyway, despite the newer kernel.
Yes. In fact that's how I originally got the compiled module. I was trying to load the module from the source directory via the command "insmod.modutils." Just using "insmod" gives an error about invalid module format, as it's an older format (not surprising, the NIC driver was written in 2001).
When the driver was written doesn't really matter, the support is still in the modern kernel. If you are getting a module format error, then that module was compiled for a different kernel than the one you are running. Enable support for 3C515 in the kernel (as a module or built in, either will do), compile the kernel, and then install it. Follow the directions, remember to install the modules with make modules_install.
Also, it is generally better to use modprobe rather than insmod (it loads modules in a smarter fashion than insmod). Assuming the module is called 3c515, just do:
Code:
modprobe 3c515
no extension. It will load the proper module.
If it can't find the module, then you haven't compiled it for your current kernel.
Last edited by zhangmaike; 08-28-2006 at 03:36 AM.
Distribution: Windoze Vista x64; Debian 4.0r0 server
Posts: 23
Original Poster
Rep:
Thanks for your help.
Syg00:
I'm sorry. When you first suggested that it wasn't clear to me what you meant. I like the idea of using modules because it lets me keep the overall kernel size down. Plus if something messes up, I can just shut off that part and/or turn it on again. The greater control is a plus too. A good analogy is the lights in your house. Do you really want one light switch for your entire house? It'll work, but c'mon.
I was about to try that suggestion, since the PC in question is destined to be a router (and thus needs that NIC 24/7). However, the next poster suggested something that didn't occur to me before.
Zhangmaike:
I've done the "make modules_install." I've reconfigured and recompiled the kernel before, so I know how important that is.
I've tried using "modprobe" instead of "insmod." I don't know why, but it seemed to work while "insmod.modutils" did not. Thanks for the suggestion. Now I've got my secondary NIC going. All I need to do now is set up NAT and the firewall and hopefully it can now serve it's purpose as a router.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.