Skip to content

How to Fix ‘setkeycodes 00’ and ‘Unknown key pressed’ Console Errors on OpenStack!

Earlier today, I wrote an updated tutorial on using devstack to install OpenStack on a single Ubuntu 16.04 server.  That deployment went so smooth it was no surprise when I ran into a roadblock when trying to console into my first instance.

 

The Problem

 

When accessing the console through the web browser, I wasn’t able to use the keyboard.  Every time I hit any key, these two lines would display in the console:

 

[ 74.003678] atkbd serio0: Use 'setkeycodes 00 <keycode>' to make it known.

[ 74.004462] atkbd serio0: Unknown key pressed (translated set 2, code 0x0 on isa0060/serio0).

 

use_setkeycodes_unknown_key_pressed_error_VNC_console_openstack

 

That’s a first! I couldn’t type anything in the console.  After some reasearch I found out the culprit was a bug in the version of noVNC deployed in my OpenStack environment, v0.6.1.  You can find out more information in the bug report here.  Fortunately, the fix is easy.

 

How to Fix the Console

 

To fix your possessed console, you need only run a single command, from the proper directory, of course.  We will fix this by installing a version of noVNC that’s just a little bit older (v0.6.0), and known to work without any issues.  If you catch this before deploying Openstack, you can add NOVNC_BRANCH=v0.6.0 to your local.conf and it will keep you from ever having this problem.  For the rest of us, do this.

 

sudo su stack

cd /opt/stack/noVNC

git checkout v0.6.0

 

After running git, your going to see some warnings.  You can safely ignore them.  The important bit is that you see this line at the bottom.

 

HEAD is now at 5230ab6..... Release 0.6.0

 

Pay close attention to the bottom of my terminal window.

 

setkeycodes_00_fix

 

Now, log out of the OpenStack Horizon Dashboard, and log back in.  Everything should work perfectly now!

 

I hope you found this tutorial useful!  If you ran into any problems or just want to say hi, feel free to do so in the comments below!  Thanks!