Networking issues with 2.6.3 Kernel


Recommended Posts

I recently upgraded to the 2.6.3 kernel and have run into an interesting problem.

When get into the GUI and try to load a Web page, it resolves the address and begins to connect. Eventually it'll time out. It does the same thing in Lynx through the terminal.

I've been able to ping both DNS and IP addresses via terminal without any problems, including the gateway and DNS addresses assigned to the system.

I've turned off Kudzu and rebooted the system to make sure that wasn't part of the issue. I've also manually restarted networking using the following command:

/etc/rc.d/init.d/network restart

I'm just at a loss as to what this problem could be.

Here's the info on my system:

Fedora Core 1 using Kernel 2.6.3, based off of the .config file available from the RedHat 2.6.3 kernel RPM. The only adjustments I've made to the RPM kernel is to enable NTFS support and compile all network modules directly into the kernel instead of loading as a module.

The RedHat RPM kernel also had the exact same problem. This is why I chose to compile in all the modules to see if I would experience the same issue.

My Ethernet card info is as follows:

00:09.0 Ethernet controller: Lite-On Communications Inc LNE100TX (rev 20)

Subsystem: Kingston Technologies: Unknown device f002

Flags: bus master, medium devsel, latency 32, IRQ 10

I/O ports at d000

Memory at e7000000 (32-bit, no prefetchable)

Expansion ROM at <unassigned> [disabled]

My network card uses the Tulip module. As a test, I've tried changing the hardware type on the card to other cards that also use the Tulip module. No luck on any of these. I've also tried using other modules to see if any of them will work, no go here either.

Some other things to note:

If I reboot my system and choose the 2.4.x kernel, I can get into Linux and networking works as it should. This only happens when I boot into the 2.6.3 kernel.

I can navigate to IP addresses internally in my home network via the Web browser, so the network is partially working. I can also navigate to other machines via Samba.

I'm not running a firewall on this machine.

I get no errors when using /sbin/ifup eth0.

I do have the hostname, primary and secondary DNS, and DNS search path filled out with their proper values. I have reset these values to make sure nothing has changed on my ISP's end. They're always re-assigned the same.

There are no proxies or anything enabled on the machine, nor does my ISP require a proxy.

I don't have a spare network card to try out, but the NIC in this machine is only a month and a half old. I don't think that it's a bad NIC, otherwise Windows and the 2.4.x kernel would be having fits too.

Some other thoughts:

Does the 2.6.x kernel come with a built in firewall that is turned on by default? This machine acts as if the network ports are blocked. This is the only thing that I can think of since it seems that everything else internallly seems to be working properly.

Any thoughts would be greatly appreciated in this very frustrating experience.

Link to comment
Share on other sites

I am not sure what to suggest. Maybe you should configure the 2.6.3 kernel manually. It isn't hard to do. If it works with the 2.4.x kernel it should work with the newer one. The possible reasons are a misconfigured kernel or missing modules. Of course it might just be a problem with the kernel. If you have a seperate driver for the card you have to make install it again so it will go to the proper module directory. Alternately you could move the modules by hand to the right module directory. I am not sure if it is the same on all systems but for mine I have a directory at /lib/modules/2.6.3/... for my 2.6.3 kernel. I don't use that kernel anymore, but I have never got rid of it.

Link to comment
Share on other sites

I've gone through the kernel config about a dozen times today to try to figure out if I might have missed anything, but that doesn't seem to be the case ... at least not at this point.

As far as missing modules, all of the tulip drivers are compiled into the kernel (in addition to all of the other network drivers ... just to be safe). Here's a snippet of my .config file:

#
# Networking support
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_NETLINK_DEV=y
CONFIG_UNIX=y
CONFIG_NET_KEY=m
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_NAT=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_TOS=y
CONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_INET_ECN=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m

#
# IP: Virtual Server Configuration
#
CONFIG_IP_VS=m
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=m
CONFIG_IPV6=m
CONFIG_IPV6_PRIVACY=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_TUNNEL=m
# CONFIG_DECNET is not set
CONFIG_BRIDGE=m
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_BRIDGE_NETFILTER=y

#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=m
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
CONFIG_IP_NF_TFTP=m
CONFIG_IP_NF_AMANDA=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_MATCH_PHYSDEV=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
CONFIG_IP_NF_NAT_LOCAL=y
CONFIG_IP_NF_NAT_SNMP_BASIC=m
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=m
CONFIG_IP_NF_NAT_TFTP=m
CONFIG_IP_NF_NAT_AMANDA=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_CLASSIFY=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
# CONFIG_IP_NF_COMPAT_IPFWADM is not set

#
# IPv6: Netfilter Configuration
#
# CONFIG_IP6_NF_QUEUE is not set
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_LIMIT=m
CONFIG_IP6_NF_MATCH_MAC=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_MULTIPORT=m
CONFIG_IP6_NF_MATCH_OWNER=m
CONFIG_IP6_NF_MATCH_MARK=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_AHESP=m
CONFIG_IP6_NF_MATCH_LENGTH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_TARGET_MARK=m

#
# Bridge: Netfilter Configuration
#
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_XFRM=y
CONFIG_XFRM_USER=y

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_CSZ=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_POLICE=y

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
CONFIG_HAPPYMEAL=y
CONFIG_SUNGEM=y
CONFIG_NET_VENDOR_3COM=y
CONFIG_EL1=y
CONFIG_EL2=y
CONFIG_ELPLUS=y
CONFIG_EL16=y
CONFIG_EL3=y
CONFIG_3C515=y
CONFIG_VORTEX=y
CONFIG_TYPHOON=y
CONFIG_LANCE=y
CONFIG_NET_VENDOR_SMC=y
CONFIG_WD80x3=y
CONFIG_ULTRA=y
CONFIG_SMC9194=y
CONFIG_NET_VENDOR_RACAL=y
CONFIG_NI5010=y
CONFIG_NI52=y
CONFIG_NI65=y

#
# Tulip family network device support
#
CONFIG_NET_TULIP=y
CONFIG_DE2104X=y
CONFIG_TULIP=y
CONFIG_TULIP_MWI=y
CONFIG_TULIP_MMIO=y
CONFIG_TULIP_NAPI=y
CONFIG_TULIP_NAPI_HW_MITIGATION=y
CONFIG_DE4X5=y
CONFIG_WINBOND_840=y
CONFIG_DM9102=y
CONFIG_PCMCIA_XIRCOM=y
CONFIG_PCMCIA_XIRTULIP=y
CONFIG_AT1700=y
CONFIG_DEPCA=y
CONFIG_HP100=y
CONFIG_NET_ISA=y
CONFIG_E2100=y
CONFIG_EWRK3=y
CONFIG_EEXPRESS=y
CONFIG_EEXPRESS_PRO=y
CONFIG_HPLAN_PLUS=y
CONFIG_HPLAN=y
CONFIG_LP486E=y
CONFIG_ETH16I=y
CONFIG_NE2000=y
CONFIG_ZNET=y
CONFIG_SEEQ8005=y
CONFIG_NET_PCI=y
CONFIG_PCNET32=y
CONFIG_AMD8111_ETH=y
CONFIG_ADAPTEC_STARFIRE=y
CONFIG_ADAPTEC_STARFIRE_NAPI=y
CONFIG_AC3200=y
CONFIG_APRICOT=y
CONFIG_B44=y
CONFIG_FORCEDETH=y
CONFIG_CS89x0=y
CONFIG_DGRS=y
CONFIG_EEPRO100=y
CONFIG_EEPRO100_PIO=y
CONFIG_E100=y
CONFIG_E100_NAPI=y
CONFIG_FEALNX=y
CONFIG_NATSEMI=y
CONFIG_NE2K_PCI=y
CONFIG_8139CP=y
CONFIG_8139TOO=y
CONFIG_8139TOO_PIO=y
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
CONFIG_8139_OLD_RX_RESET=y
CONFIG_8139_RXBUF_IDX=2
CONFIG_SIS900=y
CONFIG_EPIC100=y
CONFIG_SUNDANCE=y
CONFIG_SUNDANCE_MMIO=y
CONFIG_TLAN=y
CONFIG_VIA_RHINE=y
CONFIG_VIA_RHINE_MMIO=y
CONFIG_NET_POCKET=y
CONFIG_ATP=y
CONFIG_DE600=y
CONFIG_DE620=y

Link to comment
Share on other sites

Try this. instead of configuring the kernel like that:

Go to the linux kernel source and type the following:

make clean

make mrproper

make menuconfig

This will allow you to visually set up your kernel. It seems to me that you have a lot of modules. I personally would compile them into the kernel. Also I would try to use ipchains instead of netfilter. That might be your problem. You probably ought to recompile the kernel on you own anyway. Go through all the options and make sure everything is set for your system. After done exit. It will ask you to save after choosing exit. click yes. then type:

make bzImage

make modules

make modules install

then you have to set up your system to boot with the new kernel. I don't know what bootloader you use.

Link to comment
Share on other sites

Try this. instead of configuring the kernel like that:

Go to the linux kernel source and type the following:

make clean

make mrproper

make menuconfig

This will allow you to visually set up your kernel. It seems to me that you have a lot of modules. I personally would compile them into the kernel. Also I would try to use ipchains instead of netfilter. That might be your problem. You probably ought to recompile the kernel on you own anyway. Go through all the options and make sure everything is set for your system. After done exit. It will ask you to save after choosing exit. click yes. then type:

make bzImage

make modules

make modules install

then you have to set up your system to boot with the new kernel. I don't know what bootloader you use.

dont forget to backup your .config file before running mrproper

Link to comment
Share on other sites

I used xconfig to make my .config file. This is just the output that was created from using xconfig.

I personally would compile them into the kernel.
Every network card module was compiled into the kernel.
You probably ought to recompile the kernel on you own anyway.

I've gone through the configuration about a dozen times since yesterday. I've used the RedHat config file to save me time, since the only difference between the way I setup the kernel is to have NTFS support and specific processor support (Athlon XP). There's nothing that I can see in the configuration that would make this happen.

Also I would try to use ipchains instead of netfilter.

Ipchains has depreciated. You must choose netfilter and iptables. I've also make sure that iptables isn't running, as it really acts like there's a firewall issue.

Link to comment
Share on other sites

Apparently, this has been a firewall issue all along.

I decided to take a fresh approach to the issue this morning after giving up last night. I downloaded a GUI frontend for IPtables called Firestarter (http://firestarter.sf.net) and went through the wizard to configure my firewall. After I was happy with the settings, and could get through in my 2.4.x kernel, I rebooted into my 2.6.3 kernel and was able to browse the web.

Thanks to everyone who put forth some ideas. Any input was greatly appreciated.

Link to comment
Share on other sites

You need to take out every network card that you compiled into the kernel and only put the one you need. I have only one compiled into mine (b44) and it works perfectly. This probably won't help your problem but it will increase speed of boot and lower the size of the kernel, but they might be confusing it. Also I would compile the netfilter into the kernel instead of leaving it modular.

I forgot that ipchains is deprecated, but I used google to search for a bit and saw that that might be the problem. I would check the 2.4.xx .config file to see what if any differences are between the two concerning the net and netcards. If there are no differences then there might be a problem with the kernel. I highly doubt that a card that worked with an earlier kernel will stop functioning correctly in a newer kernel. Since ipchains became deprecated that might be the problem and you have to use it somehow.

Link to comment
Share on other sites

I'm actually recompiling now ... since I got the problem figured out. :blush:

I'm trying to streamline the kernel as much as possible. I was checking the config I created next to the one I was using from RedHat. Amazing how much extra stuff that they put in. But, I guess if you're creating a RPM for everyone, it makes sense to do so. :D

Thanks again for everyone's input on this matter. I'll let ya know how the recompile goes when it's all said and done.

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.