Skip to content

Linux Ethernet Sorunu – Kernel 3.16.0-38-generic

Ethernet_ConnectionSon zamanlarda başıma bela olmuş bir sorunu çözmüş bulunmaktayım. Yaşayan başka insanlar da vardır muhtemelen ve Türkçe kaynak bulmak neredeyse imkansız olduğu için “Çözdüm bari paylaşayım.” dedim. Kernel ile alakalı olduğu için aynı kernel versiyonunu kullanan çoğu Linux’de yaşama ihtimaliniz gayet yüksek. O yüzden sadece Ubuntu yada Linux Mint diye düşünmeyin.

Sorun

Sorun aslında hem ubuntu hem Linux Mint 17.2’de karşılaştığım bir sorun. İnternet bağlantısı sağlanamıyor. Ethernet kablosu bağlı olmasına rağmen bağlantı yok gibi bir uyarı veriyor. Kabloyu çıkarıp takınca düzelebiliyor. Bazen bunu 3-4 kere yapmam bazen de bilgisayarı baştan başlatmam gerekiyor. Sorun kernel’da gelen ve hali hazırda kullanımda olan driver ile ilgiliymiş. Anakartım hakkında kısaca bilgi vereyim. Muhtemelen aynı anakarta sahip olanlar bu sorunu yaşayacak.

description: Motherboard
product: GA-MA770T-UD3P
vendor: Gigabyte Technology Co., Ltd.

Geçiçi çözüm

Bağlantıyı sağlamak için kabloyu çıkart tak yapmak yerine masa başında terminali kullanarak ethernet modülünü tekrar tekrar kaldırıp ekleyebilirsiniz. Bu da işe yarıyor ama bazen 4-5 kere denemeniz gerekiyor. İlk başta bunu bir çözüm olarak kullanmak için bir bash script’i yazdım ama pek işe yaramadı. Belki sizde yarar denemek istersiniz diye buraya yapıştırıyorum.

#!/bin/bash
counter=0
while [ 1 ]
do
    sleep 5
    wget -q --tries=10 --timeout=20 --spider http://google.com
    if [[ $? -eq 0 ]]; then
            echo "Online, connection successful."
        break
    else
            echo "Offline ("$counter")"
        sudo rmmod r8169
        sudo modprobe r8169
        ((counter++))
    fi
done

Bende çok işe yaramadı ama elle sırasıyla aşağıdaki komutları girerek deneyebilirsiniz. Ben bunu otomatikleştirmeye çalıştım ama işe yaramadı. Üzerinde çalışmak lazım. Sorunu gören çözen varsa yorum atsın düzeltelim. Pek beceremedim o kısmı.

sudo rmmod r8169
sudo modprobe r8169

Birinci satır r8169 modülünü kernel’dan kaldırıyor. İkinci tekrar ekliyor. Zaten bu sırada GUI kullanıyorsanız bağlantının gözüktüğü kısımın yenilendiğini farkedersiniz.

Kalıcı Çözüm

Kalıcı çözüm ise yeni modülü indirip kurmak. Tabi bunu yapmadan önce eski modülünüzü kaldırmanız gerek. Buradan kendi kernel versiyonunuza uygun olanı indirin. Home klasörünüze atarsanız yapmanız gerekenler,

tar vjxf r8168-8.aaa.bb.tar.bz2 
cd r8168-8.aaa.bb
sudo ./autorun.sh

Birinci satır dosyayı tarball dan çıkarıyor. İkinici satırda yeni dizine giriyoruz. Üçüncü ise Realtek tarafından yazılmış scripti kullanarak yeni modülü yüklememizi sağlıyor. Zaten daha fazla açıklama da README dosyasında mevcut. Okuduğuma göre eski driver versiyonunu kullananlar da sorunlarını çözmüşler. Update etmek işe yaramazsa daha düşük bir versiyona downgrade edin. Yeni driver benim sorunumu çözdü. Umarım sizinde işinize yarar.

Leave a Reply