Mysterious ANSI codes prevent booting
My UP2 boots into the BIOS password prompt. This prompt is then filled with *'s, as if text is being typed into it rapidly. I can't type anything into it, and pressing ENTER has no effect. CTRL-ALT-DEL reboots the UP2, so my keyboard works.
I think this behaviour started after I connected the 2xUSB+debug UART cable. However removing the cable has had no effect.
When the problem first occured, the system did boot into the GRUB prompt of the installed Ubuntu Linux and also into the GRUB prompt. From seeing what was being typed at that prompt I noted that these are various ANSI escape codes and ENTER's. However after I managed to get into the BIOS one time the random typing probably changed some settings as the UP2 now doesn't boot into GRUB anymore, not from the installed Ubuntu Linux nor from an USB boot drive.
My theory is that the system thinks that the debug UART is activated and as it is by default configured as ANSI terminal it keeps sending ANSI escape codes to clear the screen etc. But somehow these end up in the keyboard buffer rather than on the debug UART. When I could still boot into GRUB and with the debug UART connected I did not receive anything from the UP2 but I could type commands from my serial terminal 'into' the UP2.
What I've tried:
- Starting without anything except HDMI cable connected
- Starting without any cable (except power) connected
- Starting with HDMI and USB keyboard connected and tapping F7 (for UEFI menu) or DEL (for BIOS menu)
- Starting with HDMI and debug UART and sending F7 in the terminal window
- Disconnecting power and battery and letting it stay that way overnight
- Flashing various BIOS versions (1.8, 2.1, 3.3, 4.0), with MiniPro TL866A programmer, 1.8V converter and SOIC8 debug clip direct on the W25Q128FW flash chip
- Flashing BIOS dump from my other UP2 with 'Console Redirection' disabled in the Serial Port Console Redirection menu
All this either leads to a non-starting UP2 (some BIOS flashes) or to the situation staying as it was.
Can anybody from AAEON please advise what I could do to resolve this?
- Any idea what could have caused this?
- Since some serial debug console seems to be active, how can I connect to this?
- Is this solvable by flashing a BIOS?
- Is there a way to reset everything to default?
- What is the expected behaviour of connecting the debug UART?
Anybody else with debug UART experience please chime in.
I'm a little bit hesitant to experiment with my other UP2, as I don't want to loose them both...
Comments
-
UPDATE:
- I connected the debug UART connector/cable to a USB2Serial converter (3.3v) to my laptop and pressed ESC many times. Now the system boots normally IF I have the USB2Serial connectg. Probably the ANSI characters are then sent to the serial port then, but I don't see anything appear on my laptop. I can control the BIOS menu from my laptop. If I disconnect the USB2Serial and reboot I'm now back into the GRUB prompt, where I can see the characters:
grub> [2J
grub> [1;1H
grub> [0;37;40m
being repeated until I press ENTER
More questions to AAEON:
- Is the debug UART 3.3v or 1.8v?
I've turned Serial Console Redirection off now so I can boot normally and use the two extra USB ports from the 2xUSB+debug UART cable.
- I connected the debug UART connector/cable to a USB2Serial converter (3.3v) to my laptop and pressed ESC many times. Now the system boots normally IF I have the USB2Serial connectg. Probably the ANSI characters are then sent to the serial port then, but I don't see anything appear on my laptop. I can control the BIOS menu from my laptop. If I disconnect the USB2Serial and reboot I'm now back into the GRUB prompt, where I can see the characters:
-
@Jeroen van Jaarsveld
You can try to remove the CMOS battery to reset the BIOS on UP.
And, the I/O voltage of the debug UART is 3.3v -
@rogertsai(AAEON)
Thanks for the suggestion. I have tried both with and without CMOS battery (even leaving it without battery overnight) but the issue remains.Are you are able to replicate the issue?
-
@Jeroen van Jaarsveld
No, I have not seen this, and i don't understand what you need to type the * key in BIOS password prompt.
The default user mode password is an empty string, just press Enter key to access the BIOS.
However, have you ever tested it on windows 10? Plus, you can take a video of this issue and share it with us via google drive or youtube -
@rogertsai(AAEON)
This is not about me needing to type *'s, this is about characters being automatically being typed into they keyboard buffer that:- if you are in the password prompt happen to be displayed as *'s because what you type in the password prompt is hidden.
- If I happen to be in the Grub prompt, they are visible as the ANSI escape codes in my 2nd post.
- If I change the debug UART terminal type in the BIOS settings, the characters that are being typed change as well
This input is somehow generated when the debug UART is enabled in the BIOS settings. If I disable the debug UART in the BIOS settings then the issue doesn't happen. But this only started happening after I had the debug UART + 2xUSB cable connected. But after that, even when I have it disconnected it still happens.