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

Falta interface Ethernet eth0 no Ubuntu - não se consegue ligar ao router

Estou a ter dificuldades em conseguir que a minha máquina Ubuntu 10.04 (Sony Vaio VGN-SR490) se ligue à Internet através de um cabo Ethernet ligado directamente ao meu router.

Sou capaz de me ligar à Internet através deste mesmo cabo usando uma máquina Windows, por isso há algo de errado com a forma como o Linux está configurado.

Como é que eu consigo descobrir qual é o problema e resolvê-lo?

Aqui estão as minhas definições de rede no 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

Aqui estão as minhas definições de rede no 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

Censurei o meu endereço IP a partir destes resultados. Se essa informação for necessária, é só avisar-me.

Aqui está o conteúdo de /etc/network/interfaces:

auto lo
iface lo inet loopback

Depois de adicionar auto eth0, aqui estão os resultados mais recentes:

$ 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.

Aqui estão os resultados da execução de uma modprobe:

$ sudo modprobe msk

FATAL: Module msk not found.

$ dmesg | grep eth

Eu removi o Linux do meu computador e instalei o Windows XP, a pedido de algumas das pessoas que comentaram esta questão. Instalei um programa para descobrir detalhes sobre a placa de rede. Aqui está essa informação:

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

Parece que a lista de adaptadores de rede está vazia. Vou agora instalar tanto o Windows XP como o Ubuntu Linux dual-boot. Ainda não consigo aceder à Internet, mesmo através do Windows. Pergunto-me se isto poderá ser um problema de hardware com o computador ou um problema com o próprio router. Outros computadores podem ligar-se a este mesmo router, e funcionam bem. (Afinal de contas, é assim que eu estou a publicar isto!)

Respostas (7)

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

Antes de mais, a sua ethernet não está a ser gerida pelo Ubuntu. Experimente ifconfig -a em vez de apenas ifconfig, para que possa ver todos os seus dispositivos de rede, geridos ou não. Se do ver ethX na lista ifconfig -a, a solução deve ser simples, e parece ter conseguido metade dela. O seguinte necessita de ir para o seu ficheiro /etc/network/interfaces:

auto ethX
iface ethX inet dhcp

A primeira linha “activa” a gestão da interface e a segunda linha define-a para DHCP e IP.

No entanto, se nem sequer vê quaisquer interfaces ethX quando faz ifconfig -a, é um problema do condutor (o Ubuntu nem sequer vê a interface). Para resolver isto, verifique no gestor de dispositivos do Windows o PCI Vendor ID e Device ID da sua placa ethernet, que pode cruzar aqui e ver se consegue encontrar um driver para isso (Vendor ID é o fabricante, Device ID é o modelo acutal da placa ethernet). Uma forma alternativa de o fazer in-linux é através do lspci.

No Windows 7, obter o Vendor/Device IDs é através do Gestor de Dispositivos – abra o nó Interfaces de Rede, faça duplo clique na sua placa de rede, clique em ‘detalhe’, e seleccione “Hardware IDs” a partir da lista pendente. O ID do Vendedor são os 4 dígitos hexadecimais após o prefixo VEN_, e o ID do dispositivo são os 4 dígitos hexadecimais após o &DEV_ imediatamente a seguir ao fornecedor.

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

Eu tinha um problema semelhante. Ao executar ifconfig -a, determinei que os únicos dispositivos de rede no meu computador eram p4p1 e lo. Não havia eth0&.

Assim, editei /etc/network/interfaces, substituindo todas as instâncias de eth0 por p4p1. O conteúdo do ficheiro é agora:

auto lo
iface lo inet loopback

auto p4p1
iface p4p1 inet dhcp

Depois de reiniciar, a rede estava a funcionar bem.

Se interessa, estava a utilizar a edição 12.04.5 do Ubuntu Server.

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

Não vejo nada nos comentários que sugira que se investigue o udev e as suas regras que devem instalar o eth0. No meu sistema, em /etc/udev/rules.d/75-network-devices.rules, tenho o seguinte;

# 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"

Além disso, certifique-se de que tem o udevd a funcionar. Isto é o que cria o ethx num sistema baseado em Slackware.

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

Também pode querer experimentar ls /etc/init.d | grep eth e ver se há algo no init como um artefacto que o ETH0 alguma vez tenha existido. O acima exposto é o que se usa no Gentoo, penso que o Ubuntu usa um mecanismo diferente, mas vale a pena tentar.

De volta ao Ubuntu 6.06 Tive um problema como este, acabei por limpar o CMOS no MB e de alguma forma ele resolveu o meu problema. Mas isso é uma facada no escuro.

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

Resolvi o problema por mim próprio após meses de puxar o cabelo:

  1. Ir para o gestor de actualizações no topo clique em view.
  2. Seleccione a versão do kernel no fundo da lista (que para mim era 4.4.0-78 mas para alguns será alguma versão acima de 4.8).
  3. Clicar em instalar.

Eu desliguei o WiFi dongle, e eis que agora tenho internet com fios. Com o dongle sem fios fora de linha, claro, não há agora 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.

Só precisa de renomear o ficheiro 70-persistent-net.rules em /etc/udev/rules.d.

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

Em geral, se não vir a sua interface de rede, ou tem um nome diferente (como eth1 em vez de eth0) ou não tem o seu driver carregado. Quando tive um problema semelhante, consegui corrigi-los ajustando /etc/interfaces ou modprobe .