I hate DSL

So I finished up this box I’m setting for my folks. I’ve worked on it at work, and here at my home. In both places, openSUSE just detected the network settings and just worked. We have multiple T1 lines at work, and I have a cable modem at home.

I went over to hook the computer up at my parent’s house, and I didn’t really get an internet connection. I plugged in the DSL model via ethernet, and I could ping Google, but I got a fairly slow response. However, nothing would load in the browser. I tried Firefox and Konqueror. Both are set with no proxy. I spent over 3 hours talking to the ISP (Qwest) and they kept saying the connection was good on their end, and offered no suggestion as to how to rectify the problem.

I went into the DSL modem’s logs, and saw that it was dropping half the packets over PPP to the internet, and half the packets to my NIC. Qwest kept insisting the connection was great.

Do I have to configure anything differently for a DSL modem? How can I fix this?

I tried selecting the DSL option in YaST, and each time it just locked. I left it sitting for over 5 minutes, and it sat at 80% detecting NIC settings each time.

My mother needs the computer for her at home business, and right now I’m typing on it with a great internet connection here. I have no clue why it isn’t working when I plug it into the DSL modem at her house. For what it is worth, the old (ancient) Windows box when plugged into the same DSL modem is working, which leads me to believe it is some setting on this box.

I use Qwest DSL. In the DSL config in YaST choose PPP over Ethernet, make sure your network ethernet card is recognized (if not then configure using the module provided), choose to activate the device at boot time, select the ‘Modify DNS’, “Auto Retrieve”, and “Auto Reconnect” options. Under Network Settings > Hostname select the “Change Host” and “Write Host” options. Under Global Options choose “Traditional Method” and “AUTO” in the Hostname. Under the Address module choose “Dynamic” option and click “DHCP” in the drop down menu. Most importantly, be sure that the kernel module for the network card is being loaded during boot. Check Network Card Setup > Hardware to see if the module is listed.

The DSL option in YaST just keeps locking up. I also tried ncurses YaST, and the same thing. It gets to 80% and hangs on “Reading Network Card configuration…”

I’m using an Nvidia onboard NIC with the forcedeth drive. Dmesg doesn’t show any oddities loading the module. And the NIC is working here, and at my work.

Is there a config file I can maually edit somewhere to set DSL settings since I can’t get into the DSL YaST module?

Have you looked at /etc/sysconfig/network/dhcp and /etc/sysconfig/network/ifcfg-eth0?

I am now. I’m turning on:

DHCLIENT_SET_HOSTNAME=“yes”

Anything else I should look for?

/etc/sysconfig/network/ifcfg-eth0

BOOTPROTO='dhcp'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR=''
MTU=''
NAME='MCP61 Ethernet'
NETMASK=''
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'

/etc/sysconfig/network/dhcp:

## Path:	Network/DHCP/DHCP client
## Description:	DHCP configuration tweaking
#
# Note: 
# To configure one or more interfaces for DHCP configuration, you have to
# change the BOOTPROTO variable in /etc/sysconfig/network/ifcfg-<interface> to
# 'dhcp' (and possibly set STARTMODE='onboot'). 
#
# Most of these options are used only by dhcpcd, not by the ISC dhclient (which 
# uses a config file).
#
# Most of the options can be overridden by setting them in the ifcfg-* files,
# too.

## Type:	string
## Default:	""
## ServiceRestart: network
#
# Which DHCP client should be used? 
# If empty, dhcpcd is tried, then dhclient 
# Other possible values:
# 	dhcpcd   (DHCP client daemon)
# 	dhclient (ISC dhclient)
DHCLIENT_BIN=""

## Type:	yesno
## Default:	no
#
# Start in debug mode? (yes|no)
# (debug info will be logged to /var/log/messages for dhcpcd, or to
# /var/log/dhclient-script for ISC dhclient)
#
DHCLIENT_DEBUG="no"

## Type:	yesno
## Default:	no
#
# Should the DHCP client set the hostname? (yes|no)
# 
# When it is likely that this would occur during a running X session, 
# your DISPLAY variable could be screwed up and you won't be able to open
# new windows anymore, then this should be "no". 
#
# If it happens during booting it won't be a problem and you can 
# safely say "yes" here. For a roaming notebook with X kept running, "no"
# makes more sense. 
#
DHCLIENT_SET_HOSTNAME="yes"

## Type:	yesno
## Default:	yes
#
# Should the DHCP client modify /etc/resolv.conf at all? 
# If not, set this to "no". (The default is "yes") 
#
# resolv.conf will also stay untouched when MODIFY_RESOLV_CONF_DYNAMICALLY 
# in /etc/sysconfig/network/config is set to "no". 
#
DHCLIENT_MODIFY_RESOLV_CONF="yes"

## Type:	yesno
## Default:	yes
#
# Should the DHCP client set a default route (default Gateway) (yes|no)
#
# When multiple copies of dhcpcd run, it would make sense that only one
# of them does it. 
#
DHCLIENT_SET_DEFAULT_ROUTE="yes"

## Type:	yesno
## Default:	no
#
# Should the DHCP client modify the NTP configuration? (yes|no)
#
# If set to yes, /etc/ntp.conf is rewritten (and restored upon exit).
# If you don't want this, set this variable to "no". (The default is "no") 
#
DHCLIENT_MODIFY_NTP_CONF="no"

## Type:	yesno
## Default:	no
#
# Should the DHCP client modify the NIS configuration? (yes|no)
#
# If set to yes, /etc/yp.conf is rewritten (and restored upon exit).
# If you don't want this, set this variable to "no". (The default is "no") 
#
DHCLIENT_MODIFY_NIS_CONF="yes"

## Type:	yesno
## Default:	yes
#
# Should the DHCP client set the NIS domainname? (yes|no)
# (if the server supplies the nis-domain option)
#
DHCLIENT_SET_DOMAINNAME="yes"

## Type:	yesno
## Default:	yes
#
# When writing a new /etc/resolv.conf, should the DHCP client take an 
# existing searchlist and add it to the one derived from the DHCP server? 
#
DHCLIENT_KEEP_SEARCHLIST="yes"

## Type:	integer
## Default:	""
#
# Lease time to request ( -l option)
#
# Specifies (in seconds) the lease that is suggested to the server. 
# The default is infinite. For a mobile computer you probably want to
# set this to a lower value.
#
DHCLIENT_LEASE_TIME=""

## Type:	integer
## Default:	999999
#
# (only dhcpcd does use this setting)
#
# You can set the timeout (dhcpcd will terminate after this time when it 
# does not get a reply from the server). 
#
# The default timeout of dhcpcd is 60 seconds. However, we'll set it to a 
# much longer time. dhcpcd will then run as a daemon in the background and
# broadcast a DHCPDISCOVER once in a while, trying to get a lease.
#
DHCLIENT_TIMEOUT="999999"

## Type:	integer
## Default:	""
#
# (only dhcpcd does use this setting)
#
# INIT-REBOOT timeout ( -z option)
#
# This timeout is specifically to control how long dhcpcd tries to reacquire
# a previous lease (init-reboot state), before it starts getting a new one. 
# Default: 10
#
DHCLIENT_REBOOT_TIMEOUT=""

## Type:	string
## Default:	AUTO
#
# specify a hostname to send ( -h option)
#
# specifies a string used for the hostname option field when dhcpcd sends DHCP
# messages. Some DHCP servers will update nameserver entries (dynamic DNS).
# Also, some DHCP servers, notably those used by @Home Networks, require the
# hostname option field containing a specific string in the DHCP messages from
# clients.
#
# By default the current hostname is sent ("AUTO"), if one is defined in 
# /etc/HOSTNAME. 
# Use this variable to override this with another hostname, or leave empty
# to not send a hostname.
#
DHCLIENT_HOSTNAME_OPTION="AUTO"

## Type:	string
## Default:	""
#
# specify a client ID ( -I option)
#
# Specifies a client identifier string. By default the hardware address of the
# network interface is sent as client identifier string, if none is specified
# here.
#
# Note that dhcpcd will prepend a zero to what it sends to the server. In the
# server configuration, you need to write the following to match on it:
#  option dhcp-client-identifier "\0foo";
#
DHCLIENT_CLIENT_ID=""

## Type:	string("dhcpcd dhclient")
## Default:	""
#
# specify a vendor class ID ( -i option)
#
# Specifies the vendor class identifier string.  dhcpcd uses the default vendor
# class identifier string (system name, system release, and machine type) if it
# is not specified.
#
DHCLIENT_VENDOR_CLASS_ID=""

## Type:	yesno
## Default:	no
#
# Send a DHCPRELEASE to the server (sign off the address)? (yes|no)
# This may lead to getting a different address/hostname next time an address
# is requested. But some servers require it.
#
DHCLIENT_RELEASE_BEFORE_QUIT="no"

## Type:	string
## Default:	""
#
# Run this script when the interface is brought up, down, or the IP address
# changes ( -c option)
#
# Per default, /etc/sysconfig/network/scripts/dhcpcd-hook is run.
# To disable this functionality altogether you can enter "/bin/true" here.
#
DHCLIENT_SCRIPT_EXE=""

## Type:	yesno
## Default	yes
#
# Force dhcpcd to calculate UDP checksum on received packets. (yes|no)
# This corresponds to dhcpcd's -C option.
#
DHCLIENT_UDP_CHECKSUM="yes"

## Type:	string
## Default:	""
#
# additional options, e.g. "-B"
#
DHCLIENT_ADDITIONAL_OPTIONS=""

## Type:	integer
## Default:	0
#
# Some interfaces need time to initialize. Add the latency time in seconds
# so these can be handled properly. Should probably set per interface rather than here.
#
DHCLIENT_SLEEP="0"

## Type:	integer
## Default:	5
#
# When the DHCP client is started at boot time, the boot process will stop
# until the interface is successfully configured, but at most for
# DHCLIENT_WAIT_AT_BOOT seconds.
#
DHCLIENT_WAIT_AT_BOOT="5"

## Type:        yesno
## Default:     yes
## ServiceRestart: yast2
#
# This option is read by YaST during network configuration.
#
# If set, then the hostname is added to /etc/hosts with IP address
# 127.0.0.2. This allows the hostname to be resolved (and thus, the host
# to be reached), if the real network is not reachable.
#
# If unset, YaST will not touch /etc/hosts.
WRITE_HOSTNAME_TO_HOSTS="yes"

/etc/sysconfig/network/ifcfg-eth0:

BOOTPROTO='dhcp'
STARTMODE='auto'
NAME='FIRST INTERNATIONAL nForce2 Ethernet Controller'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR=''
MTU=''
NETMASK=''
NETWORK=''
REMOTE_IPADDR=''
USERCONTROL='no

Mine were pretty identical, except I didn’t have a setting for DHCLIENT_UDP_CHECKSUM.