Kaushik Shrestha
Kaushik Shrestha

Reputation: 932

Mouse and keyboard not working in qemu emulation of beagleboard with latest angstrom image

I was trying to emulate an angstrom image for beaglexm in qemu on my Ubuntu 12.04 laptop. In a new window the image boots up and autologins into GNOME shell. But keyboard and mouse remains unresponsive.

I gave the following command:

qemu-system-arm -M beaglexm -m 1024 -sd Angstrom-TI-GNOME-image-eglibc-ipk-v2012.01-core-beagleboard-2012.01.11.img -clock unix -serial stdio -device usb-mouse -device usb-kbd -net nic -net user,hostfwd=::2222-:22

As the emulation starts, following log is generated on the parent terminal

Warning: vlan 0 with no nics
Warning: requested NIC (anonymous, model unspecified) was not created (not supported by this machine?)
U-Boot SPL 2011.12-00006-gb1fd369 (Dec 30 2011 - 09:48:45)
OMAP SD/MMC: 0
reading u-boot.img
.
U-Boot 2011.12-00006-gb1fd369 (Dec 30 2011 - 09:48:45)
OMAP36XX/37XX-GP ES1.1, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz
OMAP3 Beagle board + LPDDR/NAND
I2C:   ready
DRAM:  512 MiB
NAND:  256 MiB
MMC:   OMAP SD/MMC: 0
*** Warning - bad CRC, using default environment
.
ERROR : Unsupport USB mode
Check that mini-B USB cable is attached to the device
In:    serial
Out:   serial
Err:   serial
Beagle xM Rev A
No EEPROM on expansion board
No EEPROM on expansion board
Die ID #51454d5551454d555400000051454d55
Net:   Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot:  0
The user button is currently NOT pressed.
SD/MMC found on device 0
reading uEnv.txt
.
13 bytes read
Loaded environment from uEnv.txt
Importing environment from mmc ...
Loading file "/boot/uImage" from mmc device 0:2 (xxa2)
3372316 bytes read
Booting from mmc ...
## Booting kernel from Legacy Image at 80200000 ...
   Image Name:   Angstrom/3.0.14/beagleboard
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3372252 Bytes = 3.2 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK
.
Starting kernel ...
.
Uncompressing Linux... done, booting the kernel.
omap2_inth_read: Bad register 0x000020
omap_i2c_write: Bad register 0x0000d0
omap_i2c_write: Bad register 0x0000d0
omap_i2c_write: Bad register 0x0000d0
omap_i2c_write: Bad register 0x0000d0
omap_i2c_write: Bad register 0x0000d0

After the image completely boots up into shell, the keystroke is not responsive but logs the following in the parent terminal:

usb-kbd: warning: key event queue full

I tried a solution given here by building latest linaro-qemu from scratch but same result.

Also I am not able to ssh into this running image. I issued the following command

ssh -p 2222 root@localhost

It is simply refusing the connection

Upvotes: 3

Views: 6024

Answers (1)

Zafrullah Syed
Zafrullah Syed

Reputation: 1268

The reason for this unresponsive keyboard and mouse is that, you need to specify host's USB bus number with device number for USB Pass-Through.

$ lsusb enter image description here

My keyboard bus number is 002 and address is 001. So, change your command based on your device number and address.

Assuming the same keyboard number and address, your command will be as follows:

qemu-system-arm -M beaglexm -m 1024 -sd Angstrom-TI-GNOME-image-eglibc-ipk-v2012.01-core-beagleboard-2012.01.11.img -clock unix -serial stdio -serial stdio -usb -device usb-host,hostbus=2,hostaddr=1

Add your mouse in the same way as keyboard. If there is no cursor pointer you can add -show-cursor to your command.

Upvotes: 1

Related Questions