View previous topic :: View next topic |
Author |
Message |
esp n00b
Joined: 09 Mar 2004 Posts: 17 Location: WA, USA
|
Posted: Tue Mar 09, 2004 8:58 am Post subject: [solved] same old dhcp failure? |
|
|
Ok, I have been reading for the past few days that dhcp and netowrking in general is being screwed up by apic and acpi, at least with newer kernels. Let me start by saying that no combination of appending things to my kernel startup is making a difference. So I'm going to explain my saga from the beginning now, in hopes that I don't get asked too many questions that I will have already answered.
The Concept: Update a working gentoo-sources (2.4.22-gentoo-r5) system to a dev-source (2.6.4-rc2) system.
Some History: I have, on this very system with this same hardware, mobo, nics, etc upgraded from Slackware using 2.4 and 2.5 kernels to 2.6.0 and 2.6.1, and maybe 2.6.2 kernels with success. I have already had Slackware running dhcp and networking just fine using kernel.org's 2.6.1 kernel, at least.
WhaHappened: the gist of the story is, after emerging dev-sources, and upgrading kernel, and getting a few little issues out of the way (new framebuffer options), I have no ethernet (dhcp on RTL8139C nic to cable modem) and apparrently no local net (static ip on Tulip NIC, using dnsmasq package to supply masquerading service to a win2k laptop). All of this is currently still working with 2.4.22 kernel, which I had the good sense to keep around.
What has been done: Here's a long list of how my last week or so has been spent. Note, most of the time was spent reading how to append noapic and acpi=off to kernel initialization lines in grub.
now, after that failed, with both options appended, and each option appended separately, I tried something a little more radical. I thought... why not slim down this kernel so all I am testing for is ethernet ability? So, I took the basic approach to kernel builds, chopped out sound, usb, graphics support beyond the basic framebuffer stuff to support vga=792 on the kernel line!, and everything I could that didn't directly concern networking. I took out kernel support for the tulip nic, leaving just the rtl8139 compiled in the kernel. I took out all scsi support. I left in the basics to support devfs, shmfs, and so forth. I axed all the iptables/ipchains stuff. I have no apm support or acpi support compiled in the kernel. I unmarked the support for local apics and so forth. I even took out support for the cdroms and windoze filesystems! Further, I took out support for modules, and left the basics all compiled in, so no module loading to worry about. So, on this hacked down kernel config, which I would be happy to list in its entirety, I tried again to get something going. Nothing. Kernel boots fine, still hangs and then gives up gracefully (failed to bring up eth0) on bringing up eth0, which it does detect and properly assign drivers to, and which I can bring up with ifconfig manually, although the connection does not work that way either, even with using last known good ip numbers from the cable modem. dhcpcd command hangs and finally quits.
So, I then thought, well, I'd had a working slack installation with dhcp working fine in kernel 2.6.x. So, I went over to kernel.org and downloaded some old kernels. I used similiarly bare-bones kernel profiles to compile a 2.6.0, 2.6.1, 2.6.2, and 2.6.3 original kernel. No luck there either. I figured going back to 2.6.0 might get behind some of the problems with broken apic and acpi, as it was not reported much until around kernel 2.6.2 or 3, I think. So, I am now trying unsuccessfully to get a 2.6.0 bare bones kernel to simply bring up an ethernet connection on a system that works fine with 2.4.22. any suggestions as to where I went wrong? is there something I might need to remerge to get things sorted right? Is there a way I can remerge it without destroying functionality on the working 2.4.22 kernel? I did the obvious and tried remerging dhcpcd (currently version 1.3.22_p4-r3)
UPDATE: scrapping work on 2.6.0 kernel in favor of actually getting 2.6.4-rc2 gentoo dev kernel to work, as you all are likely more familiar with this kernel, and to escape problems from not having any unknown gentoo patchwork to the 2.6.4-rc2 kernel.
Here's some relevant? system hardware info:
- Soyo KT333 Dragon Lite Mobo, VIA VT83xx/VT82Cxx chipset
- AMD Athlon 1800+ processor
- eth0: Realtek RTL-8139
- eth1: Linksys NC100 using standard Tulip driver
and using all current gentoo software, gcc, libs, etc.
Code: |
# grub.conf
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo Linux (genkernel)
root=(hd0,0)
kernel=(hd0,0)/boot/kernel-2.4.22-gentoo-r5 root=/dev/hda3 vga=792 hdd=ide-scsi ether=0,-,eth1
initrd=(hd0,0)/boot/initrd-2.4.22-gentoo-r5
title=Gentoo Linux (Devel 2.6.4-r2)
root=(hd0,0)
kernel=(hd0,0)/boot/kernel-2.6.4-rc2 root=/dev/hda3 vga=792 noapic acpi=off |
Code: |
# /etc/conf.d/net:
iface_eth0="dhcp"
iface_eth1="192.168.68.1 broadcast 192.168.68.255 netmask 255.255.255.0"
|
and set (uncommented) options in kernel-2.6.4-rc2/.config. I have made some notes in old comment form, and left out parts that should be irrelevant, such as block devices, input devices, and so forth.
Code: |
#
# Automatically generated make config: don't edit unless you're posting it for everyone to see
#
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_STANDALONE=y
CONFIG_BROKEN_ON_SMP=y
#
# General setup
#
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_HOTPLUG is not set
# CONFIG_IKCONFIG is not set
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
#
# Loadable module support
#
# CONFIG_MODULES is not set
#
# Processor type and features
#
CONFIG_X86_PC=y /* other options not listed */
CONFIG_MK7=y /* other options not listed */
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y /* should this matter? cannot change this option from menus */
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_USE_3DNOW=y
# CONFIG_HPET_TIMER is not set
# CONFIG_HPET_EMULATE_RTC is not set
# CONFIG_SMP is not set
# CONFIG_PREEMPT is not set
# CONFIG_X86_UP_APIC is not set /* this is the menu option */
CONFIG_X86_TSC=y
# CONFIG_X86_MCE is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set
# CONFIG_EDD is not set
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_MATH_EMULATION is not set
# CONFIG_MTRR is not set
# CONFIG_REGPARM is not set
#
# Power management options (ACPI, APM)
#
# CONFIG_PM is not set /* take that, greenpeace */
#
# ACPI (Advanced Configuration and Power Interface) Support
#
# CONFIG_ACPI is not set /* and this is supposed to be the issue? */
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
CONFIG_PCI_GOBIOS=y
# CONFIG_PCI_GODIRECT is not set
# CONFIG_PCI_GOANY is not set
CONFIG_PCI_BIOS=y
# CONFIG_PCI_LEGACY_PROC is not set
# CONFIG_PCI_NAMES is not set
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
#
# Device Drivers
#
#
# Networking support
#
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_NETLINK_DEV=y
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# /* rest of these options are not set */
#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IPV6_SCTP__=y
# /* the rest of these options are not set. cannot seem to compile without above option set on. */
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
CONFIG_NETDEVICES=y
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y /* not sure this is necessary either */
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
CONFIG_8139TOO=y
# CONFIG_8139TOO_PIO is not set /* tried this either way, no effect */
# CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_8139_RXBUF_IDX=2
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
#
# Non-8250 serial port support
# /* ???does gentoo need unix98 ptys? */
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
#
# IPMI /* (shouldn't matter?) */
#
# CONFIG_IPMI_HANDLER is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
# CONFIG_DEVFS_DEBUG is not set
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y /* ???shouldn't need this either? */
|
thanks for any help. I'm willing to try things and give any output you'd like to see, for example, dmesg stuff? trust me, it's detecting the card! If you want to see more from ifconfig or lspci, I'll put that up too.
>>esp
Last edited by esp on Wed Mar 10, 2004 11:53 pm; edited 1 time in total |
|
Back to top |
|
|
esp n00b
Joined: 09 Mar 2004 Posts: 17 Location: WA, USA
|
Posted: Wed Mar 10, 2004 1:10 am Post subject: |
|
|
lspci -v entry for card:
Code: | 0000:00:0b.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
Subsystem: Realtek Semiconductor Co., Ltd. RT8139
Flags: bus master, medium devsel, latency 32, IRQ 10
I/O ports at d000 [size=256]
Memory at eb001000 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] Power Management version 2 |
|
|
Back to top |
|
|
buser Tux's lil' helper
Joined: 02 Feb 2004 Posts: 92 Location: right here
|
Posted: Wed Mar 10, 2004 6:19 am Post subject: |
|
|
If i read your post correctly (which i only scanned briefly) you are using the Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
ethernet card. If I am correct you dont have the module for that card compiled into your kernel. I would recommend using the gentoo-dev-sources from portage. I tried development-sources and had a lot of problems. Then you need to enable the natsemi module. Yours says "# CONFIG_NATSEMI is not set." Also make sure that it is also in /etc/modules.autoload.d/kernel-2.6 like so Code: |
# /etc/modules.autoload.d/kernel-2.6: kernel modules to load when system boots.
# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/modules.autoload.d/kernel-2.$
#
# Note that this file is for 2.6 kernels.
#
# Add the names of modules that you'd like to load when the system
# starts into this file, one per line. Comments begin with # and
# are ignored. Read man modules.autoload for additional details.
# For example:
# 3c59x
natsemi
|
that should work! |
|
Back to top |
|
|
buser Tux's lil' helper
Joined: 02 Feb 2004 Posts: 92 Location: right here
|
Posted: Wed Mar 10, 2004 6:22 am Post subject: |
|
|
oh btw, my machine uses apic and acpi with no problem on a uniprocessor athlon t-bird[/code] |
|
Back to top |
|
|
esp n00b
Joined: 09 Mar 2004 Posts: 17 Location: WA, USA
|
Posted: Wed Mar 10, 2004 6:02 pm Post subject: net card |
|
|
My nic loads under 8139too module, and that code is compiled into the kernel. I tried the 8139cp module (for 8139 C+) and it failed to work, so I must assume without actually ripping things apart that the chip is either 8139 or 8139C.
off to find that nat option.
National Semiconductor DP8381x series PCI Ethernet support?
ok, whatever you say.
>>esp |
|
Back to top |
|
|
esp n00b
Joined: 09 Mar 2004 Posts: 17 Location: WA, USA
|
Posted: Wed Mar 10, 2004 6:29 pm Post subject: natsemi |
|
|
enambling NATSEMI had no effect. I'm going to get the gentoo-dev-sources as suggested and try going at it that way.
>>esp |
|
Back to top |
|
|
buser Tux's lil' helper
Joined: 02 Feb 2004 Posts: 92 Location: right here
|
|
Back to top |
|
|
esp n00b
Joined: 09 Mar 2004 Posts: 17 Location: WA, USA
|
Posted: Wed Mar 10, 2004 6:48 pm Post subject: your link |
|
|
you linked me to a hotmail email message! hah! oh well.
>>esp |
|
Back to top |
|
|
buser Tux's lil' helper
Joined: 02 Feb 2004 Posts: 92 Location: right here
|
|
Back to top |
|
|
esp n00b
Joined: 09 Mar 2004 Posts: 17 Location: WA, USA
|
Posted: Wed Mar 10, 2004 8:11 pm Post subject: trying with 2.6.3-gentoo-r2 |
|
|
ok, trying with gentoo dev sources, and no luck. same issue. no real change.
but, i think i'm on to something....
I might have played a little switcheroo with eth0/eth1
back to the kernel---
>>esp |
|
Back to top |
|
|
esp n00b
Joined: 09 Mar 2004 Posts: 17 Location: WA, USA
|
Posted: Wed Mar 10, 2004 8:43 pm Post subject: ok, so here's the real problem. |
|
|
Well, I have figured out why it wasn't working. the new kernel recognizes my nics in the opposite order as the old kernel. So....
under kernel 2.4.22-gentoo-r5:
Code: |
eth0: ADMtek Comet rev 17 at 0xd400, 00:00:78:xx:xx:xx, IRQ 11.
8139too Fast Ethernet driver 0.9.26
eth1: RealTek RTL8139 Fast Ethernet at 0xd0e15000, 00:40:xx:xx:xx:xx, IRQ 10
eth1: Identified 8139 chip type 'RTL-8139C'
|
and then under kernel 2.6.3-gentoo-r2:
Code: |
8139too Fast Ethernet driver 0.9.27
eth0: RealTek RTL8139 at 0xd1801000, 00:40:xx:xx:xx:xx, IRQ 10
eth0: Identified 8139 chip type 'RTL-8139C'
eth1: ADMtek Comet rev 17 at 0xd400, 00:00:78:xx:xx:xx, IRQ 11.
|
the other card (ADMtek Comet) is using the standard tulip driver.
So, it appears I haev a choice. to move to the 2.6.3 kernel, I can either rewrite all scripts to swap eth0 and eth1, or...
is there some way to swap detection of these devices, perhaps leaving one in the kernel, one as a module? or perhaps a more direct way using the "ether=" kernel append line?
>>esp |
|
Back to top |
|
|
esp n00b
Joined: 09 Mar 2004 Posts: 17 Location: WA, USA
|
Posted: Wed Mar 10, 2004 11:52 pm Post subject: I guess we can mark this as fixed |
|
|
I've got 2.6.3-gentoo-r2 up and running with full networking. I took the brutal route and just rewrote the networking scripts to reflect the swap of eth0 and eth1. A little tweaking with the firewall scripts and kernel modules, and everything's up. I might fight back and try to get the 2.4.22-gentoo-r5 kernel to reverse the way it sees network devices, so that it will still be a usable kernel, but for now, 2.6.3-gentoo-r2 is good enough that I can run with it.
It seems odd that there isn't much of a separate area for kernel questions here at the discussion forums. I'd practically live there, likely.
>>esp |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|