erambler/legacy/blog/linux-rtl8723be-wifi-droppi.../index.html

195 lines
8.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta content="IE=edge" http-equiv="X-UA-Compatible">
<meta content="width=device-width, initial-scale=1" name="viewport">
<link href="../../old/assets/style/styles.css" rel="stylesheet" type="text/css">
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<script>
(function() {
var s, scheme, wf;
this.WebFontConfig = {
google: {
families: ['Amaranth:700,700italic:latin', 'Inconsolata::latin']
}
};
wf = document.createElement('script');
scheme = 'https:' === document.location.protocol ? 'https' : 'http';
wf.src = scheme + "://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js";
wf.type = 'text/javascript';
wf.async = 'true';
s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(wf, s);
}).call(this);
</script>
<title>Problems with connection dropping with RTL8723BE wifi card on Linux | eRambler</title>
<link href="https://erambler.co.uk/rss.xml" rel="alternate" type="application/rss+xml">
</head>
<body class="single-post">
<div id="container">
<header class="page-header">
<hgroup>
<div class="h1"><a href="../../">eRambler</a></div>
<div class="lead">Jez Cope's blog on becoming a research technologist</div>
</hgroup>
<nav><ul>
<li><a href="../../">Home</a></li>
<li><a href="../../about/">About</a></li>
<li><a href="../../blogroll/">Blogroll</a></li>
</ul>
</nav>
</header>
<section>
<div class="row">
<p class="archive-warning"><strong><em>Please note:</em></strong> this older content has been <strong>archived</strong> and is no longer fully linked into the site. Please go to the <a href="../../">current home page</a> for up-to-date content.</p>
</div>
<div id="content">
<article class="h-entry">
<div class="row">
<h1 class="post-title p-name">Problems with connection dropping with RTL8723BE wifi card on Linux</h1>
</div>
<div class="row">
<div class="post-info">
<div class="post-date dt-published">
<a class="u-url" href="http://erambler.co.uk/blog/linux-rtl8723be-wifi-dropping-out/">Monday 20 April 2015</a>
</div>
Tagged with
<ul class="post-tags">
<li class="p-category"><span class="tag">Linux</span></li>
<li class="p-category"><span class="tag">Wifi</span></li>
<li class="p-category"><span class="tag">Troubleshooting</span></li>
<li class="p-category"><span class="tag">Technical</span></li>
</ul>
</div>
<div class="post-body">
<div class="post-content e-content">
<p>I run Linux on my laptop, and Ive had some problems with the wifi intermittently dropping out. I think Ive found the solution to this, so I just wanted to record it here so I dont forget, and in case anyone else finds it useful.</p>
<p>What I found was that any time the wifi was idle for too long it just stopped working and the connection needed to be manually restarted. Worse, after a while even that didnt work and I had to reboot to fix it.</p>
<p>The problem seems to be with the power-saving features of the wifi card, which is identified by <code class="highlighter-rouge">lspci</code> as:</p>
<div class="highlighter-rouge">
<pre class="highlight"><code>01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter
</code></pre>
</div>
<p>What appears to happen is that the card goes into power-saving mode, goes to sleep and never wakes up again.</p>
<p>It makes use of the <code class="highlighter-rouge">rtl8723be</code> driver, and the solution appears to be to disable the power-saving features by passing some parameters to the relevant kernel module. You can do this by passing the parameters on the command line if manually loading the module with <code class="highlighter-rouge">modprobe</code>, but the easiest thing is to create a file in <code class="highlighter-rouge">/etc/modprobe.d</code> (which can be called anything) with the following contents:</p>
<div class="highlighter-rouge">
<pre class="highlight"><code><span class="c"># Prevents the WiFi card from automatically sleeping and halting connection
</span><span class="n">options</span> <span class="n">rtl8723be</span> <span class="n">fwlps</span>=<span class="m">0</span> <span class="n">swlps</span>=<span class="m">0</span>
</code></pre>
</div>
<p>This seems to be working for me now. Its possible that only one out of the parameters <code class="highlighter-rouge">fwlps</code> and <code class="highlighter-rouge">swlps</code> are needed, but I havent had chance to test this yet.</p>
<p>The following pages helped me figure this out:</p>
<ul>
<li><a href="http://ubuntuforums.org/showthread.php?t=2243978">Thread: RTL8723BE wifi dropping connection on Ubuntu 14.04</a></li>
<li><a href="https://github.com/lwfinger/rtl8723be/issues/1">Github: lwfinger/rtl8723be - Occasional Connection Drops #1 </a></li>
</ul>
</div>
<div id="disqus_thread"></div>
<script>
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'erambler'; // required: replace example with your forum shortname
var disqus_identifier = 'tag:erambler.co.uk,2015-04-20:/blog/linux-rtl8723be-wifi-dropping-out/';
var disqus_title = 'Problems with connection dropping with RTL8723BE wifi card on Linux'
var disqus_url = 'http://erambler.co.uk/blog/linux-rtl8723be-wifi-dropping-out/';
var disqus_developer = 0;
if (window.location.hostname == 'localhost')
disqus_developer = 1;
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
</div>
</div>
</article>
</div>
<div id="sidebar">
<div class="sidebar-box about-me h-card">
<p>Hi, Im <a href="http://erambler.co.uk" class="p-name u-url">Jez Cope</a> and this is my
blog, where I talk about technology in research and higher
education, including:</p>
<ul>
<li>Research data management;</li>
<li>e-Research;</li>
<li>Learning;</li>
<li>Teaching;</li>
<li>Educational technology.</li>
</ul>
</div>
<div class="sidebar-box links">
<h2>Me elsewhere</h2>
<ul>
<li><a href="https://twitter.com/jezcope" rel="me">Twitter</a></li>
<li><a href="https://github.com/jezcope" rel="me">github</a></li>
<li><a href="https://linkedin.com/in/jezcope">LinkedIn</a></li>
<li><a href="http://diigo.com/user/jezcope">Diigo</a></li>
<li><a href="https://www.zotero.org/jezcope">Zotero</a></li>
<li><a href="http://gplus.to/jezcope">Google+</a></li>
</ul>
</div>
</div>
<div class="row">
<footer><a class="license" href="http://creativecommons.org/licenses/by-sa/4.0/" rel="license">
<img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" style="border-width:0">
</a>
<span href="http://purl.org/dc/dcmitype/Text" property="dct:title" rel="dct:type" xmlns:dct="http://purl.org/dc/terms/">
eRambler
</span>
by
<a href="http://erambler.co.uk/" property="cc:attributionName" rel="cc:attributionURL" xmlns:cc="http://creativecommons.org/ns#">
Jez Cope
</a>
is licensed under a
<a href="http://creativecommons.org/licenses/by-sa/4.0/" rel="license">
Creative Commons Attribution-ShareAlike 4.0 International license
</a>
</footer>
</div>
</section>
</div>
<script>
if (!/^http:\/\/localhost/.test(window.location)) {
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-10201101-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
}
</script>
</body>
</html>