Bug 89787

Summary: udev rule doesn't load automatcially (but manually) for a specific device under certain situtations
Product: systemd Reporter: Tom Yan <tom.ty89>
Component: generalAssignee: systemd-bugs
Status: RESOLVED NOTOURBUG QA Contact: systemd-bugs
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Tom Yan 2015-03-27 06:31:55 UTC
I have two Logitech usb receivers for mouse and keyboard (non-Bluetooth), one is a "Unifying" receiver and the other is an older traditional one. (Same idVendor attribute)

The traditional one has a default value of "enabled" for power wakeup (and the Unifying one has "disabled").

When I try set it to disabled with a udev rule, I found that the rule get loaded automatically only if it is the only receiver plugged in, or when it's plugged into a port with a smaller port number than the Unifying one (port number as shown in lsusb -t, which are presistent among boots).

Otherwise I have to unplug and plug again, or run `udevadm test` to make it load (which indicates that the rules written are fine I assume).

In another case when none of the receivers were plugged in before boot, I still need to plug in the receiver twice to get the rules loaded.

It doesn't seem to matter whether I match the device with the idVendor attribute. Even when I test with rule like `SUBSYSTEM=="USB" and ATTR="enabled"/"disabled"`, the receiver seems to be an exception (though I only got the two, others are just the "usb bus").

Yet the Unifying one doesn't have this problem, no matter which port it's plugged into, the value can be set to enabled without a hassle.

I also have two flash drives plugged into Port 1 and 2 among the tests, which doesn't seem to affect.
Comment 1 Tom Yan 2015-03-27 06:35:14 UTC
Some typo:
1. by "power wakeup" in the second paragraph I mean power/wakeup, as in /sys/bus/usb/devices/*/power/wakeup

2. In paragraph 6 the rules I mentioned should be `SUBSYSTEM=="USB" and ATTR{power/wakeup}="enabled"` (or "disabled").
Comment 2 Tom Yan 2015-04-06 18:06:15 UTC
After a BIOS update it seems to work as it should.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.