GithubHelp home page GithubHelp logo

firmware's Introduction

firmware

Issue tracker for general non-script-related firmware issues

firmware's People

Contributors

mrchromebox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

firmware's Issues

Enable/Support TPM.

Currently, the TPM is disabled in the firmwares. It would be great if we could get to the point of enabling it. AFAIK, it is on the roadmap for around the time when NVRAM is added, but there have been several requests about it. Thanks!

Booting from SD card hangs

It is a strange issue I must say.

Environment

  • Samsung Chromebook 3 (XE500C13)
  • Samsung EVO 32GB Class 10 Micro SDHC Card
  • Kodi E-Z Setup Script (RW_LEGACY method)

To reproduce:

  1. Install Arch Linux (2016.11.01) to SD card. Use Syslinux as a boot loader.
    I use USB drive to boot ISO in order to install OS to SD card.
    I use GPT partitioning. And to install Syslinux I use:
pacman -S --noconfirm gptfdisk syslinux
syslinux-install_update -iam
  1. Ctrl-L during Chrome OS warning screen. Esc to view boot options.

Problem

Card is recognized in the boot menu. Though when selecting SD card booting hangs on "Booting from Hard Drive".

There're several strange things:

  1. SD card is bootable. If I burn Arch Linux ISO to SD card it boots without problems.
  2. I have exactly the same installation on a USB drive and it boots without problems.
  3. Probably worth mentioning that when installing Syslinux (USB or SD card) I get an error that Syslinux failed to install boot flag on a drive. Though it does not affect USB booting at all.

PS: Is there any way to debug what is going on during this boot hang?

Reboot on Resume From Suspend - Full Rom Bay Trail

When using the full rom on a bay trail device, resuming from suspend results in a hard reboot.
Best workaround I have found is to disable suspend all together and so you shutting off the screen when the lid is closed. Not ideal, but it helps conserve a little battery.

Display Brightness is Broken in Linux on BDW (Workaround Exists!).

Display Brightness is broken in Linux on BDW due to the addition of acpi_video0 to fix brightness controls on Windows. This issue is further described here:

GalliumOS/galliumos-distro#148

The best current workaround is to create the file /usr/share/X11/xorg.conf.d/20-intel.conf with the following content:

Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"    "intel_backlight"
        BusID       "PCI:0:2:0"
EndSection

As described here, this issue can affect other PC laptops as well.

https://ubuntuforums.org/showthread.php?t=2192471&p=12868623#post12868623

Finally, this does not affect OS X. Brightness controls work properly on OS X on BDW with the current firmwares. Thanks!

Get Rid of Legacy SeaBIOS ROMs.

The Legacy SeaBIOS ROMs are buggy, untested, and unnecessary. They keep Linux users on out-of date firmwares, and they perpetuate the idea among Linux users that the UEFI firmwares are the "Windows" firmwares when this is not true. Linux works fine on the UEFI firmwares. The only limitation is that Debian/Ubuntu-based distros need a workaround after installation:

#4

#10

See here for the latest SeaBIOS ROM issues:

MrChromebox/scripts#24

I have written a script to help Debian/Ubuntu-based distro users fix booting, and I am more than happy to write various guides to work around the installation issues on the UEFI firmwares. Since we have the firmware UEFI Shell in place now, it is actually possible to fix the installation issues from that shell by moving and creating the correct files and folders. Having Legacy SeaBIOS ROMs just to facilitate Linux installation is excessive and unwarranted. On Books, they have no purpose that justifies their existence. On Boxes, there is some purpose because of the issues with headless operation and detection failures on some displays, but even then they should not be generally available and we should actively be investigating fixes for the UEFI firmwares. Thx.

3.5mm Audio Jack is not working on C740 (Auron_Paine) in Windows.

Recent changes in the firmware broke the 3.5mm Audio jack on C740 (Auron_Paine) on Windows. The jack continues to function properly on Linux, and speakers are fine everywhere. It's odd. Sometimes the Windows driver software detects that something has been plugged into the jack (alert pops up), but sound is never switched to the device connected nor is there a way to switch it manually. :/

I suspect that it was this change here for Auron that broke the jack. I apologize for not testing more thoroughly before:

MrChromebox/coreboot@56e4f9e

Unable to build lulu from source

Edit: Apologies if this is the wrong place - but https://github.com/MattDevo/coreboot does not have a tracker. Great work on getting lulu to be in a place where it can go upstream btw! ๐Ÿ‘

I realise this is a bit like asking for unicorns (on a good day) but lulu does not build from source because of missing refcode blob:

3rdparty/blobs/mainboard/google/lulu/refcode.elf: No such file or directory
E: Couldn't read in file '3rdparty/blobs/mainboard/google/lulu/refcode.elf'.

Unfortunately I have not been able to find a good explanation of what the refcode blob is and where to get it from. (https://review.coreboot.org/#/c/4895/ explains very little). Of course it's available from reading the flash of the board itself but that does not say much about the origin and authenticity of its contents...

Any ideas on how getting the refcode blob can be automated/how it can be validated?

Windows support for --candy-- Dell 3120

Greetings,
i have a Dell 3120 (Candy) and i would like to see if windows works well on it 'cause its specs are good

Is it possible to add support to your script?

I have an ACPI error on windows installation.

Thanks in advance

ChromeOS Support on UEFI Firmware.

ChromeOS device HWIDs will needed to be added in the firmware for proper ChromeOS support. Along with this, Auto-updating and Channel Switching still need to be fixed for UEFI booting.

Peppy and all other HSW books should use the Auron BDW HWID due to changes in their I2C.

HSW boxes should use the HWID of some BDW box that will get Android app support.

BDW books and boxes should use their respective native Stock firmware HWIDs.

IVB/SNB probably should use their native HWIDs for the hardware support.

More testing needed.

Issues with Dell Chromebox 3010 & UEFI

Tryin go run a headless Ubuntu server on a Dell Chromebox 3010 (i7). I want to be able to reboot the server remotely and have it automatically boot into Ubuntu.

Issues I am having:

  1. BIOS menu loads, rather than GRUB.
  2. Pressing "Continue" does nothing.
  3. Booting from file will run GRUB. Changing the settings to run GRUB and to wait 0/5 seconds also work, but the settings do not save.

Headless Operation is not working since move to CorebootPayloadPkg.

Since the move the CorebootPayloadPkg, headless operation of Chromebooks and Chromeboxes has been broken. Some display must be connected at startup in order for the firmware to start properly. Something we should resolve, as it is a regression for Chromeboxes . . .

Fix Opregion To Eliminate Need for VBIOS.

If Opregion could be fixed, all need for the VBIOS would eliminated. Currently, the VBIOS is only needed by the Intel Driver on Windows. If Opregion could be properly implemented, there would no longer be a need for the VBIOS. This might allow us to move back to Coreboot TianoCore Payload instead of Duet since there would be no reason to keep SeaBIOS around to run the VBIOS.

Extra Devices in Device Manager.

In Windows on HSW and BDW, two Unknown Devices, ACPI\VEN_CORE&DEV_0000 and ACPI\VEN_GOOG&DEV_0004, appear under Other Devices. These should be hidden to prevent user confusion. Thanks!

ACPI Backlight (_BCM).

Now that we have OpRegion, it should be possible to actually fix _BCM, allowing ACPI backlight control to finally work. The broken _BCM method affects HSW, BDW, and BYT. Thx.

Add support for booting off C710's SD card reader

Let's add support for the C710's sd card reader. This can be done by adding SdMmcPciHcDxe and SdDxe:

https://github.com/tianocore/edk2/tree/master/MdeModulePkg/Bus/Pci/SdMmcPciHcDxe
https://github.com/tianocore/edk2/tree/master/MdeModulePkg/Bus/Sd/SdDxe

If there's space issues, we can remove the UFS2 and EXT4 filesystem drivers in that order, as they're not used by any boot media. (BSD doesn't even use UFS2 anymore, and Linux distros set up a FAT32 efi system partition, as per UEFI spec)

Increase the DVMT on BYT.

The DVMT (graphics pre-allocated memory) is currently 64 MB on BYT. Increase to 96 MB to match SNB/IVB/HSW/BDW/SKL. This should be the last one we need to ask about since BSW will use the FSP. Thx.

Video Playback Failure on BDW on OS X After Sleep.

After sleep with graphics acceleration working, video playback breaks on OS X, resulting in hangs. QE/CI appears to continue to function normally otherwise. This seems to affect all BDW Chromebooks once graphics acceleration is working regardless of igd configuration. As of yet no precise cause has been determined. At this point, a firmware issue appears highly plausible.

Connected to this may be the need to sleep/wake some Broadwell Chromebooks in order to get video out on OS X when graphics acceleration is enabled. This does not affect the C740, however, limiting my ability to test this issue. The video playback issue reported here does, however, also affect the C740.

HP Chromebook 11 G5 braswell CTRL+L goes to BlackScreen

Hi,

I have an HP Chromebook 11 G5 with a braswell Celeron N3050 cpu with Intel HD 400 graphics

board name: setzer

P/N X9U05UT#ABA

The script seems to identify it and succeeds in applying the RW_Legacy update, but when I go to reboot, the Developer mode boot screen comes up.. I type CTRL+L and it wipes the chrome bitmap screen down to a blank black screen and never produces a display.

I thought it was suppose to produce an ESC menu and detected options for boot.

I got this in November so I though the eMMC or USB devices might be so new they aren't properly identified. Do you have any suggestions, or is there any data I could collect and contribute to help solve the problem? Thanks

Minor: Graphical Corruption on OS X on HDMI Video after Start up on HSW.

If HSW is started up running OS X with HDMI connected, graphics on HDMI display are corrupted until HDMI is unplugged and replugged. Internal display is fine. Doesn't occur on BDW. Tested with full graphics acceleration on both platforms. Likely some sort of framebuffer inheritance issue. Given the current issues with HDMI before OS load on BDW, that may be why the issue cannot be reproduced there:

#29

Non-working External Video on C710 Before OS Load.

Neither HDMI nor VGA work on IVB/SNB C710 before OS load. They have never worked AFAIK on any ROM, nor do they work on Stock firmware for ChromeOS loads. They also do not work if you restart from the BMM or from an OS in which they do work. This is in contrast to the issue noted on the C740:

#29

I am unsure if this is a very old firmware issue or simply a hardware limitation.

Maybe if we gutted the SNB gma.c, that would allow us to investigate this issue further . . .

S3 OpRegion Issue Causes Windows Intel Driver Failure.

Upon resume from S3, OpRegion is not restored properly, which breaks the Intel Driver in Windows if the driver is unloaded and/or updated following sleep/wake. Discovered by CoolStar and confirmed by me. Affects all supported devices currently using OpRegion. Thx.

UEFI mis-catagorization on 9/22/16 rom

My Acer C910 (auron-yuna) was classified as an Acer C7xx (auron-maine?) by the UEFI rom bios installation.
The bios would come up on screen and navigation was possible, but boot would not activate. I was locked in the bios.

Used script to return to Legacy boot.

ROM and bios working beautifully. Thank you

Fix for Booting Linux via UEFI.

As it stands currently, without NVRAM support, systems running these firmwares are unable to boot some standard Linux distros after running the installer. This is because these distros do not install EFI GRUB to /EFI/BOOT/BOOTX64.EFI, the only place this firmware looks by default for a bootloader. Some distros (including Ubuntu) do this to avoid issues with Windows potentially overwriting that location, but it means that manual fixes are required to get these distro booting. :/

There seem to be two possible approaches to fixing this other than implementing some form of NVRAM: 1. Add additional path finding to Duet so that it can find Linux (and other) bootloaders. 2. Provide a Boot Management Utility, such as rEFInd in the firmware so that all installed Bootloaders will be automatically detected and displayed in simple GUI for users. Thanks!

Edit:

Link to my fix-it script for reference:

https://www.dropbox.com/s/cay7ni1cj3ec88l/UEFIFirmwareLinuxFixScript.sh?dl=0

This is to be run from a Linux Live USB after a Linux distro with this issue is installed to the hard drive.

Windows Update Does Not Automatically Find the Driver for Realtek ALC283.

Windows Update does not automatically find the driver for Realtek ALC283 audio, which is used on many Chromebooks. CoolStar has discussed changing the audio device id to one Windows Update would automatically recognize to resolve this. Many users on /r/chrultrabook are confused by Realtek's horrible website and the 32 vs. 64-bit drivers. Making this driver install automatically would simplify the setup process. Thanks! ^_^

Software Sync or some other EC Firmware Update Method.

I have an EC firmware update ready and tested on HSW, BDW, and BYT that makes the keyboard on Chromebooks properly PS/2 compliant. This allows the stock Windows PS/2 keyboard driver along with any other keyboard drivers that are not aware of the . . . peculiarities (read: noncompliance) . . . of ChromeEC keyboards to work properly. With this, the keyboard will now work in the Windows installer and with basic functionality in Windows itself with only the stock driver (CoolStar's driver is needed for media key support).

I also have DSDT changes to facilitate stock keyboard functionality as well as support for CS's driver for SNB/IVB/HSW/BDW/BYT. The DSDT changes are fine w/o the EC firmware update, but HSW/BDW/BYT will not be able to use the stock Windows keyboard driver w/o my EC firmware fixes (HSW needs the cherry-picked retry fix + my fix; BDW/BYT only need my fix). The only missing piece is a mechanism for updating the EC firmware, be it in the firmware itself a la Software Sync or through some sort of menu option. Thx.

Keyboard Interrupts on Parrot are broken.

Keyboard interrupts are broken on Parrot (C710) in Windows and Linux (OS X lacks native PS/2 support and was not tested). The keyboard currently only works in the Duet Boot Manager interface, Clover, rEFInd, and EFI GRUB. The keyboard was not working at all on SeaBIOS nor in BIOS GRUB.

See here for more info:

https://ticket.coreboot.org/issues/79

Add UEFI Shell and Additional Drivers to Duet.

Duet is currently lacking a built-in UEFI shell and is missing filesystem drivers other than FAT32, NTFS, and EXT4 (most notably, HFS+ is missing). A UEFI shell would give users another way to get more information about their systems and would also provide a means of accessing filesystems if the system becomes unbootable (part of why including more drivers is important). Additionally, it would provide another method of finding and starting EFI binaries, especially bootloaders that are not automatically detected. Thanks!

HDMI Scaling Issue in Windows on BYT.

On BYT (tested on SQUAWKS), Windows does not scale properly over HDMI until 1360x768 is enabled and Maintain Aspect Ratio is set in the Intel Driver. This is odd because on other models, proper scaling occurs automatically. Still looking for confirmation on other BYT models . . .

Increase DVMT on IVB/SNB to improve Graphics Performance.

After the success with increasing the DVMT to 96 MB on HSW and BDW, we might want to try increasing it on IVB/SNB as well. IVB and SNB both use native RAM init, however, so it's been unclear how we might increase increase these values. They are currently 32 MB on both IVB and SNB (checked in dmesg with drm.debug=0x06, GTT Stolen Size).

ALC283 Microphone is Broken on OS X.

Not 100% sure if this is an issue firmware can resolve or just something horribly misconfigured, but the ALC283 microphone is broken on OS X on both HSW/BDW and as of yet no solution has been found using any hackintosh drivers for it. The microphone is detected, but it cannot pick up any sound. :/

Edit: This seems to not affect Lulu. Only Auron/Peppy are confirmed broken so far.

Increase DVMT Preallocated Memory to 96 MB on HSW.

The DVMT (Dynamic Video Memory Technology) Preallocated Memory was already increased to 96 MB on BDW to allow the Broadwell Graphics Framebuffer kext on OS X to work without patching. This change also appeared to bring performance improvements on other OSes and might be good to bring to HSW, where it is not needed for OS X graphics. The HSW mrc.bin seems to be very different from the BDW one tho, so we will need more information, presumably from the Coreboot IRC, to figure out how to patch it.

Power LED not working on Dell Chromebox 3010 TRICKY

Using most recent 2016-11-27 UEFI firmware. It worked previously but stopped after the firmware update.

Steps I took:
I was on UEFI before updating. Noticed that the firmware script still recognized the Chromebox as PANTHER, so I rolled back to the stock TRICKY SeaBIOS firmware I had backed up, then ran the firmware script from ChromeOS to install the UEFI firmware again. Noticed the LED didn't light up after the firmware update.

bootmode questions

I have an Acer C710 (parrot) which you now support, in part at least I think.

Just a couple of questions to clarify what I'm interpreting on the #bootmodes page on Mr.Chromebox.

Under: SeaBIOS: The Legacy Boot Payload

Note: If only one boot device is available -- either no USB/SD devices are attached, or they are not properly detected/initialized by SeaBIOS -- then the boot menu prompt ("Press ESC for boot menu") will not be shown, and the internal storage will be booted. In the case where ChromeOS is still installed/is the only OS installed, this can result in the screen showing text indicating a kernel panic, or simply a blank screen. If this happens, simply reboot and try using a different USB/SD device to install/boot from.

Does this mean that you can no longer boot ChromeOS at all on the internal disk, only external OSes?

Under: UEFI and the Future

As of 2016-09-06, the Firmware Utility Script now offers Full ROMs offering either Legacy Boot or UEFI Boot for all Haswell and Broadwell devices. UEFI (Unified Extensible Firmware Interface) is the successor to Legacy BIOS and is the firmware type used by virtually all Windows PC's (and Macs) shipped in the last 5+ years.

Can I still boot ChromeOS on the internal drive if I install this BIOS?


I would love to have the ability to run other OSes, both externally and in a dual-boot scenario but I don't want to do so at the expense of running ChromeOS natively.

Thanx for all of your efforts, this is cool stuff,
-DennisL

Reduce Boot Time Using BGRT Table and Recovery Mode Keys.

Boot Time could be reduced if a BGRT Table were added and if we could hook into the Recovery Mode Key System to open firmware settings. Would shorten and beautify the startup process as well as provide an intuitive way to access firmware settings.

Excessive Power Drain in Hibernation.

Following Hibernation, battery drains excessively due to some issue with the power state. This affects all OSes. This appears to be related to the fact that the S4 power state is not really supported, only S3 and S5. Perhaps S4 could be fixed as Coreboot reports that it is supported. Otherwise, perhaps S4 should be disabled in Coreboot to avoid confusion. Thanks!

Chipmunk HDMI Audio on BDW.

All HDMI Audio on BDW is speed up and/or pitch-shifted ("chipmunked") in Windows. Linux is unaffected. OS X is TBD.

Bitstream Audio Passthrough (i.e, DD/DTS, etc) also doesn't work on BDW, while it does work on HSW. This is likely related to what is causing the Chipmunk effect.

Currently, this appears to be an issue with the HDA verbs. Further investigation is needed.

Windows 8.1 Installer Does Not Work on Internal Display.

The Windows 8/8.1 installer does not work on Chromebook Internal Displays on the UEFI firmwares. All you get is a black screen. This appears to be due to a conflict between the Duet resolution setting (1366x768) and the VBIOS max VESA setting (1024x7680). Changing Duet to 1024x768 resolves the issue at the cost of forcing other things that do properly determine the resolution to use a lower than optimum resolution and look horrible. This is unlikely to be fixable unless a way to initialize the display before an OS loads without using the VBIOS is found.

Current workaround: Have users who want to install Windows 8.1 use an HDMI external display for the first step of the installation. After the actual installation to the disk, after which Windows requests a reboot, the internal display seems to work for the remainder of the install process. There is another possible workaround using rEFInd, which depends on users having a firmware with the 1040 VBIOS on HSW. Have rEFInd set the resolution to 1024x768 and then use it to start the Windows 8/8.1 installer. Because the resolution is properly set, the Windows 8/8.1 installer will appear on the internal display.

Edit: Issue limited to HSW and found to be due to the VBIOS. Effective workaround using rEFInd and default booting has been found. Issue closed for now as it is redundant with fixing Opregion.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.