Linux - Networking This forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game. |
| Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
 |
GNU/Linux Basic Guide
This 255-page guide will provide you with the keys to understand the philosophy of free software, teach you how to use and handle it, and give you the tools required to move easily in the world of GNU/Linux. Many users and administrators will be taking their first steps with this GNU/Linux Basic guide and it will show you how to approach and solve the problems you encounter.
Click Here to receive this Complete Guide absolutely free. |
|
 |
|
01-09-2013, 11:12 AM
|
#1
|
|
LQ Newbie
Registered: Jan 2013
Posts: 9
Rep: 
|
[debian] Device "eth0" does not exist
Hi,
I created a custom image (based on Squeeze) with live helper to deploy a preconfigured system on other machines. Most stuff seems to be working just fine, but I can't get the network interfaces up.
I get the following errors:
On boot (last line prior to login):
Code:
Device "eth0" does not exist
ifconfig eth0:
Code:
eth0: error while getting interface flags: no such device
lspci shows all the ethernet controllers. The required module is being loaded on startup (Broadcom NetXtreme Gigabit Ethernet module "bnx2")
I found others with similar problems and for most rewriting or deleting "xx-persistent-net.rules" does the trick. Unfortunately, that does nothing for me. If deleted, it's not even being rewritten as claimed, if edited, nothing changes.
During installation of the custom image, the NICs were detected and working out of the box. There has to be some active configuration file from the machine I created the image on that somehow interferes with the network setup, but so far, I've had no luck locating it. Also likely: I'm missing something really basic, I'm good at that  .
Any hints & help appreciated.
|
|
|
|
01-09-2013, 12:26 PM
|
#2
|
|
Guru
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 5,290
|
If eth0 isn't there, whatever module the nic needs isn't loaded or hasn't grabbed it. Go figure.
Caveat: Some old (10 years old) network cards did not do flexible interrupts. I had a box that would lose it's nic if the nic was assigned irq 12 instead of what it wanted, irq 11. Realtek something (8139??)
|
|
|
|
01-09-2013, 12:37 PM
|
#3
|
|
Senior Member
Registered: Dec 2003
Location: Trondheim, Norway
Distribution: Debian and Ubuntu
Posts: 1,006
Rep: 
|
Hi
I think you need to install "firmware-bnx2". It's non-free. If it's going to be used on different computers, you could install "firmware-linux-nonfree" to get all of those non-free binary blobs.
|
|
|
|
01-10-2013, 09:27 AM
|
#4
|
|
LQ Newbie
Registered: Jan 2013
Posts: 9
Original Poster
Rep: 
|
Seems like I got the wrong module - "tg3" is the one I need. Problem: Still doesn't work.
Strangely enough, If I start up the live system, the NICs are being recognized without any problem, lspci -v shows module tg3 in use and eth0 + eth1 are up and working. But after installing the image to the HD they're gone again.
|
|
|
|
01-10-2013, 10:40 AM
|
#5
|
|
Senior Member
Registered: Dec 2003
Location: Trondheim, Norway
Distribution: Debian and Ubuntu
Posts: 1,006
Rep: 
|
Not sure, but I think tg3 also needs non-free firmware. But if it's missing, the live cd shouldn't work either.
The command "dmesg | less" should give some clue about what's happening. It's usually lots of info there. If you press "/" for search and type eth you should get to the interesting part.
It could be that the devices are being renamed by udev. The dmesg info should tell you if that is the case.
When the kernel finds a new NIC with an unknown MAC address, it stores it in the file "/etc/udev/rules.d/70-persistent-net.rules". It can contain things like:
Quote:
# PCI device 0x14e4:0x163b (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="78:2b:cb:13:fd:f1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
|
As long as this line is there, no other NIC can get the name eth0 so they will be renamed. Removing all such lines and rebooting will stop the renaming.
|
|
|
|
01-10-2013, 11:32 AM
|
#6
|
|
Guru
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 5,290
|
have you /lib/firmware in the image?
|
|
|
|
01-14-2013, 09:16 AM
|
#7
|
|
LQ Newbie
Registered: Jan 2013
Posts: 9
Original Poster
Rep: 
|
Quote:
|
have you /lib/firmware in the image?
|
Jep.
Quote:
Originally Posted by Guttorm
The command "dmesg | less" should give some clue about what's happening. It's usually lots of info there. If you press "/" for search and type eth you should get to the interesting part.
|
dmesg shows nothing at all concerning ethernet devices.
Editing/deleting/removing lines in /etc/udev/rules.d/70-persistent-net.rules doesn't do anything. To make sure I didn't create a bad image, I tested it on a few other machines with different hardware - everything works fine.
If I install a generic Debian on the server (which is a HP ProLiant 320e Gen8 by the way), the NICs are being detected without any problems.
@business_kid:
You wrote something about IRQs? I think it's possible the problem is rooted somewhere in the hardware setup (given that dmesg doesn't even mention ethernet devices). Unfortunately, I have little to no knowledge in that area. The BIOS Setup allows me to change IRQs for most devices, but I don't want to start throwing values around without really knowing what I'm doing.
|
|
|
|
01-14-2013, 09:33 AM
|
#8
|
|
Member
Registered: Jan 2013
Distribution: Centos
Posts: 78
Rep:
|
Please post the results, after running this command:
ifconfig -a
|
|
|
|
01-14-2013, 09:40 AM
|
#9
|
|
LQ Newbie
Registered: Jan 2013
Posts: 9
Original Poster
Rep: 
|
Quote:
Originally Posted by LeoPap
Please post the results, after running this command:
ifconfig -a
|
ifconfig -a only shows the loopback interface.
|
|
|
|
01-14-2013, 09:48 AM
|
#10
|
|
Member
Registered: Jan 2013
Distribution: Centos
Posts: 78
Rep:
|
try running the following commands.
ifdown eth0
ifup eth0
ifconfig -a
What are the results now? Same?
Last edited by LeoPap; 01-14-2013 at 09:50 AM.
|
|
|
|
01-14-2013, 10:06 AM
|
#11
|
|
LQ Newbie
Registered: Jan 2013
Posts: 9
Original Poster
Rep: 
|
Quote:
Originally Posted by LeoPap
try running the following commands.
ifdown eth0
ifup eth0
ifconfig -a
What are the results now? Same?
|
There are none - ifdown eth0 returns "eth0 not configured".
The network configuration should be fine - I think the source of the problem is somewhere deeper in the system and is caused by something preventing the kernel module to grab the NIC.
|
|
|
|
01-14-2013, 10:13 AM
|
#12
|
|
Member
Registered: Jan 2013
Distribution: Centos
Posts: 78
Rep:
|
Quote:
Originally Posted by Luno
There are none - ifdown eth0 returns "eth0 not configured".
The network configuration should be fine - I think the source of the problem is somewhere deeper in the system and is caused by something preventing the kernel module to grab the NIC.
|
Do you have internet connection?
Try setting eth manually with: system-config-network
|
|
|
|
01-14-2013, 02:57 PM
|
#13
|
|
Guru
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 5,290
|
Quote:
@business_kid:
You wrote something about IRQs? I think it's possible the problem is rooted somewhere in the hardware setup (given that dmesg doesn't even mention ethernet devices). Unfortunately, I have little to no knowledge in that area. The BIOS Setup allows me to change IRQs for most devices, but I don't want to start throwing values around without really knowing what I'm doing.
|
Never spotted that. I have a tigon 3 card in a box here. What I said about interrupts certainly doesn't apply - it's a 1Gb card which is @$%£! fast but not super fast.
It needs firmware. Have a look in an X terminal at the output of
Quote:
|
grep firmware /var/log/messages
|
and see if it is requesting firmware and/or finding it.
|
|
|
|
01-15-2013, 04:03 AM
|
#14
|
|
LQ Newbie
Registered: Jan 2013
Posts: 9
Original Poster
Rep: 
|
Quote:
It needs firmware. Have a look in an X terminal at the output of
Code:
grep firmware /var/log/messages
and see if it is requesting firmware and/or finding it.
|
No "firmware" found in /var/log/messages.
|
|
|
|
01-15-2013, 04:14 AM
|
#15
|
|
Guru
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 5,290
|
@#£%$! It doesn't report it - I'm on the box with the tigon 3 card and it doesn't show firmware being loaded. But look at this:
Quote:
bash-4.2$ ls /lib/firmware/tigon
tg3.bin tg3_tso.bin tg3_tso5.bin
|
Have you got those?
|
|
|
|
| Thread Tools |
Search this Thread |
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -5. The time now is 03:37 PM.
|
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|