2011-08-27 19:01:10 +0000 2011-08-27 19:01:10 +0000
20
20

Interfaccia Ethernet eth0 mancante in Ubuntu - non può connettersi al router

Sto avendo problemi a far sì che la mia macchina Ubuntu 10.04 (Sony Vaio VGN-SR490) si connetta a Internet tramite un cavo Ethernet collegato direttamente al mio router.

Sono in grado di connettermi a Internet con questo stesso cavo utilizzando una macchina Windows, quindi c'è qualcosa di sbagliato nel modo in cui Linux è configurato.

Come faccio a capire qual è il problema e a risolverlo?

Ecco le mie impostazioni di rete su Linux:

$ ifconfig

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

vmnet1 Link encap:Ethernet HWaddr 00:50:56:c0:00:01  
          inet addr:192.168.79.1 Bcast:192.168.79.255 Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

vmnet8 Link encap:Ethernet HWaddr 00:50:56:c0:00:08  
          inet addr:192.168.192.1 Bcast:192.168.192.255 Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

Ecco le mie impostazioni di rete su Windows (Vista):

Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix . : [removed by me].
   Link-local IPv6 Address . . . . . : [removed by me]
   IPv4 Address. . . . . . . . . . . : 192.168.1.103
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.1.1

Ho censurato il mio indirizzo IP da questi risultati. Se questa informazione è necessaria, fatemelo sapere.

Ecco il contenuto di /etc/network/interfaces:

auto lo
iface lo inet loopback

Dopo aver aggiunto auto eth0, ecco gli ultimi risultati:

$ sudo ifup eth0

Internet Systems Consortium DHCP Client V3.1.3
Copyright 2004-2009 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device
eth0: ERROR while getting interface flags: No such device
Bind socket to interface: No such device
Failed to bring up eth0.

Ecco i risultati dell'esecuzione di un modprobe:

$ sudo modprobe msk

FATAL: Module msk not found.

$ dmesg | grep eth

Ho rimosso Linux dal mio computer e installato Windows XP, su richiesta di alcune persone che hanno commentato questa domanda. Ho installato ed eseguito un programma per trovare dettagli sulla scheda di rete. Ecco le informazioni:

Network
    You are not connected to the internet
        Computer Name
            NetBIOS Name JOE-LAPTOP
            DNS Name joe-laptop
            Domain Name joe-laptop
        Remote Desktop
                Console
                    State Active
                    Domain joe-laptop
                RDP-Tcp
                    State Listen
        WinInet Info
            An internal error occurred.
        Wi-Fi Info
            Wi-Fi not enabled
        WinHTTPInfo
            WinHTTPSessionProxyType No proxy
            Session Proxy
            Session Proxy Bypass
            Connect Retries 5
            Connect Timeout 60000
            HTTP Version HTTP 1.1
            Max Connects Per 1.0 Servers INFINITE
            Max Connects Per Servers INFINITE
            Max HTTP automatic redirects 10
            Max HTTP status continue 10
            Send Timeout 30000
            IEProxy Auto Detect No
            IEProxy Auto Config
            IEProxy
            IEProxy Bypass
            Default Proxy Config Access Type No proxy
            Default Config Proxy
            Default Config Proxy Bypass
        Adapters List
        Network Shares
            No network shares

Sembra che l'elenco delle schede di rete sia vuoto. Ora installerò sia Windows XP che Ubuntu Linux in dual-boot. Non sono ancora in grado di accedere a internet, nemmeno attraverso Windows. Mi chiedo se questo potrebbe essere un problema hardware del computer o un problema con il router stesso. Altri computer possono connettersi a questo stesso router e funzionano bene. (È così che sto postando questo dopo tutto!)

Risposte (7)

16
16
16
2011-08-30 18:08:59 +0000

Prima di tutto, la tua ethernet non è gestita da Ubuntu. Prova ifconfig -a invece di solo ifconfig, così puoi vedere tutti i tuoi dispositivi di rete, gestiti o meno. Se vedi ethX nella lista ifconfig -a, la soluzione dovrebbe essere semplice, e sembra che tu ne abbia ottenuto la metà. Quanto segue deve andare nel tuo file /etc/network/interfaces:

auto ethX
iface ethX inet dhcp

La prima linea “attiva” la gestione dell'interfaccia e la seconda linea la imposta su DHCP e IP.

Comunque, se non vedete nessuna interfaccia ethX quando fate ifconfig -a, è un problema di driver (Ubuntu non vede nemmeno l'interfaccia). Per risolvere questo, o controllate dalla gestione dispositivi di Windows per il PCI Vendor ID e Device ID della vostra scheda ethernet, che potete incrociare qui e vedere se riuscite a trovare un driver per quello (Vendor ID è il produttore, Device ID è il modello effettivo della scheda ethernet). Un modo alternativo in-linux per farlo è tramite lspci.

In Windows 7, ottenere i Vendor/Device ID è attraverso la Gestione periferiche – apri il nodo Interfacce di rete, fai doppio clic sulla tua scheda di rete, clicca su ‘dettagli’, e seleziona “Hardware IDs” dall'elenco a discesa. Il Vendor ID sono le 4 cifre esadecimali dopo il prefisso VEN_, e il device id sono le 4 cifre esadecimali dopo lo &DEV_ subito dopo il vendor.

6
6
6
2015-03-20 22:16:56 +0000

Ho avuto un problema simile. Eseguendo ifconfig -a, ho determinato che gli unici dispositivi di rete sul mio computer erano p4p1 e lo. Non c'era nessun eth0.

Così ho modificato /etc/network/interfaces, sostituendo tutte le istanze di eth0 con p4p1. Il contenuto del file è ora:

auto lo
iface lo inet loopback

auto p4p1
iface p4p1 inet dhcp

Dopo aver riavviato, la rete funzionava bene.

Se ha importanza, stavo usando Ubuntu 12.04.5 Server edition.

6
6
6
2011-08-28 20:55:51 +0000

Non vedo nulla nei commenti che suggerisca di guardare in udev e nelle sue regole che dovrebbero installare eth0. Sul mio sistema, in /etc/udev/rules.d/75-network-devices.rules, ho il seguente:

# Local network rules to name your network cards.
#
# These rules were generated by nethelper.sh, but you can
# customize them.
#
# You may edit them as needed.
# (If, for example, your machine has more than one network
# card and you need to be sure they will always be given
# the same name, like eth0, based on the MAC address)
#
# If you delete this file, /lib/udev/nethelper.sh will try to
# generate it again the next time udev is started.

KERNEL=="eth?", ATTR{address}=="original has my MAC address here", NAME="eth0"

Inoltre, assicuratevi di avere udevd in esecuzione. Questo è ciò che crea ethx su un sistema basato su Slackware.

1
1
1
2011-09-03 04:20:42 +0000

Potresti anche provare ls /etc/init.d | grep eth e vedere se c'è qualcosa nell'init come artefatto che ETH0 sia mai stato lì. Quanto sopra è quello che uso in Gentoo, penso che Ubuntu usi un meccanismo diverso ma vale la pena provare.

In Ubuntu 6.06 ho avuto un problema simile a questo, ho finito per cancellare il CMOS sulla MB e in qualche modo ha risolto il mio problema. È una pugnalata nel buio però.

0
0
0
2017-05-18 18:09:42 +0000

Ho risolto il problema da solo dopo mesi di tirate di capelli:

  1. Andate su gestore aggiornamenti, in alto cliccate su visualizza.
  2. Selezionate la versione del kernel in fondo alla lista (che per me era 4.4.0-78 ma per alcuni sarà una versione superiore alla 4.8).
  3. Cliccate su installa.

Ho scollegato il dongle WiFi, ed ecco che ora ho internet via cavo. Con il dongle wireless fuori, ovviamente, non c'è più wlan0.

0
0
0
2013-03-19 03:18:19 +0000
SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device
eth0: ERROR while getting interface flags: No such device
Bind socket to interface: No such device
Failed to bring up eth0.

Devi solo rinominare il file 70-persistent-net.rules in /etc/udev/rules.d.

-1
-1
-1
2015-12-09 18:55:15 +0000

In generale, se non vedete la vostra interfaccia di rete, è che o ha un nome diverso (come eth1 invece di eth0) o non ha il suo driver caricato. Quando ho avuto problemi simili, sono stato in grado di risolverli regolando /etc/interfaces o con modprobe .