Page MenuHomeFreeBSD

wulf (Vladimir Kondratyev)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 3 2017, 8:47 AM (111 w, 3 d)

Recent Activity

Mon, Jul 22

wulf added a comment to D16698: First draft HID over I2C support (Mouse only).

Sorry, no difference.

I enabled debugging output in imt.c so please:

Mon, Jul 22, 10:27 AM · Contributor Reviews (base)

Sun, Jul 21

wulf added a comment to D16698: First draft HID over I2C support (Mouse only).

The only problem -- the device is still dead;

I fixed one bug, so try one more time

it generates nothing with libinput debug-events, and no events in xev.

libinput debug-events is not the right tool to debug evdev. evemu-record from devel/evemu port is better

Sun, Jul 21, 11:35 PM · Contributor Reviews (base)
wulf added a comment to D16698: First draft HID over I2C support (Mouse only).

Unlike with previous driver, I don't see /dev/input/event3 (HID over IIC) anymore.

That is expected as it ignored any touchpads

Sun, Jul 21, 12:56 PM · Contributor Reviews (base)

Fri, Jul 19

wulf added a comment to D16698: First draft HID over I2C support (Mouse only).

@wulf, please explain how to test this driver. Should I just compile new iichid.ko (running make in the input directory),

just unpack it at your $HOME. Than

make && sudo kldload ./iichid.ko

leaving all other modules built from the source of this thread?

drivers from this review should be at least unloaded from kernel. There is no need to revert D16698 patch. Just don't try to kldload both modules in between reboots.

Should I remove evdev support from the kernel?

No need. It links with evdev unconditionally

Can you please share your xorg configuration?

I do not have any specific xorg.conf options. Any evdev-awared autoconfiguration backend should work out of box. See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196678 for example.

Fri, Jul 19, 9:31 PM · Contributor Reviews (base)
wulf added a comment to D16698: First draft HID over I2C support (Mouse only).

Parsed:

0x05, 0x0D,        // Usage Page (Digitizer)
0x09, 0x05,        // Usage (Touch Pad)
0xA1, 0x01,        // Collection (Application)
0x85, 0x04,        //   Report ID (4)
0x09, 0x22,        //   Usage (Finger)
0xA1, 0x02,        //   Collection (Logical)
Fri, Jul 19, 9:13 PM · Contributor Reviews (base)

Thu, Jul 18

wulf added a comment to D16698: First draft HID over I2C support (Mouse only).

OS driver or userland applications just do not have enough information as finger coords or count to support doublefinger scroll or multifinger taps.

I wrote a simple util to dump report descriptor from I2C HID device

.
It accepts 3 input parameters: iic device path, i2c bus address and i2c HID register and prints report descriptor of given I2C device on stdout. This report descriptor can be further analyzed with any tool (e.g. web-based http://eleccelerator.com/usbdescreqparser/) to examine HID device capabilities.

Thu, Jul 18, 9:59 PM · Contributor Reviews (base)
wulf added a comment to D16698: First draft HID over I2C support (Mouse only).

I see. Sigh. Anyway, some people from this thread reported that two finger scrolling *does* work, including @johalun himself in his announcement:

If I do two finger horizontal scroll I don't get any event callbacks at all while I do for vertical. Could this be something that has to be enabled by sending some command to the device?

Thu, Jul 18, 9:45 PM · Contributor Reviews (base)
wulf added a comment to D16698: First draft HID over I2C support (Mouse only).

We have the wmt driver but right now it's *touchscreen*-only and (of course) USB-only.

Thu, Jul 18, 9:34 PM · Contributor Reviews (base)

Mon, Jul 8

wulf added a comment to D16698: First draft HID over I2C support (Mouse only).

Oh, nice. Your iichid_identify() method is basically identical to what I wrote. You're right, it does not strictly require a separate module, it just seemed cleaner to have a generic acpi_iichid bus.

I don't object to acpi_iichid module existence. It just adds an extra requirements for module load order which I was not able to solve quickly.

I think it would be best to try and base the ims driver on top of your code. Are you interested in trying to integrate them?

Yes, I am going to submit this code to the project when it will be ready, so it is better to have it insync with ims

Mon, Jul 8, 11:15 PM · Contributor Reviews (base)
wulf added a comment to D16698: First draft HID over I2C support (Mouse only).

I wrote a driver for I2C MT touchscreens https://github.com/wulf7/iichid which is heavily based on the code in this review.
It does not require dedicated ACPI module at all and has some I2C/HID layers separation which is missed in current review.
So I think it may have sense to join efforts and codebases

Mon, Jul 8, 10:06 PM · Contributor Reviews (base)

Sat, Jun 29

wulf committed rS349541: MFC r346455-r346458, r348520, r348529, r348817, r348818.
MFC r346455-r346458, r348520, r348529, r348817, r348818
Sat, Jun 29, 12:54 PM
wulf committed rS349540: MFC r346455-r346458, r348520, r348529, r348817, r348818.
MFC r346455-r346458, r348520, r348529, r348817, r348818
Sat, Jun 29, 12:50 PM

Jun 8 2019

wulf committed rS348818: psm(4): Add extra sanity checks to Elantech trackpoint packet parser..
psm(4): Add extra sanity checks to Elantech trackpoint packet parser.
Jun 8 2019, 9:36 PM
wulf committed rS348817: psm(4): Fix Elantech trackpoint support..
psm(4): Fix Elantech trackpoint support.
Jun 8 2019, 9:34 PM

Jun 5 2019

wulf added a comment to D20507: enable synaptics and elantech touchpads by default.

This was tried some years ago, but then reverted as the probing was deemed too intrusive (see r255152 and r255210). I don't know if something changed in the meantime.

Synaptics and Elantech probe() does not depend on loader tuneables at all. Magic knock and capability queries are always performed regardless of kernel boot parameters so it cannot be called "too intrusive".
But IBM trackpoint probe() is different thing. It is performed in different ways depending on 'synaptics_support' variable value.
Browsing through the commit log shows me that there were several patches submitted by you to fix various trackpoint issues circa 2015 so it's worth trying to enable it by default again as support of this device is definitely changed since 2013.

Jun 5 2019, 11:08 PM

Jun 4 2019

wulf added a comment to D20507: enable synaptics and elantech touchpads by default.

I tested and it works. Thanks!
Unless solution 1 has some side effects for someone (I think to people using a mouse instead of a touchpad),

I doubt it can produce side effects. Albeit psm packet parser is replaced with Xorg`s one, PS/2 device recognition is still relies on in-kernel probe() function. So Xorg can not handle any PS/2 devices unknown to base system.

I think this is the solution to adopt: if we want touchpads to work out of the box, we can not ask users to start moused before xorg. Of course, they can add moused_enable="YES" to their rc.conf, but if we can make a small change to the xf86-input-mouse port it looks much easier: it affects only users of xorg and avoids to run a daemon on the system.

Better solution is to run moused from devd exactly like it is done for ums(4), but it does not work for me now.

Jun 4 2019, 8:40 PM
wulf added a comment to D20507: enable synaptics and elantech touchpads by default.

I prefer solution 1.
If you can tell me which is the line to comment or provide a patch I can test it.

Jun 4 2019, 7:22 PM
wulf added a comment to D20507: enable synaptics and elantech touchpads by default.

After some digging it appeared that xf86-input-mouse unconditionally enables so called "native operation level" being attached to /dev/psm0 device node. It means that it effectively replaces our kernel driver with his own PS/2 packet parser.
So we have 2 choices:

  1. Forbid enabling of "native operation level" in xf86-input-mouse driver. It looks like commenting out one #define line
  2. Force all touchpad users to run moused to grab /dev/psm0 device and reroute its packets via /dev/sysmouse before Xorg is started.
Jun 4 2019, 4:51 PM
wulf added a comment to D20507: enable synaptics and elantech touchpads by default.

(written while wulf was writing his comment. Now I'm going to try his suggestions.)

Jun 4 2019, 3:05 PM
wulf added a comment to D20507: enable synaptics and elantech touchpads by default.

I think libinput does not see my touchpad at all. Here is a log with the mouse driver installed:

Jun 4 2019, 2:55 PM
wulf accepted D20507: enable synaptics and elantech touchpads by default.
Jun 4 2019, 10:50 AM

Jun 3 2019

wulf accepted D20507: enable synaptics and elantech touchpads by default.

Count this "accept" as "commit approval"

Jun 3 2019, 9:04 PM
wulf added a comment to D20447: Add natural scrolling support to psm..

Given the fact that horizontal scrolling with sysmouse protocol is not supported by userland software out of boх, I joined both hor & ver sysctls into common "natural_scroll" one to not confuse users.

Jun 3 2019, 10:09 AM
wulf committed rS348529: psm(4): Add natural scrolling support to sysmouse protocol.
psm(4): Add natural scrolling support to sysmouse protocol
Jun 3 2019, 10:04 AM
wulf closed D20447: Add natural scrolling support to psm..
Jun 3 2019, 10:04 AM

Jun 2 2019

wulf committed rS348520: psm(4): Add Elantech touchpad IC type 15 found on Thinkpad L480 laptops.
psm(4): Add Elantech touchpad IC type 15 found on Thinkpad L480 laptops
Jun 2 2019, 10:27 PM

Jun 1 2019

wulf added a comment to D20447: Add natural scrolling support to psm..

One more question:

Jun 1 2019, 12:46 PM

May 29 2019

wulf accepted D20447: Add natural scrolling support to psm..
May 29 2019, 8:28 PM

May 28 2019

wulf added a comment to D20447: Add natural scrolling support to psm..

Hi Nyan,
Could you upload the diff as fullcontext diff next time. See https://wiki.freebsd.org/Phabricator

git diff -U999999 other-branch > change.diff
git show -U999999 <commit-hash> > change.diff
svn diff --diff-cmd=diff -x -U999999 > change.diff`

It is not necessary to reupload current diff

May 28 2019, 9:04 PM

Apr 20 2019

wulf committed rS346458: psm(4): give names to synaptics commands.
psm(4): give names to synaptics commands
Apr 20 2019, 9:06 PM
wulf committed rS346457: psm(4): respect tap_disabled configuration with enabled Extended support.
psm(4): respect tap_disabled configuration with enabled Extended support
Apr 20 2019, 9:05 PM
wulf committed rS346456: psm(4): do not process gestures when palm is present.
psm(4): do not process gestures when palm is present
Apr 20 2019, 9:02 PM
wulf committed rS346455: psm(4): Add support for 4 and 5 finger touches in synaptics driver.
psm(4): Add support for 4 and 5 finger touches in synaptics driver
Apr 20 2019, 9:00 PM

Mar 27 2019

wulf committed rS345590: MFC: r344982, r345022.
MFC: r344982, r345022
Mar 27 2019, 7:17 PM
wulf committed rS345589: MFC: r344982, r345022.
MFC: r344982, r345022
Mar 27 2019, 7:16 PM

Mar 11 2019

wulf committed rS345022: Fix amd64/i386 LINT build after r344982.
Fix amd64/i386 LINT build after r344982
Mar 11 2019, 7:46 PM

Mar 10 2019

wulf committed rS344986: Fix build breakage caused by r344984.
Fix build breakage caused by r344984
Mar 10 2019, 9:43 PM
wulf committed rS344984: MFC r344494,r344495:.
MFC r344494,r344495:
Mar 10 2019, 8:58 PM
wulf committed rS344983: MFC r344494,r344495:.
MFC r344494,r344495:
Mar 10 2019, 8:43 PM
wulf closed D19314: Add ACPI support for RTC/CMOS device.
Mar 10 2019, 8:19 PM
wulf committed rS344982: atrtc(4): install ACPI RTC/CMOS operation region handler.
atrtc(4): install ACPI RTC/CMOS operation region handler
Mar 10 2019, 8:19 PM

Feb 25 2019

wulf added inline comments to D19314: Add ACPI support for RTC/CMOS device.
Feb 25 2019, 10:36 AM

Feb 24 2019

wulf committed rS344495: Fix build when EVDEV_SUPPORT is option disabled after r344494.
Fix build when EVDEV_SUPPORT is option disabled after r344494
Feb 24 2019, 7:32 PM
wulf committed rS344494: evdev: export event device properties through sysctl interface.
evdev: export event device properties through sysctl interface
Feb 24 2019, 6:47 PM
wulf closed D18694: evdev: add sysctls with device info.
Feb 24 2019, 6:47 PM
wulf created D19314: Add ACPI support for RTC/CMOS device.
Feb 24 2019, 12:40 AM

Feb 15 2019

wulf committed rP493009: New port: comms/ath3k-firmware.
New port: comms/ath3k-firmware
Feb 15 2019, 9:31 PM
wulf committed rS344176: MFC r343327:.
MFC r343327:
Feb 15 2019, 8:52 PM
wulf committed rS344165: MFC r343163:.
MFC r343163:
Feb 15 2019, 8:46 PM
wulf committed rS344164: MFC r343163:.
MFC r343163:
Feb 15 2019, 8:45 PM
wulf added a comment to D18694: evdev: add sysctls with device info.

I hope you won't mind if I change sysctl name from "input_id" to "id" and disable exposure of optional properties like "uniq" and "phys" if they are not set. Just to be consistent with ioctl interface.

Feb 15 2019, 10:57 AM

Feb 10 2019

wulf accepted D18694: evdev: add sysctls with device info.

added missing EVDEV_UNLOCK

Feb 10 2019, 7:10 PM

Jan 22 2019

wulf committed rS343327: Add quirk to enable mic and headphones redirection on HP Spectre laptops..
Add quirk to enable mic and headphones redirection on HP Spectre laptops.
Jan 22 2019, 10:40 PM

Jan 21 2019

wulf added a comment to D18694: evdev: add sysctls with device info.

One thing I dislike in this patch is a native/cuse evdev handling inconsistency.
To handle native device creation one should listen for EVDEV devd events while to handle cuse devices CDEV devd events should be processed.
You can not just listen for CDEV devd events as there is a race window between cdev and sysctl creation.
I think this can be fixed with using of single sysctl node. See kern.geom.confxml or kern.geom.conftxt for example.

Jan 21 2019, 12:34 PM

Jan 18 2019

wulf committed rS343163: psm(4): detect Lenovo top-button clickpads.
psm(4): detect Lenovo top-button clickpads
Jan 18 2019, 10:20 PM
wulf closed D18676: psm: detect Lenovo top-button clickpads, set INPUT_PROP_TOPBUTTONPAD evdev property.
Jan 18 2019, 10:20 PM
wulf committed rS343160: MFC r340926:.
MFC r340926:
Jan 18 2019, 9:26 PM
wulf committed rS343159: MFC r340926:.
MFC r340926:
Jan 18 2019, 9:25 PM
wulf committed rS343158: MFC r340912,r340913:.
MFC r340912,r340913:
Jan 18 2019, 9:12 PM
wulf committed rS343157: MFC r340912,r340913:.
MFC r340912,r340913:
Jan 18 2019, 9:11 PM
wulf committed rS343155: MFC r340338:.
MFC r340338:
Jan 18 2019, 8:59 PM

Jan 9 2019

wulf added a comment to D18791: devel/libevdev, devel/libmtdev: advertise evdev-proto as API dependency.

linux/input.h is a list of magic numbers required at build time only. It should be kept in BUILD_DEPENDS IMO.

Jan 9 2019, 3:00 PM

Jan 6 2019

wulf added a comment to D18694: evdev: add sysctls with device info.

I am AFK for now and will be for ~2 weeks

Jan 6 2019, 12:03 AM

Dec 31 2018

wulf added a comment to D18694: evdev: add sysctls with device info.

Though I wouldn't say it's only a "deprecated" option — we're not going to require userspace uinput drivers to explicitly identify themselves..

Dec 31 2018, 3:50 PM
wulf requested changes to D18694: evdev: add sysctls with device info.

I am objecting to EvdevProbe()-derived part (device type autodetection). It is better to add a KPI to set device type directly rather then via execution of libmagic. We have about 10 evdev drivers in source tree so it's possible to update them all. EvdevProbe()-derived part could be used as (deprecated) fallback option in that case.

Dec 31 2018, 4:28 AM

Dec 30 2018

wulf accepted D18676: psm: detect Lenovo top-button clickpads, set INPUT_PROP_TOPBUTTONPAD evdev property.

I hope -1700 value is tested. It does not work for my "softbuttons bar at a bottom" laptop leaving softbutton area outside reportable region so I have to use -2200 to make it working. But "softbuttons bar at a top" touchpad should behave differently here.

Dec 30 2018, 2:57 PM

Dec 29 2018

wulf added a comment to D18676: psm: detect Lenovo top-button clickpads, set INPUT_PROP_TOPBUTTONPAD evdev property.

Please assign hw.psm.synaptics.softbuttons_y sysctl some negative value so /dev/psm0 users get benefits from this change too.

Dec 29 2018, 5:46 AM

Nov 25 2018

wulf committed rS340926: evdev: Fix pause key release event in AT keyboard set 1 to evdev xlat-or..
evdev: Fix pause key release event in AT keyboard set 1 to evdev xlat-or.
Nov 25 2018, 7:38 PM

Nov 24 2018

wulf committed rS340913: psm(4): Add minimal support for active AUX port multiplexers.
psm(4): Add minimal support for active AUX port multiplexers
Nov 24 2018, 9:25 PM
wulf committed rS340912: Revert r328640: Add kludge for 0x46 identity middle byte Synaptics touchpads..
Revert r328640: Add kludge for 0x46 identity middle byte Synaptics touchpads.
Nov 24 2018, 9:18 PM

Nov 17 2018

wulf committed rS340518: MFC r339823:.
MFC r339823:
Nov 17 2018, 8:18 PM

Nov 10 2018

wulf committed rS340338: wmt(4): Add PNP record so it could be picked by devd/devmatch..
wmt(4): Add PNP record so it could be picked by devd/devmatch.
Nov 10 2018, 10:14 PM
wulf closed D17689: wmt(4): Add PNP metadata.
Nov 10 2018, 10:14 PM

Nov 9 2018

wulf committed rS340305: MFC r337287:.
MFC r337287:
Nov 9 2018, 9:26 PM
wulf accepted D17912: Enable evdev driver and support in generic.

I am unaware of any current ill effects

Nov 9 2018, 7:04 PM

Oct 31 2018

wulf abandoned D15070: evdev - special lock-less mode for keyboard drivers.

D17687 committed as r339917 made remaining parts of this revision senseless.

Oct 31 2018, 6:50 PM

Oct 27 2018

wulf updated the diff for D15070: evdev - special lock-less mode for keyboard drivers.

Most important parts has been committed as r339823 and r339824. They fix evdev/KDB interaction with disabling dangerous codepaths.
This way raised some objections in the past which is addressed in remaining part of the review (true lockless mode). But, I dislike this part as It introduces some complications like polling callouts. That is why it has not been committed yet.
The further plan is to wait untill r339823/r339824 MFC and than abandon this revision if no new objections raised.

Oct 27 2018, 11:16 PM
wulf committed rS339824: evdev: disable evdev if it is invoked from KDB or panic context.
evdev: disable evdev if it is invoked from KDB or panic context
Oct 27 2018, 9:04 PM
wulf committed rS339823: evdev: Use console lock as evdev lock for all supported keyboard drivers..
evdev: Use console lock as evdev lock for all supported keyboard drivers.
Oct 27 2018, 8:23 PM

Oct 25 2018

wulf updated the diff for D17689: wmt(4): Add PNP metadata.

Skip HID descriptor reading if WMT_IGNORE quirk is enabled.

Oct 25 2018, 5:48 PM
wulf added a comment to D15070: evdev - special lock-less mode for keyboard drivers.

What is holding this from going in to the tree?

Oct 25 2018, 12:24 PM

Oct 24 2018

wulf added a comment to D16721: Touchscreen support for Touchscreens on amd64 and i386 platforms.

Hi!
Is it possible to split this revision into two parts? I'd like to see the EVDEV support go in, especially the option, since that can't be done runtime. The wmt device can be loaded at runtime and doesn't need to be in the kernel, I believe.

Oct 24 2018, 6:32 PM
wulf created D17689: wmt(4): Add PNP metadata.
Oct 24 2018, 6:27 PM
wulf added a comment to D15070: evdev - special lock-less mode for keyboard drivers.

What is holding this from going in to the tree?

Oct 24 2018, 6:06 PM

Sep 23 2018

wulf updated the diff for D15070: evdev - special lock-less mode for keyboard drivers.

Regenerate diff after r337720

Sep 23 2018, 8:55 AM

Sep 4 2018

wulf committed rS338458: wmt(4): Fix regression introduced in r337289.
wmt(4): Fix regression introduced in r337289
Sep 4 2018, 7:22 PM
wulf closed D16772: Fixing a broken touchscreen controller.
Sep 4 2018, 7:22 PM

Aug 29 2018

wulf added a comment to D16772: Fixing a broken touchscreen controller.

Hi Roberto,

Aug 29 2018, 10:01 PM

Aug 22 2018

wulf added a comment to D16772: Fixing a broken touchscreen controller.

Please, test this patch on top of unmodified wmt.c:

Aug 22 2018, 8:55 PM

Aug 21 2018

wulf added a comment to D16772: Fixing a broken touchscreen controller.

To make things easier I attached the patch that does p.3. and p.4.

Aug 21 2018, 4:24 PM

Aug 20 2018

wulf added a comment to D16721: Touchscreen support for Touchscreens on amd64 and i386 platforms.

So basically we only need device evdev and optinos EVDEV_SUPPORT in GENERIC?

Aug 20 2018, 3:57 PM
wulf added a comment to D16772: Fixing a broken touchscreen controller.

hid_report_size() should not be used unconditionally here as it calculates total size of all input reports rather than size of one given report. I guess that something wrong with HID descriptor

Aug 20 2018, 2:18 PM

Aug 13 2018

wulf committed rS337721: evdev: Remove evdev.ko linkage dependency on kbd driver.
evdev: Remove evdev.ko linkage dependency on kbd driver
Aug 13 2018, 7:05 PM
wulf committed rS337720: evdev: remove soft context from evdev methods parameter list..
evdev: remove soft context from evdev methods parameter list.
Aug 13 2018, 7:00 PM
wulf closed D16614: [evdev]: Minor KPI changes.
Aug 13 2018, 7:00 PM

Aug 7 2018

wulf updated the diff for D16614: [evdev]: Minor KPI changes.

Useless softc casts removed

Aug 7 2018, 11:35 PM
wulf added inline comments to D16614: [evdev]: Minor KPI changes.
Aug 7 2018, 8:02 PM
wulf updated the diff for D15070: evdev - special lock-less mode for keyboard drivers.

Workaround knlist_cleardel() 'Mutex owned' assertion that happens on 'lockless' device detach.
It is caused by devfs which calls evdev_dtor() with driver's lock (Giant) already taken.

Aug 7 2018, 7:46 PM
wulf updated the diff for D16614: [evdev]: Minor KPI changes.

#if 1 replaced with #if __FreeBSD_version >= 1200000

Aug 7 2018, 10:03 AM
wulf added inline comments to D16614: [evdev]: Minor KPI changes.
Aug 7 2018, 9:52 AM