Menggunakan Ubuntu 11.10 (Unity 3D) dan koneksi internet kabel (DSL) tanpa router atau modem.
Jika saya memutuskan koneksi internet saya, saya bisa menghubungkan kembali dengan mengklik ikon manajer jaringan dan memilih koneksi dari menu drop down karena koneksi saya terlihat. Tidak perlu memulai ulang manajer jaringan.
Tetapi setiap kali koneksi internet turun dengan sendirinya , saya telah membuka terminal dan menggunakan sudo service network-manager restart
karena saya tidak melihat koneksi di menu drop down manajer jaringan. Hanya setelah perintah, manajer jaringan kemudian mulai dan terhubung secara otomatis.
Apakah ada beberapa pengaturan sehingga manajer jaringan tidak harus dihidupkan ulang setiap kali koneksi turun (sebagai lawan dari pemutusan saya ketika tidak perlu restart)?
Saya kira dengan kata lain, saya tidak ingin manajer jaringan berhenti selama saya menggunakan komputer, terlepas dari apakah koneksi saya ke ISP terputus atau tidak.
Bukan masalah besar untuk membuka terminal dan mengetik perintah dan kata sandi, tetapi jika ada cara untuk memastikan bahwa manajer jaringan tidak berhenti, itu akan lebih baik.
sunting tertanggal 26 Jan 2012: Baris dari syslog
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: No response to 3 echo-requests
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Serial link appears to be disconnected.
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Connect time 241.5 minutes.
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Sent 3575961 bytes, received 79026206 bytes.
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Connection terminated.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Withdrawing workstation service for ppp0.
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): device state change: activated -> failed (reason 'ppp-disconnect') [100 120 13]
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <warn> Activation (eth0) failed.
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): now unmanaged
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): device state change: failed -> unmanaged (reason 'removed') [120 10 36]
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): deactivating device (reason 'removed') [36]
Jan 25 20:09:36 aes-Inspiron-1545 dbus[802]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper)
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <warn> could not read ppp stats: No such device
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): cleaning up...
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): taking down device.
Jan 25 20:09:36 aes-Inspiron-1545 kernel: [18027.155552] sky2 0000:09:00.0: eth0: disabling interface
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Interface eth0.IPv6 no longer relevant for mDNS.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Leaving mDNS multicast group on interface eth0.IPv6 with address fec0::b:223:aeff:fe2d:2431.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Withdrawing address record for 2002:1b00:3b4f:b:223:aeff:fe2d:2431 on eth0.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Withdrawing address record for 2002:1b00:3754:b:223:aeff:fe2d:2431 on eth0.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Withdrawing address record for 2002:7345:f137:b:223:aeff:fe2d:2431 on eth0.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Withdrawing address record for fec0::b:223:aeff:fe2d:2431 on eth0.
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> Unmanaged Device found; state CONNECTED forced. (see http://bugs.launchpad.net/bugs/191889)
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> Unmanaged Device found; state CONNECTED forced. (see http://bugs.launchpad.net/bugs/191889)
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Terminating on signal 15
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Exit.
Jan 25 20:09:36 aes-Inspiron-1545 dbus[802]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Jan 25 20:11:56 aes-Inspiron-1545 modem-manager[3529]: <info> Caught signal 15, shutting down...
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <info> caught signal 15, shutting down normally.
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <warn> quit request received, terminating...
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth1): now unmanaged
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth1): device state change: unavailable -> unmanaged (reason 'removed') [20 10 36]
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <info> Unmanaged Device found; state CONNECTED forced. (see http://bugs.launchpad.net/bugs/191889)
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <info> exiting (success)
Jan 25 20:11:56 aes-Inspiron-1545 modem-manager[6945]: <info> ModemManager (version 0.5) starting...
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[6947]: <info> NetworkManager (version 0.9.1.90) is starting...
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[6947]: <info> Read config file /etc/NetworkManager/NetworkManager.conf
Jan 25 20:11:56 aes-Inspiron-1545 kernel: [18167.470749] init: reconnect main process (6948) terminated with status 2
Jan 25 20:11:56 aes-Inspiron-1545 modem-manager[6945]: <info> Loaded plugin Nokia
Jan 25 20:11:56 aes-Inspiron-1545 modem-manager[6945]: <info> Loaded plugin Ericsson MBM
Jan 25 20:11:56 aes-Inspiron-1545 modem-manager[6945]: <info> Loaded plugin MotoC
nmcli con up id "DSL connection 1"
. Saya tidak punya DSL jadi saya butuh bantuan Anda dengan semua perintah dan output. Komentari keluaran Anda.nmcli -t -f TYPE,STATE dev
Jawaban:
Berikut ini skrip pemula yang dapat Anda tempatkan untuk
/etc/init/reconnect.conf
:Setelah kehilangan alamat ip untuk eth0 (konfigurasikan ke antarmuka Anda jika berbeda), itu akan memulai kembali pekerjaan manajer jaringan dan memulihkan konektivitas.
sumber
reconnect.conf
ke/etc/init
. Satu-satunya hal yang perlu Anda ubah adalah eth0 ke sesuatu yang lain jika tidak benar.inet addr:
bagian hanyalah filter untuk grep dan tidak boleh disentuh. Nama koneksi yang relevan dapat diperiksa melaluiifconfig
. Pemula akan membaca file ini secara otomatis dan Anda harus lakukansudo start reconnect
untuk menyelesaikan pekerjaan. Pada reboot berikutnya akan mulai secara otomatis.ifconfig
dimulai denganetho
jadi saya akan menggunakannya dan kemudiansudo start reconnect
ketika koneksi turun. Saya akan memposting kembali dengan hasilnya. Terima kasih!/etc/init/reconnect.conf
dan mem-boot ulang. Ketika koneksi saya turun beberapa saat setelah reboot, nm tidak restart. Jadi saya menerbitkansudo start reconnect
.reconnect stop/waiting
adalah respons tetapi nm tidak memulai kembali. Saya harus melakukansudo service network-manager restart
apa yang biasanya saya lakukan. Alih-alihrestart network-manager
, akankah sesuatu sepertirestart service network-manager
diminta? (BTW, saya memang meletakkan eth0 dan bukan etho (tidak seperti apa yang ada di komentar saya sebelumnya))service network-manager restart
. Hanya ingin tahu, apa output daristatus network-manager
sistem Anda? Jika itu mengatakanstop/waiting
(atau memberikan kesalahan) setelah reboot, Anda perlu mengubah mulai ke sesuatu sepertistart on runlevel [2345]
dan tambahkansleep 60
sebelumnya sementara.Solusi cepat dan kotor adalah menulis skrip yang berjalan
ping -i 5 google.com || service network-manager restart
sebagai root (Anda bisa menulis /etc/init.d/-daemon untuk itu, tetapi karena solusinya SANGAT kotor, saya tidak akan melakukan itu)Skrip itu akan memulai ulang manajer jaringan setiap kali Google tidak ditemukan dan memeriksa setiap lima detik sekali.
sumber
Coba wicd alih-alih pengelola jaringan, disarankan untuk kasus serupa: https://bbs.archlinux.org/viewtopic.php?id=124443
Saya tidak tahu apakah itu akan memperbaiki masalah atau apakah wicd mendukung pppoe.
Cadangkan file deb., Untuk berjaga-jaga:
Bersihkan manajer jaringan dan instal wicd
Mulai ulang. Cobalah untuk terhubung menggunakan wicd.
Jika ada yang salah, cukup bersihkan dan instal ulang pengelola jaringan:
sumber
alias nm='echo "password" | sudo -S service network-manager restart'
sebagai solusinya. Ketiga, dari tautan membantu Anda yang lain, tampaknya masalah ini tidak ada hubungannya dengan Ubuntu tetapi "upstream" dan saya akan bertanya apakah pertanyaan ini harus ditutup.Saya telah membuat skrip untuk masalah ini:
Ini berfungsi dengan baik tetapi skrip ini mengambil terlalu banyak CPU saya. Adakah yang bisa membantu saya menurunkan penggunaan CPU?
sumber
Mengapa saya menjawab pertanyaan ini?
Ada jawaban yang sangat bagus, tetapi semua ditulis menggunakan init atau pemula. Mulai sekarang kita akan menggunakan systemd, saya sedang menulis skrip dan info yang lebih baik. tentang cara melakukan itu.
Tetapi apakah ada cara?
Apakah, ada cara. Anda hanya perlu membuat skrip yang memantau keadaan jaringan Anda dan memulai kembali Network Manager sesuai permintaan. Kami akan membuat skrip ini dan layanan systemd yang akan dimulai dengan sistem dan akan memonitor status jaringan Anda setiap 5 detik untuk mengetahui apakah Anda sedang online atau tidak.
Apa yang harus saya lakukan?
Pertama-tama, kita perlu menginstal alat fping untuk membuat salah satu dari tes koneksi (fping return "masih hidup" jika koneksi dimungkinkan dan "alamat tidak ditemukan" jika tidak):
Sekarang kita akan membuat skrip monitor di sistem kita. Buat file di / usr / local / bin / disebut nm-watcher:
Dan edit menggunakan nano atau editor teks pilihan Anda:
Salin dan tempel skrip ini di dalam editor, simpan dan tutup file (jika Anda menggunakan nano, seperti dalam tutorial ini, gunakan "CTRL + X" "Y" dan "ENTER" secara berurutan). Jangan lupa untuk mengubah wlan0 ke antarmuka yang Anda ingin monitor wm:
Untuk menjalankan skrip ini, kita perlu membuatnya dapat dieksekusi:
Sekarang, kita akan membuat layanan SystemD, untuk ini, Anda harus membuat dan mengedit file nm-watcher.service di / etc / systemd / system /:
Dan letakkan konten ini di dalam file:
Ini akan membuat file layanan yang membuat SystemD memanggil skrip yang telah kita buat sebelumnya di setiap boot, setelah kita membuat koneksi menggunakan network-manager.service.
Kita harus tahu mengaktifkan layanan ini untuk berjalan menggunakan:
Dan mulai layanan dengan mengetik:
Untuk memverifikasi apakah layanan sedang berjalan ketik:
Jika Anda memiliki masalah dengan layanan ini, Anda dapat melihat pesan debug menggunakan:
Haruskah saya melakukan hal lain?
Tidak, ini yang dibutuhkan untuk menyelesaikan tugas ini. Skrip ini memiliki dampak yang sangat rendah pada kinerja sistem, seperti yang dapat Anda lihat di tangkapan layar ini:
sumber
Pada laptop lama saya, saya memiliki kartu WiFi yang buruk yang cenderung memutuskan koneksi dari WiFi jika ada banyak beban (misalnya, mengunduh file besar, dll.).
Saya membuat skrip sederhana untuk memeriksa apakah internet saya masih terhubung, dan jika tidak, maka restart manajer jaringan.
Saya membuat cronjob root dengan
sudo crontab -e
, dan mengaturnya sedemikian rupa sehingga setiap menit (Anda bisa melakukannya lebih jarang, tetapi skripnya adalah ping sederhana sehingga tidak membutuhkan banyak sumber daya) ia akan menjalankan skrip.Jadi, jika WiFi saya keluar karena suatu alasan, itu hanya akan keluar selama sekitar satu menit pada suatu waktu, puncak. Jika Anda belum terbiasa
cron
, saya sarankan membaca inisumber