<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="https://dev1galaxy.org/extern.php?action=feed&amp;tid=4283&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Dev1 Galaxy Forum / Modules, modprobe(.d) and kernel command line]]></title>
		<link>https://dev1galaxy.org/viewtopic.php?id=4283</link>
		<description><![CDATA[The most recent posts in Modules, modprobe(.d) and kernel command line.]]></description>
		<lastBuildDate>Fri, 23 Apr 2021 21:51:49 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[Re: Modules, modprobe(.d) and kernel command line]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?pid=29312#p29312</link>
			<description><![CDATA[<p>Hello:</p><div class="quotebox"><cite>Head_on_a_Stick wrote:</cite><blockquote><div><p>Check</p><div class="codebox"><pre><code># ethtool --show-eee eth0</code></pre></div></div></blockquote></div><p>Yes, I&#039;m aware than it is not supported in every NIC.</p><p>But if in this box I get this ...</p><div class="codebox"><pre><code>groucho@devuan:~$ sudo ethtool --show-eee eth0
[sudo] password for groucho: 
Cannot get EEE settings: Operation not supported
groucho@devuan:~$ </code></pre></div><p>... while at the same time, at every instance of a bad shutdown I get this:</p><div class="codebox"><pre><code>Devuan GNU/Linux 3 devuan tty1
devuan login: [   286.719428] e1000e: eth0 NIC Link is Down
--- snip ---
[287.219230] e1000e: EEE TX LPI TIMER: 00000000              &lt;-------------- | x |
[287.223022] ACPI: Preparing to enter sleep state S5
[287.223551] reboot: Power down</code></pre></div><p>... it is clear (to me) that this is a NIC that <em>does</em> support EEE.<br />At the same time, access to both the EEE status and settings via ethtool is disabled in the e1000e driver.</p><p><span class="bbs">But I think I am (?) getting somewhere: </span></p><p>I now tried this:</p><div class="codebox"><pre><code>[root@devuan groucho]# echo &quot;options e1000e SmartPowerDownEnable=0&quot; | sudo tee /etc/modprobe.d/e1000e.conf</code></pre></div><div class="codebox"><pre><code>groucho@devuan:~$ cat /etc/modprobe.d/e1000e.conf
options e1000e SmartPowerDownEnable=0
groucho@devuan:~$ </code></pre></div><p>An <span class="bbc">update-initramfs -u -k all</span> and a reboot later ...</p><div class="codebox"><pre><code>groucho@devuan:~$ sudo dmesg | grep e1000e
--- snip ---
[    2.147204] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    2.158309] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    2.169606] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[    2.180672] e1000e 0000:00:19.0: PHY Smart Power Down Disabled           &lt;-----  | x |
[    2.603166] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 00:14:4f:4a:a2:81
[    2.616729] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
[    2.637607] e1000e 0000:00:19.0 eth0: MAC: 7, PHY: 6, PBA No: FFFFFF-0FF
[   27.495860] e1000e: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
[   27.507904] e1000e 0000:00:19.0 eth0: 10/100 speed: disabling TSO
--- snip ---
groucho@devuan:~$ </code></pre></div><p>The <span class="bbc">tty1</span> on a plain <span class="bbc">sudo shutdown -h now</span> instead the one I&#039;ve been using <span class="bbc">sync &amp;&amp; sudo ethtool -s eth0 wol d &amp;&amp; sudo rmmod -s -v e1000e &amp;&amp; sudo shutdown -h now</span> shows no trace of the EEE TX LPI TIMER: 00000000 (have to check with a video grab)*.</p><p>If that is so, I&#039;ll start using the plain unedited shutdown script I&#160; was using ie: <span class="bbc">sync &amp;&amp; sudo shutdown -h now</span> and wait to see if I get another bad shutdown.</p><p>Hopefully, I won&#039;t.&#160; 8^/</p><p>* Unfortunately, I can confirm that disabling <span class="bbc">SmartPowerDownEnable</span> does not do much with/to EEE.</p><p>The <span class="bbc">tty1</span> output when shutting down with <span class="bbc">sync &amp;&amp; sudo shutdown -h now</span> shows the line e1000e: <span class="bbc">EEE TX LPI TIMER: 00000000</span>, which unless I am mistaken, is telling me that EEE is still active.</p><p>Which is precisely what I want to avoid.&#160; 8^7</p><div class="codebox"><pre><code>Devuan GNU/Linux 3 devuan tty1
devuan login: [        ] e1000e: eth0 NIC Link is Down
[        ] EXT-fs (sdb1): re-mounted. Opts: (null)
[        ] kvm: exiting hardware virtualization
[        ] sd 7:0:3:0: [sdf] Syncronizing SCSI cache
[        ] sd 7:0:2:0: [sde] Syncronizing SCSI cache
[        ] sd 5:0:0:0: [sdb] Syncronizing SCSI cache
[        ] sd 5:0:0:0: [sdb] Stopping disk
[        ] sd 4:0:0:0: [sda] Syncronizing SCSI cache
[        ] sd 4:0:0:0: [sda] Stopping disk
[        ] e1000e: EEE TX LPI TIMER: 00000000    &lt;--------- | x |
[        ] ACPI: Preparing to enter sleep state S5
[        ] reboot: Power down</code></pre></div><p>Thanks for your input.</p><p>Best,</p><p>A.</p>]]></description>
			<author><![CDATA[dummy@example.com (Altoid)]]></author>
			<pubDate>Fri, 23 Apr 2021 21:51:49 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?pid=29312#p29312</guid>
		</item>
		<item>
			<title><![CDATA[Re: Modules, modprobe(.d) and kernel command line]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?pid=29311#p29311</link>
			<description><![CDATA[<div class="quotebox"><cite>https://downloadmirror.intel.com/15817/eng/readme.txt wrote:</cite><blockquote><div><p>- EEE is not supported on all Intel(R) Ethernet Network devices or at all link speeds.</p></div></blockquote></div><p>Check</p><div class="codebox"><pre><code># ethtool --show-eee eth0</code></pre></div>]]></description>
			<author><![CDATA[dummy@example.com (Head_on_a_Stick)]]></author>
			<pubDate>Fri, 23 Apr 2021 21:18:16 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?pid=29311#p29311</guid>
		</item>
		<item>
			<title><![CDATA[Re: Modules, modprobe(.d) and kernel command line]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?pid=29310#p29310</link>
			<description><![CDATA[<div class="quotebox"><cite>Head_on_a_Stick wrote:</cite><blockquote><div><p>... sorry, my mistake.</p></div></blockquote></div><p>Don&#039;t worry.&#160; 8^D</p><div class="quotebox"><cite>Head_on_a_Stick wrote:</cite><blockquote><div><p>... 4.19 kernel documentation doesn&#039;t seem to have a section for the e1000e module ...</p></div></blockquote></div><p>I found this:</p><p><a href="https://www.kernel.org/doc/html/v5.2/networking/device_drivers/intel/e1000e.html" rel="nofollow">https://www.kernel.org/doc/html/v5.2/ne … 1000e.html</a></p><p>The e1000 driver is no longer maintained by Intel and is integrated into the kernel.<br />Not the case with e1000e up to now. (?) </p><p>See: <a href="https://www.intel.com/content/www/us/en/support/articles/000005480/ethernet-products.html" rel="nofollow">https://www.intel.com/content/www/us/en … ducts.html</a></p><div class="quotebox"><cite>Intel Support wrote:</cite><blockquote><div><p>Note<br />The e1000 driver is no longer maintained as a standalone component. Request support from the maintainer of your Linux* distribution.</p></div></blockquote></div><p>and </p><div class="quotebox"><blockquote><div><p>The Linux* e1000e driver supports the Intel® PRO/1000 PCI-E (82563/6/7, 82571/2/3/4/7/8/9, or 82583) I217/I218/I219 based gigabit network adapters.<br />--- snip ---<br />The drivers are only supported as a loadable module. We don&#039;t supply patches against the kernel source to allow for static linking of the drivers.</p></div></blockquote></div><p><a href="https://downloadmirror.intel.com/15817/eng/readme.txt" rel="nofollow">https://downloadmirror.intel.com/15817/eng/readme.txt</a></p><div class="quotebox"><cite>Head_on_a_Stick wrote:</cite><blockquote><div><p>You can also use the <span class="bbc">modinfo</span> command.</p></div></blockquote></div><p>I don&#039;t think it will make any difference.<br />The thing is that there are many sources on the web explaining that <span class="bbc">e1000e.EEE=0</span> is what is used to turn off the %&amp;$# EEE.</p><div class="quotebox"><cite>Head_on_a_Stick wrote:</cite><blockquote><div><p>... error message is printed to the kernel ring buffer rather than stdout or stderr ...</p></div></blockquote></div><p>I see ...</p><p>Edit:<br />Reading some more, I found a parameter called <span class="bbc">SmartPowerDownEnable</span>:</p><div class="quotebox"><blockquote><div><p>SmartPowerDownEnable<br />Valid Range:&#160; &#160; 0,1<br />Default Value:&#160; &#160; 0 (disabled)</p><p>Allows the PHY to turn off in lower power states. The user can turn off this parameter in supported chipsets.</p></div></blockquote></div><p>Just for the fun of it ...</p><div class="codebox"><pre><code>[root@devuan groucho]# rmmod e1000e
[root@devuan groucho]# modprobe -v e1000e SmartPowerDownEnable=0
insmod /lib/modules/4.19.0-16-amd64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko SmartPowerDownEnable=0
[root@devuan groucho]# </code></pre></div><div class="codebox"><pre><code>groucho@devuan:~$ sudo dmesg
--- snip ---
1972.926673] e1000e: eth0 NIC Link is Down
[ 2004.654613] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[ 2004.654617] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 2004.654790] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 2004.654793] e1000e 0000:00:19.0: PHY Smart Power Down Disabled
[ 2004.967316] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 00:14:4f:4a:a2:81
[ 2004.967321] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
[ 2004.967388] e1000e 0000:00:19.0 eth0: MAC: 7, PHY: 6, PBA No: FFFFFF-0FF
[ 2007.811375] e1000e: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
[ 2007.811486] e1000e 0000:00:19.0 eth0: 10/100 speed: disabling TSO
groucho@devuan:~$ </code></pre></div><p>It works ...<br />But I&#039;m not too enthusiastic about this one because I don&#039;t know <em>exactly</em> what it is or how close it is to EEE - or not.<br />In any case, default is 0 ie: disabled.</p><p>What do you think?</p><p>Thanks for your input.</p><p>Best,</p><p>A.</p>]]></description>
			<author><![CDATA[dummy@example.com (Altoid)]]></author>
			<pubDate>Fri, 23 Apr 2021 20:52:05 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?pid=29310#p29310</guid>
		</item>
		<item>
			<title><![CDATA[Re: Modules, modprobe(.d) and kernel command line]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?pid=29308#p29308</link>
			<description><![CDATA[<div class="quotebox"><cite>Altoid wrote:</cite><blockquote><div><p>I think this is the e1000 driver but the 82566DM-2 controller uses the e1000e driver.</p></div></blockquote></div><p>Oh yes, sorry, my mistake. The 4.19 kernel documentation doesn&#039;t seem to have a section for the e1000e module, or at least not that I can find.</p><p>Here&#039;s the page for my 5.11 kernel: <a href="https://www.kernel.org/doc/html/v5.11/networking/device_drivers/ethernet/intel/e1000e.html" rel="nofollow">https://www.kernel.org/doc/html/v5.11/n … 1000e.html</a></p><p>You can also use the <span class="bbc">modinfo</span> command.</p><div class="quotebox"><cite>Altoid wrote:</cite><blockquote><div><p>No error for <span class="bbc">madeup_nonsense=1</span> then?</p></div></blockquote></div><p>The error message is printed to the kernel ring buffer rather than stdout or stderr:</p><div class="codebox"><pre><code> $ doas dmesg | grep e1000e
[13821.559641] e1000e: unknown parameter &#039;EEE&#039; ignored
[13821.559729] e1000e: Intel(R) PRO/1000 Network Driver
[13821.559730] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[13922.922522] e1000e: unknown parameter &#039;madeup_nonsense&#039; ignored
[13922.922575] e1000e: Intel(R) PRO/1000 Network Driver
[13922.922575] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
$</code></pre></div>]]></description>
			<author><![CDATA[dummy@example.com (Head_on_a_Stick)]]></author>
			<pubDate>Fri, 23 Apr 2021 19:08:27 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?pid=29308#p29308</guid>
		</item>
		<item>
			<title><![CDATA[Re: Modules, modprobe(.d) and kernel command line]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?pid=29307#p29307</link>
			<description><![CDATA[<p>Hello:</p><div class="quotebox"><cite>Head_on_a_Stick wrote:</cite><blockquote><div><p>... available module parameters:</p><div class="codebox"><pre><code>ls /sys/module/e1000e/parameters</code></pre></div></div></blockquote></div><div class="codebox"><pre><code>groucho@devuan:~$ ls /sys/module/e1000e/parameters
copybreak
groucho@devuan:~$ cat /sys/module/e1000e/parameters/copybreak
256
groucho@devuan:~$ </code></pre></div><div class="quotebox"><cite>Head_on_a_Stick wrote:</cite><blockquote><div><p>Official documentation here: <a href="https://www.kernel.org/doc/html/v4.19/networking/e1000.html" rel="nofollow">https://www.kernel.org/doc/html/v4.19/n … e1000.html</a></p></div></blockquote></div><p>Hmm ...<br />I think this is the e1000 driver but the 82566DM-2 controller uses the e1000e driver.<br />At least in my Devuan it loads the e1000e module.</p><div class="codebox"><pre><code>groucho@devuan:~$ sudo ethtool -i eth0
driver: e1000e             &lt;---- | x |
version: 3.2.6-k
firmware-version: 1.4-0
expansion-rom-version: 
bus-info: 0000:00:19.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
groucho@devuan:~$ </code></pre></div><p>See <a href="https://downloadmirror.intel.com/15817/eng/readme.txt" rel="nofollow">https://downloadmirror.intel.com/15817/eng/readme.txt</a></p><div class="quotebox"><cite>Head_on_a_Stick wrote:</cite><blockquote><div><p>No:</p><div class="codebox"><pre><code>$ doas modprobe -v e1000e madeup_nonsense=1                               
insmod /lib/modules/5.11.16-zen1-1-zen/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko.xz madeup_nonsense=1
$</code></pre></div></div></blockquote></div><p>Ah ...<br />Thanks for the heads up, good to know.<br />No error for <span class="bbc">madeup_nonsense=1</span> then?</p><p>Thanks for your input.</p><p>Best,</p><p>A.</p>]]></description>
			<author><![CDATA[dummy@example.com (Altoid)]]></author>
			<pubDate>Fri, 23 Apr 2021 19:01:36 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?pid=29307#p29307</guid>
		</item>
		<item>
			<title><![CDATA[Re: Modules, modprobe(.d) and kernel command line]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?pid=29306#p29306</link>
			<description><![CDATA[<p>Check for the available module parameters:</p><div class="codebox"><pre><code>ls /sys/module/e1000e/parameters</code></pre></div><p>Official documentation here: <a href="https://www.kernel.org/doc/html/v4.19/networking/e1000.html" rel="nofollow">https://www.kernel.org/doc/html/v4.19/n … e1000.html</a></p><div class="quotebox"><cite>Altoid wrote:</cite><blockquote><div><p>So now the unknown parameter is known?</p></div></blockquote></div><p>No:</p><div class="codebox"><pre><code>$ doas modprobe -v e1000e madeup_nonsense=1                               
insmod /lib/modules/5.11.16-zen1-1-zen/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko.xz madeup_nonsense=1
$</code></pre></div>]]></description>
			<author><![CDATA[dummy@example.com (Head_on_a_Stick)]]></author>
			<pubDate>Fri, 23 Apr 2021 18:08:15 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?pid=29306#p29306</guid>
		</item>
		<item>
			<title><![CDATA[Modules, modprobe(.d) and kernel command line]]></title>
			<link>https://dev1galaxy.org/viewtopic.php?pid=29305#p29305</link>
			<description><![CDATA[<p>Hello:</p><p>Here I am again with another chapter of the e1000e saga.<br />This particular one regarding module loading how-to.</p><p>If interested, here&#039;s some background: <a href="https://dev1galaxy.org/viewtopic.php?id=4274" rel="nofollow">https://dev1galaxy.org/viewtopic.php?id=4274</a></p><p>From what I have learnt, apart from how the install sets up modules to be loaded, it can be done via modprobe from the command line<br />eg: </p><div class="codebox"><pre><code>groucho@devuan:~$ sudo modprobe e1000e</code></pre></div><p>Also, module configuration parameters can be added by adding a proper stanza to the kerneo command line:</p><p>groucho@devuan:~$ sudo dmesg <br />--- snip ---<br />[&#160; &#160; 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.19.0-16-amd64 root=UUID=d6841f29-e39b-4c87-9c52-3a9c3bafe2d3 ro <span class="bbc">e1000e.EEE=0</span> .....<br />--- snip ---<br />groucho@devuan:~$</p><p>... or by adding a <span class="bbc">*.conf</span> file in <span class="bbc">/etc/modprobe.d</span>:</p><p>eg: </p><div class="codebox"><pre><code>groucho@devuan:~$ echo &quot;options e1000e EEE=0&quot; | sudo tee /etc/modprobe.d/e1000e.conf
groucho@devuan:~$ cat /etc/modprobe.d/e1000e.conf
options e1000e EEE=0
groucho@devuan:~$</code></pre></div><p>I don&#039;t know if there&#039;s more to this, but that&#039;s what I have an idea about.</p><p>Now, let&#039;s see what&#039;s happening with my nemesis, the e1000e module:</p><p>If I add the <span class="bbc">e1000e.EEE=0</span> stanza to the kernel command line, I get this line in <span class="bbc">dmesg</span>:</p><p>groucho@devuan:~$ sudo dmesg | grep e1000e<br />--- snip ---<br />[&#160; &#160; 2.158949] e1000e: unknown parameter &#039;EEE&#039; ignored<br />[&#160; &#160; 2.237022] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k<br />[&#160; &#160; 2.257549] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. <br />--- snip ---<br />groucho@devuan:~$</p><p>Curiously enough, calling the wrong module ie: <span class="bbc">igb.EEE=0</span> does not generate a message of any sort.<br />Right.</p><p>As the kernel command line trick obviously does not work, I tried using the *.conf above.&#160; &#160;<br />As a result, I get this line in <span class="bbc">dmesg</span>:</p><div class="codebox"><pre><code>groucho@devuan:~$ sudo dmesg | grep e1000e
--- snip ---
[    2.166788] e1000e: unknown parameter &#039;EEE&#039; ignored
[    2.227702] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    2.241841] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
--- snip ---
groucho@devuan:~$</code></pre></div><p>Clearly the e1000e module exists and is accessed (as far as the kernel is concerned), but does not accept the EEE parameter. </p><p>The last option I have is trying with <span class="bbc">modprobe</span>.&#160; &#160;</p><p>1. see if it is loaded</p><div class="codebox"><pre><code>groucho@devuan:~$ lsmod | grep -i e1000e
e1000e                282624  0
groucho@devuan:~$ </code></pre></div><p>2. unload it and check</p><div class="codebox"><pre><code>[root@devuan groucho]# rmmod e1000e
[root@devuan groucho]# lsmod | grep e1000e
[root@devuan groucho]# </code></pre></div><p>3. load it again with the required parameter</p><div class="codebox"><pre><code>[root@devuan groucho]# modprobe -v e1000e EEE=0
insmod /lib/modules/4.19.0-16-amd64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko EEE=0
[root@devuan groucho]# </code></pre></div><p>Ahh ...<br />So now the <em>unknown</em> parameter is <em>known</em>?</p><p>Q: If it was <em>unknown</em>, wouldn&#039;t the <span class="bbc">-v</span> have made <span class="bbc">modprobe</span> print something to that effect?</p><div class="quotebox"><cite>man modprobe wrote:</cite><blockquote><div><p> -v, --verbose<br />&#160; &#160; &#160; Print messages about what the program is doing. Usually modprobe only prints messages if something goes wrong.</p></div></blockquote></div><p>It seems that the e1000e module has EEE enabled by default.<br />See <a href="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/sec-setting_module_parameters#footnote-Energy_Efficient_Ethernet" rel="nofollow">https://access.redhat.com/documentation … t_Ethernet</a></p><p>Not only does it seem impossible to disable it via the usual methods: ethtool cannot query or access EEE settings because the e1000e does not support it. </p><p>No idea as to how to go about this, this EEE is probably the source of my bad shutdowns but if I can&#039;t reliably turn it off, it not possible to know.<br />ie: if I can&#039;t query the controller, how can I know?</p><p>A different driver, more up to date from Intel? IBM? RedHat?<br />A backport from Chimaera?</p><p>Any ideas would be welcome.</p><p>Best,</p><p>A.</p>]]></description>
			<author><![CDATA[dummy@example.com (Altoid)]]></author>
			<pubDate>Fri, 23 Apr 2021 17:35:56 +0000</pubDate>
			<guid>https://dev1galaxy.org/viewtopic.php?pid=29305#p29305</guid>
		</item>
	</channel>
</rss>
