LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   No Wired Network connection on Slackware 13.1 new install [SOLVED] (https://www.linuxquestions.org/questions/slackware-14/no-wired-network-connection-on-slackware-13-1-new-install-%5Bsolved%5D-826587/)

FrancisG 08-16-2010 02:55 PM

No Wired Network connection on Slackware 13.1 new install [SOLVED]
 
I am not new to Linux (Old Gentoo User) but new to Slackware. I have installed 13.1, the network card is found, the dhcp seems to work on bootup giving the correct address to eth0, but the address is not shown in the route, and there is no connection to the network.
Here is some info:
ifconfig -a
Code:

eth0      Link encap:Ethernet  HWaddr 00:19:db:6c:c8:3e 
          inet6 addr: fe80::219:dbff:fe6c:c83e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:240 errors:0 dropped:0 overruns:0 frame:0
          TX packets:424 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:68573 (66.9 KiB)  TX bytes:49906 (48.7 KiB)
          Interrupt:17 Memory:fdee0000-fdf00000

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Note no network address.
lspci
Code:

00:00.0 Host bridge: Intel Corporation 82975X Memory Controller Hub (rev c0)
00:01.0 PCI bridge: Intel Corporation 82975X PCI Express Root Port (rev c0)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01)
00:1c.5 PCI bridge: Intel Corporation 82801GR/GH/GHM (ICH7 Family) PCI Express Port 6 (rev 01)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GH (ICH7DH) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
01:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 9800 GT] (rev a2)
03:00.0 SATA controller: JMicron Technology Corp. JMB361 AHCI/IDE (rev 02)
03:00.1 IDE interface: JMicron Technology Corp. JMB361 AHCI/IDE (rev 02)
04:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller
05:00.0 Multimedia audio controller: VIA Technologies Inc. ICE1712 [Envy24] PCI Multi-Channel I/O Controller (rev 02)

lsmod (relevant section)
Code:

evdev                  9114  3
e1000e                147378  0
button                  4922  0

Note correct module for my card e1000e is loaded
route
Code:

Kernel IP routing table
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
loopback        *              255.0.0.0      U    0      0        0 lo

/var/log/dmesg (relevant section)
Code:

e1000e: Intel(R) PRO/1000 Network Driver - 1.2.10-NAPI
e1000e: Copyright(c) 1999 - 2010 Intel Corporation.
e1000e 0000:04:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
e1000e 0000:04:00.0: setting latency timer to 64
e1000e 0000:04:00.0: irq 28 for MSI/MSI-X
e1000e 0000:04:00.0: Disabling ASPM L0s
e1000e 0000:04:00.0: eth0: (PCI Express:2.5GB/s:Width x1) 00:19:db:6c:c8:3e
e1000e 0000:04:00.0: eth0: Intel(R) PRO/1000 Network Connection
e1000e 0000:04:00.0: eth0: MAC: 3, PHY: 2, PBA No: ffffff-0ff

/var/log/messages (a little detail only)
Code:

Aug 16 17:59:17 scorpio dhcpcd: eth0: leased 192.168.0.3 for 86400 seconds
Aug 16 17:59:17 scorpio kernel: e1000e 0000:04:00.0: eth0: changing MTU from 1500 to 576
Aug 16 17:59:17 scorpio dhcpcd: eth0: MTU set to 576
Aug 16 17:59:17 scorpio dhcpcd: eth0: carrier lost
Aug 16 17:59:17 scorpio dhcpcd: eth0: MTU restored to 1500
Aug 16 17:59:17 scorpio kernel: e1000e 0000:04:00.0: eth0: changing MTU from 576 to 1500
Aug 16 17:59:20 scorpio kernel: e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
Aug 16 17:59:20 scorpio dhcpcd: eth0: carrier acquired
Aug 16 17:59:20 scorpio kernel: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Aug 16 17:59:20 scorpio dhcpcd: eth0: rebinding lease of 192.168.0.3
Aug 16 17:59:25 scorpio dhcpcd: eth0: acknowledged 192.168.0.3 from 192.168.0.1 `˙'
Aug 16 17:59:25 scorpio dhcpcd: eth0: checking for 192.168.0.3
Aug 16 17:59:30 scorpio dhcpcd: eth0: leased 192.168.0.3 for 86400 seconds
Aug 16 17:59:30 scorpio kernel: e1000e 0000:04:00.0: eth0: changing MTU from 1500 to 576
Aug 16 17:59:30 scorpio dhcpcd: eth0: MTU set to 576
Aug 16 17:59:30 scorpio dhcpcd: eth0: carrier lost
Aug 16 17:59:30 scorpio dhcpcd: eth0: MTU restored to 1500
Aug 16 17:59:30 scorpio kernel: e1000e 0000:04:00.0: eth0: changing MTU from 576 to 1500
Aug 16 17:59:33 scorpio kernel: e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
Aug 16 17:59:33 scorpio dhcpcd: eth0: carrier acquired
Aug 16 17:59:33 scorpio kernel: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Aug 16 17:59:33 scorpio dhcpcd: eth0: rebinding lease of 192.168.0.3

I've no idea what the `˙' after the address is all about???
/etc/resolv.conf - nothing in there
I even installed the latest e1000e linux driver from Intel.
I have tried DHCP, Fixed IP adressing, and even dhclinet and installed wicd and used that! All failed!
I have looked at all of the Slackware manuals, and FAQs and Troubleshooting, as well as trawling the forums.
I have not added anything to Slack, just got it running on a fresh install.
I thought I should have a go with Slackware, and see how I got on, but you cannot do anything without a functioning network.
Any ideas?
Thanks

Richard Cranium 08-16-2010 05:09 PM

Well, did you turn on debug in /etc/rc.d/rc.inet1.conf?

DEBUG_ETH_UP="YES"

Is there anything in /etc/dhcpc/ ?

onebuck 08-16-2010 07:35 PM

Hi,

Welcome to LQ & Slackware!

Configuring your network in Slackware should provide the means to configure the network.

Just a few more useful links;

SlackwareŽ Essentials
SlackwareŽ Basics
Linux Documentation Project
Rute Tutorial & Exposition
Linux Command Guide
Bash Reference Manual
Advanced Bash-Scripting Guide
Linux Newbie Admin Guide
LinuxSelfHelp
Getting Started with Linux

The above links and others can be found at 'Slackware-Links' . More than just SlackwareŽ links!

FrancisG 08-17-2010 02:33 AM

Code:

Well, did you turn on debug in /etc/rc.d/rc.inet1.conf?
DEBUG_ETH_UP="YES"

Yes I did.
Code:

Is there anything in /etc/dhcpc/ ?
Nothing there

Richard Cranium 08-17-2010 04:13 AM

Quote:

Originally Posted by FrancisG (Post 4068569)
Code:

Well, did you turn on debug in /etc/rc.d/rc.inet1.conf?
DEBUG_ETH_UP="YES"

Yes I did.
Code:

Is there anything in /etc/dhcpc/ ?
Nothing there

Hmm. Had you done that prior to collecting the logs that you posted earlier?

Take a look at "man dhcpcd-run-hooks". You may want to set up your own /etc/dhcpcd.enter-hook script and dump out further debugging info for the TEST, NOCARRIER, INFORM, and CARRIER reasons. (That MTU change is weird.)

There might be some artifacts coming and going in various /var/run/dhcpcd subdirectories.

FrancisG 08-17-2010 04:52 PM

Code:

Hmm. Had you done that prior to collecting the logs that you posted earlier?
Yes I had set DEBUG_ETH_UP="YES" before logs
I have had a llook at the man pages you suggest, but quite honestly I have no idea how to use these hooks, can you suggest how I might use them?
I have tried setting /etc/resolv.conf manually, but that makes no difference.
I have even tried disabling the onboard lan and putting a different ethernet card in the machine, but the problem remains the same.
Thanks

FrancisG 08-18-2010 01:49 PM

Network Problem Solved
 
After alot more fiddling about I found that on installing 32bit Slackware 12.2 the network functioned normally.
I reinstalled 13.1 and then came across this post so by clearing the entries in /etc/rc.d/rc.inet1.conf and running

dhclient eth0

the card was properly configured, and the network woke up!
I have added this line to /etc/rc.d/rc.local and all is well.
Thanks for the input.

rg3 08-18-2010 02:57 PM

The problem with putting that in rc.local, in general, is that network daemons have already been started because rc.local is run at the end of the boot process. Knowing that people may have complex networking setups for which rc.inet1 may fall short, and that dhcpcd does not always work with every router out there (this is one of those cases), I would like to propose the following change in rc.M to the Slackware team:

Code:

--- rc.M        2010-08-18 20:36:15.081228275 +0200
+++ rc.M.new    2010-08-18 20:41:34.525228484 +0200
@@ -86,6 +86,9 @@
 if [ -x /etc/rc.d/rc.inet1 ]; then
  . /etc/rc.d/rc.inet1
 fi
+if [ -x /etc/rc.d/rc.inet1.local ]; then
+  /etc/rc.d/rc.inet1.local
+fi
 
 # Look for additional USB/SCSI/IEEE1394/etc devices on multiple LUNs:
 if [ -x /etc/rc.d/rc.scanluns ]; then

This way, if there is an executable file /etc/rc.d/rc.inet1.local, it's run after rc.inet1. With this hook, people could easily write their own procedure to bring the network hardware up when rc.inet1 is not enough. Two notes:

It's executed after rc.inet1 and not instead of rc.inet1. rc.inet1 brings up the lo interface, so it's better to let it do that work first or everyone would have to set up the lo interface if they write a rc.inet1.local script.

Second, it's not sourced but simply executed. This gives more flexibility and, even if they write it as a shell script in most cases, protects the rest of rc.M if the user wants to write a complex script that runs "exit" at some points.

With that addition, the OP would only need to create /etc/rc.d/rc.inet1.local with the following contents:

Code:

#!/bin/sh
/sbin/dhclient eth0

And he would have his network interface up and running using dhclient instead of dhcpcd, and before the network daemons start.

My two cents.

Richard Cranium 08-18-2010 03:03 PM

Umm, if "dhclient eth0" works with no other configuration, then I do not see why dhcpcd won't work.

rg3 08-18-2010 03:22 PM

Me neither. I only know DHCP from the user level, but it's not the first and won't be the last time someone faces a problem with dhcpcd not working, and dhclient working, or vice-versa. I see that from time to time in the IRC channel too.

Edit: also, this applies to different versions of dhcpcd as well (dhcpcd A.B not working and dhcpcd C.D working).

Richard Cranium 08-18-2010 03:30 PM

Quote:

Originally Posted by FrancisG (Post 4069425)
Code:

Hmm. Had you done that prior to collecting the logs that you posted earlier?
Yes I had set DEBUG_ETH_UP="YES" before logs
I have had a llook at the man pages you suggest, but quite honestly I have no idea how to use these hooks, can you suggest how I might use them?
I have tried setting /etc/resolv.conf manually, but that makes no difference.
I have even tried disabling the onboard lan and putting a different ethernet card in the machine, but the problem remains the same.
Thanks

Well, the simplest thing would be to copy the 01-test script and change it a little bit...
Code:

#! /bin/bash

DUMPFILE=/tmp/dhcpc-dump.txt

case $reason in
    TEST|NOCARRIER|INFORM|CARRIER|BOUND)
        echo "The reason was $reason" >>${DUMPFILE}
        set | grep "^\(interface\|metric\|pid\|reason\|skip_hooks\)=" | sort >>${DUMPFILE}
        set | grep "^\(new_\|old_\)" | sort >>${DUMPFILE}
        ;;
    *)
        echo "Not dumping for reason $reason" >>${DUMPFILE}
        ;;
esac

The above code wrote the following for my system as it came up (via "/etc/rc.d/rc.inet1 restart"):
Code:

Not dumping for reason PREINIT
The reason was CARRIER
interface=eth0
pid=21493
reason=CARRIER
skip_hooks=lookup-hostname
The reason was BOUND
interface=eth0
pid=21493
reason=BOUND
skip_hooks=lookup-hostname
new_broadcast_address=172.16.0.255
new_dhcp_lease_time=3600
new_dhcp_message_type=5
new_dhcp_rebinding_time=3150
new_dhcp_renewal_time=1800
new_dhcp_server_identifier=172.16.0.1
new_domain_name=home.flacy
new_domain_name_servers=172.16.0.1
new_ip_address=172.16.0.2
new_network_number=172.16.0.0
new_ntp_servers=172.16.0.1
new_routers=172.16.0.1
new_subnet_cidr=24
new_subnet_mask=255.255.255.0



All times are GMT -5. The time now is 11:48 PM.