Re: (accidentally unicasted) Re: In which a touchscreen is rehabilitated, or: How I learned to stop being scared and just hack at /usr/src/sys/dev

Arto Pekkanen <[email protected]>
Newsgroups gmane.os.freebsd.devel.hardware
Message-ID <[email protected]>
I was just being direct in regards to having a new feature contributed,
instead of it drowning into the noise of a mailing list, which tends to
happen too often. Especially support for new devices are needed.

As for getting the patch approved and MFC'd, read this first:
https://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing/contrib-how.html

A direct quote from above:
"Once you have a set of diffs (which you may test with the patch(1)
command), you should submit them for inclusion with FreeBSD as a bug
report."

To learn how to report a bug report:
https://www.freebsd.org/support/bugreports.html

A web based platform is used to submit and track the problem report.
This is better for the maintainers than using mailing lists.

Thanks.

On 23.2.2017 2:08, Large Hadron Collider wrote:
> Hey, sorry to piss you off but I do not know how to do this.
> 
> 
> On 22/02/2017 13:11, Arto Pekkanen wrote:
>> Please contribute your patch and get it approved and MFC'd by
>> maintainers so that other people who are not knowledgeable enough can
>> have the thing working without having to figure out how to hack and
>> patch the kernel. Thanks.
>>
>> On 21.2.2017 2:49, Large Hadron Collider wrote:
>>> (Apologies if this doesn't line break at 79 chars - full formatting in
>>> HTML but this may be lost - shouldn't lose any info though)
>>>
>>> Good day subscribers to this list.
>>>
>>> I'm here with what could be described as a success story and a patch in
>>> the same e-mail.
>>>
>>> Please do stop me if WACF00E has already been slated for the next major
>>> release - but I would like to share how I got my HP Elitebook 2760p's
>>> touchscreen working.
>>>
>>> So I, a former and now again user of FreeBSD (I got hacked the first
>>> time... silly Ellie shouldn't give shells to strangers, should she now?)
>>> have a laptop whose screen is touch-capable, and whose touchscreen
>>> subsystem is based on a serial Wacom tablet.
>>>
>>> It worked under Linux and too I presume Windows (with which the laptop
>>> shipped), but not FreeBSD. I thought, what was going on? What was I
>>> doing wrong? So after some poking around I discovered that the screen is
>>> a WACF00E - not supported in 11.0-RELEASE-p1 by the driver that handles
>>> the UART.
>>>
>>> It showed
>>>
>>>      unknown pnpinfo _HID=WACF00E _UID=0 at
>>> handle=\_SB_.PCI0.LPCB.SIO_.DIGI
>>>
>>> as the devinfo line.
>>>
>>> Intriguingly, there was this line in uart_bus_acpi.c:static struct
>>> isa_pnp_id acpi_ns8250_ids[]:
>>>
>>>      {0x04f0235c, "Wacom Tablet PC Screen"},         /* WACF004 */
>>>
>>> So I thought what the hell, I'd copy that line under itself and change
>>> 04f0 (which is byte-swapped, counterintuitively) to 0ef0, representing
>>> WACF00E.
>>>
>>> Adding this:
>>>
>>>      {0x0ef0235c, "Wacom Tablet PC Screen 00e"}, /* WACF00e */
>>>
>>> to uart_bus_acpi.c and this:
>>>
>>>      {0x0ef0235c, NULL},     /* WACF004 - Wacom Tablet PC Screen*/
>>>
>>> (Yes it should read WACF00E in the comment) under the WACF004 entry in
>>> uart_bus_isa.c, then recompiling and installing in whatever way your
>>> configuration might demand seems to make the kernel detect the tablet as
>>> a UART.
>>>
>>> So it detected it, and the dev file was /dev/cuau4, for uart4, the
>>> WACF00E (it was ttyS4 under Linux).
>>>
>>> Great. X didn't detect it on its own, but that let me debug it using
>>> Minicom, which I promptly installed.
>>>
>>> After telling Minicom to use /dev/cuau4 as the modem, and telling it to
>>> use 38400 8N1, touches to the screen resulted in what can only be
>>> described as euphoric garbage, indicating that this ugly hack on top of
>>> hack alert worked.
>>>
>>> So I set up /usr/local/etc/X11/xorg.conf.d/wacom.conf to include
>>> (slightly amended from my actual setup, which only has ISDV4 in the
>>> stylus but still works for touch, haven't tested for stylus):
>>>
>>> Section "InputDevice"
>>>      Identifier    "wacom stylus"
>>>      Driver        "wacom"
>>>      Option        "Type"            "stylus"
>>>      Option        "Device"        "/dev/cuau4"
>>>      Option        "ForceDevice"        "ISDV4"
>>>      Option          "AutoServerLayout"    "true"
>>> EndSection
>>>
>>> Section "InputDevice"
>>>      Identifier    "wacom eraser"
>>>      Driver        "wacom"
>>>      Option        "Type"            "eraser"
>>>      Option        "Device"        "/dev/cuau4"
>>>      Option        "ForceDevice"        "ISDV4"
>>>      Option          "AutoServerLayout"    "true"
>>> EndSection
>>>
>>> Section "InputDevice"
>>>      Identifier    "wacom touch"
>>>      Driver        "wacom"
>>>      Option        "Type"            "touch"
>>>      Option        "Touch"            "on"
>>>      Option        "Device"        "/dev/cuau4"
>>>      Option        "ForceDevice"        "ISDV4"
>>>      Option          "AutoServerLayout"    "true"
>>> EndSection
>>>
>>> Restarted X, and after
>>>
>>>      % xsetwacom set "wacom touch" Touch on
>>>
>>> (I didn't initially have Touch on in the options list for "wacom touch")
>>> it was almost like striking platinum in a gold mine or something when
>>> the mouse just followed my finger the way I was used to it doing so
>>> under Linux.
>>>
>>> To those of you who say that FreeBSD will never be ready for the
>>> desktop, you're only right when you're talking to newbs. And this is
>>> living proof that if you know some C and you're intrepid enough,
>>> miracles really can happen.
>>>
>>> _______________________________________________
>>> [email protected] mailing list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-hardware
>>> To unsubscribe, send any mail to
>>> "[email protected]"
> 
> _______________________________________________
> [email protected] mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hardware
> To unsubscribe, send any mail to "[email protected]"

-- 
Arto Pekkanen
signature.asc (application/pgp-signature, 213 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iF4EAREIAAYFAliuMWgACgkQTBivhqtJa25VawD+JEfT8v7rD1vdjQakGxoUoAux
c9M0dFnhc/J4TQoavc4BAIxCPwvrt37uVFQFLxQFhrgDtCmG/ANPIe6nhLc63TgL
=e1Uf
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.