OpenWRT and Supermicro: Difference between revisions

mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 35: Line 35:
So if you were thinking the VGA port (or the HDMI or Display Port Connectors) are the IGD, they're not.  If one looks at the information on the Wikipedia Page (https://en.wikipedia.org/wiki/List_of_Intel_Pentium_processors) or the Intel Page (https://ark.intel.com/content/www/us/en/ark/products/87261/intel-pentium-processor-n3700-2m-cache-up-to-2-40-ghz.html), in indicates that N3700 CPU (really and SoC (System on a Chip)) has a CPU and GPU integrated into the same device with only HDMI and Display Port Outputs.  That, combined with the fact (according the System Block Diagram) the VGA output seems to be coming from ASPEED chip, leads one to believe the Pentium based Braswell CPU in the N3700 SoC indeed has HD Graphics 400 or 405 capability that is simply not hooked up to anything.  
So if you were thinking the VGA port (or the HDMI or Display Port Connectors) are the IGD, they're not.  If one looks at the information on the Wikipedia Page (https://en.wikipedia.org/wiki/List_of_Intel_Pentium_processors) or the Intel Page (https://ark.intel.com/content/www/us/en/ark/products/87261/intel-pentium-processor-n3700-2m-cache-up-to-2-40-ghz.html), in indicates that N3700 CPU (really and SoC (System on a Chip)) has a CPU and GPU integrated into the same device with only HDMI and Display Port Outputs.  That, combined with the fact (according the System Block Diagram) the VGA output seems to be coming from ASPEED chip, leads one to believe the Pentium based Braswell CPU in the N3700 SoC indeed has HD Graphics 400 or 405 capability that is simply not hooked up to anything.  


So we're right back to the point of asking why the IGD choice is in the BIOS settings if there isn't a connector for the HD Graphics 400 / 405 built into the Pentium CPU? IE, behavior and documentation seems to indicate there are two GPUs in the N3700 SoC package.  One GPU is built into the Pentium CPU and the other is a discrete GPU at the end of a couple of PCIe lanes in the SoC.  This isn't stated explicitly, but all evidence seems to point to this conclusion.  
So we're right back to the point of asking why the IGD choice is in the BIOS settings if there isn't a connector for the HD Graphics 400 / 405 built into the Pentium CPU? IE, behavior and documentation seems to indicate there are two GPUs in the N3700 SoC package.  One GPU is built into the Pentium CPU and the other is a discrete GPU at the end of a couple of PCIe lanes in the SoC.  This isn't stated explicitly, but all evidence seems to point to this conclusion.  Except for what OpenWRT displays...
 
Using the LSPCI command in OpenWRT, the "VGA Port" is reported as "VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30)"  Now that seems to indicate a separate Video Controller (separate from the GPU on the N3700, and the possible GPU built into the core of the Pentium CPU).  Wow, that would be three different video controllers on this motherboard, all built into other chips.  Still on the end of a PCIe lane.  No wonder OpenWRT acts wonky with it's display.  


==Fallback Incase One Sets the Above Noted Primary Display to IGD==
==Fallback Incase One Sets the Above Noted Primary Display to IGD==
Line 52: Line 54:
Well, bad news: If you do that, it'll work in that all the boot up messages will be displayed on a monitor hooked up to the HDMI or Display Port.  But...  And this is a big BUT: Nothing will be displayed on the iKVM/HTML5 (or the 'Remote Control' JAVA Console).  That's kind of a nice thing to have working.  See the above System Block Diagram and you'll see that the JPG1 jumper really seems to disable the VGA of the ASPEED chip.
Well, bad news: If you do that, it'll work in that all the boot up messages will be displayed on a monitor hooked up to the HDMI or Display Port.  But...  And this is a big BUT: Nothing will be displayed on the iKVM/HTML5 (or the 'Remote Control' JAVA Console).  That's kind of a nice thing to have working.  See the above System Block Diagram and you'll see that the JPG1 jumper really seems to disable the VGA of the ASPEED chip.


== Other Notes ==
==Other Notes==


=== Setting Video Settings with Kernel Command Line Parameters ===
===Setting Video Settings with Kernel Command Line Parameters===
In the /boot/grub/grub.cfg file, at the end of the "vmlinuz" line;
In the /boot/grub/grub.cfg file, at the end of the "vmlinuz" line;


* vga=795 works (from https://en.wikipedia.org/wiki/VESA_BIOS_Extensions#Linux_video_mode_numbers)
*vga=795 works (from https://en.wikipedia.org/wiki/VESA_BIOS_Extensions#Linux_video_mode_numbers)
* video=1280x1024 (doesn't work unless i915 kernel driver is enabled, which one doesn't want because the ASPEED iKVM capbability will break)  
*video=1280x1024 (doesn't work unless i915 kernel driver is enabled, which one doesn't want because the ASPEED iKVM capbability will break)


Note, when setting the vga=795 parameter, the first part of the boot sequence (first couple of seconds, including "Decompressing Linux") cannot be seen until it reaches the 'change video' part of the boot.  IE, the below part;
Note, when setting the vga=795 parameter, the first part of the boot sequence (first couple of seconds, including "Decompressing Linux") cannot be seen until it reaches the 'change video' part of the boot.  IE, the below part;
Line 70: Line 72:
[    1.587467] simple-framebuffer simple-framebuffer.0: fb0: simplefb registered!
[    1.587467] simple-framebuffer simple-framebuffer.0: fb0: simplefb registered!


=== Changing Resolution After Booting ===
===Changing Resolution After Booting===
Good news, it doesn't seem to be possible to adjust resolution after booting using fbset or xrandr because they don't exist as packages in OpenWRT.  Makes sense given that most routers don't freakin' have video cards!  It looks like some people have compiled custom versions of busybox.
Good news, it doesn't seem to be possible to adjust resolution after booting using fbset or xrandr because they don't exist as packages in OpenWRT.  Makes sense given that most routers don't freakin' have video cards!  It looks like some people have compiled custom versions of busybox.


No real need to change the resolution, unless one wants to see the full lines of boot messages during boots.  Keep in mind, it's available for review after booting using the DMESG Command.  Of course if booting is a problem it might be helpful to see the entire line.  An alternative would be to remove the ''nomodeset'' parameter from the grub.cfg file.
No real need to change the resolution, unless one wants to see the full lines of boot messages during boots.  Keep in mind, it's available for review after booting using the DMESG Command.  Of course if booting is a problem it might be helpful to see the entire line.  An alternative would be to remove the ''nomodeset'' parameter from the grub.cfg file.


=== ASPEED's iKVM Capability when Rebooting ===
===ASPEED's iKVM Capability when Rebooting===
More good news, the ASPEED's iKVM capability doesn't work across reboots, so one has to close or refresh the IPMI / BMC web browser tab / window.
More good news, the ASPEED's iKVM capability doesn't work across reboots, so one has to close or refresh the IPMI / BMC web browser tab / window.


=== MODESETTING (AKA '''Kernel Modesetting (KMS))''' ===
===MODESETTING (AKA '''Kernel Modesetting (KMS))'''===
<code>nomodeset=0</code> and <code>nomodeset</code> seem to be equivalent.
<code>nomodeset=0</code> and <code>nomodeset</code> seem to be equivalent.


=== Differences in Boot Log Items (DMESG); ===
===Differences in Boot Log Items (DMESG);===
With JPG1 Jumper Enabled;<syntaxhighlight lang="text">
With JPG1 Jumper Enabled;<syntaxhighlight lang="text">
[    1.830724] Non-volatile memory driver v1.3
[    1.830724] Non-volatile memory driver v1.3
Line 121: Line 123:
[    1.742948] Initialized host personality
[    1.742948] Initialized host personality
[    1.747960] VMware PVSCSI driver - version 1.0.7.0-k
[    1.747960] VMware PVSCSI driver - version 1.0.7.0-k
</syntaxhighlight>...and according to: <nowiki>https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt</nowiki>, it does;
</syntaxhighlight>
 
nomodeset Disable kernel modesetting. Most systems' firmware
 
sets up a display mode and provides framebuffer memory
 
for output. With nomodeset, DRM and fbdev drivers will
 
not load if they could possibly displace the pre-
 
initialized output. Only the system framebuffer will
 
be available for use. The respective drivers will not
 
perform display-mode changes or accelerated rendering.


Useful as error fallback, or for testing and debugging.
===NOMODESET, according to: https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt<nowiki/>;===
<syntaxhighlight lang="text">
Disable kernel modesetting. Most systems' firmware sets up a display mode and provides framebuffer memory for output. With nomodeset, DRM and fbdev drivers will not load if they could possibly displace the pre-initialized output. Only the system framebuffer will be available for use. The respective drivers will not perform display-mode changes or accelerated rendering.
</syntaxhighlight>...and just FYI, because kernel.org is so good at explaining acronyms;


DRM = Direct Rendering Manager
DRM = Direct Rendering Manager
Line 143: Line 134:
FBDEV = Linux Frame Buffer ( <nowiki>https://en.wikipedia.org/wiki/Linux_framebuffer</nowiki> )
FBDEV = Linux Frame Buffer ( <nowiki>https://en.wikipedia.org/wiki/Linux_framebuffer</nowiki> )


 ...and it goes without saying to upgrade to the latest BIOS, IPMI, etc. Firmware
==Last Tip(s)==
It goes without saying: Upgrade to the latest BIOS, IPMI, etc. Firmware!


== Links for More Information ==
==Links for More Information==
Kernel Command Line Paramters: https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt


 Video Settings: https://en.wikipedia.org/wiki/VESA_BIOS_Extensions#Linux_video_mode_numbers
* Kernel Command Line Paramters: https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt
* Video Settings: https://en.wikipedia.org/wiki/VESA_BIOS_Extensions#Linux_video_mode_numbers
* Example of GRUB 2 documentation that won't help (but demonstrates what GRUB 2 references look like, even if they don't specifically say it, so you know what to watch out for, and ignore, because OpenWRT uses "Legacy" GRUB): https://www.gnu.org/software/grub/manual/grub/html_node/Simple-configuration.html
* Credit to the hint that lead to the solution (even if it wasn't specifically addressing the issue, it was the impetus for the exploration on this subject): https://askubuntu.com/questions/716957/what-do-the-nomodeset-quiet-and-splash-kernel-parameters-mean
*