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