Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
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.
Hello all... I recently upgraded from dial-up to 4.0 Cable after 17 years! allright! BUT - I can't connect in Linux! This machine dual-boots, so I'm in Windows now, which (as you can see) connects just fine. output of "ifup eth0" produces "RTNETLINK: Invalid Argument". I did my research, and read that this is the result of the kernel being compiled without the CONFIG_IP_MULTIPLE_TABLES flag set as true.
Now, up until this point, I've been using the generic Yum RPM's to update my kernel. Dunno if that's frowned upon, but it's always worked, so I've always done it. Regardless, does this mean I have to compile a kernel for myself? Can this be modified without recompiling my kernel?
If I must compile a kernel, can someone provide me with the generic file that a config would produce (or the file used by the yum RPM maintainers)?
Oop. Interesting. In /usr/src/kernels/mykernelversion/.config I found the following code:
Code:
CONFIG_IP_MULTIPLE_TABLES=y
So this sets me back to step one... this may not be a problem with my kernel, but I can't get online! I know the modem works... I'm using it in Windows right now.
You're connecting using Ethernet, right? Some cable modems connect with USB... just making sure you're not doing that. Otherwise, try running "dhclient eth0"; that might give you some more success. Just for curiosity's sake, how were you using yum before? Over dial-up? Is this a custom kernel, or do you use standard versions?
So do you get this when you try to use ifup, or do you get this at boot as well? Do you get any messages about eth0 at boot? Also, thinking backwards, did you have to alter any config settings to use dialup, or was that done at install time?
What specific NIC (make/model) are you using, and what is the output from
Code:
lsmod
ifconfig
The first command will list the kernel modules that have been loaded, and the second will display some basic info about your connection. Lastly, do you have both an onboard LAN as well as a NIC? If so, try disabling the onboard through BIOS
Well, I think I half solved the problem. I was reading some posts online about this exact matter, and they all seemed to say you need to load some more kernel modules or recompile your kernel. So I ended up loading the following modules, regardless of whether or not I need them:
Code:
sch_htb
sch_sfq
sch_ingress
cls_fw
cls_u32
This still did not work. I was looking at the kernel routing table, which read:
Code:
[root@Darkflame ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
70.44.84.0 * 255.255.252.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
So I ran "route add default gw 70.44.84.0 eth0" and what would you know, it worked! However, now when I try to connect to websites, I can't due to reason: Lack of buffer space available. This happens if I use more than one internet program, and is extremely annoying. I did some research on this, and it turns out that this may be caused by a messed up kernel routing table. Funny how that works out =P.
So maybe someone can help me resolve this matter... I'm not sure I did the routing correctly... here's the output that you requested:
and for good measure, route thrown in, as this may be the problem:
Code:
[root@Darkflame ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 70.44.85.154.re 255.255.252.0 UG 0 0 0 eth0
70.44.84.0 * 255.255.252.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default 70.44.85.154.re 0.0.0.0 UG 0 0 0 eth0
[root@Darkflame ~]#
Thank you guys so much for helping me. I truly appreciate it. I simply can't believe that when I called my cable company, they told me to call the service provider, and when I called them, they said that they "unofficially" support Linux, which is another way of them saying, "hey, some people have gotten it to work with Linux, so we'll advertise that it works with it, but we won't tell you how to make it work!"
BTW: forgot to mention that now when i run ifup eth0, there are no errors. There are also no more errors on boot. Odd.
[EDIT]Both eth0 and eth1 are onboard Intel network adapters, on the Tyan S2469 motherboard. I believe they are the IntelPRO 100/1000 MS/MT or something like that. I have never had a problem using them in Linux before.[/EDIT]
Again, thank you very much!
Last edited by benrose111488; 09-14-2006 at 06:01 PM.
Cool - I'll take it that the problem has been resolved, so congrats benrose111488 on solving the problem, and many thanks for posting back with the solution that worked for you
Fully solved now! I originally said load the modules, then add the IP in route as default gw. This only half-fixes the problem.
Where it says in the route that a destination is "70.44.84.0", simply take the last number and add one.
So the command would be "route add default gw 70.44.84.1 eth0". The reason the socket was having problems was an IP address conflict on the network. This 100% solves the problems. I'm not even sure that those modules stated above need to be loaded - I haven't restarted yet to test it.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.