Anakart değiştirildikten sonra ağ kartı adları (eth0, eth1) eksik


3

Yeni bir anakart (ve CPU ve RAM) (Intel Gigabit Ethernet on-board ASRock H97 Pro4) kurdum ve mevcut LMDE'mi (Linux Mint Debian Edition) kullanmaya çalışıyorum. Şimdiye kadar çok iyi, ama internet yok.

İnternet kullanılarak komut satırı ile yönetiliyor pon dsl-provider. Bu şimdi gösterir

Plugin rp-pppoe.so loaded.
/usr/sbin/pppd: In file /etc/ppp/peers/dsl-provider: unrecognized option 'eth1'

sudo pppoeconf "Üzgünüz, çalışan bir ethernet kartı bulunamadı."

/sbin/ifconfighiçbir şekilde eth0 veya eth1 olmadığını gösterir. Buradaki tek giriş lo(Loopback).

Eth0 veya eth1 sadece başka bir şey, örneğin etmek için yeniden adlandırılmış olabilir düşündürmektedir diğer bazı eşyalar vardır enp0s10. Ama sonra yeniden adlandırılan şey, olmadığı ifconfig'te ortaya çıkacaktı.

Ben de denedim sudo service networking stop(çalışır) ve sudo service networking start. İkinci komut şunları verir:

[....] Configuring network interfaces...eth1: ERROR while getting interface flags: No such device
Failed to bring up dsl-provider.
done.

Ve hala sadece loifconfig içinde.

ip addr show eth0 (ve eth1 ile aynı şekilde) gösterir:

dig: couldn't get address for 'resolver1.opendns.com': not found

lspci -v gösterir:

[..]

00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V
        Subsystem: ASRock Incorporation Device 15a1
        Flags bus master, fast devsel, latency 0, IRQ 5
        Memory at f7200000 (32-bit, non-prefetchable) [size=128K]
        Memory at f7238000 (32-bit, non-prefetchable) [size=4K]
        I/O ports at f040 [size=32]
        Capabilities: <access denied>

[..]

EDIT I: Komik, /etc/udev/rules.d/70-persistent-net.rulesdosya hakkında zaten bir şey yazdığımı sanıyordum . Belki yazı yazarken sildim.

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:52:fe:13", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x10ec:/sys/devices/pci0000:00/0000:00:1c.5/0000:04:00.0 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1f:d0:91:e1:68", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x1814:/sys/devices/pci0000:00/0000:00:1e.0/0000:05:01.0 (rt61pci)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:21:29:66:32:7a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"

# USB device 0x:0x (r8712u)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:14:5c:8b:db:40", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan1"

Sanırım ethernet ile ilgili iki satır eski tahtadan geliyor. Yani onları kaldırırsam, hiçbir şey kalmaz.

Ayrıca, dosya ile yenileneceğini söylüyor /lib/udev/write_net_rules. Web’deki diğer makalelere göre, dosya kaldırılır / yeniden adlandırılırsa / eksikse, bu işlem manuel veya otomatik olarak yeniden başlatılabilir. Ancak benim durumumda, yeniden başlatma sırasında hiçbir şey yenilenmiyor. /lib/udev/write_net_rulesManuel olarak çalıştırmak ilk önce "$ INTERFACE" eksik olduğunu gösterir. Bu talimatları takip ederken , ip addr show $INTERFACEbaşarısız olduğu yerdir. Bu yüzden ip addr show eth0yukarıda yayınladım . Farklı bir şekilde yapmak (hatırlamamak), çıktı dosyasının kilitli olduğunu gösterdi (ve dosya yazma izinleriyle ilgili olduğunu sanmıyorum).


EDIT II: Bunun işe yarayıp yaramadığını görmek için ek bir PCI ethernet kartı taktım. İlk başta bu lspci'ye bir satır ekledi, ancak ifconfig'de yeni bir şey yoktu. Şimdi daha fazla yeniden başlatma ve ek bir HD (yan etki?) Kurduktan sonra, bir eth2ifconfig alıyorum . Bu PCI kart mı yoksa onboard kart mı bilmiyorum.

sudo pppoeconf eth2'yi alır, ancak daha sonra "sağlayıcınızın Erişim Konsantratörü cevap vermedi" diyerek internet bağlantısı kuramaz.

Her neyse, muhtemelen onu eth2 yerine eth0 / eth1 olarak yeniden adlandırmaya çalışmalıyım. Üzerinde çalışıyor.


Canlı bir CD'den (veya USB'den) başka herhangi bir dağıtımı önyüklemeyi denediniz mi? Ethernet başka bir Linux dağıtımında çalışıyorsa, kurulumu çoğaltmayı ya da diğer dağıtımı yüklemeyi deneyebilirsiniz.
guaka

@KasperSouren: Bu daha sonra denenecek bir şey. Maalesef DVD'im yeni panodan beri çalışmıyor. Bağlandı ve biraz yarı tanınmış, ancak önyükleme DVD'si çalışmıyor ve Linux da hiçbir DVD okuyamıyor. Farklı sorun / solucanlar olabilir, sanırım burada tartışılmayacak.
donquixote

Yanıtlar:


2

Şey, bir tahmin, ama - Umarım - tam o noktada.

Bazı arka plan

Günümüzde cihazların isimlendirilmesi ve /devdosya sisteminde girişlerin udevyapılması, mutlaka Debians'a stokta kurulu olan cini tarafından yönetilmektedir . Ağ kartı arabirim adlarını öngörülebilir yapmak için, udevonları MAC adreslerine (Ethernet kartları için yalnızca Ethernet katmanında görülen düşük düzey donanım adresi) bağlar. Bir udevağ arayüzünün ilk kez göründüğünü gözlemlediğinde , bunun için bir etnNad oluşturur ve bir dosyayı ağ arayüzü adlandırma kurallarıyla günceller;

% ls -1 /etc/udev/rules.d/*net*
/etc/udev/rules.d/70-persistent-net.rules

Bir yandan not etmek gerekirse, udevbu dosyayı güncelleyen kendisinin değil , Debian'ın udevbir ağ arabirim kartının cihazının göründüğünü gördüğünde yazdığı bazı betiklerin yazdığına inanıyorum , ancak tam mekanik bizim durumumuzla ilgili değil.

Anakartı değiştirirken ortaya çıkan sorun, yeni kartın eski anakarttaki karttan farklı bir MAC adresine sahip olmasıdır ve bu nedenle bu yeni kart için oluşturulan arabirimin zaten "kurallar" dosyasındakilerden farklı bir adı vardır.

Nasıl düzeltilir

Bu kural dosyasını herhangi bir metin düzenleyicide açıp, eski anakarttan kartlarla ilgili tüm satırları sildim eth0ve arayüz ismi için okunacak sadece bir tanesini düzenledim .

Dosyayı kaydettikten sonra çalıştırabilirsiniz

# udevadm trigger

Ağ kartı görmek için adı altında yeniden eth0. (Bu işe yaramazsa, service udev restartson çare olarak koş ya da yeniden başlat.)


Bir not: ip addr ...Durumunuzda pek kullanışlı değil çünkü IP seviyesi ile ilgileniyor ve bir link seviyesi - daha düşük bir seviye - yapılandırmakta zorlanıyorsunuz. Bu nedenle, ip linkgenellikle ağ erişim kartları anlamına gelen kullanılabilir ağ "bağlantılarını" listeleme komutunu denersiniz .


Eth ile iki satır (bir şey) eth0 ve eth1 içindir. Sanırım her ikisi de eski tahtadan. Yani bu iki çizgiyi kaldırırsam, etikle ilgili hiçbir şey kalmayacak. (Diğer iki satır wlan0 ve wlan1 içindir). Çizgileri kolayca kopyalayıp yapıştıramıyorum çünkü farklı bir makinedeyim ..
donquixote

Yukarıdakiler işe yaramazsa, / var / log / dmesg / sisteminizin önyükleme metnine dikkatlice bakın. NIC'niz tanınabilir, ancak gerçekten gösterilmesi ve çalışması için ücretsiz olmayan bir bellenim dosyası gerekebilir. Bazı tür Intel kartları veya diğerleri ise (bu gibi tg3) olabilir.
LawrenceC

Soru güncellendi. @ultrasawblade: / var / log / dmesg'de ne arardım?
donquixote

@ Donquixote, dmesg | grep -i ethçekirdeğin aktif hale getirdiği ethernet cihazları ile ilgili basılan her şeyi görmek için yapın. Yerleşik ağ kartının mevcut sürücüler tarafından desteklenmiyor olabilir (olasılıkla ama yine de bir olasılık).
kostix

grep firmware /var/log/dmesgveya gibi bir şey deneyin grep firmware /var/log/kern.log.
LawrenceC

0

İşte yaptığım şey (tür) sorunu benim için çözdü. Bunun evrensel bir çözüm olduğunu söyleyemem. Özellikle herkesin yedek bir PCI ethernet kartı olmadığı için.

  1. Bir PCI ethernet kartı takın (yerleşik karta ek olarak). Benim durumumda bu eski bir Realtek RTL-8139.
  2. Yeniden adlandırın /etc/udev/rules.d/70-persistent-net.rules.
  3. (muhtemelen yeni bir HD bağlamak veya ateşin etrafında dans etmek gibi ilgisiz şeyler yapın)
  4. Yeniden Başlatma.
  5. Run sudo pppoeconf. Sizden bir yedekleme yapmanızı isterse yapın. Ardından adımları izleyin.

Sonuç (benim için):

  • ifconfig, eklenen PCI ethernet kartını eth0 olarak gösteriyor, ancak bunun ötesinde başka eth * girişleri göstermiyor (sadece love ppp0).
  • Dosya /etc/udev/rules.d/70-persistent-net.rulesyenilenmedi. Yok, varolmayan.
  • İnternet işleri

Sanırım bu, yerleşik ethernet hala tanınmıyor demektir. Yeni yerleşik ethernet'in teknik olarak eski PCI karttan biraz daha üstün olduğunu varsayıyorum. Fakat bunun ne kadar pratik bir fark yarattığını bilmiyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.