らくがき入門

機械学習を始めとしたコンピュータサイエンスを主に扱っています。

ubuntu18.04LTSのwi-fi問題を解決する

状況

ubuntu16.04LTSからのアップグレードをしました。 ubuntu18.04LTSへのアップグレード後、 wi-fi接続はできていたのですがしばらく経つと接続できなくなるので調べながら色々やりました。

対処法

パッケージ更新

とりあえずパッケージの更新を行いました。

$ sudo apt-get update
$ sudo apt-get upgrade

Google public DNSの設定

ぐぐってみると下の記事にヒットしました。 Ubuntu 16.04 LTSで、ネット接続が頻繁に切れる

こちらを参考にconsole /etc/network/interfecesdns-nameserversを追加しました。

$ sudo vi /etc/network/interfaces
dns-nameservers 8.8.8.8

また以下のconsole [NOTFOUND=return]も削除します。

$ sudo vi /etc/nsswitch.conf
# hosts:          files [NOTFOUND=return] dns
hosts: files dns

Broadcomのドライバのインストール

Broadcomのドライバのインストールを行いました。

$ sudo apt-get install bcmwl-kernel-source

IPv6を無効にする

おそらくこれが効果的だったのではないかと思います。 Ubuntu 16.06 IPv6を無効にするの記事を参考にしてIPv6を無効にしました。

まずconsole /etc/sysctl.confに以下の内容を追加します。

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1 

続いて反映させます。sysctlはLinuxカーネルのパラメータを参照したり変更したりするためのインターフェースです。ある機能の反映をカーネルの再起動などを行わずに実施することができます。

$ sudo sysctl -p

次のコマンドで0または1が返ってきます。1であれば設定が反映されています。

$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6

まとめ

これらの変更を加えてから現在までの約2週間はwi-fiの接続が切れることもなく安定的に稼働しています。 ubuntu18.04LTSの問題というよりもそもそもubuntuの設定の問題だったような・・・

新しいLinuxの教科書

新しいLinuxの教科書