Windows 98 doesn't detect mouse on qemu and SeaBIOS.

Bug #521994 reported by Kusanagi Kouichi
56
This bug affects 10 people
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Undecided
Unassigned
Nominated for Trunk by David Johnston
qemu-kvm (Debian)
Fix Released
Unknown

Bug Description

A windows 98 guest doesn't detect mouse on recent qemu. I bisected and the result is

fd646122418ecefcde228d43821d07da79dd99bb is the first bad commit
commit fd646122418ecefcde228d43821d07da79dd99bb
Author: Anthony Liguori <email address hidden>
Date: Fri Oct 30 09:06:09 2009 -0500

    Switch pc bios from pc-bios to seabios

    SeaBIOS is a port of pc-bios to GCC. Besides using a more modern tool chain,
    SeaBIOS introduces a number of new features including PMM support, better
    BEV and BCV support, and better PnP support.

    Signed-off-by: Anthony Liguori <email address hidden>

I got following messages with DEBUG_BIOS

Start bios (version 0.5.1-20100111_132716-squirrel.codemonkey.ws)
Ram Size=0x08000000 (0x0000000000000000 high)
CPU Mhz=2271
Found 1 cpu(s) max supported 1 cpu(s)
PIIX3/PIIX4 init: elcr=00 0c
PCI: bus=0 devfn=0x00: vendor_id=0x8086 device_id=0x1237
PCI: bus=0 devfn=0x08: vendor_id=0x8086 device_id=0x7000
PCI: bus=0 devfn=0x09: vendor_id=0x8086 device_id=0x7010
region 4: 0x0000c000
PCI: bus=0 devfn=0x0b: vendor_id=0x8086 device_id=0x7113
PCI: bus=0 devfn=0x10: vendor_id=0x1013 device_id=0x00b8
region 0: 0xe0000000
region 1: 0xe2000000
region 6: 0xe2010000
MP table addr=0x000f89b0 MPC table addr=0x000f89c0 size=224
SMBIOS ptr=0x000f8990 table=0x07fffef0
ACPI tables: RSDP=0x000f8960 RSDT=0x07ffde30
Scan for VGA option rom
Running option rom at c000:0003
VGABios $Id$
Turning on vga console
Starting SeaBIOS (version 0.5.1-20100111_132716-squirrel.codemonkey.ws)

Found 0 lpt ports
Found 0 serial ports
ATA controller 0 at 1f0/3f4/c000 (irq 14 dev 9)
ATA controller 1 at 170/374/c008 (irq 15 dev 9)
ps2 irq but no data.
ata0-0: PCHS=812/16/63 translation=none LCHS=812/16/63
ata0-1: PCHS=1152/16/56 translation=none LCHS=1024/16/56
ps2_recvbyte timeout
keyboard initialized
Scan for option roms
Returned 53248 bytes of ZoneHigh
e820 map has 6 items:
  0: 0000000000000000 - 000000000009f400 = 1
  1: 000000000009f400 - 00000000000a0000 = 2
  2: 00000000000f0000 - 0000000000100000 = 2
  3: 0000000000100000 - 0000000007ffd000 = 1
  4: 0000000007ffd000 - 0000000008000000 = 2
  5: 00000000fffc0000 - 0000000100000000 = 2
enter handle_19:
  NULL
Booting from Hard Disk...
Booting from 0000:7c00
pnp call arg1=5
pnp call arg1=0
ps2_recvbyte timeout
ps2_recvbyte timeout
ps2_recvbyte timeout
ps2_recvbyte timeout

Revision history for this message
Daniel Bair (danielbair) wrote :

Running 10.04 beta on three different machines and on all the Win95 guest ps2 mouse emulation does not work.

Revision history for this message
francesco bat (nerobat2004) wrote :

I also confirm from Lubuntu 10.04 beta2.
Win98 on qemu doesn't detect mouse.
The sound also doesn't works.
I used the same image on Ubuntu 9.04 and it worked.
Bye
Francesco bat

Revision history for this message
Etcheverria (j-etcheverria) wrote :

I confirm that mouse is no more detected from version QEMU-0.12 running a Windows 3.1 on XP-PRO
In fact mouse seems to be "detected" (arrow is present and there is no warning message about lack of mouse) but the arrow doesn't move. (I created a new install with QEMU-0.12.3)
Bye
José

Revision history for this message
francesco bat (nerobat2004) wrote :

I confirm another time on Ubuntu 10.04 stable.
Win98 doesn't detect mouse.
Also the audio doesn't work !
Bye
Francesco bat

Changed in qemu:
status: New → Confirmed
Revision history for this message
Natalia Portillo (claunia) wrote :

I confirm this same bug appears in Windows 95, Windows Me and several XFree86 and X.Org versions, as well as DOS based Microsoft Mouse drivers.

Revision history for this message
jopo (erkki-laasonen) wrote :

I confirm also that mouse is not detected on Kubuntu 10.04 running qemu and Windows 98.

Revision history for this message
Will Taff (wrtaff) wrote :

I did find a workaround - I removed the BOCH BIOS package and QEMU package from my Lucid Install, and instead used the respective QEMU packages from 8.04 - this worked for me. I don't know if the most recent updates to the BIOS and QEMU packages will fix this or not - I might not try until I get confirmation that the new 10.04 packages are working.

Revision history for this message
Will Taff (wrtaff) wrote :

Apologies if I'm spamming this venue - truly just trying to be of assistance. Just got done installing the new updates to packages
 qemu bochsbios qemu-kvm seabios vgabios - still did not fix the failure to recognize the mouse.

Revision history for this message
Konstantin Khlebnikov (khlebnikov) wrote :

this is fix for other mouse-stuck problem, or maybe the same.

Revision history for this message
LightBit (lightbit8) wrote :

SeaBIOS 6.0 solved problem for me.

Revision history for this message
David Johnston (g478ba6) wrote :

Yes! Using SeaBIOS 6.0 worked for me as well. Thanks LightBit. I've been waiting for this for quite a while.

Changed in qemu-kvm (Debian):
status: Unknown → New
Changed in qemu-kvm (Debian):
status: New → Fix Committed
Revision history for this message
Kusanagi Kouichi (slash-ac) wrote :
Download full text (3.4 KiB)

Looks to be fixed by

commit 14ac15d3ac8e0ef1c91204e2ac772b6412a6b99e
Author: Anthony Liguori <email address hidden>
Date: Tue May 11 07:56:30 2010 -0500

    Update SeaBIOS

     - 7d09d0e Fix virtio compile errors on various gcc versions.
     - 89acfa3 Support for booting from virtio disks
     - 6d66316 smbios: avoid counting io hole as ram
     - e5cd945 Fix error causing USB HID "boot" protocol to not be enabled.
     - 0e88576 Add support for USB mice.
     - dd5a8a6 When USB keyboard active, don't send keyboard commands to ps2 port.
     - 5718d56 Document usb-hid.c functions.
     - e438b0c Further parallelize init when using CONFIG_THREAD_OPTIONROMS.
     - f59b5ac Handle unknown function addresses in tools/checkstack.py.
     - 9ba1dea Simplify build by manually resolving external symbols in layoutrom.py.
     - 698d3f9 USB EHCI should yield() whil waiting for controller to ack reset.
     - f9a774c Add __attribute__((__malloc__)) declaration to internal malloc funcs.
     - b7045ce Minor - remove redundant check from ata_try_dma.
     - 67f6d37 Fix possible unitialized variable issue in usb msc.
     - a7eb8fc Some improvements to optionrom preemption support.
     - d28b0fe Refactor USB hub code.
     - ba28541 Prep version for next release.
     - 12bffd5 Update version to 0.6.0.
     - 87ab2fb Improve USB EHCI timing.
     - d705e5a Disable inlining on old compilers.
     - bca0736 Force use of indirect function calls in inline assembler.
     - d7eb27e Don't move EBDA while an optionrom is running (CONFIG_THREAD_OPTIONROMS).
     - 7415270 Call to int1552 (from int1346) should set regs->dl.
     - 9dc243e Adjust debug levels of device discovery.
     - d9c9361 Default CONFIG_COREBOOT_FLASH on; make depend on CONFIG_COREBOOT.
     - c35e1e5 Restore segment limits in handle_1589 code.
     - 11cc662 Extend time for rtc to be ready.
     - 4ed378a Backup and restore registers when calling out to user funcs.
     - 68c5139 Enable irqs in kbd/clock calls that caller might "spin" on.
     - f628244 Process event on ps2 keyboard irq even if event already read.
     - a5d8458 Revert "Unify ps2 port data processing."
     - b9ed5e2 Handle variable length return of ps2 port GETID command.
     - 67a9eec Prevent ps2 irqs from messing up ps2 init.
     - 6704cf9 Revert "Rework disabling of ps2 port irqs."
     - 808939c Fix smp cpu detect on gcc 4.5.
     - a979c1c Improvements to tools/checkstack.py.
     - 190cc62 Add USB EHCI controller support.
     - 0770d67 Some USB UHCI and OHCI fixes and cleanups.
     - bfe7ca7 Minor - USB OHCI interrupt queue should be one larger.
     - 09e2f7c Reduce size of USB 'struct uhci_td'.
     - 406fad6 Dynamically allocate USB controller structures.
     - 4547eb9 Replace USB encoded 'u32 endp' scheme with explicit struct fields.
     - 8ebcac0 Further parallelize USB init by launching a thread per usb port.
     - e908665 Introduce simple "mutex" locking code.
     - 3b79f8b Only compile usb-hub.c and paravirt.c with 32bit code.
     - 357bdfa Prefer passing a USB "pipe" structure over a USB endp encoding.
     - 7fb8ba8 Add a generic "internal error" warning function.

    Signed-off-by: Anthony Li...

Read more...

Revision history for this message
Brad Hards (bradh) wrote :

Looks like this is fixed in qemu.

Changed in qemu:
status: Confirmed → Fix Committed
Changed in qemu-kvm (Debian):
status: Fix Committed → Fix Released
Thomas Huth (th-huth)
Changed in qemu:
status: Fix Committed → Fix Released
Revision history for this message
ruthan (ruthan) wrote :

Im using Mint 19.3 based on Ubuntu 18.04 with QEMU 2.11 from repository, keyboard is working but mouse not in Win98.

  Could someone else to restest it?

  Here is my Qemu starting script:
qemu-system-x86_64 -m 512 \
-machine type=pc-i440fx-bionic \
-smp 1,sockets=1,cores=1,threads=1 \
-vga cirrus \
-rtc clock=host,base=localtime \
-parallel none \
-balloon none \
-mem-prealloc \
-serial none \
-parallel none \
-L . \
-soundhw sb16,adlib,pcspk \
-boot order=cd \
-no-acpi \
-hda ./Win98-System.vmdk \
-cdrom ./Win98SE-ENG.iso \
-k en-us \
-net nic,model=rtl8139 -net user

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.