@Jetguy Thank you for describing in more detail the original action that locked you out of the board, and for explaining your workaround They say you are only a good maker if you break things along the way, so well done there! Now get back to having fun with your UDOO X86
@Jetguy I'm not going to lie; I'm glad that you went through this before I got my board because that's a mistake that I would have made. I have a tendency to flip settings when I'm troubleshooting without thinking. Since you found a way to reflash the bios I'm going to feel a lot safer tinkering knowing that I can can Auto-Reflash the board using your method. So thank you for your hardwork and frustration. I also understand that we want the board to have all the settings available to us, but USB Bios Support and XHCI Controller are dangerous settings without an easy way to revert to defaults. I don't want those options removed either because when I run a server I do disable all USB services to prevent local tampering and then I remote into the server. Since it's UEFI it would be nice to Color those two options in RED with an RED ALL CAPS WARNING sign saying that you'll have to reflash the board through SATA if you want bios access again. That would be my suggestion to help prevent future incidents like this.
@Jetguy we are very happy you solved this issue! Also, thank you very much for sharing your solution: it's a great help for the UDOO Community. We are adding this part in the documentation. All's well that ends well!
I've gone back and edited the very first post to contain the links and files so that future users searching should be able to get the info they need. Thanks everyone for the help and comments, I know this got intense but the goal was to reach a solution for everyone using the board and now that has been created and the files linked and posted. Just like any board, you could in theory brick it with the right combination of settings. At least now, the known settings that will get you stuck are noted (may not be everything, but it's a start) and the tools and files are posted that hopefully all the smart folks here could help a person back themselves out of a corner.
@Andrea Rovai, Is there any chance you will be making a microSD image available? MArk me down as #2 person to have disabled the USB ports! I will try to implement JetGuy's solution, but I'm not sure if I'll manage it.
Let me present another solution to this problem. I went through this a few days back. I wanted to install Android x86 and on starting android install my usb keyboard and mouse were not functional. So I started to tweak some USB settings in the BIOS to see if that would make the installer work with my wireless keyboard and I accidentally disabled USB XHCI. Never knew that it would completely disable USB in the board. Why give an option that has no meaning? So now I had a board non-functioning USB ports. Luckily I had at my disposal the following * Samsung msata SSD * M.2 to msata adapter (got it from amazon: https://www.amazon.com/gp/product/B00LSWLZUI) * Spare PC that can take msata SSD (I used MinnowBoard Max v2). I believe it is possible to achieve this with a microSD card too but I have not tried it. Or you could use an msata to USB cable to perform the install on the spare PC Procedure: * I installed Ubuntu 16.04 Server (minimal install) to the msata SSD with the Ubuntu install media written to a usb flash drive. * Reboot into new Ubuntu OS on the spare PC * Add the following to /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0 iomem=relaxed" The first two options are to rename ethernet interfaces to familiar eth0 nomenclature. This is to avoid not knowing what the interface name will be when booted under Udoo x86. * Next assign a static IP to eth0 so that you can ssh into Udoo from your main/home desktop that is on the same network * I ensured that SSH service is enabled and running * Copy the bios zip file and extract it. * Now, perform a clean shutdown of the spare PC * Install msata ssd in Udoo x86 using the msata to M.2 adapter * Connect ethernet cable and power on udoo x86 * SSH to udoo using the static IP that was assigned * Run apt install build-essential * Once build-essential was installed, cd into B02-Bios_Update_rel101/Linux/x64/driver/ and run "make" * cp isfl_drv.ko /lib/modules/4.4.0-62-generic/kernel/drivers/misc * Run depmod -a * modprobe isfl_drv * Run bash ./bios_updater_x64.sh ../../Bios/0B020000.101 Thats it! BIOS would be flashed and you can then reboot to have working USB ports. These instructions may sound elaborate but the whole thing can be accomplished in under 30 minutes, including Ubuntu install. Anyone comfortable with Linux should have no issues flashing the BIOS.
Hi all, I accidentally turned off XHCI controller as well and now am not able to use any of my USB devices at all. Solution posted sounds very complicated and i dont have a spare SSD with me. Any better ideas please? Thank you.
Is your UEFI/bios up to date (version 1.02)? Because then you could try to use an SD card with old fashioned DOS on it to boot your board and restore the UEFI again. Edit: I am assuming that your board is not booting at the moment because you did not install an OS in eMMC or another disk( connected to sata/m2) yet.
Hi Waltervl, It boots but there is no way I could use my keyboard during the booting process, say pressing ESC to configure bios setting etc. coz XHCI controller was disabled accidentally. I will try to make an SD card to boot my board, if my board reads it and loads it automatically if no keyboard use is needed. I am not sure if the tool mentioned by Andrea Rovai has been available or how soon it will be available so I reckon I will have to try all possibilities that I could handle. Thanks. KC
You don't need to press ESC. If it boots you can start an autoexec.bat file that automatically updates your uefi at boot up.
Hi Waltervl, I used the same method to create a boot-able drive by using a usb drive. It didn't boot automatically and still gave me the same screen mentioning "BOOTMGR is missing" --> I intended to install win7 on eMMC if i recall properly. Before I booted the board, i had removed all other storages and only kept my usb drive. I did follow and instruction so i reckon the drive created should be usable but somehow nothing happened. Any other idea that may help with this situation please? Thank you. KC
Well first, try booting a different computer from that drive. If that works, then the image on the drive is bootable. If it doesn't work, you messed up the instructions to make the drive bootable. Then, after you know it boots, add the required files for flashing the bios. For safety, obviously don't then try that in your other computer although if not the correct board, one would hope the flasher errors, but why take the risk right? This is just a dos bootable volume. It's not impossible and the tools I linked do work.
I've gone and done the same, usb disabled. DOH Im happy to try the method jetguy found, but the link to the FW is dead for me: http://download.udoo.org/files/UDOO_X86/UEFI_update/UDOOX86_B02-Bios_Update_rel101.zip Is there an updated link now? or a tool to reset the board?
Correct, because they just released firmware version 2. So, just grab from this page http://www.udoo.org/docs-x86/Advanced_Topics/UEFI_update.html I also just updated the opening post in this thread with the new page links as well as the tutorial i made to point to the UEFI page for future versions and updates.
Finally i have time to review everything. I used what Jetguy shared and created 1 bootable usb drive as well as another one via Rufus. Both of them are able to boot on my Macbook but neither of them could work on my another SBC (Lattepanda). Somehow my Udoo no longer starts with its big logo. As long as it boots, it jumps to EFI Shell directly but yet, as the keyboard is not usable (XHCI controller was accidentally disabled), i cannot do anything but to switch it off. Are there any solutions that cross your mind or i should request for RMA, which i consider a last resort (( Thanks everyone.
"created 1 bootable usb drive as well as another one via Rufus." If you disabled USB you cannot boot from USB. This is why you have to make a medium it can boot from. Since SD had issues on the original version 1 firmware and if you have not upgraded to the new version of firmware and disabled the USB function, then you MUST make it a medium the firmware can read in this state. That leaves either external SATA or M.2 SSD. Which is why I went into great detail of how I made an EXTERNAL SATA drive adapter, had to ensure I could also plug that external sata drive into the other computer to write the required file structure to make it bootable, and then and only then will UDOO X86 even have a chance to boot from it. Again, the interface pretty much has to be SATA or M.2.
I've gotten your point now. As mentioned since i can only see the EFI shell interface when the board is started without UDOO logo being seen. Would above approach still work? If yes I am gonna buy a converter which would allow me to make my M.2 SSD into a bootable SSD. Cheers!
Yes, your board is absolutely recoverable and in the same state I was in. The instructions can and will work. It's just a matter of you have to write the bootable file system to a drive it can boot from in this state. The instructions remain the same because on the computer you write this file system to, the device is just another volume. Again, the idea is that if you can write the file system to some SATA bootable device, include the flashing tools, include the firmware file, it should run and flash the firmware. Also note, it looks like it's flashing twice but this is how the update works. DO NOT power off until it says to. Do not abort the process for any reason or else you will brick the UDOO X86 and then have no choice but to RMA it.