From nobody Tue Aug 10 04:03:12 2021
X-Original-To: usb@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 6D1DB1751912
	for <usb@mlmmj.nyi.freebsd.org>; Tue, 10 Aug 2021 04:03:20 +0000 (UTC)
	(envelope-from mark@kane.mn)
Received: from stinger.tntpowerhost.com (stinger.tntpowerhost.com [104.128.58.83])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA512
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "stinger.tntpowerhost.com", Issuer "R3" (verified OK))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4GkK7C3f4Fz4tRk;
	Tue, 10 Aug 2021 04:03:19 +0000 (UTC)
	(envelope-from mark@kane.mn)
Received: from stinger.tntpowerhost.com (localhost [127.0.0.1])
	by stinger.tntpowerhost.com (OpenSMTPD) with ESMTP id 0a9af403;
	Mon, 9 Aug 2021 23:03:12 -0500 (CDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kane.mn; h=
	mime-version:date:from:to:cc:subject:in-reply-to:references
	:message-id:content-type:content-transfer-encoding; s=stinger;
	 bh=WgMZKFkNmuW+FGfcIHreZuS0iTLeFHsbbjpUZJn7z/c=; b=TaZMhWyd6G/R
	Ms2jEvOdbzfZRu+ppRG0ucuYdPCmkvU8YydMemDd3HWC/lNN0hCmIV0hJal7v5u3
	rgVhS8Pt+z6bGANkMLkGqp0I3e+9mXi3GDIcBFDZxlXsDPCmjAAwedShgycZ6mfz
	8WYHqKTpG6/im4pFH8wpTrhfO0MRhdo=
Received: from stinger.tntpowerhost.com (localhost [127.0.0.1])
	by stinger.tntpowerhost.com (OpenSMTPD) with ESMTPSA id c1884606 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO);
	Mon, 9 Aug 2021 23:03:12 -0500 (CDT)
List-Id: FreeBSD <freebsd-usb.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/freebsd-usb
List-Help: <mailto:usb+help@freebsd.org>
List-Post: <mailto:usb@freebsd.org>
List-Subscribe: <mailto:usb+subscribe@freebsd.org>
List-Unsubscribe: <mailto:usb+unsubscribe@freebsd.org>
Sender: owner-freebsd-usb@freebsd.org
X-BeenThere: freebsd-usb@freebsd.org
MIME-Version: 1.0
Date: Mon, 09 Aug 2021 23:03:12 -0500
From: Mark Kane <mark@kane.mn>
To: Vladimir Kondratyev <wulf@freebsd.org>
Cc: usb@freebsd.org, hps@selasky.org
Subject: Re: eGalax USB touchscreen issues
In-Reply-To: <168b368c-3258-6416-42c5-a722e45bf14b@FreeBSD.org>
References: <324d49ca-1c0e-659d-194d-ece4d5f7f5e2@FreeBSD.org>
 <0ae3fec48e2c351d2c006f4ba4932cd7@kane.mn>
 <166dd4d4-24cd-c24b-d75e-9a34fa734358@FreeBSD.org>
 <eccaff2a99153fb44ffa8df3c93d7eb6@kane.mn>
 <36983ce5-8358-5a04-2377-46067d3c3c79@FreeBSD.org>
 <c9e68dbb-5382-976d-7302-d816d8636153@FreeBSD.org>
 <59ba07a0ecbdac36746fe18ea5f0559f@kane.mn>
 <92c855bf-a73a-bae5-fcdc-c5a88008739b@FreeBSD.org>
 <5e8cd8d75deff98e8db3352001ce8432@kane.mn>
 <858ac67e-14e2-730c-4a16-ca218e2c0bee@FreeBSD.org>
 <ee3c43f89df5dffd0b0dab7393f0c5b5@kane.mn>
 <168b368c-3258-6416-42c5-a722e45bf14b@FreeBSD.org>
User-Agent: Roundcube Webmail/1.4.6
Message-ID: <a7e09a33593bc00c7ef525b47efcafa1@kane.mn>
X-Sender: mark@kane.mn
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit
X-Rspamd-Queue-Id: 4GkK7C3f4Fz4tRk
X-Spamd-Bar: ---
Authentication-Results: mx1.freebsd.org;
	dkim=pass header.d=kane.mn header.s=stinger header.b=TaZMhWyd;
	dmarc=pass (policy=none) header.from=kane.mn;
	spf=pass (mx1.freebsd.org: domain of mark@kane.mn designates 104.128.58.83 as permitted sender) smtp.mailfrom=mark@kane.mn
X-Spamd-Result: default: False [-4.00 / 15.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 ARC_NA(0.00)[];
	 R_DKIM_ALLOW(-0.20)[kane.mn:s=stinger];
	 FREEFALL_USER(0.00)[mark];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[3];
	 TO_DN_SOME(0.00)[];
	 R_SPF_ALLOW(-0.20)[+ip4:104.128.58.83];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 TO_MATCH_ENVRCPT_SOME(0.00)[];
	 DKIM_TRACE(0.00)[kane.mn:+];
	 DMARC_POLICY_ALLOW(-0.50)[kane.mn,none];
	 NEURAL_HAM_SHORT(-1.00)[-1.000];
	 NEURAL_HAM_MEDIUM(-1.00)[-1.000];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_LAST(0.00)[];
	 ASN(0.00)[asn:30455, ipnet:104.128.58.0/24, country:US];
	 MID_RHS_MATCH_FROM(0.00)[]
X-ThisMailContainsUnwantedMimeParts: N

On 2021-08-07 05:56, Vladimir Kondratyev wrote:
> Try attached patch (on top of previous one)

The screen we've been testing works perfectly with this patch on top of 
previous one (with usbhid_load="YES" and hw.usb.usbhid.enable=1). Thanks 
very much for all of your work on this! :)

I have many of these egalax screens for an application being migrated 
from Linux to FreeBSD. Physically they all look identical but after 
trying a few others it seems that some are very different inside. Below 
is one that is not working with or without the patches. Is there any 
possibility of also supporting this variant on FreeBSD?

Screen #2 - With your 2 patches and usbhid/hidraw:

ugen0.3: <eGalax Inc. USB TouchController> at usbus0
usbhid0 on uhub1
usbhid0: <eGalax Inc. USB TouchController, class 0/0, rev 1.10/1.00, 
addr 3> on usbus0
hidbus0: <HID bus> on usbhid0
hidraw0: <eGalax Inc. USB TouchController Raw HID Device> on hidbus0
hidraw0: no report descriptor

# hid-decode /dev/hidraw0
(no output)
# usbhid-dump
000:003:000:DESCRIPTOR         1628551474.564813
  8D 0F 00 09 42 09 32 15 00 25 01 95 02 75 01 81
  02 95 06 75 01 81 03 05 01 09 30 75 10 95 01 A4
  55 00 65 00 36 00 00 46 00 00 16 1E 00 26 C8 0F
  81 02 09 31 16 3C 00 26

000:004:001:DESCRIPTOR         1628551474.567569
  05 0C 09 01 A1 01 85 01 19 00 2A 3C 02 15 00 26
  3C 02 95 01 75 10 81 00 C0 05 01 09 80 A1 01 85
  02 19 81 29 83 25 01 75 01 95 03 81 02 95 05 81
  01 C0

000:004:000:DESCRIPTOR         1628551474.570559
  05 01 09 06 A1 01 05 07 19 E0 29 E7 15 00 25 01
  95 08 75 01 81 02 95 08 75 01 81 01 05 08 19 01
  29 03 95 03 75 01 91 02 95 01 75 05 91 01 05 07
  19 00 2A FF 00 15 00 26 FF 00 95 06 75 08 81 00
  C0
#

Based on that and a lot of forums/bugzilla reading it seems that the 
vendor re-used hardware IDs that makes older non-HID touchscreens look 
the same as their newer HID screens. This "screen #2" was manufactured 
in 2012 compared to the 2018 unit that works with your patches now. So I 
suspect this may be one of the older non-HID screens that uep(4) should 
support (?).

With usbhid disabled uep(4) attaches in evdev mode and X gets the input 
device but no events are heard:

ugen0.3: <eGalax Inc. USB TouchController> at usbus0
uep0 on uhub1
uep0: <eGalax Inc. USB TouchController, class 0/0, rev 1.10/1.00, addr 
3> on usbus0

[    59.002] (II) config/udev: Adding input device eGalax Inc. USB 
TouchController (/dev/input/event5)
[    59.002] (**) eGalax Inc. USB TouchController: Applying InputClass 
"evdev touchscreen catchall"
[    59.002] (**) eGalax Inc. USB TouchController: Applying InputClass 
"libinput touchscreen catchall"
[    59.002] (II) Using input driver 'libinput' for 'eGalax Inc. USB 
TouchController'
[    59.002] (**) eGalax Inc. USB TouchController: always reports core 
events
[    59.002] (**) Option "Device" "/dev/input/event5"
[    59.002] (**) Option "_source" "server/udev"
[    59.005] (II) event5  - eGalax Inc. USB TouchController, class 0/0, 
rev 1.10/1.00, addr 3: is tagged by udev as: Touchscreen
[    59.006] (II) event5  - eGalax Inc. USB TouchController, class 0/0, 
rev 1.10/1.00, addr 3: device is a touch device
[    59.007] (II) event5  - eGalax Inc. USB TouchController, class 0/0, 
rev 1.10/1.00, addr 3: device removed
[    59.007] (**) Option "config_info" "udev:/dev/input/event5"
[    59.007] (II) XINPUT: Adding extended input device "eGalax Inc. USB 
TouchController" (type: TOUCHSCREEN, id 11)
[    59.007] (**) Option "AccelerationScheme" "none"
[    59.007] (**) eGalax Inc. USB TouchController: (accel) selected 
scheme none/0
[    59.007] (**) eGalax Inc. USB TouchController: (accel) acceleration 
factor: 2.000
[    59.007] (**) eGalax Inc. USB TouchController: (accel) acceleration 
threshold: 4
[    59.010] (II) event5  - eGalax Inc. USB TouchController, class 0/0, 
rev 1.10/1.00, addr 3: is tagged by udev as: Touchscreen
[    59.011] (II) event5  - eGalax Inc. USB TouchController, class 0/0, 
rev 1.10/1.00, addr 3: device is a touch device

# evemu-record
Available devices:
/dev/input/event0:	System mouse
/dev/input/event1:	System keyboard multiplexer
/dev/input/event2:	Power Button
/dev/input/event3:	Sleep Button
/dev/input/event4:	Lite-On Technology Corp. USB Multimedia Keyboard, 
class 0/0, rev 1.10/1.09, add
/dev/input/event5:	eGalax Inc. USB TouchController, class 0/0, rev 
1.10/1.00, addr 3
Select the device event number [0-5]: 5
# EVEMU 1.3
# Kernel: 13.0-RELEASE-p3
# Input device name: "eGalax Inc. USB TouchController, class 0/0, rev 
1.10/1.00, addr 3"
# Input device ID: bus 0x03 vendor 0xeef product 0x01 version 0000
# Supported events:
#   Event type 0 (EV_SYN)
#     Event code 0 (SYN_REPORT)
#     Event code 1 (SYN_CONFIG)
#     Event code 2 (SYN_MT_REPORT)
#     Event code 3 (SYN_DROPPED)
#     Event code 4 ((null))
#     Event code 5 ((null))
#     Event code 6 ((null))
#     Event code 7 ((null))
#     Event code 8 ((null))
#     Event code 9 ((null))
#     Event code 10 ((null))
#     Event code 11 ((null))
#     Event code 12 ((null))
#     Event code 13 ((null))
#     Event code 14 ((null))
#     Event code 15 (SYN_MAX)
#   Event type 1 (EV_KEY)
#     Event code 330 (BTN_TOUCH)
#   Event type 3 (EV_ABS)
#     Event code 0 (ABS_X)
#       Value        0
#       Min          0
#       Max       2047
#       Fuzz         0
#       Flat         0
#       Resolution   0
#     Event code 1 (ABS_Y)
#       Value        0
#       Min          0
#       Max       2047
#       Fuzz         0
#       Flat         0
#       Resolution   0
# Properties:
#   Property  type 1 (INPUT_PROP_DIRECT)
N: eGalax Inc. USB TouchController, class 0/0, rev 1.10/1.00, addr 3
I: 0003 0eef 0001 0000
P: 02 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 04 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 00 00 00 00 00 00 00 00
B: 03 03 00 00 00 00 00 00 00
B: 04 00 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 14 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
A: 00 0 2047 0 0 0
A: 01 0 2047 0 0 0
################################
#      Waiting for events      #
################################

[...no events...]

Trying uep(4) in native mode with xf86-input-egalax also had the same, 
uep(4) attached but no events when testing with xinput.

# usbconfig -d ugen0.3 dump_all_desc
ugen0.3: <eGalax Inc. USB TouchController> at usbus0, cfg=0 md=HOST 
spd=FULL (12Mbps) pwr=ON (100mA)

   bLength = 0x0012
   bDescriptorType = 0x0001
   bcdUSB = 0x0110
   bDeviceClass = 0x0000  <Probed by interface class>
   bDeviceSubClass = 0x0000
   bDeviceProtocol = 0x0000
   bMaxPacketSize0 = 0x0040
   idVendor = 0x0eef
   idProduct = 0x0001
   bcdDevice = 0x0100
   iManufacturer = 0x0001  <eGalax Inc.>
   iProduct = 0x0002  <USB TouchController>
   iSerialNumber = 0x0000  <no string>
   bNumConfigurations = 0x0001

  Configuration index 0

     bLength = 0x0009
     bDescriptorType = 0x0002
     wTotalLength = 0x0022
     bNumInterfaces = 0x0001
     bConfigurationValue = 0x0001
     iConfiguration = 0x0001  <eGalax Inc.>
     bmAttributes = 0x00a0
     bMaxPower = 0x0032

     Interface 0
       bLength = 0x0009
       bDescriptorType = 0x0004
       bInterfaceNumber = 0x0000
       bAlternateSetting = 0x0000
       bNumEndpoints = 0x0001
       bInterfaceClass = 0x0003  <HID device>
       bInterfaceSubClass = 0x0000
       bInterfaceProtocol = 0x0000
       iInterface = 0x0000  <no string>

       Additional Descriptor

       bLength = 0x09
       bDescriptorType = 0x21
       bDescriptorSubType = 0x10
        RAW dump:
        0x00 | 0x09, 0x21, 0x10, 0x02, 0x00, 0x01, 0x22, 0x8d,
        0x08 | 0x00

      Endpoint 0
         bLength = 0x0007
         bDescriptorType = 0x0005
         bEndpointAddress = 0x0081  <IN>
         bmAttributes = 0x0003  <INTERRUPT>
         wMaxPacketSize = 0x0008
         bInterval = 0x0003
         bRefresh = 0x0000
         bSynchAddress = 0x0000
#

From nobody Wed Aug 11 14:48:23 2021
X-Original-To: usb@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 18A0B175CEF2
	for <usb@mlmmj.nyi.freebsd.org>; Wed, 11 Aug 2021 14:48:23 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4GlCP26xwyz3Hwx
	for <usb@FreeBSD.org>; Wed, 11 Aug 2021 14:48:22 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(Client did not present a certificate)
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D6C3711143
	for <usb@FreeBSD.org>; Wed, 11 Aug 2021 14:48:22 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from kenobi.freebsd.org ([127.0.1.5])
	by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 17BEmMJI043043
	for <usb@FreeBSD.org>; Wed, 11 Aug 2021 14:48:22 GMT
	(envelope-from bugzilla-noreply@freebsd.org)
Received: (from www@localhost)
	by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 17BEmMvA043042
	for usb@FreeBSD.org; Wed, 11 Aug 2021 14:48:22 GMT
	(envelope-from bugzilla-noreply@freebsd.org)
X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f
From: bugzilla-noreply@freebsd.org
To: usb@FreeBSD.org
Subject: [Bug 257082] Sound with Scarlett Solo 3rd intermittently cuts off
 for very short periods of milliseconds.
Date: Wed, 11 Aug 2021 14:48:23 +0000
X-Bugzilla-Reason: AssignedTo
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: Base System
X-Bugzilla-Component: usb
X-Bugzilla-Version: 13.0-STABLE
X-Bugzilla-Keywords: 
X-Bugzilla-Severity: Affects Only Me
X-Bugzilla-Who: hodong@nimfsoft.com
X-Bugzilla-Status: In Progress
X-Bugzilla-Resolution: 
X-Bugzilla-Priority: ---
X-Bugzilla-Assigned-To: usb@FreeBSD.org
X-Bugzilla-Flags: 
X-Bugzilla-Changed-Fields: 
Message-ID: <bug-257082-19105-vHttqHlSz1@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-257082-19105@https.bugs.freebsd.org/bugzilla/>
References: <bug-257082-19105@https.bugs.freebsd.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/
Auto-Submitted: auto-generated
List-Id: FreeBSD <freebsd-usb.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/freebsd-usb
List-Help: <mailto:usb+help@freebsd.org>
List-Post: <mailto:usb@freebsd.org>
List-Subscribe: <mailto:usb+subscribe@freebsd.org>
List-Unsubscribe: <mailto:usb+unsubscribe@freebsd.org>
Sender: owner-freebsd-usb@freebsd.org
X-BeenThere: freebsd-usb@freebsd.org
MIME-Version: 1.0
X-ThisMailContainsUnwantedMimeParts: N

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D257082

--- Comment #36 from Hodong <hodong@nimfsoft.com> ---
(In reply to Hans Petter Selasky from comment #35)

sysctl machdep.idle=3Dspin

When I apply that option, it works fine. Thank you very much.

--=20
You are receiving this mail because:
You are the assignee for the bug.=

From nobody Wed Aug 11 15:05:17 2021
X-Original-To: usb@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 80366175E0DA
	for <usb@mlmmj.nyi.freebsd.org>; Wed, 11 Aug 2021 15:05:19 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4GlCmb33gLz3KZ7
	for <usb@FreeBSD.org>; Wed, 11 Aug 2021 15:05:19 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(Client did not present a certificate)
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 526CE11537
	for <usb@FreeBSD.org>; Wed, 11 Aug 2021 15:05:19 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from kenobi.freebsd.org ([127.0.1.5])
	by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 17BF5JLF053174
	for <usb@FreeBSD.org>; Wed, 11 Aug 2021 15:05:19 GMT
	(envelope-from bugzilla-noreply@freebsd.org)
Received: (from www@localhost)
	by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 17BF5JhX053173
	for usb@FreeBSD.org; Wed, 11 Aug 2021 15:05:19 GMT
	(envelope-from bugzilla-noreply@freebsd.org)
X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f
From: bugzilla-noreply@freebsd.org
To: usb@FreeBSD.org
Subject: [Bug 225179] performance issues with axge driver
Date: Wed, 11 Aug 2021 15:05:17 +0000
X-Bugzilla-Reason: AssignedTo
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: Base System
X-Bugzilla-Component: kern
X-Bugzilla-Version: 12.2-RELEASE
X-Bugzilla-Keywords: 
X-Bugzilla-Severity: Affects Some People
X-Bugzilla-Who: ronaldandersen@gmail.com
X-Bugzilla-Status: New
X-Bugzilla-Resolution: 
X-Bugzilla-Priority: ---
X-Bugzilla-Assigned-To: usb@FreeBSD.org
X-Bugzilla-Flags: 
X-Bugzilla-Changed-Fields: cc
Message-ID: <bug-225179-19105-47p7Ok3RCk@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-225179-19105@https.bugs.freebsd.org/bugzilla/>
References: <bug-225179-19105@https.bugs.freebsd.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/
Auto-Submitted: auto-generated
List-Id: FreeBSD <freebsd-usb.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/freebsd-usb
List-Help: <mailto:usb+help@freebsd.org>
List-Post: <mailto:usb@freebsd.org>
List-Subscribe: <mailto:usb+subscribe@freebsd.org>
List-Unsubscribe: <mailto:usb+unsubscribe@freebsd.org>
Sender: owner-freebsd-usb@freebsd.org
X-BeenThere: freebsd-usb@freebsd.org
MIME-Version: 1.0
X-ThisMailContainsUnwantedMimeParts: N

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D225179

Ronald <ronaldandersen@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ronaldandersen@gmail.com

--- Comment #3 from Ronald <ronaldandersen@gmail.com> ---
Hi,

I'm also experiencing the same problem
20mb/s
When I run=20
ifconfig ue0 mediaopt flow
I get 650mb/s
I'm on 12.1-RELEASE-p19-HBSD and using OPNsense 21.7

--=20
You are receiving this mail because:
You are the assignee for the bug.=

From nobody Wed Aug 11 18:38:17 2021
X-Original-To: usb@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id AB8A1137BE83
	for <usb@mlmmj.nyi.freebsd.org>; Wed, 11 Aug 2021 18:38:17 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4GlJVK4M6fz3rgw
	for <usb@FreeBSD.org>; Wed, 11 Aug 2021 18:38:17 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(Client did not present a certificate)
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7F7A414498
	for <usb@FreeBSD.org>; Wed, 11 Aug 2021 18:38:17 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from kenobi.freebsd.org ([127.0.1.5])
	by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 17BIcHua064458
	for <usb@FreeBSD.org>; Wed, 11 Aug 2021 18:38:17 GMT
	(envelope-from bugzilla-noreply@freebsd.org)
Received: (from www@localhost)
	by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 17BIcHo8064457
	for usb@FreeBSD.org; Wed, 11 Aug 2021 18:38:17 GMT
	(envelope-from bugzilla-noreply@freebsd.org)
X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f
From: bugzilla-noreply@freebsd.org
To: usb@FreeBSD.org
Subject: [Bug 257082] Sound with Scarlett Solo 3rd intermittently cuts off
 for very short periods of milliseconds.
Date: Wed, 11 Aug 2021 18:38:17 +0000
X-Bugzilla-Reason: AssignedTo
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: Base System
X-Bugzilla-Component: usb
X-Bugzilla-Version: 13.0-STABLE
X-Bugzilla-Keywords: 
X-Bugzilla-Severity: Affects Only Me
X-Bugzilla-Who: hselasky@FreeBSD.org
X-Bugzilla-Status: In Progress
X-Bugzilla-Resolution: 
X-Bugzilla-Priority: ---
X-Bugzilla-Assigned-To: usb@FreeBSD.org
X-Bugzilla-Flags: 
X-Bugzilla-Changed-Fields: 
Message-ID: <bug-257082-19105-F8Hve4C3Dm@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-257082-19105@https.bugs.freebsd.org/bugzilla/>
References: <bug-257082-19105@https.bugs.freebsd.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/
Auto-Submitted: auto-generated
List-Id: FreeBSD <freebsd-usb.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/freebsd-usb
List-Help: <mailto:usb+help@freebsd.org>
List-Post: <mailto:usb@freebsd.org>
List-Subscribe: <mailto:usb+subscribe@freebsd.org>
List-Unsubscribe: <mailto:usb+unsubscribe@freebsd.org>
Sender: owner-freebsd-usb@freebsd.org
X-BeenThere: freebsd-usb@freebsd.org
MIME-Version: 1.0
X-ThisMailContainsUnwantedMimeParts: N

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D257082

--- Comment #37 from Hans Petter Selasky <hselasky@FreeBSD.org> ---
jkim @

Do we have a bug in:

sysctl machdep.idle=3Dacpi

which is the default?

See this report.

I can reproduce the same with my Ryzen!

--HPS

--=20
You are receiving this mail because:
You are the assignee for the bug.=

From nobody Wed Aug 11 22:12:13 2021
X-Original-To: usb@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 024081751247
	for <usb@mlmmj.nyi.freebsd.org>; Wed, 11 Aug 2021 22:13:36 +0000 (UTC)
	(envelope-from wulf@FreeBSD.org)
Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "smtp.freebsd.org", Issuer "R3" (verified OK))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4GlPGl6N1pz4dj9;
	Wed, 11 Aug 2021 22:13:35 +0000 (UTC)
	(envelope-from wulf@FreeBSD.org)
Received: from [192.168.0.30] (unknown [176.120.225.84])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(Client did not present a certificate)
	(Authenticated sender: wulf)
	by smtp.freebsd.org (Postfix) with ESMTPSA id 41F46C692;
	Wed, 11 Aug 2021 22:13:35 +0000 (UTC)
	(envelope-from wulf@FreeBSD.org)
To: Mark Kane <mark@kane.mn>
Cc: usb@freebsd.org, hps@selasky.org
References: <324d49ca-1c0e-659d-194d-ece4d5f7f5e2@FreeBSD.org>
 <0ae3fec48e2c351d2c006f4ba4932cd7@kane.mn>
 <166dd4d4-24cd-c24b-d75e-9a34fa734358@FreeBSD.org>
 <eccaff2a99153fb44ffa8df3c93d7eb6@kane.mn>
 <36983ce5-8358-5a04-2377-46067d3c3c79@FreeBSD.org>
 <c9e68dbb-5382-976d-7302-d816d8636153@FreeBSD.org>
 <59ba07a0ecbdac36746fe18ea5f0559f@kane.mn>
 <92c855bf-a73a-bae5-fcdc-c5a88008739b@FreeBSD.org>
 <5e8cd8d75deff98e8db3352001ce8432@kane.mn>
 <858ac67e-14e2-730c-4a16-ca218e2c0bee@FreeBSD.org>
 <ee3c43f89df5dffd0b0dab7393f0c5b5@kane.mn>
 <168b368c-3258-6416-42c5-a722e45bf14b@FreeBSD.org>
 <a7e09a33593bc00c7ef525b47efcafa1@kane.mn>
From: Vladimir Kondratyev <wulf@FreeBSD.org>
Subject: Re: eGalax USB touchscreen issues
Message-ID: <12706f32-be2e-1cda-5d90-53b4e80b0b52@FreeBSD.org>
Date: Thu, 12 Aug 2021 01:12:13 +0300
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
List-Id: FreeBSD <freebsd-usb.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/freebsd-usb
List-Help: <mailto:usb+help@freebsd.org>
List-Post: <mailto:usb@freebsd.org>
List-Subscribe: <mailto:usb+subscribe@freebsd.org>
List-Unsubscribe: <mailto:usb+unsubscribe@freebsd.org>
Sender: owner-freebsd-usb@freebsd.org
X-BeenThere: freebsd-usb@freebsd.org
MIME-Version: 1.0
In-Reply-To: <a7e09a33593bc00c7ef525b47efcafa1@kane.mn>
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-ThisMailContainsUnwantedMimeParts: N

On 10.08.2021 07:03, Mark Kane wrote:
> On 2021-08-07 05:56, Vladimir Kondratyev wrote:
>> Try attached patch (on top of previous one)
> 
> The screen we've been testing works perfectly with this patch on top of
> previous one (with usbhid_load="YES" and hw.usb.usbhid.enable=1). Thanks
> very much for all of your work on this! :)

Great! You wrote very descriptive crash report which made tracking the
bug rather easy task!

> 
> I have many of these egalax screens for an application being migrated
> from Linux to FreeBSD. Physically they all look identical but after
> trying a few others it seems that some are very different inside. Below
> is one that is not working with or without the patches. Is there any
> possibility of also supporting this variant on FreeBSD?
> 
> Screen #2 - With your 2 patches and usbhid/hidraw:
> 
> ugen0.3: <eGalax Inc. USB TouchController> at usbus0
> usbhid0 on uhub1
> usbhid0: <eGalax Inc. USB TouchController, class 0/0, rev 1.10/1.00,
> addr 3> on usbus0
> hidbus0: <HID bus> on usbhid0
> hidraw0: <eGalax Inc. USB TouchController Raw HID Device> on hidbus0
> hidraw0: no report descriptor
> 
> # hid-decode /dev/hidraw0
> (no output)
> # usbhid-dump
> 000:003:000:DESCRIPTOR         1628551474.564813
>  8D 0F 00 09 42 09 32 15 00 25 01 95 02 75 01 81
>  02 95 06 75 01 81 03 05 01 09 30 75 10 95 01 A4
>  55 00 65 00 36 00 00 46 00 00 16 1E 00 26 C8 0F
>  81 02 09 31 16 3C 00 26
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This one looks like corrupted fragment of touch device HID report
descriptor. Check wires, USB port, device itself and so on. Most
probably, it is a standard eGalax HID device with some USB transport
problems.

> 000:004:001:DESCRIPTOR         1628551474.567569
>  05 0C 09 01 A1 01 85 01 19 00 2A 3C 02 15 00 26
>  3C 02 95 01 75 10 81 00 C0 05 01 09 80 A1 01 85
>  02 19 81 29 83 25 01 75 01 95 03 81 02 95 05 81
>  01 C0
> 
> 000:004:000:DESCRIPTOR         1628551474.570559
>  05 01 09 06 A1 01 05 07 19 E0 29 E7 15 00 25 01
>  95 08 75 01 81 02 95 08 75 01 81 01 05 08 19 01
>  29 03 95 03 75 01 91 02 95 01 75 05 91 01 05 07
>  19 00 2A FF 00 15 00 26 FF 00 95 06 75 08 81 00
>  C0
> #
> 
> Based on that and a lot of forums/bugzilla reading it seems that the
> vendor re-used hardware IDs that makes older non-HID touchscreens look
> the same as their newer HID screens. This "screen #2" was manufactured
> in 2012 compared to the 2018 unit that works with your patches now. So I
> suspect this may be one of the older non-HID screens that uep(4) should
> support (?).

I don't think so. I have a sample of non-HID eGalax touchscreen built in
2009. It advertises bInterfaceClass = 0x00ff rather than 0x0003 (HID) in
your touchscreen.

> With usbhid disabled uep(4) attaches in evdev mode and X gets the input
> device but no events are heard:
> 
> Trying uep(4) in native mode with xf86-input-egalax also had the same,
> uep(4) attached but no events when testing with xinput.
> 
xf86-input-egalax can not work with kernels compiled with EVDEV_SUPPORT.
This options disables native interface of uep(4)

> # usbconfig -d ugen0.3 dump_all_desc
> ugen0.3: <eGalax Inc. USB TouchController> at usbus0, cfg=0 md=HOST
> spd=FULL (12Mbps) pwr=ON (100mA)
> 
>   bLength = 0x0012
>   bDescriptorType = 0x0001
>   bcdUSB = 0x0110
>   bDeviceClass = 0x0000  <Probed by interface class>
>   bDeviceSubClass = 0x0000
>   bDeviceProtocol = 0x0000
>   bMaxPacketSize0 = 0x0040
>   idVendor = 0x0eef
>   idProduct = 0x0001
>   bcdDevice = 0x0100
>   iManufacturer = 0x0001  <eGalax Inc.>
>   iProduct = 0x0002  <USB TouchController>
>   iSerialNumber = 0x0000  <no string>
>   bNumConfigurations = 0x0001
> 
>  Configuration index 0
> 
>     bLength = 0x0009
>     bDescriptorType = 0x0002
>     wTotalLength = 0x0022
>     bNumInterfaces = 0x0001
>     bConfigurationValue = 0x0001
>     iConfiguration = 0x0001  <eGalax Inc.>
>     bmAttributes = 0x00a0
>     bMaxPower = 0x0032
> 
>     Interface 0
>       bLength = 0x0009
>       bDescriptorType = 0x0004
>       bInterfaceNumber = 0x0000
>       bAlternateSetting = 0x0000
>       bNumEndpoints = 0x0001
>       bInterfaceClass = 0x0003  <HID device>
                               ^------HID

>       bInterfaceSubClass = 0x0000
>       bInterfaceProtocol = 0x0000
>       iInterface = 0x0000  <no string>
> 
>       Additional Descriptor
> 
>       bLength = 0x09
>       bDescriptorType = 0x21
>       bDescriptorSubType = 0x10
>        RAW dump:
>        0x00 | 0x09, 0x21, 0x10, 0x02, 0x00, 0x01, 0x22, 0x8d,
>        0x08 | 0x00
> 
>      Endpoint 0
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0081  <IN>
>         bmAttributes = 0x0003  <INTERRUPT>
>         wMaxPacketSize = 0x0008
>         bInterval = 0x0003
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000
> #


-- 
WBR
Vladimir Kondratyev

From nobody Thu Aug 12 00:14:39 2021
X-Original-To: usb@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id D77671756A7B
	for <usb@mlmmj.nyi.freebsd.org>; Thu, 12 Aug 2021 00:14:39 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4GlRyR5PXCz4lmG
	for <usb@FreeBSD.org>; Thu, 12 Aug 2021 00:14:39 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(Client did not present a certificate)
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A2156186F3
	for <usb@FreeBSD.org>; Thu, 12 Aug 2021 00:14:39 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from kenobi.freebsd.org ([127.0.1.5])
	by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 17C0Ed7r043762
	for <usb@FreeBSD.org>; Thu, 12 Aug 2021 00:14:39 GMT
	(envelope-from bugzilla-noreply@freebsd.org)
Received: (from www@localhost)
	by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 17C0Ed3R043761
	for usb@FreeBSD.org; Thu, 12 Aug 2021 00:14:39 GMT
	(envelope-from bugzilla-noreply@freebsd.org)
X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f
From: bugzilla-noreply@freebsd.org
To: usb@FreeBSD.org
Subject: [Bug 257082] Sound with Scarlett Solo 3rd intermittently cuts off
 for very short periods of milliseconds.
Date: Thu, 12 Aug 2021 00:14:39 +0000
X-Bugzilla-Reason: AssignedTo
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: Base System
X-Bugzilla-Component: usb
X-Bugzilla-Version: 13.0-STABLE
X-Bugzilla-Keywords: 
X-Bugzilla-Severity: Affects Only Me
X-Bugzilla-Who: kib@FreeBSD.org
X-Bugzilla-Status: In Progress
X-Bugzilla-Resolution: 
X-Bugzilla-Priority: ---
X-Bugzilla-Assigned-To: usb@FreeBSD.org
X-Bugzilla-Flags: 
X-Bugzilla-Changed-Fields: 
Message-ID: <bug-257082-19105-foeKUFTf9f@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-257082-19105@https.bugs.freebsd.org/bugzilla/>
References: <bug-257082-19105@https.bugs.freebsd.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/
Auto-Submitted: auto-generated
List-Id: FreeBSD <freebsd-usb.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/freebsd-usb
List-Help: <mailto:usb+help@freebsd.org>
List-Post: <mailto:usb@freebsd.org>
List-Subscribe: <mailto:usb+subscribe@freebsd.org>
List-Unsubscribe: <mailto:usb+unsubscribe@freebsd.org>
Sender: owner-freebsd-usb@freebsd.org
X-BeenThere: freebsd-usb@freebsd.org
MIME-Version: 1.0
X-ThisMailContainsUnwantedMimeParts: N

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D257082

--- Comment #38 from Konstantin Belousov <kib@FreeBSD.org> ---
(In reply to Hans Petter Selasky from comment #37)
With idle acpi, idle handling is completely driven by firmware. And I think
that
both Linux and Windows prefer mwait-like idle loops, instead of what we call
ACPI.  I am not sure why your machine selected ACPI.

Do you have mwait reported as available? Did you turned it off in BIOS?
Show the output of sysctl dev.cpu

--=20
You are receiving this mail because:
You are the assignee for the bug.=

From nobody Thu Aug 12 03:37:02 2021
X-Original-To: usb@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 8F73B137EFA2
	for <usb@mlmmj.nyi.freebsd.org>; Thu, 12 Aug 2021 03:37:10 +0000 (UTC)
	(envelope-from mark@kane.mn)
Received: from stinger.tntpowerhost.com (stinger.tntpowerhost.com [104.128.58.83])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA512
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "stinger.tntpowerhost.com", Issuer "R3" (verified OK))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4GlXS631Rxz3MSD;
	Thu, 12 Aug 2021 03:37:09 +0000 (UTC)
	(envelope-from mark@kane.mn)
Received: from stinger.tntpowerhost.com (localhost [127.0.0.1])
	by stinger.tntpowerhost.com (OpenSMTPD) with ESMTP id b54bdd80;
	Wed, 11 Aug 2021 22:37:02 -0500 (CDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kane.mn; h=
	mime-version:date:from:to:cc:subject:in-reply-to:references
	:message-id:content-type:content-transfer-encoding; s=stinger;
	 bh=P0cBhQEeegs51QhP0xiJ5oB/jhEW/GwMHhuhNdHgX/0=; b=CnPXO3M44k/w
	9K1OR5c2EXsEBdzWYNZcRC6kf3t2bn93i7Zg2oDb0OjiKhGlSpmed/JXG8++qFJu
	7CVXvSSHv4KCaurFMHAQ1r+ISUaUpxdjGTmR2aPUVBFDc9UaJqFq5DwgT8IdKV2R
	ALXepLUtqZNI3BUce7a0k9ma/M/vKU0=
Received: from stinger.tntpowerhost.com (localhost [127.0.0.1])
	by stinger.tntpowerhost.com (OpenSMTPD) with ESMTPSA id 150d0b59 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO);
	Wed, 11 Aug 2021 22:37:02 -0500 (CDT)
List-Id: FreeBSD <freebsd-usb.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/freebsd-usb
List-Help: <mailto:usb+help@freebsd.org>
List-Post: <mailto:usb@freebsd.org>
List-Subscribe: <mailto:usb+subscribe@freebsd.org>
List-Unsubscribe: <mailto:usb+unsubscribe@freebsd.org>
Sender: owner-freebsd-usb@freebsd.org
X-BeenThere: freebsd-usb@freebsd.org
MIME-Version: 1.0
Date: Wed, 11 Aug 2021 22:37:02 -0500
From: Mark Kane <mark@kane.mn>
To: Vladimir Kondratyev <wulf@freebsd.org>
Cc: usb@freebsd.org, hps@selasky.org
Subject: Re: eGalax USB touchscreen issues
In-Reply-To: <12706f32-be2e-1cda-5d90-53b4e80b0b52@FreeBSD.org>
References: <324d49ca-1c0e-659d-194d-ece4d5f7f5e2@FreeBSD.org>
 <0ae3fec48e2c351d2c006f4ba4932cd7@kane.mn>
 <166dd4d4-24cd-c24b-d75e-9a34fa734358@FreeBSD.org>
 <eccaff2a99153fb44ffa8df3c93d7eb6@kane.mn>
 <36983ce5-8358-5a04-2377-46067d3c3c79@FreeBSD.org>
 <c9e68dbb-5382-976d-7302-d816d8636153@FreeBSD.org>
 <59ba07a0ecbdac36746fe18ea5f0559f@kane.mn>
 <92c855bf-a73a-bae5-fcdc-c5a88008739b@FreeBSD.org>
 <5e8cd8d75deff98e8db3352001ce8432@kane.mn>
 <858ac67e-14e2-730c-4a16-ca218e2c0bee@FreeBSD.org>
 <ee3c43f89df5dffd0b0dab7393f0c5b5@kane.mn>
 <168b368c-3258-6416-42c5-a722e45bf14b@FreeBSD.org>
 <a7e09a33593bc00c7ef525b47efcafa1@kane.mn>
 <12706f32-be2e-1cda-5d90-53b4e80b0b52@FreeBSD.org>
User-Agent: Roundcube Webmail/1.4.6
Message-ID: <3bfc252a7ef55b21d5e51c251a518d78@kane.mn>
X-Sender: mark@kane.mn
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 4GlXS631Rxz3MSD
X-Spamd-Bar: ----
Authentication-Results: mx1.freebsd.org;
	none
X-Spamd-Result: default: False [-4.00 / 15.00];
	 REPLY(-4.00)[]
X-ThisMailContainsUnwantedMimeParts: N

On 2021-08-11 17:12, Vladimir Kondratyev wrote:
> On 10.08.2021 07:03, Mark Kane wrote:
>> # usbhid-dump
>> 000:003:000:DESCRIPTOR         1628551474.564813
>>  8D 0F 00 09 42 09 32 15 00 25 01 95 02 75 01 81
>>  02 95 06 75 01 81 03 05 01 09 30 75 10 95 01 A4
>>  55 00 65 00 36 00 00 46 00 00 16 1E 00 26 C8 0F
>>  81 02 09 31 16 3C 00 26
>    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> This one looks like corrupted fragment of touch device HID report
> descriptor. Check wires, USB port, device itself and so on. Most
> probably, it is a standard eGalax HID device with some USB transport
> problems.

That is very interesting and a good catch. I have been using the same 
cable and USB port across all tests for consistency. This same #2 screen 
connected with the same cable to an identical machine running Linux 
4.4.0-104 we get a much longer HID report descriptor:

linux# lsusb
Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 004: ID 04ca:004f Lite-On Technology Corp. SK-9020 
keyboard
Bus 001 Device 003: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax 
TouchScreen
Bus 001 Device 002: ID 8087:07e6 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
linux# usbhid-dump
001:004:001:DESCRIPTOR         1628727550.064013
  05 0C 09 01 A1 01 85 01 19 00 2A 3C 02 15 00 26
  3C 02 95 01 75 10 81 00 C0 05 01 09 80 A1 01 85
  02 19 81 29 83 25 01 75 01 95 03 81 02 95 05 81
  01 C0

001:004:000:DESCRIPTOR         1628727550.066916
  05 01 09 06 A1 01 05 07 19 E0 29 E7 15 00 25 01
  95 08 75 01 81 02 95 08 75 01 81 01 05 08 19 01
  29 03 95 03 75 01 91 02 95 01 75 05 91 01 05 07
  19 00 2A FF 00 15 00 26 FF 00 95 06 75 08 81 00
  C0

001:003:000:DESCRIPTOR         1628727550.070850
  05 01 09 01 A1 01 85 01 09 01 A1 00 05 09 19 01
  29 02 15 00 25 01 95 02 75 01 81 02 95 01 75 06
  81 01 05 01 09 30 09 31 16 2A 00 26 BD 07 36 00
  00 46 FF 0F 66 00 00 75 10 95 02 81 02 C0 C0 05
  0D 09 04 A1 01 85 02 09 20 A1 00 09 42 09 32 15
  00 25 01 95 02 75 01 81 02 95 06 75 01 81 03 05
  01 09 30 75 10 95 01 A4 55 00 65 00 36 00 00 46
  00 00 16 1E 00 26 C8 0F 81 02 09 31 16 3C 00 26
  C3 0F 36 00 00 46 00 00 81 02 B4 C0 C0
linux#

Touch on this screen fully works on Linux using the binary EETI driver. 
Could there be something different about the USB controller in some of 
these screens that is causing the corruption on FreeBSD? If there is any 
other info to gather from either install I'm happy to.

Here are some other tests with the patches. All that don't work have the 
same shorter descriptor report.

Jul 2011 - doesn't work, same truncated report descriptor
Sep 2011 - doesn't work, same truncated report descriptor
Nov 2012 - doesn't work, same truncated report descriptor
Mar 2013 - doesn't work, same truncated report descriptor
Jul 2013 - doesn't work, same truncated report descriptor
Sep 2014 - works with patches
Sep 2014 #2 - works with patches
Nov 2014 - works with patches
Feb 2015 - works with patches
Oct 2018 - works with patches
Oct 2018 #2 - works with patches
Feb 2020 - works with patches
Feb 2020 - works with patches
Feb 2021 - works with patches

And some more data from Linux in case it is helpful. event5 didn't hear 
events, event7 and event14 both did:

linux# evemu-record
Available devices:
/dev/input/event0:	Power Button
/dev/input/event1:	Sleep Button
/dev/input/event2:	Power Button
/dev/input/event3:	Lite-On Technology Corp. USB Multimedia Keyboard
/dev/input/event4:	Lite-On Technology Corp. USB Multimedia Keyboard
/dev/input/event5:	eGalax Inc. USB TouchController
/dev/input/event6:	Video Bus
/dev/input/event7:	eGalax Inc. USB TouchController
/dev/input/event8:	HDA Intel PCH Mic
/dev/input/event9:	HDA Intel PCH Line Out
/dev/input/event10:	HDA Intel PCH Headphone
/dev/input/event11:	HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event12:	HDA Intel PCH HDMI/DP,pcm=7
/dev/input/event13:	HDA Intel PCH HDMI/DP,pcm=8
/dev/input/event14:	eGalaxTouch Virtual Device for Single
Select the device event number [0-14]: 7
# EVEMU 1.2
# Input device name: "eGalax Inc. USB TouchController"
# Input device ID: bus 0x03 vendor 0xeef product 0x01 version 0x210
# Supported events:
#   Event type 0 (EV_SYN)
#     Event code 0 (SYN_REPORT)
#     Event code 1 (SYN_CONFIG)
#     Event code 2 (SYN_MT_REPORT)
#     Event code 3 (SYN_DROPPED)
#     Event code 4 ((null))
#     Event code 5 ((null))
#     Event code 6 ((null))
#     Event code 7 ((null))
#     Event code 8 ((null))
#     Event code 9 ((null))
#     Event code 10 ((null))
#     Event code 11 ((null))
#     Event code 12 ((null))
#     Event code 13 ((null))
#     Event code 14 ((null))
#   Event type 1 (EV_KEY)
#     Event code 320 (BTN_TOOL_PEN)
#     Event code 330 (BTN_TOUCH)
#   Event type 3 (EV_ABS)
#     Event code 0 (ABS_X)
#       Value   2069
#       Min       30
#       Max     4040
#       Fuzz       0
#       Flat       0
#       Resolution 0
#     Event code 1 (ABS_Y)
#       Value   2503
#       Min       60
#       Max     4035
#       Fuzz       0
#       Flat       0
#       Resolution 0
#   Event type 4 (EV_MSC)
#     Event code 4 (MSC_SCAN)
# Properties:
N: eGalax Inc. USB TouchController
I: 0003 0eef 0001 0210
P: 00 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 01 04 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 00 00 00 00 00 00 00 00
B: 03 03 00 00 00 00 00 00 00
B: 04 10 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 14 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
A: 00 30 4040 0 0 0
A: 01 60 4035 0 0 0
################################
#      Waiting for events      #
################################
E: 0.000000 0004 0004 852034	# EV_MSC / MSC_SCAN             852034
E: 0.000000 0001 014a 0001	# EV_KEY / BTN_TOUCH            1
E: 0.000000 0003 0000 1533	# EV_ABS / ABS_X                1533
E: 0.000000 0003 0001 2343	# EV_ABS / ABS_Y                2343
E: 0.000000 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.006000 0003 0001 2345	# EV_ABS / ABS_Y                2345
E: 0.006000 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.010005 0003 0000 1532	# EV_ABS / ABS_X                1532
E: 0.010005 0003 0001 2358	# EV_ABS / ABS_Y                2358
E: 0.010005 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.016010 0003 0000 1529	# EV_ABS / ABS_X                1529
E: 0.016010 0003 0001 2370	# EV_ABS / ABS_Y                2370
E: 0.016010 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.021998 0003 0000 1528	# EV_ABS / ABS_X                1528
E: 0.021998 0003 0001 2378	# EV_ABS / ABS_Y                2378
E: 0.021998 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.028003 0003 0000 1527	# EV_ABS / ABS_X                1527
E: 0.028003 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.034000 0003 0000 1526	# EV_ABS / ABS_X                1526
E: 0.034000 0003 0001 2382	# EV_ABS / ABS_Y                2382
E: 0.034000 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.042003 0003 0001 2387	# EV_ABS / ABS_Y                2387
E: 0.042003 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.050018 0003 0000 1525	# EV_ABS / ABS_X                1525
E: 0.050018 0003 0001 2386	# EV_ABS / ABS_Y                2386
E: 0.050018 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.058013 0003 0000 1524	# EV_ABS / ABS_X                1524
E: 0.058013 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.074006 0003 0000 1523	# EV_ABS / ABS_X                1523
E: 0.074006 0003 0001 2387	# EV_ABS / ABS_Y                2387
E: 0.074006 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.089999 0003 0001 2388	# EV_ABS / ABS_Y                2388
E: 0.089999 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.123988 0003 0000 1522	# EV_ABS / ABS_X                1522
E: 0.123988 0003 0001 2395	# EV_ABS / ABS_Y                2395
E: 0.123988 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.139999 0003 0001 2405	# EV_ABS / ABS_Y                2405
E: 0.139999 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.156001 0003 0000 1523	# EV_ABS / ABS_X                1523
E: 0.156001 0003 0001 2403	# EV_ABS / ABS_Y                2403
E: 0.156001 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.172000 0003 0000 1524	# EV_ABS / ABS_X                1524
E: 0.172000 0003 0001 2393	# EV_ABS / ABS_Y                2393
E: 0.172000 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.187999 0003 0000 1527	# EV_ABS / ABS_X                1527
E: 0.187999 0003 0001 2392	# EV_ABS / ABS_Y                2392
E: 0.187999 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.211989 0004 0004 852034	# EV_MSC / MSC_SCAN             852034
E: 0.211989 0001 014a 0000	# EV_KEY / BTN_TOUCH            0
E: 0.211989 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
^Clinux# evemu-record
Available devices:
/dev/input/event0:	Power Button
/dev/input/event1:	Sleep Button
/dev/input/event2:	Power Button
/dev/input/event3:	Lite-On Technology Corp. USB Multimedia Keyboard
/dev/input/event4:	Lite-On Technology Corp. USB Multimedia Keyboard
/dev/input/event5:	eGalax Inc. USB TouchController
/dev/input/event6:	Video Bus
/dev/input/event7:	eGalax Inc. USB TouchController
/dev/input/event8:	HDA Intel PCH Mic
/dev/input/event9:	HDA Intel PCH Line Out
/dev/input/event10:	HDA Intel PCH Headphone
/dev/input/event11:	HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event12:	HDA Intel PCH HDMI/DP,pcm=7
/dev/input/event13:	HDA Intel PCH HDMI/DP,pcm=8
/dev/input/event14:	eGalaxTouch Virtual Device for Single
Select the device event number [0-14]: 14
# EVEMU 1.2
# Input device name: "eGalaxTouch Virtual Device for Single"
# Input device ID: bus 0x06 vendor 0xeef product 0x10 version 0x01
# Supported events:
#   Event type 0 (EV_SYN)
#     Event code 0 (SYN_REPORT)
#     Event code 1 (SYN_CONFIG)
#     Event code 2 (SYN_MT_REPORT)
#     Event code 3 (SYN_DROPPED)
#     Event code 4 ((null))
#     Event code 5 ((null))
#     Event code 6 ((null))
#     Event code 7 ((null))
#     Event code 8 ((null))
#     Event code 9 ((null))
#     Event code 10 ((null))
#     Event code 11 ((null))
#     Event code 12 ((null))
#     Event code 13 ((null))
#     Event code 14 ((null))
#   Event type 1 (EV_KEY)
#     Event code 272 (BTN_LEFT)
#     Event code 273 (BTN_RIGHT)
#     Event code 276 (BTN_EXTRA)
#   Event type 3 (EV_ABS)
#     Event code 0 (ABS_X)
#       Value    766
#       Min        0
#       Max     2047
#       Fuzz       0
#       Flat       0
#       Resolution 0
#     Event code 1 (ABS_Y)
#       Value    875
#       Min        0
#       Max     2047
#       Fuzz       0
#       Flat       0
#       Resolution 0
#     Event code 3 (ABS_RX)
#       Value      0
#       Min        0
#       Max     2047
#       Fuzz       0
#       Flat       0
#       Resolution 0
#     Event code 4 (ABS_RY)
#       Value      0
#       Min        0
#       Max     2047
#       Fuzz       0
#       Flat       0
#       Resolution 0
# Properties:
#   Property  type 1 (INPUT_PROP_DIRECT)
N: eGalaxTouch Virtual Device for Single
I: 0006 0eef 0010 0001
P: 02 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 13 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 00 00 00 00 00 00 00 00
B: 03 1b 00 00 00 00 00 00 00
B: 04 00 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 14 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
A: 00 0 2047 0 0 0
A: 01 0 2047 0 0 0
A: 03 0 2047 0 0 0
A: 04 0 2047 0 0 0
################################
#      Waiting for events      #
################################
E: 0.000000 0003 0000 0650	# EV_ABS / ABS_X                650
E: 0.000000 0003 0001 1576	# EV_ABS / ABS_Y                1576
E: 0.000000 0001 0110 0001	# EV_KEY / BTN_LEFT             1
E: 0.000000 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.000018 0001 0110 0000	# EV_KEY / BTN_LEFT             0
E: 0.000018 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.517999 0003 0000 1328	# EV_ABS / ABS_X                1328
E: 0.517999 0003 0001 1461	# EV_ABS / ABS_Y                1461
E: 0.517999 0001 0110 0001	# EV_KEY / BTN_LEFT             1
E: 0.517999 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.518116 0001 0110 0000	# EV_KEY / BTN_LEFT             0
E: 0.518116 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.968004 0003 0000 0788	# EV_ABS / ABS_X                788
E: 0.968004 0003 0001 1335	# EV_ABS / ABS_Y                1335
E: 0.968004 0001 0110 0001	# EV_KEY / BTN_LEFT             1
E: 0.968004 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 0.968163 0001 0110 0000	# EV_KEY / BTN_LEFT             0
E: 0.968163 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 1.405991 0003 0000 0998	# EV_ABS / ABS_X                998
E: 1.405991 0003 0001 1254	# EV_ABS / ABS_Y                1254
E: 1.405991 0001 0110 0001	# EV_KEY / BTN_LEFT             1
E: 1.405991 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 1.406007 0001 0110 0000	# EV_KEY / BTN_LEFT             0
E: 1.406007 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 2.077987 0003 0000 1097	# EV_ABS / ABS_X                1097
E: 2.077987 0003 0001 1216	# EV_ABS / ABS_Y                1216
E: 2.077987 0001 0110 0001	# EV_KEY / BTN_LEFT             1
E: 2.077987 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 2.078097 0001 0110 0000	# EV_KEY / BTN_LEFT             0
E: 2.078097 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 2.527981 0003 0000 1400	# EV_ABS / ABS_X                1400
E: 2.527981 0003 0001 1393	# EV_ABS / ABS_Y                1393
E: 2.527981 0001 0110 0001	# EV_KEY / BTN_LEFT             1
E: 2.527981 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 2.527999 0001 0110 0000	# EV_KEY / BTN_LEFT             0
E: 2.527999 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 2.879992 0003 0000 0791	# EV_ABS / ABS_X                791
E: 2.879992 0003 0001 1276	# EV_ABS / ABS_Y                1276
E: 2.879992 0001 0110 0001	# EV_KEY / BTN_LEFT             1
E: 2.879992 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 2.880014 0001 0110 0000	# EV_KEY / BTN_LEFT             0
E: 2.880014 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 3.402001 0003 0000 0890	# EV_ABS / ABS_X                890
E: 3.402001 0003 0001 0894	# EV_ABS / ABS_Y                894
E: 3.402001 0001 0110 0001	# EV_KEY / BTN_LEFT             1
E: 3.402001 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
E: 3.402116 0001 0110 0000	# EV_KEY / BTN_LEFT             0
E: 3.402116 0000 0000 0000	# ------------ SYN_REPORT (0) ----------
linux#

-------

lsusb -v:

Bus 001 Device 003: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax 
TouchScreen
Device Descriptor:
   bLength                18
   bDescriptorType         1
   bcdUSB               1.10
   bDeviceClass            0 (Defined at Interface level)
   bDeviceSubClass         0
   bDeviceProtocol         0
   bMaxPacketSize0        64
   idVendor           0x0eef D-WAV Scientific Co., Ltd
   idProduct          0x0001 eGalax TouchScreen
   bcdDevice            1.00
   iManufacturer           1 eGalax Inc.
   iProduct                2 USB TouchController
   iSerial                 0
   bNumConfigurations      1
   Configuration Descriptor:
     bLength                 9
     bDescriptorType         2
     wTotalLength           34
     bNumInterfaces          1
     bConfigurationValue     1
     iConfiguration          1 eGalax Inc.
     bmAttributes         0xa0
       (Bus Powered)
       Remote Wakeup
     MaxPower              100mA
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        0
       bAlternateSetting       0
       bNumEndpoints           1
       bInterfaceClass         3 Human Interface Device
       bInterfaceSubClass      0 No Subclass
       bInterfaceProtocol      0 None
       iInterface              0
         HID Device Descriptor:
           bLength                 9
           bDescriptorType        33
           bcdHID               2.10
           bCountryCode            0 Not supported
           bNumDescriptors         1
           bDescriptorType        34 Report
           wDescriptorLength     141
          Report Descriptors:
            ** UNAVAILABLE **
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x81  EP 1 IN
         bmAttributes            3
           Transfer Type            Interrupt
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0008  1x 8 bytes
         bInterval               3
Device Status:     0x0000
   (Bus Powered)

From nobody Thu Aug 12 09:55:37 2021
X-Original-To: usb@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 1244917552A4
	for <usb@mlmmj.nyi.freebsd.org>; Thu, 12 Aug 2021 09:55:38 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4Glhrn724Zz4YdS
	for <usb@FreeBSD.org>; Thu, 12 Aug 2021 09:55:37 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(Client did not present a certificate)
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DB12E20A66
	for <usb@FreeBSD.org>; Thu, 12 Aug 2021 09:55:37 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from kenobi.freebsd.org ([127.0.1.5])
	by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 17C9tbdQ036941
	for <usb@FreeBSD.org>; Thu, 12 Aug 2021 09:55:37 GMT
	(envelope-from bugzilla-noreply@freebsd.org)
Received: (from www@localhost)
	by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 17C9tbkW036940
	for usb@FreeBSD.org; Thu, 12 Aug 2021 09:55:37 GMT
	(envelope-from bugzilla-noreply@freebsd.org)
X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f
From: bugzilla-noreply@freebsd.org
To: usb@FreeBSD.org
Subject: [Bug 257082] Sound with Scarlett Solo 3rd intermittently cuts off
 for very short periods of milliseconds.
Date: Thu, 12 Aug 2021 09:55:37 +0000
X-Bugzilla-Reason: AssignedTo
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: Base System
X-Bugzilla-Component: usb
X-Bugzilla-Version: 13.0-STABLE
X-Bugzilla-Keywords: 
X-Bugzilla-Severity: Affects Only Me
X-Bugzilla-Who: meka@tilda.center
X-Bugzilla-Status: In Progress
X-Bugzilla-Resolution: 
X-Bugzilla-Priority: ---
X-Bugzilla-Assigned-To: usb@FreeBSD.org
X-Bugzilla-Flags: 
X-Bugzilla-Changed-Fields: cc
Message-ID: <bug-257082-19105-4OGlBPl8hv@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-257082-19105@https.bugs.freebsd.org/bugzilla/>
References: <bug-257082-19105@https.bugs.freebsd.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/
Auto-Submitted: auto-generated
List-Id: FreeBSD <freebsd-usb.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/freebsd-usb
List-Help: <mailto:usb+help@freebsd.org>
List-Post: <mailto:usb@freebsd.org>
List-Subscribe: <mailto:usb+subscribe@freebsd.org>
List-Unsubscribe: <mailto:usb+unsubscribe@freebsd.org>
Sender: owner-freebsd-usb@freebsd.org
X-BeenThere: freebsd-usb@freebsd.org
MIME-Version: 1.0
X-ThisMailContainsUnwantedMimeParts: N

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D257082

Goran Meki=C4=87 <meka@tilda.center> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |meka@tilda.center

--- Comment #39 from Goran Meki=C4=87 <meka@tilda.center> ---
I just checked few machines of mine and they all use acpi for idle loops. T=
hose
are i5 based desktop, i7 based laptop, APU (first series) and AMD Ryzen 5
2400G. On all of them I have=20

machdep.idle_available: spin, mwait, hlt, acpi

Even VM on Vultr (KVM based) has similar output (mwait is missing). Does it
mean that acpi shouldn't be the idle choice on all of them?

--=20
You are receiving this mail because:
You are the assignee for the bug.=

From nobody Thu Aug 12 10:06:04 2021
X-Original-To: usb@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 642541755BDB
	for <usb@mlmmj.nyi.freebsd.org>; Thu, 12 Aug 2021 10:06:05 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4Glj4s2Kvxz4ZX2
	for <usb@FreeBSD.org>; Thu, 12 Aug 2021 10:06:05 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(Client did not present a certificate)
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3923520F26
	for <usb@FreeBSD.org>; Thu, 12 Aug 2021 10:06:05 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from kenobi.freebsd.org ([127.0.1.5])
	by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 17CA65b9041252
	for <usb@FreeBSD.org>; Thu, 12 Aug 2021 10:06:05 GMT
	(envelope-from bugzilla-noreply@freebsd.org)
Received: (from www@localhost)
	by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 17CA65ZN041251
	for usb@FreeBSD.org; Thu, 12 Aug 2021 10:06:05 GMT
	(envelope-from bugzilla-noreply@freebsd.org)
X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f
From: bugzilla-noreply@freebsd.org
To: usb@FreeBSD.org
Subject: [Bug 257082] Sound with Scarlett Solo 3rd intermittently cuts off
 for very short periods of milliseconds.
Date: Thu, 12 Aug 2021 10:06:04 +0000
X-Bugzilla-Reason: AssignedTo
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: Base System
X-Bugzilla-Component: usb
X-Bugzilla-Version: 13.0-STABLE
X-Bugzilla-Keywords: 
X-Bugzilla-Severity: Affects Only Me
X-Bugzilla-Who: gljennjohn@gmail.com
X-Bugzilla-Status: In Progress
X-Bugzilla-Resolution: 
X-Bugzilla-Priority: ---
X-Bugzilla-Assigned-To: usb@FreeBSD.org
X-Bugzilla-Flags: 
X-Bugzilla-Changed-Fields: cc
Message-ID: <bug-257082-19105-c2FBSqB9MU@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-257082-19105@https.bugs.freebsd.org/bugzilla/>
References: <bug-257082-19105@https.bugs.freebsd.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/
Auto-Submitted: auto-generated
List-Id: FreeBSD <freebsd-usb.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/freebsd-usb
List-Help: <mailto:usb+help@freebsd.org>
List-Post: <mailto:usb@freebsd.org>
List-Subscribe: <mailto:usb+subscribe@freebsd.org>
List-Unsubscribe: <mailto:usb+unsubscribe@freebsd.org>
Sender: owner-freebsd-usb@freebsd.org
X-BeenThere: freebsd-usb@freebsd.org
MIME-Version: 1.0
X-ThisMailContainsUnwantedMimeParts: N

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D257082

Gary Jennejohn <gljennjohn@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gljennjohn@gmail.com

--- Comment #40 from Gary Jennejohn <gljennjohn@gmail.com> ---
(In reply to Goran Meki=C4=87 from comment #39)
I'm curious.  Do you use SCHED_ULE?  If your kernel is based on GENERIC then
that is the default.
I use SCHED_4BSD and idle is set automatically to hlt.

--=20
You are receiving this mail because:
You are the assignee for the bug.=

From nobody Thu Aug 12 10:10:41 2021
X-Original-To: usb@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 1FD301756041
	for <usb@mlmmj.nyi.freebsd.org>; Thu, 12 Aug 2021 10:10:42 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4GljBB06QKz4ZVg
	for <usb@FreeBSD.org>; Thu, 12 Aug 2021 10:10:42 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(Client did not present a certificate)
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E06A620F2E
	for <usb@FreeBSD.org>; Thu, 12 Aug 2021 10:10:41 +0000 (UTC)
	(envelope-from bugzilla-noreply@freebsd.org)
Received: from kenobi.freebsd.org ([127.0.1.5])
	by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 17CAAfLV042902
	for <usb@FreeBSD.org>; Thu, 12 Aug 2021 10:10:41 GMT
	(envelope-from bugzilla-noreply@freebsd.org)
Received: (from www@localhost)
	by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 17CAAfPU042901
	for usb@FreeBSD.org; Thu, 12 Aug 2021 10:10:41 GMT
	(envelope-from bugzilla-noreply@freebsd.org)
X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f
From: bugzilla-noreply@freebsd.org
To: usb@FreeBSD.org
Subject: [Bug 257082] Sound with Scarlett Solo 3rd intermittently cuts off
 for very short periods of milliseconds.
Date: Thu, 12 Aug 2021 10:10:41 +0000
X-Bugzilla-Reason: AssignedTo
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: Base System
X-Bugzilla-Component: usb
X-Bugzilla-Version: 13.0-STABLE
X-Bugzilla-Keywords: 
X-Bugzilla-Severity: Affects Only Me
X-Bugzilla-Who: meka@tilda.center
X-Bugzilla-Status: In Progress
X-Bugzilla-Resolution: 
X-Bugzilla-Priority: ---
X-Bugzilla-Assigned-To: usb@FreeBSD.org
X-Bugzilla-Flags: 
X-Bugzilla-Changed-Fields: 
Message-ID: <bug-257082-19105-CVhKOVdgZW@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-257082-19105@https.bugs.freebsd.org/bugzilla/>
References: <bug-257082-19105@https.bugs.freebsd.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/
Auto-Submitted: auto-generated
List-Id: FreeBSD <freebsd-usb.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/freebsd-usb
List-Help: <mailto:usb+help@freebsd.org>
List-Post: <mailto:usb@freebsd.org>
List-Subscribe: <mailto:usb+subscribe@freebsd.org>
List-Unsubscribe: <mailto:usb+unsubscribe@freebsd.org>
Sender: owner-freebsd-usb@freebsd.org
X-BeenThere: freebsd-usb@freebsd.org
MIME-Version: 1.0
X-ThisMailContainsUnwantedMimeParts: N

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D257082

--- Comment #41 from Goran Meki=C4=87 <meka@tilda.center> ---
GENERIC on all of them.

--=20
You are receiving this mail because:
You are the assignee for the bug.=

From nobody Sat Aug 14 12:44:09 2021
X-Original-To: usb@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 62A97175DB69
	for <usb@mlmmj.nyi.freebsd.org>; Sat, 14 Aug 2021 12:45:33 +0000 (UTC)
	(envelope-from wulf@FreeBSD.org)
Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "smtp.freebsd.org", Issuer "R3" (verified OK))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4Gn0Wx1QJZz3lC3;
	Sat, 14 Aug 2021 12:45:33 +0000 (UTC)
	(envelope-from wulf@FreeBSD.org)
Received: from [192.168.0.30] (unknown [176.120.225.84])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(Client did not present a certificate)
	(Authenticated sender: wulf)
	by smtp.freebsd.org (Postfix) with ESMTPSA id 7826DB53D;
	Sat, 14 Aug 2021 12:45:32 +0000 (UTC)
	(envelope-from wulf@FreeBSD.org)
To: Mark Kane <mark@kane.mn>
Cc: usb@freebsd.org, hps@selasky.org
References: <324d49ca-1c0e-659d-194d-ece4d5f7f5e2@FreeBSD.org>
 <0ae3fec48e2c351d2c006f4ba4932cd7@kane.mn>
 <166dd4d4-24cd-c24b-d75e-9a34fa734358@FreeBSD.org>
 <eccaff2a99153fb44ffa8df3c93d7eb6@kane.mn>
 <36983ce5-8358-5a04-2377-46067d3c3c79@FreeBSD.org>
 <c9e68dbb-5382-976d-7302-d816d8636153@FreeBSD.org>
 <59ba07a0ecbdac36746fe18ea5f0559f@kane.mn>
 <92c855bf-a73a-bae5-fcdc-c5a88008739b@FreeBSD.org>
 <5e8cd8d75deff98e8db3352001ce8432@kane.mn>
 <858ac67e-14e2-730c-4a16-ca218e2c0bee@FreeBSD.org>
 <ee3c43f89df5dffd0b0dab7393f0c5b5@kane.mn>
 <168b368c-3258-6416-42c5-a722e45bf14b@FreeBSD.org>
 <a7e09a33593bc00c7ef525b47efcafa1@kane.mn>
 <12706f32-be2e-1cda-5d90-53b4e80b0b52@FreeBSD.org>
 <3bfc252a7ef55b21d5e51c251a518d78@kane.mn>
From: Vladimir Kondratyev <wulf@FreeBSD.org>
Subject: Re: eGalax USB touchscreen issues
Message-ID: <1c3ebd54-3686-ff5f-d5be-5a42ddcd5469@FreeBSD.org>
Date: Sat, 14 Aug 2021 15:44:09 +0300
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:78.0) Gecko/20100101
 Thunderbird/78.12.0
List-Id: FreeBSD <freebsd-usb.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/freebsd-usb
List-Help: <mailto:usb+help@freebsd.org>
List-Post: <mailto:usb@freebsd.org>
List-Subscribe: <mailto:usb+subscribe@freebsd.org>
List-Unsubscribe: <mailto:usb+unsubscribe@freebsd.org>
Sender: owner-freebsd-usb@freebsd.org
X-BeenThere: freebsd-usb@freebsd.org
MIME-Version: 1.0
In-Reply-To: <3bfc252a7ef55b21d5e51c251a518d78@kane.mn>
Content-Type: multipart/mixed;
 boundary="------------98DBBA9ACAC8556429D80CE7"
Content-Language: en-US
X-Spam: Yes
X-ThisMailContainsUnwantedMimeParts: N

This is a multi-part message in MIME format.
--------------98DBBA9ACAC8556429D80CE7
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

On 12.08.2021 06:37, Mark Kane wrote:
> On 2021-08-11 17:12, Vladimir Kondratyev wrote:
>> On 10.08.2021 07:03, Mark Kane wrote:
>>> # usbhid-dump
>>> 000:003:000:DESCRIPTOR         1628551474.564813
>>>  8D 0F 00 09 42 09 32 15 00 25 01 95 02 75 01 81
>>>  02 95 06 75 01 81 03 05 01 09 30 75 10 95 01 A4
>>>  55 00 65 00 36 00 00 46 00 00 16 1E 00 26 C8 0F
>>>  81 02 09 31 16 3C 00 26
>>    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> This one looks like corrupted fragment of touch device HID report
>> descriptor. Check wires, USB port, device itself and so on. Most
>> probably, it is a standard eGalax HID device with some USB transport
>> problems.
> 
> That is very interesting and a good catch. I have been using the same
> cable and USB port across all tests for consistency. This same #2 screen
> connected with the same cable to an identical machine running Linux
> 4.4.0-104 we get a much longer HID report descriptor:
> 
> linux# lsusb
> Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. Hub
> Bus 001 Device 004: ID 04ca:004f Lite-On Technology Corp. SK-9020 keyboard
> Bus 001 Device 003: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax
> TouchScreen
> Bus 001 Device 002: ID 8087:07e6 Intel Corp.
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> linux# usbhid-dump
> 001:004:001:DESCRIPTOR         1628727550.064013
>  05 0C 09 01 A1 01 85 01 19 00 2A 3C 02 15 00 26
>  3C 02 95 01 75 10 81 00 C0 05 01 09 80 A1 01 85
>  02 19 81 29 83 25 01 75 01 95 03 81 02 95 05 81
>  01 C0
> 
> 001:004:000:DESCRIPTOR         1628727550.066916
>  05 01 09 06 A1 01 05 07 19 E0 29 E7 15 00 25 01
>  95 08 75 01 81 02 95 08 75 01 81 01 05 08 19 01
>  29 03 95 03 75 01 91 02 95 01 75 05 91 01 05 07
>  19 00 2A FF 00 15 00 26 FF 00 95 06 75 08 81 00
>  C0
> 
> 001:003:000:DESCRIPTOR         1628727550.070850
>  05 01 09 01 A1 01 85 01 09 01 A1 00 05 09 19 01
>  29 02 15 00 25 01 95 02 75 01 81 02 95 01 75 06
>  81 01 05 01 09 30 09 31 16 2A 00 26 BD 07 36 00
>  00 46 FF 0F 66 00 00 75 10 95 02 81 02 C0 C0 05
>  0D 09 04 A1 01 85 02 09 20 A1 00 09 42 09 32 15
>  00 25 01 95 02 75 01 81 02 95 06 75 01 81 03 05
>  01 09 30 75 10 95 01 A4 55 00 65 00 36 00 00 46
>  00 00 16 1E 00 26 C8 0F 81 02 09 31 16 3C 00 26
>  C3 0F 36 00 00 46 00 00 81 02 B4 C0 C0
> linux#
> 

This report descriptor looks good and differs from post 2014 one. It
belongs to device which uses legacy MS stylus protocol. I attached a
patch which implements support for it in hpen(4) driver. Also it is
applicable to post 2014 devices as they have stylus top level collection
too.

> Touch on this screen fully works on Linux using the binary EETI driver.
> Could there be something different about the USB controller in some of
> these screens that is causing the corruption on FreeBSD? If there is any
> other info to gather from either install I'm happy to.

I do not khow how to debug this issue. May be hselasky can help here.

I can offer a workaround. Simple tool to upload fixed pre-2014 report
descriptor in to HID core through hidraw(4) interface.
Just compile it and run using proper /dev/hidraw# device node path as
parameter:
# cc -o setrdesc setrdesc.c
# ./setrdesc /dev/hidraw0

Don't forget to kldload hidraw.ko before.

> Here are some other tests with the patches. All that don't work have the
> same shorter descriptor report.
> 
> Jul 2011 - doesn't work, same truncated report descriptor
> Sep 2011 - doesn't work, same truncated report descriptor
> Nov 2012 - doesn't work, same truncated report descriptor
> Mar 2013 - doesn't work, same truncated report descriptor
> Jul 2013 - doesn't work, same truncated report descriptor
> Sep 2014 - works with patches
> Sep 2014 #2 - works with patches
> Nov 2014 - works with patches
> Feb 2015 - works with patches
> Oct 2018 - works with patches
> Oct 2018 #2 - works with patches
> Feb 2020 - works with patches
> Feb 2020 - works with patches
> Feb 2021 - works with patches
> 
> And some more data from Linux in case it is helpful. event5 didn't hear
> events, event7 and event14 both did:
> 

event5 is dummy mouse which forces cursor appearance on Windows 7 and 8
event7 is real HID device. Something very similar would appear in
FreeBSD if both hpen.patch and setrdesc.c would work.
event14 - is something artificial created by binary driver.

> linux# evemu-record
> Available devices:
> /dev/input/event0:    Power Button
> /dev/input/event1:    Sleep Button
> /dev/input/event2:    Power Button
> /dev/input/event3:    Lite-On Technology Corp. USB Multimedia Keyboard
> /dev/input/event4:    Lite-On Technology Corp. USB Multimedia Keyboard
> /dev/input/event5:    eGalax Inc. USB TouchController
> /dev/input/event6:    Video Bus
> /dev/input/event7:    eGalax Inc. USB TouchController
> /dev/input/event8:    HDA Intel PCH Mic
> /dev/input/event9:    HDA Intel PCH Line Out
> /dev/input/event10:    HDA Intel PCH Headphone
> /dev/input/event11:    HDA Intel PCH HDMI/DP,pcm=3
> /dev/input/event12:    HDA Intel PCH HDMI/DP,pcm=7
> /dev/input/event13:    HDA Intel PCH HDMI/DP,pcm=8
> /dev/input/event14:    eGalaxTouch Virtual Device for Single
> Select the device event number [0-14]: 7
> # EVEMU 1.2
> # Input device name: "eGalax Inc. USB TouchController"
> # Input device ID: bus 0x03 vendor 0xeef product 0x01 version 0x210
> # Supported events:
> #   Event type 0 (EV_SYN)
> #     Event code 0 (SYN_REPORT)
> #     Event code 1 (SYN_CONFIG)
> #     Event code 2 (SYN_MT_REPORT)
> #     Event code 3 (SYN_DROPPED)
> #     Event code 4 ((null))
> #     Event code 5 ((null))
> #     Event code 6 ((null))
> #     Event code 7 ((null))
> #     Event code 8 ((null))
> #     Event code 9 ((null))
> #     Event code 10 ((null))
> #     Event code 11 ((null))
> #     Event code 12 ((null))
> #     Event code 13 ((null))
> #     Event code 14 ((null))
> #   Event type 1 (EV_KEY)
> #     Event code 320 (BTN_TOOL_PEN)
> #     Event code 330 (BTN_TOUCH)
> #   Event type 3 (EV_ABS)
> #     Event code 0 (ABS_X)
> #       Value   2069
> #       Min       30
> #       Max     4040
> #       Fuzz       0
> #       Flat       0
> #       Resolution 0
> #     Event code 1 (ABS_Y)
> #       Value   2503
> #       Min       60
> #       Max     4035
> #       Fuzz       0
> #       Flat       0
> #       Resolution 0
> #   Event type 4 (EV_MSC)
> #     Event code 4 (MSC_SCAN)
> # Properties:
> N: eGalax Inc. USB TouchController
> I: 0003 0eef 0001 0210
> P: 00 00 00 00 00 00 00 00
> B: 00 0b 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 01 04 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 02 00 00 00 00 00 00 00 00
> B: 03 03 00 00 00 00 00 00 00
> B: 04 10 00 00 00 00 00 00 00
> B: 05 00 00 00 00 00 00 00 00
> B: 11 00 00 00 00 00 00 00 00
> B: 12 00 00 00 00 00 00 00 00
> B: 14 00 00 00 00 00 00 00 00
> B: 15 00 00 00 00 00 00 00 00
> B: 15 00 00 00 00 00 00 00 00
> A: 00 30 4040 0 0 0
> A: 01 60 4035 0 0 0
> ################################
> #      Waiting for events      #
> ################################
> E: 0.000000 0004 0004 852034    # EV_MSC / MSC_SCAN             852034
> E: 0.000000 0001 014a 0001    # EV_KEY / BTN_TOUCH            1
> E: 0.000000 0003 0000 1533    # EV_ABS / ABS_X                1533
> E: 0.000000 0003 0001 2343    # EV_ABS / ABS_Y                2343
> E: 0.000000 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.006000 0003 0001 2345    # EV_ABS / ABS_Y                2345
> E: 0.006000 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.010005 0003 0000 1532    # EV_ABS / ABS_X                1532
> E: 0.010005 0003 0001 2358    # EV_ABS / ABS_Y                2358
> E: 0.010005 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.016010 0003 0000 1529    # EV_ABS / ABS_X                1529
> E: 0.016010 0003 0001 2370    # EV_ABS / ABS_Y                2370
> E: 0.016010 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.021998 0003 0000 1528    # EV_ABS / ABS_X                1528
> E: 0.021998 0003 0001 2378    # EV_ABS / ABS_Y                2378
> E: 0.021998 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.028003 0003 0000 1527    # EV_ABS / ABS_X                1527
> E: 0.028003 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.034000 0003 0000 1526    # EV_ABS / ABS_X                1526
> E: 0.034000 0003 0001 2382    # EV_ABS / ABS_Y                2382
> E: 0.034000 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.042003 0003 0001 2387    # EV_ABS / ABS_Y                2387
> E: 0.042003 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.050018 0003 0000 1525    # EV_ABS / ABS_X                1525
> E: 0.050018 0003 0001 2386    # EV_ABS / ABS_Y                2386
> E: 0.050018 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.058013 0003 0000 1524    # EV_ABS / ABS_X                1524
> E: 0.058013 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.074006 0003 0000 1523    # EV_ABS / ABS_X                1523
> E: 0.074006 0003 0001 2387    # EV_ABS / ABS_Y                2387
> E: 0.074006 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.089999 0003 0001 2388    # EV_ABS / ABS_Y                2388
> E: 0.089999 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.123988 0003 0000 1522    # EV_ABS / ABS_X                1522
> E: 0.123988 0003 0001 2395    # EV_ABS / ABS_Y                2395
> E: 0.123988 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.139999 0003 0001 2405    # EV_ABS / ABS_Y                2405
> E: 0.139999 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.156001 0003 0000 1523    # EV_ABS / ABS_X                1523
> E: 0.156001 0003 0001 2403    # EV_ABS / ABS_Y                2403
> E: 0.156001 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.172000 0003 0000 1524    # EV_ABS / ABS_X                1524
> E: 0.172000 0003 0001 2393    # EV_ABS / ABS_Y                2393
> E: 0.172000 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.187999 0003 0000 1527    # EV_ABS / ABS_X                1527
> E: 0.187999 0003 0001 2392    # EV_ABS / ABS_Y                2392
> E: 0.187999 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.211989 0004 0004 852034    # EV_MSC / MSC_SCAN             852034
> E: 0.211989 0001 014a 0000    # EV_KEY / BTN_TOUCH            0
> E: 0.211989 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> ^Clinux# evemu-record
> Available devices:
> /dev/input/event0:    Power Button
> /dev/input/event1:    Sleep Button
> /dev/input/event2:    Power Button
> /dev/input/event3:    Lite-On Technology Corp. USB Multimedia Keyboard
> /dev/input/event4:    Lite-On Technology Corp. USB Multimedia Keyboard
> /dev/input/event5:    eGalax Inc. USB TouchController
> /dev/input/event6:    Video Bus
> /dev/input/event7:    eGalax Inc. USB TouchController
> /dev/input/event8:    HDA Intel PCH Mic
> /dev/input/event9:    HDA Intel PCH Line Out
> /dev/input/event10:    HDA Intel PCH Headphone
> /dev/input/event11:    HDA Intel PCH HDMI/DP,pcm=3
> /dev/input/event12:    HDA Intel PCH HDMI/DP,pcm=7
> /dev/input/event13:    HDA Intel PCH HDMI/DP,pcm=8
> /dev/input/event14:    eGalaxTouch Virtual Device for Single
> Select the device event number [0-14]: 14
> # EVEMU 1.2
> # Input device name: "eGalaxTouch Virtual Device for Single"
> # Input device ID: bus 0x06 vendor 0xeef product 0x10 version 0x01
> # Supported events:
> #   Event type 0 (EV_SYN)
> #     Event code 0 (SYN_REPORT)
> #     Event code 1 (SYN_CONFIG)
> #     Event code 2 (SYN_MT_REPORT)
> #     Event code 3 (SYN_DROPPED)
> #     Event code 4 ((null))
> #     Event code 5 ((null))
> #     Event code 6 ((null))
> #     Event code 7 ((null))
> #     Event code 8 ((null))
> #     Event code 9 ((null))
> #     Event code 10 ((null))
> #     Event code 11 ((null))
> #     Event code 12 ((null))
> #     Event code 13 ((null))
> #     Event code 14 ((null))
> #   Event type 1 (EV_KEY)
> #     Event code 272 (BTN_LEFT)
> #     Event code 273 (BTN_RIGHT)
> #     Event code 276 (BTN_EXTRA)
> #   Event type 3 (EV_ABS)
> #     Event code 0 (ABS_X)
> #       Value    766
> #       Min        0
> #       Max     2047
> #       Fuzz       0
> #       Flat       0
> #       Resolution 0
> #     Event code 1 (ABS_Y)
> #       Value    875
> #       Min        0
> #       Max     2047
> #       Fuzz       0
> #       Flat       0
> #       Resolution 0
> #     Event code 3 (ABS_RX)
> #       Value      0
> #       Min        0
> #       Max     2047
> #       Fuzz       0
> #       Flat       0
> #       Resolution 0
> #     Event code 4 (ABS_RY)
> #       Value      0
> #       Min        0
> #       Max     2047
> #       Fuzz       0
> #       Flat       0
> #       Resolution 0
> # Properties:
> #   Property  type 1 (INPUT_PROP_DIRECT)
> N: eGalaxTouch Virtual Device for Single
> I: 0006 0eef 0010 0001
> P: 02 00 00 00 00 00 00 00
> B: 00 0b 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 13 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 01 00 00 00 00 00 00 00 00
> B: 02 00 00 00 00 00 00 00 00
> B: 03 1b 00 00 00 00 00 00 00
> B: 04 00 00 00 00 00 00 00 00
> B: 05 00 00 00 00 00 00 00 00
> B: 11 00 00 00 00 00 00 00 00
> B: 12 00 00 00 00 00 00 00 00
> B: 14 00 00 00 00 00 00 00 00
> B: 15 00 00 00 00 00 00 00 00
> B: 15 00 00 00 00 00 00 00 00
> A: 00 0 2047 0 0 0
> A: 01 0 2047 0 0 0
> A: 03 0 2047 0 0 0
> A: 04 0 2047 0 0 0
> ################################
> #      Waiting for events      #
> ################################
> E: 0.000000 0003 0000 0650    # EV_ABS / ABS_X                650
> E: 0.000000 0003 0001 1576    # EV_ABS / ABS_Y                1576
> E: 0.000000 0001 0110 0001    # EV_KEY / BTN_LEFT             1
> E: 0.000000 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.000018 0001 0110 0000    # EV_KEY / BTN_LEFT             0
> E: 0.000018 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.517999 0003 0000 1328    # EV_ABS / ABS_X                1328
> E: 0.517999 0003 0001 1461    # EV_ABS / ABS_Y                1461
> E: 0.517999 0001 0110 0001    # EV_KEY / BTN_LEFT             1
> E: 0.517999 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.518116 0001 0110 0000    # EV_KEY / BTN_LEFT             0
> E: 0.518116 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.968004 0003 0000 0788    # EV_ABS / ABS_X                788
> E: 0.968004 0003 0001 1335    # EV_ABS / ABS_Y                1335
> E: 0.968004 0001 0110 0001    # EV_KEY / BTN_LEFT             1
> E: 0.968004 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 0.968163 0001 0110 0000    # EV_KEY / BTN_LEFT             0
> E: 0.968163 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 1.405991 0003 0000 0998    # EV_ABS / ABS_X                998
> E: 1.405991 0003 0001 1254    # EV_ABS / ABS_Y                1254
> E: 1.405991 0001 0110 0001    # EV_KEY / BTN_LEFT             1
> E: 1.405991 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 1.406007 0001 0110 0000    # EV_KEY / BTN_LEFT             0
> E: 1.406007 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 2.077987 0003 0000 1097    # EV_ABS / ABS_X                1097
> E: 2.077987 0003 0001 1216    # EV_ABS / ABS_Y                1216
> E: 2.077987 0001 0110 0001    # EV_KEY / BTN_LEFT             1
> E: 2.077987 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 2.078097 0001 0110 0000    # EV_KEY / BTN_LEFT             0
> E: 2.078097 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 2.527981 0003 0000 1400    # EV_ABS / ABS_X                1400
> E: 2.527981 0003 0001 1393    # EV_ABS / ABS_Y                1393
> E: 2.527981 0001 0110 0001    # EV_KEY / BTN_LEFT             1
> E: 2.527981 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 2.527999 0001 0110 0000    # EV_KEY / BTN_LEFT             0
> E: 2.527999 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 2.879992 0003 0000 0791    # EV_ABS / ABS_X                791
> E: 2.879992 0003 0001 1276    # EV_ABS / ABS_Y                1276
> E: 2.879992 0001 0110 0001    # EV_KEY / BTN_LEFT             1
> E: 2.879992 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 2.880014 0001 0110 0000    # EV_KEY / BTN_LEFT             0
> E: 2.880014 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 3.402001 0003 0000 0890    # EV_ABS / ABS_X                890
> E: 3.402001 0003 0001 0894    # EV_ABS / ABS_Y                894
> E: 3.402001 0001 0110 0001    # EV_KEY / BTN_LEFT             1
> E: 3.402001 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> E: 3.402116 0001 0110 0000    # EV_KEY / BTN_LEFT             0
> E: 3.402116 0000 0000 0000    # ------------ SYN_REPORT (0) ----------
> linux#
> 
> -------
> 
> lsusb -v:
> 
> Bus 001 Device 003: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax
> TouchScreen
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               1.10
>   bDeviceClass            0 (Defined at Interface level)
>   bDeviceSubClass         0
>   bDeviceProtocol         0
>   bMaxPacketSize0        64
>   idVendor           0x0eef D-WAV Scientific Co., Ltd
>   idProduct          0x0001 eGalax TouchScreen
>   bcdDevice            1.00
>   iManufacturer           1 eGalax Inc.
>   iProduct                2 USB TouchController
>   iSerial                 0
>   bNumConfigurations      1
>   Configuration Descriptor:
>     bLength                 9
>     bDescriptorType         2
>     wTotalLength           34
>     bNumInterfaces          1
>     bConfigurationValue     1
>     iConfiguration          1 eGalax Inc.
>     bmAttributes         0xa0
>       (Bus Powered)
>       Remote Wakeup
>     MaxPower              100mA
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       0
>       bNumEndpoints           1
>       bInterfaceClass         3 Human Interface Device
>       bInterfaceSubClass      0 No Subclass
>       bInterfaceProtocol      0 None
>       iInterface              0
>         HID Device Descriptor:
>           bLength                 9
>           bDescriptorType        33
>           bcdHID               2.10
>           bCountryCode            0 Not supported
>           bNumDescriptors         1
>           bDescriptorType        34 Report
>           wDescriptorLength     141
>          Report Descriptors:
>            ** UNAVAILABLE **
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0008  1x 8 bytes
>         bInterval               3
> Device Status:     0x0000
>   (Bus Powered)

-- 
WBR
Vladimir Kondratyev


--------------98DBBA9ACAC8556429D80CE7
Content-Type: text/x-patch; charset=UTF-8;
 name="hpen.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="hpen.patch"

diff --git a/sys/dev/hid/hidbus.c b/sys/dev/hid/hidbus.c
index 58d19a2a4d7..69f3d391163 100644
--- a/sys/dev/hid/hidbus.c
+++ b/sys/dev/hid/hidbus.c
@@ -172,6 +172,25 @@ hidbus_locate(const void *desc, hid_size_t size, int=
32_t u, enum hid_kind k,
 	return (0);
 }
=20
+bool
+hidbus_is_collection(const void *desc, hid_size_t size, int32_t usage,
+    uint8_t tlc_index)
+{
+	struct hid_data *d;
+	struct hid_item h;
+	bool ret =3D false;
+
+	d =3D hid_start_parse(desc, size, 0);
+	HIDBUS_FOREACH_ITEM(d, &h, tlc_index) {
+		if (h.kind =3D=3D hid_collection && h.usage =3D=3D usage) {
+			ret =3D true;
+			break;
+		}
+	}
+	hid_end_parse(d);
+	return (ret);
+}
+
 static device_t
 hidbus_add_child(device_t dev, u_int order, const char *name, int unit)
 {
diff --git a/sys/dev/hid/hidbus.h b/sys/dev/hid/hidbus.h
index 05911fff573..d4324a2dc39 100644
--- a/sys/dev/hid/hidbus.h
+++ b/sys/dev/hid/hidbus.h
@@ -152,6 +152,7 @@ int	hidbus_locate(const void *desc, hid_size_t size, =
int32_t u,
 	    enum hid_kind k, uint8_t tlc_index, uint8_t index,
 	    struct hid_location *loc, uint32_t *flags, uint8_t *id,
 	    struct hid_absinfo *ai);
+bool	hidbus_is_collection(const void *, hid_size_t, int32_t, uint8_t);
=20
 const struct hid_device_id *hidbus_lookup_id(device_t,
 		    const struct hid_device_id *, int);
diff --git a/sys/dev/hid/hidmap.c b/sys/dev/hid/hidmap.c
index 46e789fa7ce..d787b298b41 100644
--- a/sys/dev/hid/hidmap.c
+++ b/sys/dev/hid/hidmap.c
@@ -451,7 +451,8 @@ hidmap_probe_hid_descr(void *d_ptr, hid_size_t d_len,=
 uint8_t tlc_index,
 	bool do_free =3D false;
=20
 	if (caps =3D=3D NULL) {
-		caps =3D malloc(HIDMAP_CAPS_SZ(nitems_map), M_DEVBUF, M_WAITOK);
+		caps =3D malloc(HIDMAP_CAPS_SZ(nitems_map), M_DEVBUF,
+		    M_WAITOK | M_ZERO);
 		do_free =3D true;
 	} else
 		bzero (caps, HIDMAP_CAPS_SZ(nitems_map));
@@ -481,7 +482,10 @@ hidmap_probe_hid_descr(void *d_ptr, hid_size_t d_len=
, uint8_t tlc_index,
 	/* Check that all mandatory usages are present in report descriptor */
 	if (items !=3D 0) {
 		for (i =3D 0; i < nitems_map; i++) {
-			if (map[i].required && isclr(caps, i)) {
+			KASSERT(!(map[i].required && map[i].forbidden),
+			    ("both required & forbidden item flags are set"));
+			if ((map[i].required && isclr(caps, i)) ||
+			    (map[i].forbidden && isset(caps, i))) {
 				items =3D 0;
 				break;
 			}
diff --git a/sys/dev/hid/hidmap.h b/sys/dev/hid/hidmap.h
index 6ac23b3dc4e..62888109263 100644
--- a/sys/dev/hid/hidmap.h
+++ b/sys/dev/hid/hidmap.h
@@ -62,6 +62,8 @@ typedef int hidmap_cb_t(HIDMAP_CB_ARGS);
 /* These helpers can be used at any stage of any callbacks */
 #define	HIDMAP_CB_GET_STATE(...)					\
 	((hm =3D=3D NULL) ? HIDMAP_CB_IS_PROBING : hm->cb_state)
+#define	HIDMAP_CB_GET_DEV(...)						\
+	(hm =3D=3D NULL ? NULL : hm->dev)
 #define	HIDMAP_CB_GET_SOFTC(...)					\
 	(hm =3D=3D NULL ? NULL : device_get_softc(hm->dev))
 #define	HIDMAP_CB_GET_EVDEV(...)					\
@@ -98,7 +100,8 @@ struct hidmap_item {
 	bool			has_cb:1;
 	bool			final_cb:1;
 	bool			invert_value:1;
-	u_int			reserved:10;
+	bool			forbidden:1;	/* Forbidden by driver */
+	u_int			reserved:9;
 };
=20
 #define	HIDMAP_ANY(_page, _usage, _type, _code)				\
diff --git a/sys/dev/hid/hms.c b/sys/dev/hid/hms.c
index 94267b3fcd5..0f60eec86a4 100644
--- a/sys/dev/hid/hms.c
+++ b/sys/dev/hid/hms.c
@@ -109,6 +109,7 @@ static const struct hidmap_item hms_map_wheel_rev[] =3D=
 {
=20
 /* A match on these entries will load hms */
 static const struct hid_device_id hms_devs[] =3D {
+	{ HID_TLC(HUP_GENERIC_DESKTOP, HUG_POINTER) },
 	{ HID_TLC(HUP_GENERIC_DESKTOP, HUG_MOUSE) },
 };
=20
diff --git a/sys/dev/hid/hpen.c b/sys/dev/hid/hpen.c
index 1d505e14089..8a86b95b102 100644
--- a/sys/dev/hid/hpen.c
+++ b/sys/dev/hid/hpen.c
@@ -72,44 +72,43 @@ static hidmap_cb_t	hpen_final_pen_cb;
 	HIDMAP_ABS_CB(HUP_DIGITIZERS, HUD_##usage, &cb)
=20
 /* Generic map digitizer page map according to hut1_12v2.pdf */
-static const struct hidmap_item hpen_map_digi[] =3D {
+static const struct hidmap_item hpen_map_pen[] =3D {
     { HPEN_MAP_ABS_GD(X,		ABS_X),		  .required =3D true },
     { HPEN_MAP_ABS_GD(Y,		ABS_Y),		  .required =3D true },
     { HPEN_MAP_ABS(   TIP_PRESSURE,	ABS_PRESSURE) },
     { HPEN_MAP_ABS(   X_TILT,		ABS_TILT_X) },
     { HPEN_MAP_ABS(   Y_TILT,		ABS_TILT_Y) },
+    { HPEN_MAP_ABS(   CONTACTID,	0), 		  .forbidden =3D true },
+    { HPEN_MAP_ABS(   CONTACTCOUNT,	0), 		  .forbidden =3D true },
     { HPEN_MAP_ABS_CB(BATTERY_STRENGTH,	hpen_battery_strenght_cb) },
     { HPEN_MAP_BUT(   TOUCH,		BTN_TOUCH) },
     { HPEN_MAP_BUT(   TIP_SWITCH,	BTN_TOUCH) },
     { HPEN_MAP_BUT(   SEC_TIP_SWITCH,	BTN_TOUCH) },
-    { HPEN_MAP_BUT(   IN_RANGE,		BTN_TOOL_PEN) },
     { HPEN_MAP_BUT(   BARREL_SWITCH,	BTN_STYLUS) },
     { HPEN_MAP_BUT(   INVERT,		BTN_TOOL_RUBBER) },
     { HPEN_MAP_BUT(   ERASER,		BTN_TOUCH) },
     { HPEN_MAP_BUT(   TABLET_PICK,	BTN_STYLUS2) },
     { HPEN_MAP_BUT(   SEC_BARREL_SWITCH,BTN_STYLUS2) },
-    { HIDMAP_FINAL_CB(			&hpen_final_digi_cb) },
+    { HIDMAP_FINAL_CB(			&hpen_final_pen_cb) },
 };
=20
-/* Microsoft-standardized pen support */
-static const struct hidmap_item hpen_map_pen[] =3D {
-    { HPEN_MAP_ABS_GD(X,		ABS_X),		  .required =3D true },
-    { HPEN_MAP_ABS_GD(Y,		ABS_Y),		  .required =3D true },
-    { HPEN_MAP_ABS(   TIP_PRESSURE,	ABS_PRESSURE),	  .required =3D true =
},
-    { HPEN_MAP_ABS(   X_TILT,		ABS_TILT_X) },
-    { HPEN_MAP_ABS(   Y_TILT,		ABS_TILT_Y) },
-    { HPEN_MAP_ABS_CB(BATTERY_STRENGTH,	hpen_battery_strenght_cb) },
-    { HPEN_MAP_BUT(   TIP_SWITCH,	BTN_TOUCH),	  .required =3D true },
-    { HPEN_MAP_BUT(   IN_RANGE,		BTN_TOOL_PEN),	  .required =3D true },
-    { HPEN_MAP_BUT(   BARREL_SWITCH,	BTN_STYLUS) },
-    { HPEN_MAP_BUT(   INVERT,		BTN_TOOL_RUBBER), .required =3D true },
-    { HPEN_MAP_BUT(   ERASER,		BTN_TOUCH),	  .required =3D true },
-    { HIDMAP_FINAL_CB(			&hpen_final_pen_cb) },
+static const struct hidmap_item hpen_map_stylus[] =3D {
+    { HPEN_MAP_BUT(   IN_RANGE,		BTN_TOOL_PEN) },
+};
+static const struct hidmap_item hpen_map_finger[] =3D {
+    { HPEN_MAP_BUT(   IN_RANGE,		BTN_TOOL_FINGER) },
 };
=20
 static const struct hid_device_id hpen_devs[] =3D {
 	{ HID_TLC(HUP_DIGITIZERS, HUD_DIGITIZER) },
 	{ HID_TLC(HUP_DIGITIZERS, HUD_PEN) },
+	{ HID_TLC(HUP_DIGITIZERS, HUD_TOUCHSCREEN),
+	  HID_BVP(BUS_USB, USB_VENDOR_EGALAX, USB_PRODUCT_EGALAX_TPANEL) },
+};
+
+/* Do not autoload legacy pen driver for all touchscreen */
+static const struct hid_device_id hpen_devs_no_load[] =3D {
+	{ HID_TLC(HUP_DIGITIZERS, HUD_TOUCHSCREEN) },
 };
=20
 static int
@@ -134,25 +133,18 @@ hpen_battery_strenght_cb(HIDMAP_CB_ARGS)
 	return (0);
 }
=20
-static int
-hpen_final_digi_cb(HIDMAP_CB_ARGS)
-{
-	struct evdev_dev *evdev =3D HIDMAP_CB_GET_EVDEV();
-
-	if (HIDMAP_CB_GET_STATE() =3D=3D HIDMAP_CB_IS_ATTACHING)
-		evdev_support_prop(evdev, INPUT_PROP_POINTER);
-
-	/* Do not execute callback at interrupt handler and detach */
-	return (ENOSYS);
-}
-
 static int
 hpen_final_pen_cb(HIDMAP_CB_ARGS)
 {
 	struct evdev_dev *evdev =3D HIDMAP_CB_GET_EVDEV();
=20
-	if (HIDMAP_CB_GET_STATE() =3D=3D HIDMAP_CB_IS_ATTACHING)
-		evdev_support_prop(evdev, INPUT_PROP_DIRECT);
+	if (HIDMAP_CB_GET_STATE() =3D=3D HIDMAP_CB_IS_ATTACHING) {
+		if (hidbus_get_usage(HIDMAP_CB_GET_DEV()) =3D=3D
+		    HID_USAGE2(HUP_DIGITIZERS, HUD_DIGITIZER))
+			evdev_support_prop(evdev, INPUT_PROP_POINTER);
+		else
+			evdev_support_prop(evdev, INPUT_PROP_DIRECT);
+	}
=20
 	/* Do not execute callback at interrupt handler and detach */
 	return (ENOSYS);
@@ -185,24 +177,39 @@ static int
 hpen_probe(device_t dev)
 {
 	struct hidmap *hm =3D device_get_softc(dev);
+	const char *desc;
+	void *d_ptr;
+	hid_size_t d_len;
 	int error;
-	bool is_pen;
=20
-	error =3D HIDBUS_LOOKUP_DRIVER_INFO(dev, hpen_devs);
-	if (error !=3D 0)
-		return (error);
+	if (HIDBUS_LOOKUP_DRIVER_INFO(dev, hpen_devs_no_load) !=3D 0) {
+		error =3D HIDBUS_LOOKUP_DRIVER_INFO(dev, hpen_devs);
+		if (error !=3D 0)
+			return (error);
+	}
=20
 	hidmap_set_dev(hm, dev);
=20
-	/* Check if report descriptor belongs to a HID tablet device */
-	is_pen =3D hidbus_get_usage(dev) =3D=3D HID_USAGE2(HUP_DIGITIZERS, HUD_=
PEN);
-	error =3D is_pen
-	    ? HIDMAP_ADD_MAP(hm, hpen_map_pen, NULL)
-	    : HIDMAP_ADD_MAP(hm, hpen_map_digi, NULL);
+	/* Check if report descriptor belongs to a HID pen device */
+	error =3D HIDMAP_ADD_MAP(hm, hpen_map_pen, NULL);
 	if (error !=3D 0)
 		return (error);
=20
-	hidbus_set_desc(dev, is_pen ? "Pen" : "Digitizer");
+	if (hid_get_report_descr(dev, &d_ptr, &d_len) !=3D 0)
+		return (ENXIO);
+
+	if (hidbus_is_collection(d_ptr, d_len,
+	    HID_USAGE2(HUP_DIGITIZERS, HUD_FINGER), hidbus_get_index(dev))) {
+		HIDMAP_ADD_MAP(hm, hpen_map_finger, NULL);
+		desc =3D "TouchScreen";
+	} else {
+		HIDMAP_ADD_MAP(hm, hpen_map_stylus, NULL);
+		desc =3D "Pen";
+	}
+	if (hidbus_get_usage(dev) =3D=3D HID_USAGE2(HUP_DIGITIZERS, HUD_DIGITIZ=
ER))
+		desc =3D "Digitizer";
+
+	hidbus_set_desc(dev, desc);
=20
 	return (BUS_PROBE_DEFAULT);
 }

--------------98DBBA9ACAC8556429D80CE7
Content-Type: text/x-csrc; charset=UTF-8;
 name="setrdesc.c"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="setrdesc.c"

#include <sys/ioctl.h>

#include <errno.h>
#include <fcntl.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

#include <dev/hid/hidraw.h>

static char rdesc[] =3D {
0x05, 0x01,        // Usage Page (Generic Desktop Ctrls)
0x09, 0x01,        // Usage (Pointer)
0xA1, 0x01,        // Collection (Application)
0x85, 0x01,        //   Report ID (1)
0x09, 0x01,        //   Usage (Pointer)
0xA1, 0x00,        //   Collection (Physical)
0x05, 0x09,        //     Usage Page (Button)
0x19, 0x01,        //     Usage Minimum (0x01)
0x29, 0x02,        //     Usage Maximum (0x02)
0x15, 0x00,        //     Logical Minimum (0)
0x25, 0x01,        //     Logical Maximum (1)
0x95, 0x02,        //     Report Count (2)
0x75, 0x01,        //     Report Size (1)
0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred St=
ate,No Null Position)
0x95, 0x01,        //     Report Count (1)
0x75, 0x06,        //     Report Size (6)
0x81, 0x01,        //     Input (Const,Array,Abs,No Wrap,Linear,Preferred=
 State,No Null Position)
0x05, 0x01,        //     Usage Page (Generic Desktop Ctrls)
0x09, 0x30,        //     Usage (X)
0x09, 0x31,        //     Usage (Y)
0x16, 0x2A, 0x00,  //     Logical Minimum (42)
0x26, 0xBD, 0x07,  //     Logical Maximum (1981)
0x36, 0x00, 0x00,  //     Physical Minimum (0)
0x46, 0xFF, 0x0F,  //     Physical Maximum (4095)
0x66, 0x00, 0x00,  //     Unit (None)
0x75, 0x10,        //     Report Size (16)
0x95, 0x02,        //     Report Count (2)
0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred St=
ate,No Null Position)
0xC0,              //   End Collection
0xC0,              // End Collection
0x05, 0x0D,        // Usage Page (Digitizer)
0x09, 0x04,        // Usage (Touch Screen)
0xA1, 0x01,        // Collection (Application)
0x85, 0x02,        //   Report ID (2)
0x09, 0x20,        //   Usage (Stylus)
0xA1, 0x00,        //   Collection (Physical)
0x09, 0x42,        //     Usage (Tip Switch)
0x09, 0x32,        //     Usage (In Range)
0x15, 0x00,        //     Logical Minimum (0)
0x25, 0x01,        //     Logical Maximum (1)
0x95, 0x02,        //     Report Count (2)
0x75, 0x01,        //     Report Size (1)
0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred St=
ate,No Null Position)
0x95, 0x06,        //     Report Count (6)
0x75, 0x01,        //     Report Size (1)
0x81, 0x03,        //     Input (Const,Var,Abs,No Wrap,Linear,Preferred S=
tate,No Null Position)
0x05, 0x01,        //     Usage Page (Generic Desktop Ctrls)
0x09, 0x30,        //     Usage (X)
0x75, 0x10,        //     Report Size (16)
0x95, 0x01,        //     Report Count (1)
0xA4,              //     Push
0x55, 0x00,        //       Unit Exponent (0)
0x65, 0x00,        //       Unit (None)
0x36, 0x00, 0x00,  //       Physical Minimum (0)
0x46, 0x00, 0x00,  //       Physical Maximum (0)
0x16, 0x1E, 0x00,  //       Logical Minimum (30)
0x26, 0xC8, 0x0F,  //       Logical Maximum (4040)
0x81, 0x02,        //       Input (Data,Var,Abs,No Wrap,Linear,Preferred =
State,No Null Position)
0x09, 0x31,        //       Usage (Y)
0x16, 0x3C, 0x00,  //       Logical Minimum (60)
0x26, 0xC3, 0x0F,  //       Logical Maximum (4035)
0x36, 0x00, 0x00,  //       Physical Minimum (0)
0x46, 0x00, 0x00,  //       Physical Maximum (0)
0x81, 0x02,        //       Input (Data,Var,Abs,No Wrap,Linear,Preferred =
State,No Null Position)
0xB4,              //     Pop
0xC0,              //   End Collection
0xC0,              // End Collection
};

int
main(int argc, char *argv[])
{
	static const struct hidraw_gen_descriptor hd =3D {
		.hgd_data =3D rdesc,
		.hgd_maxlen =3D sizeof(rdesc),
	};
	int fd, res;
	char *cdev;

	cdev =3D argc > 1 ? argv[1] : "/dev/hidraw0";

	fd =3D open(cdev, O_WRONLY);
	if (fd < 0) {
		perror("open failed");
		exit(1);
	}
	res =3D ioctl(fd, HIDRAW_SET_REPORT_DESC, &hd);
	close(fd);
	if (res < 0) {
		perror("ioctl failed");
		exit(1);
	}

	return(0);
}

--------------98DBBA9ACAC8556429D80CE7--

From nobody Sun Aug 15 21:00:21 2021
X-Original-To: usb@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
	by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 879AF174D8CA
	for <usb@mlmmj.nyi.freebsd.org>; Sun, 15 Aug 2021 21:00:22 +0000 (UTC)
	(envelope-from bugzilla-noreply@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
	 client-signature RSA-PSS (4096 bits) client-digest SHA256)
	(Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK))
	by mx1.freebsd.org (Postfix) with ESMTPS id 4GnqSP6Lz7z4WMZ
	for <usb@FreeBSD.org>; Sun, 15 Aug 2021 21:00:21 +0000 (UTC)
	(envelope-from bugzilla-noreply@FreeBSD.org)
Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(Client did not present a certificate)
	by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 72DEC1CF22
	for <usb@FreeBSD.org>; Sun, 15 Aug 2021 21:00:21 +0000 (UTC)
	(envelope-from bugzilla-noreply@FreeBSD.org)
Received: from kenobi.freebsd.org ([127.0.1.5])
	by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 17FL0LwW009950
	for <usb@FreeBSD.org>; Sun, 15 Aug 2021 21:00:21 GMT
	(envelope-from bugzilla-noreply@FreeBSD.org)
Received: (from bugzilla@localhost)
	by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 17FL0LqC009949
	for usb@FreeBSD.org; Sun, 15 Aug 2021 21:00:21 GMT
	(envelope-from bugzilla-noreply@FreeBSD.org)
Message-Id: <202108152100.17FL0LqC009949@kenobi.freebsd.org>
X-Authentication-Warning: kenobi.freebsd.org: bugzilla set sender to bugzilla-noreply@FreeBSD.org using -f
From: bugzilla-noreply@FreeBSD.org
To: usb@FreeBSD.org
Subject: Problem reports for usb@FreeBSD.org that need special attention
Date: Sun, 15 Aug 2021 21:00:21 +0000
List-Id: FreeBSD <freebsd-usb.freebsd.org>
List-Archive: https://lists.freebsd.org/archives/freebsd-usb
List-Help: <mailto:usb+help@freebsd.org>
List-Post: <mailto:usb@freebsd.org>
List-Subscribe: <mailto:usb+subscribe@freebsd.org>
List-Unsubscribe: <mailto:usb+unsubscribe@freebsd.org>
Sender: owner-freebsd-usb@freebsd.org
X-BeenThere: freebsd-usb@freebsd.org
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="16290612213.c54EA.9300"
Content-Transfer-Encoding: 7bit
X-ThisMailContainsUnwantedMimeParts: N


--16290612213.c54EA.9300
Date: Sun, 15 Aug 2021 21:00:21 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"

To view an individual PR, use:
  https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=(Bug Id).

The following is a listing of current problems submitted by FreeBSD users,
which need special attention. These represent problem reports covering
all versions including experimental development code and obsolete releases.

Status      |    Bug Id | Description
------------+-----------+---------------------------------------------------
Open        |    213877 | xhci reset causes panic on SuperMicro A1SRi-2758F 
Open        |    234578 | Support for Sierra Wireless EM7455 modem          
Open        |    247964 | Low read throughput on Sandisk Extreme external S 

3 problems total for which you should take action.

--16290612213.c54EA.9300--