RE: Dell docking station & Dell Embedded Controller & PS/2 devices

From: Mario.Limonciello
Date: Mon May 07 2018 - 16:32:23 EST


> -----Original Message-----
> From: Limonciello, Mario
> Sent: Monday, May 7, 2018 3:30 PM
> To: 'Pali RohÃr'
> Cc: dmitry.torokhov@xxxxxxxxx; linux-input@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Subject: RE: Dell docking station & Dell Embedded Controller & PS/2 devices
>
> > -----Original Message-----
> > From: Pali RohÃr [mailto:pali.rohar@xxxxxxxxx]
> > Sent: Monday, May 7, 2018 3:28 PM
> > To: Limonciello, Mario
> > Cc: dmitry.torokhov@xxxxxxxxx; linux-input@xxxxxxxxxxxxxxx; linux-
> > kernel@xxxxxxxxxxxxxxx
> > Subject: Re: Dell docking station & Dell Embedded Controller & PS/2 devices
> >
> > On Monday 07 May 2018 20:18:30 Mario.Limonciello@xxxxxxxx wrote:
> > > > > > So I guess you could write a platform driver that would install i8042
> > > > > > filter on Dell laptops/portables, monitor keyboard data stream and kick
> > > > > > of rescans on serio ports. The problem is filter gets "serio" so you do
> > > > > > not really know whether ACK is spurious or not. And I would really
> > > > > > prefer keeping this crap out of atkbd proper... And all of this is racy
> > > > > > as hell. What happens if we get keyboard reconnected as we reinitialize
> > > > > > it?
> > > > >
> > > > > If it's done as a platform driver I would suspect it's possible to tell whether
> > > > > a dock is connected to at least give you some heuristic here to have a better
> > > > > guess whether it's spurious.
> > > >
> > > > Apparently checking for docking station is not enough. There are also
> > > > Dell Legacy Extenders (or how it is called) which exports internal PS/2,
> > > > Parallel and Serial Ports. It is also connecting to bottom of laptop.
> > > > But currently I do not have them for testing.
> > > >
> > > > > Pali on your system that supports this dock, check and see how many
> > > > > System Enclosure SMBIOS tables (structure type 03) are present.
> > > >
> > > > Do you mean DMI type 3 structure? Here is something from dmidecode:
> > > >
> > > > Handle 0x0003, DMI type 3, 22 bytes
> > > > Chassis Information
> > > > Manufacturer: Dell Inc.
> > > > Type: Laptop
> > > > Lock: Not Present
> > > > Version: Not Specified
> > > > Serial Number: --REMOVED--
> > > > Asset Tag: Not Specified
> > > > Boot-up State: Safe
> > > > Power Supply State: Safe
> > > > Thermal State: Safe
> > > > Security Status: None
> > > > OEM Information: 0x00000000
> > > > Height: Unspecified
> > > > Number Of Power Cords: 1
> > > > Contained Elements: 0
> > > > SKU Number: To be filled by O.E.M.
> > > >
> > > > But probably you mean something different?
> > >
> > > Plug in your dock before you boot up and see if you have a second structure like
> > > that type produced.
> >
> > I already started docked laptop via dock power button. And in dmidecode
> > output is only one DMI type 3 block.
> >
> > > If not, then I guess this isn't a reliable way to find the dock
> > > on that system and I'll have to see if there is another.
> >
> > Seems not. Also detection of dock should work also when you connect
> > laptop at system runtime, not only when connected prior to booting.
> >
>
> The items that show up in this structure are supposed to be dynamic
> values but static addresses. I was asking to check before bootup in
> case this was a problem of Linux caching SMBIOS table information once.
> The values I was referring to might be for older generation dock though,
> I'll see if I can find anything else you can check.

Can you check if structure type 08 or structure type 09 change based on
dock being plugged in? Again you might have to do it across a boot
with/without dock in case of Linux kernel caches values.