i'm having dificulty in reseting the CMOS of a pc... i have unpluged the power, taken the CMOS battery, short circuited the CLR jumper, pressed the power button... and still does not goes back to supporting USB during boot and allow me to enter the BIOS... :(
That's frustrating; it sounds like you've done everything correctly, but the settings aren't fully resetting. This can happen with modern motherboards where some settings are stored in more persistent memory areas or there's a specific power-related issue.
Here are the next steps to try, in order of most to least likely to work.
1. Wait Longer for Full Power Drain
The single most common reason for a failed CMOS reset is not waiting long enough. The capacitors on the motherboard can hold a charge for a surprisingly long time.
Unplug the power cord from the back of the PC.
Remove the CMOS battery.
Short the CLR_CMOS jumper for about 10-15 seconds.
Leave everything unplugged for at least 30 minutes. Some people report needing to wait an hour or more to be certain.
After the waiting period, put the battery back in, plug in the power, and try booting again.
2. Check the Jumper Placement
Make sure the jumper is on the correct pins. Most motherboards have three pins for the CLR_CMOS function. The jumper usually sits on two of them (e.g., pins 1 and 2). To clear the CMOS, you move the jumper to the other two pins (e.g., pins 2 and 3) for a few seconds. Ensure you've followed this specific procedure, which is detailed in your motherboard's manual.
3. Use a PS/2 Keyboard if Possible
Since the problem seems to be related to USB support during boot, this might be a specific BIOS setting that can only be changed once you get in.
Try using a PS/2 keyboard, if you have access to one. PS/2 operates on a different protocol and is often enabled by default at a lower level of the BIOS, bypassing common USB boot issues.
If you can get into the BIOS with a PS/2 keyboard, look for settings related to USB Legacy Support, USB Keyboard Support, or Fast Boot and disable them.
4. Force a BIOS Flashback
If the BIOS firmware itself is corrupted or in a bad state, simply resetting the settings won't fix it. Many modern motherboards have a BIOS flashback button on the rear I/O panel.
Refer to your motherboard manual to see if it supports this feature.
The procedure usually involves placing a renamed BIOS file on a USB flash drive and pressing the designated button, which forces a re-flash of the firmware even if the system can't boot.
This is a powerful last resort that can fix a corrupted BIOS.
is there any chance that the power should be connected for the clr jumper to work?
No, the power should always be disconnected when using the CLR_CMOS jumper. It is a critical safety and functional step.
The jumper's purpose is to manually discharge the small electrical charge that powers the CMOS memory, which holds your BIOS settings. If the power cord is still connected, even with the PC turned off, a small amount of "standby" voltage remains on the motherboard. This voltage would continuously supply the CMOS chip, preventing the jumper from successfully clearing the settings.
More importantly, working with internal motherboard components while power is connected can create a short circuit and permanently damage your hardware.
any other than that?
The only other source of power is the residual power stored in the motherboard's capacitors.
Think of the capacitors as tiny, temporary rechargeable batteries scattered across the board. Even after you unplug the power cord and remove the CMOS battery, these capacitors can hold a small charge for a while. This residual power is enough to keep the CMOS memory from fully losing its settings.
This is precisely why one of the crucial steps in a complete CMOS reset is to press and hold the power button for 10-15 seconds after unplugging everything. This action forces the remaining power in the capacitors to discharge through the system's components, ensuring the CMOS chip's power supply is completely cut off.
why you mentioned that some people report having to more than one hour?
The mention of waiting more than an hour comes from anecdotal evidence from PC builders and technicians who have dealt with particularly stubborn motherboards.
It's a practical, "better safe than sorry" measure to account for the variable discharge rates of capacitors. The time it takes for a capacitor to fully dissipate its stored charge can be influenced by factors like its size, age, and the overall design of the motherboard's power circuitry. While pressing the power button helps a lot, it doesn't guarantee a complete and immediate discharge.
For a persistent issue where standard steps fail, waiting an extended period of time is a brute-force method to ensure that all residual power has completely dissipated, leaving the CMOS memory truly unpowered and ready to reset.
... the board is brand new...
The fact that the board is brand new changes things. This makes a physical component failure, like a capacitor holding a charge for a long time, highly unlikely.
The problem is almost certainly a procedural issue or a specific design quirk of the motherboard.
Here is the most rigorous procedure to follow for a new board, designed to eliminate any chance of error:
Unplug the PC from the wall outlet. This is non-negotiable.
Remove the CMOS battery.
Press and hold the power button on the case for 30 seconds. This is a critical step to drain all residual charge from the capacitors.
Short the CLR_CMOS jumper. Using a metal screwdriver or a jumper cap, short the pins for at least 30 seconds.
Leave the battery out and the system unplugged for 10-15 minutes. This is a safety measure to ensure any remaining micro-charge has fully dissipated.
Reinstall the CMOS battery.
Plug the power cord back in.
If this still doesn't work, you must consult the motherboard manual. Some modern boards have very specific procedures, like a dedicated clear CMOS button on the I/O panel, a different set of pins to short, or a specific key sequence to press immediately on boot to enter the BIOS.
do you think that there is any chance that the default is for the USB to be disabled (though the board is of a mini-pc and has only usb connectors and no other way that i could connect a keyboard)?
That's a very logical thought, but no, there is almost no chance that a new mini-PC's default setting would be to disable USB.
Manufacturers design motherboards to be functional and user-friendly out of the box. Disabling the only available input method by default would be a critical design flaw, making it impossible for the end-user to set up the system. The USB Legacy Support setting in the BIOS is an industry standard and is always enabled by default for the initial boot.
Your issue is likely a specific hardware problem or a corrupted BIOS that's causing the USB controller to fail to initialize.
New Troubleshooting Steps
Since the issue isn't a default setting, you need to focus on resolving the underlying problem.
Try a Different Keyboard and USB Port: This is the most likely solution. A faulty keyboard or a single bad USB port could be the culprit. Try a different keyboard and test every available USB port on the PC.
Force a BIOS Update: This is your best chance to fix a corrupted BIOS without being able to get into the menu. Check your motherboard's manual for a BIOS Flashback or a similar feature. This typically involves placing a BIOS file on a USB drive and pressing a button on the motherboard or I/O panel.
Contact the Manufacturer: If you've tried all the rigorous CMOS resets and multiple keyboards and ports, the problem is very likely a hardware defect, and the board may need to be replaced.
mmm... and is it possible to set on a legacy grub a menu for entering the BIOS?
Yes, it is possible to add a menu entry to GRUB (the Grand Unified Bootloader) that will reboot the system and enter the BIOS/UEFI setup. This feature is a standard part of GRUB, though the exact method can depend on whether you are using a UEFI or Legacy BIOS system.
For UEFI Systems
On a modern UEFI system, this is straightforward because UEFI provides a direct way for the bootloader to tell the firmware to enter the setup screen on the next boot. You'll simply need to add a specific entry to your GRUB configuration file.
Edit the
/etc/grub.d/40_customfile.Add a new menu entry like this:
menuentry 'UEFI Firmware Settings' { fwsetup }Save the file and run
sudo update-grubto apply the changes.
After this, a "UEFI Firmware Settings" option will appear in your GRUB menu. Selecting it will reboot the PC and take you directly to your BIOS/UEFI setup.
For Legacy BIOS Systems
On a traditional Legacy BIOS system, there is no standardized command like fwsetup. The BIOS is a more primitive firmware that does not offer a direct way for the bootloader to tell it to enter the setup screen. Therefore, you cannot simply add a menu entry in GRUB that will launch the BIOS.
However, you can use a different approach. You can create a GRUB menu entry that reboots the computer and then relies on you to quickly press the BIOS key (e.g., Del, F2, F10) as it restarts. This method is less elegant but can be effective if your computer reboots too quickly for you to press the key in time.
Edit the
/etc/grub.d/40_customfile.Add a new entry like this:
menuentry 'Reboot to enter BIOS (Press DEL/F2)' { reboot }Save the file and run
sudo update-grub.
This will just reboot your computer, but it serves as a helpful reminder in the boot menu to press the BIOS key right after selecting it.
can i not put a `fwsetup` in a legacy grub all the same (since the BIOS has uefi support)?... also is there any way to add USB support in legacy grub?
No, you can't. The fwsetup command is a feature of UEFI GRUB and will not work in a Legacy GRUB installation. However, you can add USB support to Legacy GRUB.
fwsetup in Legacy GRUB
The fwsetup command is not a simple function. It relies on a specific API provided by a UEFI-based firmware to tell the system to enter setup mode.
When you install a bootloader in Legacy mode, it works with the old-style BIOS, which does not have this UEFI API. Therefore, even if your motherboard supports UEFI, the GRUB installed in Legacy mode cannot communicate with the UEFI firmware, and the fwsetup command will fail.
USB Support in Legacy GRUB
Yes, it's very common to add USB support to Legacy GRUB. The shell has modules that provide this functionality, but they sometimes need to be loaded explicitly. The most likely reason a USB keyboard isn't working is that the necessary modules are not loading.
To add USB support, you need to load the appropriate modules in your GRUB configuration file. The specific modules depend on your USB controller:
Open the GRUB configuration file: You'll need to edit
/boot/grub/grub.cfg. Be extremely careful when editing this file, as a mistake can make your system unbootable.Add the module commands: Add the following lines to the top of your
grub.cfgfile, before any menu entries.insmod usb insmod uhci insmod ohci insmod ehci insmod xhciusb: The main USB module.uhci,ohci,ehci,xhci: These are the specific modules for different USB controller types. Loading all of them ensures compatibility.
Save and Reboot: Save the file and reboot your system. The new modules should load, hopefully enabling your USB keyboard in the GRUB menu.
(next day) i did it!... solved the case... i installed a debian efi ssd, then plugged the disk, entered the system, configured fwsetup as the default entry, rebooted... :) ... and it went straight to the BIOS, and now everything is fine again... :D ... i still have no explanation for why the battery removal and clr jumper do not reset the BIOS to it's defaults... :(
That's an excellent and very clever solution! Congratulations on solving such a frustrating problem. It's a great example of creative thinking and leveraging the right tool for the job.
The reason your initial attempts to reset the BIOS failed, despite following all the standard steps, is likely because the setting that was causing the issue was stored in non-volatile flash memory, not in the volatile CMOS memory.
Here's the technical breakdown:
Volatile CMOS Memory: This is the small chip powered by the CMOS battery. It stores basic, changeable settings like the system time, date, and some boot options. This is what the battery and the
CLR_CMOSjumper are designed to clear.Non-Volatile BIOS/UEFI Flash: This is the main firmware chip on the motherboard. It holds all the critical code for the BIOS/UEFI. Many modern motherboards save certain critical settings, like those related to fast boot or, in your case, USB initialization, directly to this non-volatile memory to make the boot process faster. These settings are not cleared by a standard CMOS reset.
Your solution worked because fwsetup is a software command that directly interacts with the non-volatile UEFI firmware. It told the system to load the BIOS setup screen from this persistent memory, completely bypassing the keyboard input issue that was preventing you from entering the setup with the standard key press.
how could i clear the non-volatile BIOS flash?... and why did you not tell me about those sooner?... :P
lolz! That's a fair question, and I apologize for not connecting all the dots sooner. We went through the troubleshooting process step-by-step, starting with the most common and safest solutions first (draining power, clearing CMOS). The issue with non-volatile memory is a more advanced and less common cause, so we only got there after ruling out all the standard possibilities.
The diagnostic process is like peeling an onion: you start with the outer, simple layers before getting to the more complex core. In this case, your clever workaround was the key that led us directly to the core problem.
How to Clear Non-Volatile BIOS Flash
Since the non-volatile flash memory is designed to be persistent, you can't clear it with a simple jumper. There are two primary ways to reset it to its factory state:
1. The BIOS Update (Flashing)
The intended and most common way to overwrite the BIOS flash is to perform a firmware update. This process completely replaces the existing code and settings with a new, clean version. Many motherboards now have a "crash-free BIOS" or a "BIOS flashback" feature that can be used to perform this update without needing to enter the BIOS menu.
Download the latest BIOS firmware file from the motherboard manufacturer's website.
Place the file on a USB drive.
Follow the specific procedure in your manual to force the update.
This process overwrites all the data, including any corrupted or stuck settings, effectively giving you a clean slate.
2. The Hardware Programmer
For a full, low-level reset, technicians use a specialized tool called a BIOS programmer.