Bug 115287

Summary: Log in takes approximately 5.5 minutes and system is not usable
Product: [Fedora] Fedora Reporter: John Frohlich <john_frohlich>
Component: kernelAssignee: Dave Jones <davej>
Status: CLOSED WONTFIX QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 1CC: barryn, john_frohlich, pfrields
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-12-07 06:13:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description John Frohlich 2004-02-10 08:43:12 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1)
Gecko/20031114

Description of problem:
Fedora Core 1 (Test 3) installed on DELL 5000 Laptop with Xircom
CardBus Ethernet 10/100 + Modem 56 (CBEM56G) PCMCIA Card connected
to Internet via Comcast High-Speed Cable Modem using DHCP.
                                                                     
          
Log in for any user takes approximately 5.5 minutes, or until the
Xircom PCMCIA Ethernet card is removed. After Log in, the Xircom
PCMCIA Ethernet card needs to be removed and hostname set to
localhost.localdomain for system to function properly.
                                                                     
          
Error Messages during Startup, Log in and Shut down:
                                                                     
          
INIT: Entering runlevel 5:
Start service eth0
Bringing up interface et0: xircom_cb device eth0 does not seem to be
present, delaying initialization.                            [FAILED]
                                                                     
          
Could not look up internet address for x1-6-00-10-a4-7d-cd-b3. This
will prevent GNOME from operating correctly. It may be possible to
correct the problem by adding x1-6-00-10-a4-7d-cd-b3 to the file
/etc/hosts.                             [Log in Anyway]   [Try Again]
                                                                     
          
Shut down Error Message:
Saving mixer settings aumix:  MIXER_READ                     [FAILED]


Version-Release number of selected component (if applicable):
initscripts-7.42.2-1

How reproducible:
Always

Steps to Reproduce:
1. Boot system
2. Log in (be patient)
3. Run hostname
    

Actual Results:  # hostname
x1-6-00-10-a4-7d-cd-b3

System is not usable!

Expected Results:  1. System up and running
2. eth0 connected to the Internet
3. # hostname
   localhost.localdomain

Additional info:

Work-around to bring up et0:
                                                                     
          
1) # hostname localhost.localdomain
                                                                     
          
2) Add the following lines in /etc/pcmcia/config
                                                                     
          
device "xircom_cb"
  class "network" module "xircom_cb"
                                                                     
          
card "Xircom CBEM56G-100 CardBus 10/100 Ethernet + 56K Modem"
  version "Xircom", "*", "CBEM56G"
  bind "xircom_cb" to 0, "serial_cs" to 1
                                                                     
          
3) # cardctl eject
4) # cardctl insert
                                                                     
          
......and eth0 is now up until rebooted!
                                                                     
          
Conflicting messages still remain in /var/log/messages:
localhost pci.agent[2038]: missing kernel/user mode driver xircom_cb
localhost kernel: xircom_cb: Link is 100 mbit

Comment 1 Bill Nottingham 2004-02-10 16:03:29 UTC
What's your /etc/sysconfig/network-scripts/ifcfg-eth0 look like?

Comment 2 John Frohlich 2004-02-10 20:20:53 UTC
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet

Comment 3 Bill Nottingham 2004-02-10 21:12:06 UTC
What's your /etc/hosts look like?

Comment 4 John Frohlich 2004-02-10 21:20:35 UTC
/etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost


Comment 5 Bill Nottingham 2004-02-10 21:25:02 UTC
What does /etc/sysconfig/network look like?

Comment 6 John Frohlich 2004-02-10 21:30:16 UTC
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain

Comment 7 John Frohlich 2004-02-12 06:17:33 UTC
In /sbin/dhclient-script (line #184)
                                                                     
          
  if [ -n "$new_host_name" ] && need_hostname; then
      hostname $new_host_name
  fi

I found the call "hostname $new_host_name" corrupting
the hostname after calling the function "need_hostname" in
/etc/sysconfig/network-scripts/network-functions (line #193):
                                                                     
          
need_hostname ()
{
    CHECK_HOSTNAME=`hostname`
    if [ "$CHECK_HOSTNAME" = "(none)" -o \
        "$CHECK_HOSTNAME" = "localhost" -o \
        "$CHECK_HOSTNAME" = "localhost.localdomain" ]; then
        return 0
    else
        return 1
    fi
}
                                                                     
          
Here is the output in /var/log/messages with the option set -x
in /sbin/dhclient-script:
                                                                     
          
 + need_hostname
 ++ hostname
 + CHECK_HOSTNAME=localhost.localdomain
 + '[' localhost.localdomain = '(none)' -o localhost.localdomain =
localhost -o localhost.localdomain = localhost.localdomain ']'
 + return 0
 + hostname x1-6-00-10-a4-7d-cd-b3
                                                                     
          


Comment 8 Bill Nottingham 2004-02-12 06:18:30 UTC
What's your /etc/resolv.conf look like?

Comment 9 John Frohlich 2004-02-12 06:41:18 UTC
more /etc/resolv.conf
; generated by /sbin/dhclient-script
search comcast.net
nameserver 204.127.199.8
nameserver 63.240.76.198


Comment 10 Bill Nottingham 2004-02-12 06:45:58 UTC
Presumably, 'host x1-6-00-10-a4-7d-cd-b3.comcast.net' does not return
your IP address?

What happens if you set the hostname to something other than
localhost.localdomain in /etc/sysconfig/network, and add that to the
end of the "127.0.0.1 ..." line in /etc/hosts?

Comment 11 John Frohlich 2004-02-12 07:29:42 UTC
# host x1-6-00-10-a4-7d-cd-b3.comcast.net
Host x1-6-00-10-a4-7d-cd-b3.comcast.net not found: 3(NXDOMAIN)

00:10:a4:7d:cd:b3 is my MAC address

# more /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=linux
127.0.0.1

# /etc/init.d/network restart
/etc/init.d/network: line 3: 127.0.0.1: command not found
/etc/init.d/network: line 3: 127.0.0.1: command not found
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
/etc/init.d/network: line 3: 127.0.0.1: command not found
Setting network parameters:                                [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [FAILED]  
                                                                     
        
                                                                     
          
Restored /etc/sysconfig/network and
# /etc/init.d/network restart
failed again.

The following commands started eth0 again:
# hostname localhost.localdomain
# cardctl eject
# cardctl insert


Comment 12 John Frohlich 2004-02-12 07:44:03 UTC
I missed the dots in /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=linux
127.0.0.1 ...

# /etc/init.d/network restart
/etc/init.d/network: line 3: 127.0.0.1: command not found
/etc/init.d/network: line 3: 127.0.0.1: command not found
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
/etc/init.d/network: line 3: 127.0.0.1: command not found
Setting network parameters:                                [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [  OK  ]

eth0 is up!

Comment 13 Bill Nottingham 2004-02-12 16:46:09 UTC
Eek, sorry, i wasn't clear. In this case, you want:

/etc/sysconfig/network to be:

NETWORKING=yes
HOSTNAME=linux

and /etc/hosts to be:

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost linux


This should alleviate the delay and the gnome warning.



Comment 14 John Frohlich 2004-02-12 17:45:18 UTC
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=linux
                                                                     
          
/etc/hosts
127.0.0.1               localhost.localdomain localhost linux
                                                                     
          
# /etc/init.d/network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Setting network parameters:                                [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [FAILED]

Comment 15 Bill Nottingham 2004-02-12 17:47:18 UTC
So, after this, just 'ifup eth0' fails as well?

Comment 16 John Frohlich 2004-02-12 18:47:21 UTC
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=linux
                                                                     
          
/etc/hosts
127.0.0.1               localhost.localdomain localhost linux
                                                                     
          
First test:
# hostname linux
# ifup eth0
                                                                     
          
Determining IP information for eth0... done.
# hostname
linux
# ping yahoo.com    <-- ok
# mozilla           <-- hangs and times out
# hostname localhost.localdomain
# ping yahoo.com    <-- ok
# mozilla           <-- ok
                                                                     
          
Second test:
# hostname localhost.localdomain
# ifup eth0
                                                                     
          
Determining IP information for eth0... done.
# hostname
x1-6-00-10-a4-7d-cd-b3
# ping yahoo.com    <-- ok
# mozilla           <-- hangs and times out
# hostname localhost.localdomain
# ping yahoo.com    <-- ok
# mozilla           <-- ok


Comment 17 Bill Nottingham 2004-02-12 18:57:10 UTC
Hm, your best bet is probably to just hardcode need_hostname to return
'1', and remove the HOSTNAME=linux hack.

Comment 18 John Frohlich 2004-02-13 19:24:18 UTC
In /sbin/dhclient-script I hardcoded need_hostname to return '1'.
This solved the slow Start up and Log in process, however eth0 is
still down and Start service eth0 is reporting the error message:
                                                                     
          
Bringing up interface eth0: xircom_cb device eth0 does not seem to be
present, delaying initialization.                            [FAILED]
                                                                     
          

I was looking at the trace from /sbin/dhclient-script again, to find
where new_host_name is set to "x1-6-00-10-a4-7d-cd-b3", however it
looks like new_host_name is a uninitialized variable pointing to an
arbitrary string "x1-6-00-10-a4-7d-cd-b3".
                                                                     
          
In /sbin/dhclient-script:
  if [ -n "$new_host_name" ] && need_hostname; then
      hostname $new_host_name
  fi
                                                                     
          
 + '[' -n x1-6-00-10-a4-7d-cd-b3 ']'
 + need_hostname
 ++ hostname
 + CHECK_HOSTNAME=localhost.localdomain
 + '[' localhost.localdomain = '(none)' -o localhost.localdomain =
localhost -o localhost.localdomain = localhost.localdomain ']'
 + return 0
 + hostname x1-6-00-10-a4-7d-cd-b3


Comment 19 Bill Nottingham 2004-02-13 20:26:49 UTC
The x1-.... is being returned by your ISP/cable modem.

So, you need to run 'cardctl eject ; cardctl insert' for it to see the
card?

Comment 20 John Frohlich 2004-02-13 21:44:12 UTC
Yes 'cardctl eject ; cardctl insert' is needed as workaround.

Comment 21 Bill Nottingham 2004-02-14 07:02:45 UTC
OK, so there are two problems here.

1) The hostname you're getting via DHCP is invalid; this is worked
around by the editing of the need_hostname function.
2) Your card requires 'cardctl eject ; cardctl insert' to function,
that's a kernel or PCMCIA bug. Assigning there.

Comment 22 Dave Jones 2004-11-29 09:36:55 UTC
still a problem with fc3 ?


Comment 23 Dave Jones 2004-12-07 06:13:33 UTC
fc1 - eol