QEMU-Devel Archive on lore.kernel.org
 help / color / Atom feed
From: Paul Zimmerman <1772165@bugs.launchpad.net>
To: qemu-devel@nongnu.org
Subject: [Bug 1772165] Re: arm raspi2/raspi3 emulation has no USB support
Date: Tue, 06 Oct 2020 08:27:12 -0000
Message-ID: <160197283236.9718.5332984148780804081.malone@wampee.canonical.com> (raw)
In-Reply-To: <152673688616.9061.7617411809661975686.malonedeb@chaenomeles.canonical.com>

You need to use -M raspi2 (or -M raspi3 for 64-bit kernels) to enable
the Raspberry Pi emulation. And you need version 5.1 or newer of Qemu to
get the dwc2 USB emulation. I don't think any Linux distributions
provide that new of a Qemu, so you might have to build it yourself.

Here is the command line I use to run the Raspbian image 2019-09-26
-raspbian-buster.img. I extracted bcm2709-rpi-2-b.dtb and kernel7.img
from the FAT partition inside the image file.

qemu-system-arm -M raspi2 -drive file=2019-09-26-raspbian-
buster.img,format=raw,if=sd -dtb bcm2709-rpi-2-b.dtb -kernel kernel7.img
-append 'rw earlycon=pl011,0x3f201000 console=ttyAMA0 loglevel=8
root=/dev/mmcblk0p2 fsck.repair=yes net.ifnames=0 rootwait memtest=1
dwc_otg.fiq_fsm_enable=0' -serial stdio -no-reboot -netdev user,id=net0
-usb -device usb-kbd -device usb-tablet -device usb-net,netdev=net0

That should give you a graphical emulation with working keyboard, mouse
and networking. Mass-storage also works, but I left that out for

But note that if you absolutely must pass-through a USB device from the
host, it probably won't work. That's because the dwc2 controller
emulation is connected through a full-speed hub emulation, so unless
your USB device is connected at full-speed on the host, it probably
won't work.

You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.

  arm raspi2/raspi3 emulation has no USB support

Status in QEMU:

Bug description:
  Using Qemu 2.12.0 on ArchLinux.

  Trying to emulate arm device with `qemu-system-arm` and attach usb
  device for unput using

  ` -usb -device usb-host,bus=001,vendorid=0x1d6b,productid=0x0002 `

  # lsusb returns

  Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  Bus 001 Device 014: ID 13d3:3487 IMC Networks 
  Bus 001 Device 004: ID 0457:11af Silicon Integrated Systems Corp. 
  Bus 001 Device 003: ID 0bda:57e6 Realtek Semiconductor Corp. 
  Bus 001 Device 002: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
  Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

  # qemu returns
  qemu-system-arm: -device usb-host,bus=001,vendorid=0x1d6b,productid=0x0002: Bus '001' not found

  Tried with connecting external usb keyboard but that didn't seem to work either.

To manage notifications about this bug go to:

  parent reply index

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-19 13:34 [Qemu-devel] [Bug 1772165] [NEW] qemu-system-arm: -device usb-host, bus=001, vendorid=0x04f2, productid=0x0111: Bus '001' not found George
2018-05-19 13:43 ` [Qemu-devel] [Bug 1772165] " Peter Maydell
2018-05-19 13:53 ` George
2018-05-19 16:15 ` Peter Maydell
2018-05-19 17:04 ` George
2018-05-19 17:49 ` Peter Maydell
2018-05-19 19:07 ` George
2018-05-19 19:33 ` Peter Maydell
2018-05-19 19:58 ` George
2018-05-22  7:43 ` Gerd Hoffmann
2018-06-01 16:05 ` Peter Maydell
2018-07-06 13:10 ` [Qemu-devel] [Bug 1772165] Re: arm raspi2/raspi3 emulation has no USB support Peter Maydell
2019-07-22 20:19 ` Aditya Govardhan
2019-07-23  8:52 ` Peter Maydell
2019-08-19  2:56 ` Weber Kai via Qemu-devel
2019-08-19  9:16 ` Peter Maydell
2019-08-19 12:44   ` Clement Deschamps
2019-08-19 14:47 ` Clement Deschamps
2019-08-20 12:59 ` Davide Bacilieri
2020-05-16 15:35 ` Doug Rabson
2020-05-17 20:36 ` Paul Zimmerman
2020-10-05 15:10 ` Dims
2020-10-05 20:11   ` mcandre
2020-10-06 10:35     ` Peter Maydell
2020-10-06 10:35       ` Peter Maydell
2020-10-05 21:46 ` Paul Zimmerman
2020-10-05 22:10 ` Paul Zimmerman
2020-10-06  7:36 ` Dims
2020-10-06  7:38 ` Dims
2020-10-06  8:27 ` Paul Zimmerman [this message]
2020-10-06  8:34 ` Paul Zimmerman
2020-11-17  9:47 ` Thomas Huth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=160197283236.9718.5332984148780804081.malone@wampee.canonical.com \
    --to=1772165@bugs.launchpad.net \
    --cc=qemu-devel@nongnu.org \


* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

QEMU-Devel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/qemu-devel/0 qemu-devel/git/0.git
	git clone --mirror https://lore.kernel.org/qemu-devel/1 qemu-devel/git/1.git
	git clone --mirror https://lore.kernel.org/qemu-devel/2 qemu-devel/git/2.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 qemu-devel qemu-devel/ https://lore.kernel.org/qemu-devel \
	public-inbox-index qemu-devel

Example config snippet for mirrors

Newsgroup available over NNTP:

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git