[SOLVED] Debian 8.2.0 Jessie - No Internet with Intel I217-V network adapter

ThinkingMonkey's picture

Forums: 

Hi all,

Just installed 8.2.0 two days ago and everything went smooth as silk until I tried to connect to the Internet.
I was surprised because during setup it seemed like everything was automatically configured correctly and the installation
proceeded past the section where the connection is detected and configured. However, once installed, it says the connection
is connected but a web browser and ping will not work.

I've gone through many 'fixes' that I found posted elsewhere in the forums but I still can't connect to the Internet. Changing the DHCP on or off or
changing the DNS addresses and/or the computer's IP address and subnet mask all don't seem to work but maybe I'm entering the wrong thing.

The connection is very simple. I'm not trying to stream video to my TV or set up a whole house full of electronic devices, etc.

One computer is connected via Ethernet cable directly to my ISP's modem/router. That's all. It's DSL from the phone company. There are no
other choices in my area except satellite. Well, of course my smartphone connects to the WiFi but that has nothing to do with the computer.

The network adapter built into my motherboard (an EVGA Z87 FTW) is an Intel I217-V. The Linux driver at Intel for this device
is called the 'e1000e' driver. I do not have this driver installed. Or at least I didn't install it myself.

Debian may have used that driver and the adapter itself seems to working fine because when I go into 'Network' or
'Network Connections' it shows the proper MAC address of the adapter. The icon in the lower right of the desktop in the notification area
claims that I'm connected just fine.

One fellow on another forum said that he realized he had made a very simple mistake and was trying to set up an Ethernet connection
when he should have been setting up a DSL connection. That didn't work for me either. The service I get from my ISP is pppoe_0_0_35, if that helps.

I'm sure the problem is simple and the solution is probably something like "Make sure you don't put a check mark in so-and-so box."

Can someone advise me on what I need to do as far as settings to get on the Internet? I'm dual booting with Windows 10 so I have to
reboot and read up on some idea or the other then reboot back into Debian again to try the fix.

I'm sure there is a report or something that I can generate in Debian that will help someone much smarter than me to pinpoint the
problem but I don't know what that is so you'll have to ask and I can get it for you.

Thanks in advance for any help provided.

As always,
Hugh

.

DHCP or static IP address?

IntnsRed's picture

During the installation did the install program reach out to the Internet and download anything?

Either way, the first question should be are you using DHCP or statically-assigned Internet addresses? The "auto-detect" function of the install program says at one time the install program found a DHCP server accessible in your local network and so the install program would have used that.

> I'm sure there is a report or something that I can generate in Debian

There's a number of programs that will give you all sorts of information. They typically need to be run as the root/superuser. Just running ifconfig as "ifconfig" with no parameters will spit out the present setup of your NICs. Running "route" with no parameters will list out your systems routing information. There are many switches to those programs to do all sorts of different things, but by default they'll tell you what's going on.

> One fellow on another forum said that he realized he had made a very simple mistake and was trying to set up an Ethernet connection
when he should have been setting up a DSL connection.

Setting up for DSL is pretty straightforward. Linux first creates a "fake" ethX NIC/device with no IP address which then uses a pppX device which is assigned an IP address from your ISP via DHCP.

To set up DSL, use the program "pppoeconf". It's a slick little package which will give you simple menu-driven screens to set up your DSL/pppoe.

Gathering info

ThinkingMonkey's picture

Hi IntnsRed,

Thank you for your fast response. Maybe we can get the ball rolling on a fix now and hopefully someone else with the
exact same problem can find the fix here.

To answer your questions the best I can:

> During the installation did the install program reach out to the Internet and download anything?

I'm 99% positive it did not. Right after the desktop came up after the install completed, a dialog box popped
up similar to Windows 'Found New Hardware' that had detected the printer (proper make and model, too)
that was asking to install the proper drivers.

Evidently they were not local and it searched for about 5 minutes (I believe it was probably trying to see why it
couldn't connect to the servers to get the drivers) and eventually just dropped back to the 'Do you want to use these drivers?'
dialog box.

> Either way, the first question should be are you using DHCP or statically-assigned Internet addresses?

Evidently the modem/router uses DHCP. Windows 10 connects to the Internet with no user intervention whatsoever
except for the initial install of the network adapter drivers upon a clean install.

That was one aggravating thing about what I mentioned in my original post i.e. the Debian install proceeded as if it had found
DHCP present and configured with no problems.

I'm a long-time computer technician but I don't really have occasion to fool around with networking of any sort (Just a repair guy, really.
Pretty well just fixing peoples virus and/or bad parts problems) I know most of the terminology, though, such as pinging, what an
IP address is and does as well as DNS name servers, subnet masks, etc.

That said, a static IP address is one of those 'If you had it, you'd know it' type of things? Don't you have to make an arrangement with
your ISP to have a never-changing address? If so, then no, I don't have a static address and I apparently utilize DHCP instead.

> There's a number of programs that will give you all sorts of information.

Ok I'll use 'ifconfig' and 'route' and post the results here.
I have an idea what all the information means but I'm concerned that I have something showing the right information but just in the
wrong place or something similar and someone such as yourself would have to look at it and point out what is in the wrong place or
info missing, etc.
That's sounds confusing but what I mean, for example, is that I know one of my two DNS addresses is 166.102.165.11, but I have
that address in the place where Default Gateway should be.

> Setting up for DSL is pretty straightforward.

Not for me it isn't. lol

> Linux first creates a "fake" ethX NIC/device with no IP address which then uses a pppX device which is assigned an IP
address from your ISP via DHCP.

I have no idea what command to execute or in what dialog box to enter that information. (To create a fake ethX NIC/device...
then use a pppX device..., etc.)

I'm going to try the 'pppoeconf' as you suggested in the hopes that that is what you mean by 'Setting up for DSL is pretty
straightforward'.

Thank you again for your response and I'll gather the information you mentioned and then try to use 'pppoeconf' and post back with the results of that experiment.

As always,
Hugh

.

Networking fun...

IntnsRed's picture

Evidently they were not local and it searched for about 5 minutes (I believe it was probably trying to see why it
couldn't connect to the servers to get the drivers) and eventually just dropped back to the 'Do you want to use these drivers?'
dialog box.

Okay, that's the normal behavior for things timing out searching for a DHCP server and/or perhaps not being able to find the drivers for your NIC. But you said it did include some NIC driver here:

The network adapter built into my motherboard (an EVGA Z87 FTW) is an Intel I217-V. The Linux driver at Intel for this device is called the 'e1000e' driver. I do not have this driver installed. Or at least I didn't install it myself.

Thanks to an engineer at NASA who wrote a bunch of free software NIC drivers, many NIC drivers are included with Linux distros by default. So it's likely the correct driver was just automatically installed.

But the first thing to do is to ensure we have a NIC driver installed. If you do, as the root/superuser, run "ifconfig" from a command line, does it list out an "eth0" device? (It'll likely have no IP address listed, but should list out the device name; that's all we're looking for at this point.)

The output of "ifconfig" will look something like this:

eth0      Link encap:Ethernet  HWaddr b4:2c:02:41:5c:d7 
          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::f66d:4ff:fe94:5dc7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:20893981 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9092211 errors:0 dropped:32 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:25575795872 (23.8 GiB)  TX bytes:3043510653 (2.8 GiB)

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:65536  Metric:1
          RX packets:6365 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6365 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:809259 (790.2 KiB)  TX bytes:809259 (790.2 KiB)

Evidently the modem/router uses DHCP.

Yup, DSL lines typically use DHCP.

At this point what I'd recommend is to do an "apt-get update ; apt-get install pppoeconf". That'll install the handy config program to set up pppoe, and if all the pppoe and ppp stuff is not installed, it'll install all of that too.

Once you have pppoeconf installed, just run "pppoeconf" as the root user. Once you run that you'll have to give it your DSL/ISP username and password but it'll set up your DSL link with pppoe and you should be all set (aside from a firewall and other post-network-working chores).

By default pppoeconf will create a networking entry of "dsl-provider". Though pppoeconf will ask you if you want the DSL link to be a 24/7 connection that's always up, you can also bring the link up and down by using "pon dsl-provider" to bring the link up, and "poff dsl-provider" to knock the link down.

I have no idea what command to execute or in what dialog box to enter that information. (To create a fake ethX NIC/device...then use a pppX device..., etc.)

Sorry to confuse you. Those are just details to let you know what's going on behind the scenes. Normal humans shouldn't have to deal with that sort of minutia/techie details. You can see that type of stuff listed by just running "ifconfig" at a command prompt as the root user, but there's no real need to muck around with the details -- that's what "pppoeconf" lets you avoid.

Terminal and other screenshots

ThinkingMonkey's picture

Hi,

Thank you again for your information.

Here's the information I've gathered so far:

These screenshots are from the following: (Image link at the bottom)

1) From the BIOS page of my modem/router,

2) Windows 10. Shown only to provide an example of settings that actually do work (in Windows). IOW, the reason for pointing this out is to say that there is nothing wrong with the modem itself, a cable, a connector, the NIC, etc.

3) Results of 'ifconfig' command in Debian 8.2.0,

4) Results of 'route' in Debian,

5) Finally, the results from 'pppoeconf'.

http://i.imgur.com/MTcy0nf.jpg

Thank you for any further tips you can provide.

As always,
Hugh

.

Networking fun...

IntnsRed's picture

Okay, now with that informationation we're getting down to things.

Forget about pppoeconf -- that's only used when GNU/Linux is connecting directly to a DSL/pppoe Internet connection.

In this case it's your DSL modem and router that is actually connecting to the DSL line (it's a common setup). Your DSL modem and router is then just running a DHCP server and is issuing out local network IP addresses to things on your LAN.

So with this configuration, you'll just want to set up your NIC (eth0 in Linux-speak) as DHCP and to let the DSL modem and router's DHCP server give you an address -- that should be all there is to it.

With Debian, the file "/etc/network/interfaces" is a simple text file that can be edited to set up the eth0 NIC.

The /etc/network/interfaces file should have something similar to this in it:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

The contents of /etc/network/interfaces is the key. As you can see, the last 2 lines above are what sets the NIC/eth0 up for DHCP. Make sure your /etc/network/interfaces has 2 lines like that (and no other eth0 lines to conflict).

What's odd is that the "ifconfig" output you listed shows eth0 being set up on your local/internal LAN network, being assigned an address in the 192.168.254.* network -- so your /etc/network/interfaces eth0 setup is likely correct (it's sort of unusual that Windows got assigned 192.168.254.1 and Linux got assigned 192.168.254.5, but that technically is no big deal).

What may be the big deal -- and the core of the problem -- is that Windows (where the networking works) shows the default gateway as being 192.168.254.254 (the last line in your red box in the graphic). That -- 254 -- is sort of an unusual gateway address, but if it works it works, right?

Linux shows the default gateway with the "route" command's output and says the "default" route (the route to send any traffic it doesn't know about and that isn't on the local LAN) is IP address 151.213.8.5 -- WTF? Where's it getting that? It should, logically, be using 192.168.254.254 as the default gateway.

You could try something manually like this as the root/superuser:

# route del default
# route route add default gw 192.168.254.254

That would fix the problem with the default gateway route. But that should not have to be done manually -- all that should be set up automatically when Linux gets its IP address set up by DHCP when it first talks to the DHCP server and sets up its networking.

Okay, that's what's going on. At this point we should find out why this isn't being set up automatically.

What's the content of your /etc/network/interfaces? I'm curious if there is some statement in there (left over from trying other things?) that is screwing up that default gateway route.

Another attempt

ThinkingMonkey's picture

Hi again IntnsRed,

Thank you for your help.

I'll try to answer your questions here and give you the results so far.

To make sure that we don't have a misunderstanding due to differing terminology in the future, I notice that you refer to 'Linux' whereas I'm calling it by its distribution name of 'Debian' or 'Debian 8.2.0'.

You are precisely correct and I'm slightly off. Here's why: I believe that this problem will occur on my particular setup (whatever it turns out to be) NOT caused by just Debian. The reason I say this is that this is my 3rd setup attempt. Mint - wouldn't work, Ubuntu - wouldn't work, so the more I was reading for help with this issue, I noticed that although Debian was not the top downloaded distribution on distrowatch, it has a MUCH longer history and better help resources available than either of those, so then I wondered to myself why I hadn't gone straight for Debian to start with. So referring to my problem as a general 'Linux' problem is correct.

First, and it doesn't seem right nowhere matter where it's coming from, is that the odd 'Default Gateway' address of 151.213.8.5 is 'hardcoded' (in a way, because you can't change it) in the modem/router. On the picture I posted, it's the top screenshot of the internal modem/router setup. It's in the middle of the bottom red box under Default Gateway:

So is that a gateway from my computer to the modem or from the modem to the ISP or neither or both? I just don't get it. The reason I call it 'odd' is that it's not the basic 192.168.x.x like you always see.

Before I changed anything with your last instructions, as I may have mentioned before, the tiny icon in the bottom right of the screen for the network was showing "Connected" when in fact it was not (no ping and no Internet).

Now that I changed the contents of the '/etc/network/interfaces' file, it said 'Wired - Unmanaged' and after a reboot it just says 'No connection'.

Here are the current contents of the /etc/network/interfaces file (oddly it didn't save my changes the first try, I had to do it two times but it's saved now):

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

That's the complete file. Notably, there was no mention of eth0 until I added it just now. The file ended with the 'iface lo inet loopback' line.

Not to add anything to something that's already so confusing, I was just curious that the file includes the line:

source /etc/network/interfaces.d/*

so I looked in that folder and it's empty.

Also, the 'route' commands didn't work right:

root@debian-Z87:~# route del default
SIOCDELRT: No such process

root@debian-Z87:~# route add default gw 192.168.254.254
SIOCADDRT: Network is unreachable

Also, as another piece of information, useless as it may be, is that the ping command works on absolutely no address mentioned thus far EXCEPT on the loopback address (127.0.0.1) and certainly not on any external address such as www.google.com (or 74.125.22.106) or www.microsoft.com (at 172.231.248.61). 127.0.0.1 works fine and 'Network unreachable' on everything else.

I only keep trying that because what little networking I do remember from college is that ping will work like a charm even when domain names are not resolving right.

Thank you for your help so far and I really do appreciate it. I'm normally the one providing computer help and I know how aggravating it can be, especially when you begin to suspect that the person is not giving you correct information to work with. I will be very happy to accurately provide you with whatever results I'm seeing. You'll just have to tell me what it is that you need.

As always,
Hugh

.

New things to try or double-check previous tries?

ThinkingMonkey's picture

Hi all,

Can someone help us out here? I knew there had to be more people than me with this problem and I saw just now that this question is ranked #2 on Google when searching for 'Debian 8.2 DSL not set up', so there are folks looking for a solution.

I'm betting and am 99% sure it's only some small setting somewhere in the network settings or it's one of the IP addresses already mentioned above but it's just in the wrong place, some network utility app not installed, etc.

Thanks in advance.

Hugh

.

A test...

IntnsRed's picture

Sorry for not getting back to you promptly. Okay, that fills in more details.

Your network set up fine now for DHCP. The DHCP server in your router must be doing something odd/non-standard.

Let's do a test of networking. This can be done by editing the file /etc/network/interfaces, testing, and then changing the file back if you want to. What we should do is to test the networking with a static IP address and gateway, and see if the networking works then.

In your /etc/network/interfaces file, comment out this one line:

iface eth0 inet dhcp

to make the line:

# iface eth0 inet dhcp

and then insert this below that now-commented-out line:

iface eth0 inet static
        address 192.168.254.1
        netmask 255.255.255.0
        network 192.168.254.0
        broadcast 192.168.254.255
        gateway 192.168.254.254

(Note: The above is manually grabbing the ".1" address so make sure there are no other computers/devices using the network that could be assigned .1. Having 2 of the same IP addresses on the LAN will cause all sorts of unpredictable problems.)

Once that change is made, reboot (or restart networking) and test out the network. My guess is that it will work. If that's true, it means there's an issue with the DHCP server.

SOLVED

ThinkingMonkey's picture

Hi again IntnsRed,

Thanks for all your help.

What you suggested DID work, but only sometimes. And that led to the discovery of the main problem. The root of all my headaches.

It was a hardware issue. I began to suspect that may be possible after I applied the changes per your instructions and it seemed to work fine until I rebooted to Windows 10 then back to Linux (currently Debian, although as I mentioned, the same problem was present with Ubuntu, Mint, and openSUSE).

What was also suspicious was when I wiped openSUSE and re-reinstalled Debian yet again and the automatic network detection and setup (about the 3rd step in the setup, as you know) seemed to go just fine. After a reboot, it did not.

So step by step, what it was doing was (and yes I wrote this down trying to find a clue and it wasn't apparent at first, only in retrospect):

- Using Windows 10, network all fine and working
- Reboot with (any) Linux install DVD inserted and there were quickly problems (The dreaded "Your DHCP is not working" message)
- Complete the Linux install anyway
- Boot back to Windows to get online to read advice on what to check next.
- Reboot to Linux, still no network (Internet)

That was the never ending cycle for several days now. I was periodically doing complete re-installs of either openSUSE or Debian 8.2 fearing that if someone did provide a fix, all the previous failed entries I had made concerning the network might have goofed it up so that correct advice couldn't have helped. So I was trying to keep a relatively clean Linux install as much as possible.

Ok. So yesterday, I had a monitor flickering problem that I usually fix by completely powering off the monitor and computer for about a minute then back on and it will be good for several days or more. Not only powered off, but unplugged. (Yes, I need to replace this monitor and I will sooner or later).

So I did that. Well, I had the notion to boot into Debian while I was at the GRUB menu anyway, so I did and the network (Internet) was working flawlessly!

I had no idea what had been changed or not changed at that point. So I looked back over my notes and was pretty sure I had rebooted after each change so I rebooted into Windows to check my e-mail for notes. Couldn't find anything that caught my eye so I booted back into Debian to celebrate and guess what? No Internet.

SO I was thinking to myself that something or the other was existing in Windows that was changed in Linux but had no idea what, then I started to think of hardware settings.

After a lot of experimentation, here's all I did:

Disable the Wake-on-LAN (WoL) in both the BIOS and the network adapter settings in Device Manager in Windows (it's the same for 7, 8, 8.1, and 10). I had both off when I realized I could boot back and forth from Windows and Linux and still have Internet every single time without fail and I'm not about to re-enable one or the other to see if it makes a difference. They're both staying off.

I would have to guess that it being off in the BIOS will prevent it from being enabled in Windows but I really don't care at this point. Somebody besides me can check into that.

So getting a pure, virgin, cold boot straight into Linux without booting to Windows first is what made it work then I figured out how to make it stay working through cold or warm boot, both.

I don't know if it's this particular board (EVGA Z-87 FTW), or just the built-in adapter (Intel I217-V (Linux uses the Intel e1000e driver)) or both, but if you cannot get a Linux distro to automatically configure your network during setup, something it's been able to do for many, many years now, and you have the same setup I have, simply disable the Wake-on-LAN in the BIOS and in Windows' Device Manager.

I also imagine that someone who wasn't dual-booting would not have this problem since there would be no Windows to goof up the WoL to start with.

Thanks to everyone, especially IntnsRed, who was trying to help the un-helpable! lol

As always,
Hugh

EDIT: I forgot to mention that I spent half a day yesterday setting up a Belkin router that I got for my office and only used for a couple of weeks then boxed up, brought home and forgotten about. It's a Belkin N600 DualBand N+. I was basically just using it for 4 additional Ethernet ports. Plus it has a USB connection so you can make non-wireless printers, external storage, etc. wireless, or enable quick and easy NAS, etc. It's a good router. What I had been using at home prior to yesterday was the combination modem/router that's supplied by my ISP, Windstream.
I turned off all DHCP, WiFI, and just about everything else in the modem and enabled it all in the Belkin router because I had suspected at one point that maybe the Linux install just simply wasn't going to work with that modem.

So I set Linux to get DHCP, etc. from the router, which was assigned a single, static IP from the modem. I was letting the router run the whole show but nothing improved. Same problem as before, namely no Internet in Linux.

It was the WoL problem all along.

WoL problem

IntnsRed's picture

> It was the WoL problem all along.

Well it's great you got to the bottom of it!

New "features" like that are typically buggy as sin. We see this again and again -- Plug and Play, Power Saving, etc. -- they're always hit and miss for a few years until the manufacturers actually get them right.

I appreciate this because I've been pondering a network-attached storage system for my LAN that is going to use WoL and be "off" for a good part of the time. With your problems I'm going to have to make a mental note to triple-check the WoL feature to make sure it actually works as advertised.