No psm with if_ath on current

Kevin Oberman oberman at es.net
Thu Oct 19 21:07:20 UTC 2006


> From: John Baldwin <jhb at freebsd.org>
> Date: Thu, 19 Oct 2006 16:55:51 -0400
> 
> On Thursday 19 October 2006 15:19, Kevin Oberman wrote:
> > > From: John Baldwin <jhb at freebsd.org>
> > > Date: Thu, 19 Oct 2006 13:12:43 -0400
> > > 
> > > On Thursday 19 October 2006 12:50, Kevin Oberman wrote:
> > > > 527,533c548
> > > > < psmcpnp0: <PS/2 mouse port> irq 12 on acpi0
> > > > < psm0: current command byte:0047
> > > > < psm0: <PS/2 Mouse> flags 0x2000 irq 12 on atkbdc0
> > > > < psm0: [GIANT-LOCKED]
> > > > < psm0: model Generic PS/2 mouse, device ID 0-00, 2 buttons
> > > > < psm0: config:00002000, flags:00000008, packet size:3
> > > > < psm0: syncmask:c0, syncbits:00
> > > > ---
> > > > > acpi_ibm0: <IBM ThinkPad ACPI Extras> irq 12 on acpi0
> > > > 549d563
> > > > < acpi_ibm0: <IBM ThinkPad ACPI Extras> on acpi0
> > > 
> > > This is odd.  Do you have your ASL handy, and can you show the
> > > 'devinfo -v' line for acpi_ibm0 for the 2 cases (w/ if_ath and w/o)?
> > 
> > The ASL is available at:
> > <http://home.comcast.net/~ykoberman/FreeBSD/T43.asl> 
> > 
> > if_ath loaded before boot. No psm found.
> >     acpi_ibm0 pnpinfo _HID=IBM0057 _UID=0 at handle=\_SB_.PCI0.LPC_.MOU_
> > 
> > if_ath loaded after boot. psm available.
> >     acpi_ibm0 pnpinfo _HID=IBM0068 _UID=0 at 
> handle=\_SB_.PCI0.LPC_.EC__.HKEY
> > 
> > If I understand this (and I probably don't) this is really weird.
> 
> Yeah, your mouse normally has an ACPI ID of IBM3870, not 0057.  That's really 
> odd.
> 
>                 Device (MOU)
>                 {
>                     Name (_HID, EisaId ("IBM3780"))
>                     Name (_CID, 0x130FD041)
>                     Name (_CRS, ResourceTemplate ()
>                     {
>                         IRQNoFlags ()
>                             {12}
>                     })
>                     Method (MHID, 0, NotSerialized)
>                     {
>                         If (\_SB.PCI0.LPC.PADD)
>                         {
>                             Store (0x80374D24, _HID)
>                         }
>                         Else
>                         {
>                             Store (0x57004D24, _HID)
>                         }
>                     }
>                 }
> 
> Oh, wait, the MHID thing changes it.  Hmm, PADD is some byte (bit?) in
> memory and it's getting changed for some reason.  You can sabotage
> your ASL and use a custom DSDT that always forces it to IBM3780.  You
> can also maybe hack acpi_ibm to not attach to a device that matches
> the PS/2 mouse device.  Or give acpi_ibm a lower priority than the psm
> driver.  You can do this it looks like by just changing
> acpi_ibm_probe() to return BUS_PROBE_DEFAULT instead of 0 on success.

Ah. This all makes sense (and is still weird), but why does having
if_ath loaded trigger the problem? I may be missing something
fundamental, but I don't see the link. Does probing ath cause the probes
to re-order or something?

I'll take a look at hacking acpi_ibm in a bit. I get uncomfortable about
hacking the DSDT, although I have done it in the past for broken cases
(like my old K6-3 system).

Thanks!
-- 
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman at es.net			Phone: +1 510 486-8634
Key fingerprint:059B 2DDF 031C 9BA3 14A4  EADA 927D EBB3 987B 3751
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 224 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-mobile/attachments/20061019/298b4b89/attachment.pgp


More information about the freebsd-mobile mailing list