qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

usb-audio and Mac OS 9.x guests on qemu-system-ppc


From: Howard Spoelstra
Subject: usb-audio and Mac OS 9.x guests on qemu-system-ppc
Date: Tue, 23 Mar 2021 21:50:00 +0100

Hi Gerd,

I'm having issues with -device usb-audio and Mac OS 9.x guests on
qemu-system-ppc.
Command line used:

./qemu-system-ppc -M mac99 -L pc-bios \
-m 512 -boot c \
-device usb-audio \
-drive file=MacOS9.0.img,format=raw,media=disk \
-trace "usb*"

Some logging below from Mac OS 9.0 and Fedora 12 guests. A screen shot
of some usb logging inside the Mac OS 9 guest is also attached.

For Mac OS 9.0 guest -trace "usb*" shows:
usb_ohci_mem_write_bad_offset 0x30
(which also happens with -device usb-mouse and -device usb-kbd.)

usb_ohci_td_packet_status status=0
usb_ohci_reset pci-ohci
usb_ohci_stop pci-ohci: USB Suspended
usb_ohci_set_ctl pci-ohci: new state 0x0
usb_ohci_stop pci-ohci: USB Suspended
usb_ohci_port_detach port #0
usb_ohci_port_attach port #0
usb_ohci_mem_write_bad_offset 0x30
usb_ohci_set_ctl pci-ohci: new state 0x80
usb_ohci_start pci-ohci: USB Operational
usb_ohci_hub_power_up powered up all ports
usb_ohci_set_ctl pci-ohci: new state 0x0
usb_ohci_stop pci-ohci: USB Suspended
usb_ohci_port_detach port #0
usb_ohci_port_attach port #0
usb_ohci_set_ctl pci-ohci: new state 0x80
usb_ohci_start pci-ohci: USB Operational
usb_ohci_hub_power_up powered up all ports
usb_ohci_hub_power_up powered up all ports
usb_ohci_hub_power_up powered up all ports
usb_ohci_port_reset port #0

Log halts here, unless usb is probed from inside the guest with usb probe tool.
After this probing, logging continues, but the guest desktop then
becomes unresponsive after some time. (When I also use -device
usb-mouse and -device usb-kbd, I can see in the logging that these
device are actually still working even though mouse clicks are no
longer consumed by the OS)

When logging with Fedora12 guest, I see this a this stage:
usb_ohci_td_packet_status status=0
usb_ohci_reset pci-ohci
usb_ohci_stop pci-ohci: USB Suspended
usb_ohci_set_ctl pci-ohci: new state 0x0
usb_ohci_stop pci-ohci: USB Suspended
usb_ohci_port_detach port #0
usb_ohci_port_attach port #0
usb_ohci_reset pci-ohci
usb_ohci_stop pci-ohci: USB Suspended
usb_ohci_set_ctl pci-ohci: new state 0x80
usb_ohci_start pci-ohci: USB Operational
usb_ohci_hub_power_up powered up all ports
usb_ohci_port_reset port #0
usb_ohci_port_reset port #0
usb_ohci_port_reset port #0
usb_ohci_port_reset port #0
usb_ohci_port_reset port #0

Before the Mac OS desktop becomes unresponsive I see (what seems to
me) a load of retries in iso transfers.

frame_number 0x0000fa3f starting_frame 0x0000fa3e
frame_count  0x00000007 relative 1
frame_number 0x0000fa40 starting_frame 0x0000fa3e
frame_count  0x00000007 relative 2
frame_number 0x0000fa41 starting_frame 0x0000fa3e
frame_count  0x00000007 relative 3
frame_number 0x0000fa42 starting_frame 0x0000fa3e
frame_count  0x00000007 relative 4

etc....up to relative 7 or so, continuing for thousands of lines.

A log from Fedora 12 guest shows that these frames mostly are relative 0:
frame_number 0x00005358 starting_frame 0x00005358
frame_count  0x00000000 relative 0

In the log on the Mac OS 9.0 side (screen shot attached) I see
isoch transfers that seem faulty as it mentions that frames are called
from too far ahead.
It also mentions that that a "wr gap" is becoming too to big. Finally
the sytem becomes unresponsive.

Perhaps you have some idea what might be causing these issues and the
hangup? And what causes the bad_offset? I searched around in the qemu
archives and found an email (from 2015) adressing usb-audio and Mac OS
guests, in which it was suggested that a buffer increase could help.

Best,
Howard

Attachment: usb-audio-macos9.png
Description: PNG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]