Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 08 Sep 2001 19:32:17 +0900
From:      Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
To:        Juriy Goloveshkin <juriy@aviaport.ru>
Cc:        yokota@zodiac.mech.utsunomiya-u.ac.jp, current@freebsd.org, acpi-jp@jp.freebsd.org
Subject:   Re: [acpi-jp 1246] ACPI and PS/2 mouse problem 
Message-ID:  <200109081032.TAA01072@zodiac.mech.utsunomiya-u.ac.jp>
In-Reply-To: Your message of "Sat, 08 Sep 2001 11:09:55 %2B0400." <20010908110955.A921@aviaport.ru> 
References:  <200109061151.UAA20428@zodiac.mech.utsunomiya-u.ac.jp> <20010907134351.A1320@aviaport.ru> <200109071516.AAA26547@zodiac.mech.utsunomiya-u.ac.jp>  <20010908110955.A921@aviaport.ru> 

next in thread | previous in thread | raw e-mail | index | archive | help
Thank you for your report.

>On Sat, Sep 08, 2001 at 12:15:59AM +0900, Kazutaka YOKOTA wrote:
>> Please send me the entire dmesg output after you boot
>> the system with "boot -v" at the loader prompt.
>ok.
>> 
>> And do you have the following line in /boot/device.hints?
>> hint.psm.0.irq="12"
>yes. I tried with and without some lines in /boot/device.hints.
>attached outputs is with the following hints:
>hint.atkbd.0.at="atkbdc"
>hint.atkbd.0.irq="1"
>hint.atkbd.0.flags="0x1"
>hint.psm.0.at="atkbdc"
>hint.psm.0.irq="12"
>hint.vga.0.at="isa"
>hint.sc.0.at="isa"
>hint.sc.0.flags="0x100"
>hint.vt.0.at="isa"
>hint.pmtimer.0.at="isa"
>hint.spic.0.at="isa"
>hint.spic.0.port="0x10a0"
>hint.acpi.0.disable=1

Your forgot to put the following lines in device.hints.

hint.atkbdc.0.at="isa"
hint.atkbdc.0.port="0x60"

See /sys/i386/conf/GENERIC.hints.

However, there definitely are some strange things about
ACPI and PnP BIOS in your machine...

Your first dmesg: the acpi module is enabled.

>acpi0: <SONY   Z1      > on motherboard
>Timecounter "ACPI"  frequency 3579545 Hz
>acpi_timer0: <24-bit timer at 3.579545MHz> port 0x8008-0x800b on acpi0
>acpi_cpu0: <CPU> on acpi0
>acpi_tz0: <thermal zone> on acpi0
>acpi_button0: <Power Button> on acpi0
>acpi_pcib0: <Host-PCI bridge> port 0xcf8-0xcff on acpi0
[...]

>atspeaker0 port 0x61 on acpi0
>atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
                                             ~~~~~~~~~
>atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
>atkbd: the current kbd controller command byte 0047
>atkbd: keyboard ID 0x41ab (2)
>kbd0 at atkbd0
>kbd0: atkbd0, AT 101/102 (2), config:0x1, flags:0x3d0000
>atkbd1: unable to allocate IRQ
>psm0: unable to allocate IRQ
>atkbd1: unable to allocate IRQ
>psm0: current command byte:0047
>psm0: <PS/2 Mouse> irq 12 on atkbdc0
>psm0: model GlidePoint, device ID 0-00, 2 buttons
>psm0: config:00006000, flags:00000000, packet size:3
>psm0: syncmask:c0, syncbits:00
>psmcpnp0 irq 12 on acpi0

The PS/2 mouse is detected. But, the AT keyboard driver
is assigned with port resources 0x64 and 0x60; the order should
normally be 0x60, then 0x64...

Your second dmesg: the acpi module is disabled.
As you don't have 

hint.atkbdc.0.at="isa"
hint.atkbdc.0.port="0x60"

in device hints, the kernel tried to attach the keyboard
controller, keyboard and PS/2 mouse based on the PnP BIOS
information. This should normally work, despite the missing
above lines in device.hints, because the information
supplied by the PnP BIOS is supporsed to be correct. But, see below.

[...]
>pnpbios: 17 devices, largest 210 bytes
>PNP0c02: adding fixed memory32 range 0xfff80000-0xffffffff, size=0x80000
[...]
>pnpbios: handle 15 device ID SNY7001 (0170d9cd)
>PNP0401: adding io range 0x378-0x37f, size=0x8, align=0x1
>PNP0401: adding io range 0x778-0x77f, size=0x8, align=0x1
>PNP0401: adding irq mask 0x80
>PNP0401: adding dma mask 0x8
>pnpbios: handle 18 device ID PNP0401 (0104d041)
>pnpbios: handle 20 device ID PNP0f13 (130fd041)
                              ~~~~~~~
This is the PS/2 mouse reported by the PnP BIOS. It should be
assigned with the "irq mask 0x1000". But it's missing here!

>atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 irq 1 on isa0
>atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
>kbd0 at atkbd0
>kbd0: atkbd0, AT 101/102 (2), config:0x1, flags:0x3d0000
>atkbd1: unable to allocate IRQ
>psm0: unable to allocate IRQ
[...]

(The above failure is expected, and you can ignore.)

>psmcpnp0: <PS/2 mouse port> on isa0

You should see

psm0: <PS/2 mouse> irq 12 on atkbdc0
psmcpnp0: <PS/2 mouse port> irq 12 on isa0

at this point. But, because the irq was not assigned to the PS/2
mouse node earlier by the PnP BIOS, the mouse failed to attach.

I have never seen this failure before ;-(

I will think about what I can do...

Kazu

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200109081032.TAA01072>