IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
Commit 5c6954f is actually a no-op, since static variables are already zero'ed
by default anyway (but we keep it for clarity). The real difference was that a
build with -O0 wor while a build with -O2 didn't.
Turns out that some ioctls do not actually touch the result buffer in some
cases, so we need to zero the result buffers to avoid interpreting random da as
CD properties.
https://launchpad.net/bugs/559723https://launchpad.net/bugs/561585
In cases where cdrom_id does not go through the entire code path and one of the
probing functions returns -1 or exits early, the remaining variables were never
initialized. This caused effects like "phantom" audio CDs on empty drives, or
bogus data like ID_CDROM_MEDIA_TRACK_COUNT=22528.
Initialize the variables right away to avoid that.
Bug-Ubuntu: https://launchpad.net/bugs/559723
We might fight about the device with polling processes, or other
users who probe the device. Retry a few times if the other one goes
away in the meantime.
Based on a patch from Harald Hoyer.
There is another keycode that some Dell machines that are about to ship,
or shipping are using for touchpad toggle. That code is 0x9E.
Signed-off-by: Jerone Young <jerone.young@canonical.com>
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
This patch fixes the Dell Studio 1558 to give a key release when a
volume key is pressed. This is the same as the 1557.
Signed-off-by: Jerone Young <jerone.young@canonical.com>
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
Now that Dell has changed the functionality of upcoming machines with
touchpad toggle to only use keycode 0xD9 .. and not 0xD8 & 0xD9. It
seems best to add this back to the general map of Dell buttons. Just
incase a machine in the future uses this later.
Signed-off-by: Jerone Young <jerone.young@canonical.com>
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
After working very closely with Dell. They have now completely changed
the way they have implemented there touchpad hotkey for upcoming
machines.
It now only generates a single keycode (0xD9). It nolonger does anything
in hardware, nor does it generate more then this keycode.
This patch properly maps this keycode.
Signed-off-by: Jerone Young <jerone.young@canonical.com>
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
This patch fixes it so that new upcoming Dell machines will work
correctly if users presses the touchpad toggle key.
Currently 0xD8 is being mapped to sleep. Though this is only done by the
Latitude XT* laptops. Many upcoming Laptops from Dell are mapping this
key to "toogle touchpad off" .. giving the OS notification that it has
just turned off the touchpad.
Though their is an issue in that if this key is mapped the hardware
first toogles .. then the software tries to do the samething after, if
they fall out of sync ... no more touchpad. So leave out mapping these
keys for now.
Signed-off-by: Jerone Young <jerone.young@canonical.com>
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
When a custom rule sets ACL_MANAGE to 0 to disable ACL management for a
particular device, handle this as "disabled", by explicitly checking against
"1" instead of "nonempty".
Thanks to Rafał Rzepecki for pointing this out.
The Fujitsu Amilo Si 1848+u laptop requires the volume and mute keys
quirking.
https://launchpad.net/bugs/530089
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
The Samsung Q210/P210 laptop also needs all of its function keys quirked.
https://launchpad.net/bugs/530093
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
Dell Studio 1557 does not generate a release code when the volume keys
are pressed, causing them to generate infinite key presses. This forces
key release of these keys.
Signed-off-by: Jerone Young <jerone.young@canonical.com>
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
The MSI Wind 100 generates ACPI/input events on the LNXVIDEO input device. On
top of that, the video module/BIOS synthesize some extra event on atkbd as an
echo of actually changing the brightness.
Ignore the wrong and useless atkbd ones, to avoid event loops.
Many thanks to Hans de Goede for tracking this down!
https://launchpad.net/bugs/415023
The new firmware loader does not report an error to the kernel if a firmware file
is missing. This results in modprobe stalling for 60 seconds for each firmware
a module tries to load.
Move extras/keymap/keymaps/force-release/ to
extras/keymap/force-release-maps/, so that check-keymaps.sh does not stumble
over the directory. It's also a more logical source layout.
Commit d93fb59c50 ("rules: set mode of
floppy device nodes to 0660") changed the create_floppy_devices -M
argument to 0660, for udev-148.
Commit 78171d9549 reverted this, when it
moved the call to create_floppy_devices out to another rules file, for
udev-150.
Presumably the 0660 mode was correct, and the 0640 reversion was not
intentional; this restores 0660.
Signed-off-by: Bryan Kadzban <bryan@kadzban.is-a-geek.net>
Add support for special function keys on Lenovo Thinkpad USB Keyboard
Tracepoint.
- VoIP hotkey "FN+F6" is mapped to camera, and may need to change
if there is a standard VoIP hotkey defined.
- Mute Microphone key has not been defined, as there is no
standard key defined for it yet.
Signed-off-by: Jerone Young <jerone.young@canonical.com>
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
The Logitech S510 identifies just like the already existing
"logitech-wave-cordless" variant, but with wildly different scancodes. So just
merge the tables, since they won't collide.
https://launchpad.net/bugs/259244
Required for the keyboard driver to recognize special keys such as Fn+F2
(battery), Fn+F3 (euro), Fn+F4 (switchmode), Fn+F6 (mute), Fn+F7
(XF86Launch2), Fn+up/down (brightness), Fn+left/right (volume). Fn+F5 (blank
screen) and Fn+F8 still do not generate events after this change, howver.
Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
Some laptop keyboards don't generate release events
for some hotkeys. Since linux-2.6.32 the list of scancodes
for which to enable the force_release quirk can be set
via sysfs.
Apply this to Samsung N130.
Signed-off-by: Johannes Stezenbach <js@sig21.net>
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
There doesn't seem to be any special class for their developer
interface, so match by Vendor and Device id like we do for things
like fingerprint readers.
This is better than their current 0666 suggestion <g>
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
Some SCSI devices use the same WWN and have a WWN extension that we
need to take into account when creating the /dev/disk/by-id/wwn
symlinks. Thus, introduce ID_WWN_WITH_EXTENSION. This property will
contain either the WWN (if no extension is present) or the WWN with
the vendor extension appended.
Example:
# /lib/udev/ata_id/ata_id --export /dev/sda |grep WWN
ID_WWN=0x5001517387d61905
ID_WWN_WITH_EXTENSION=0x5001517387d61905
# /lib/udev/scsi_id --whitelisted --export -d /dev/sdb |grep WWN
ID_WWN=0x600508b400105df7
ID_WWN_VENDOR_EXTENSION=0x0000e00000d80000
ID_WWN_WITH_EXTENSION=0x600508b400105df70000e00000d80000
# /lib/udev/scsi_id --whitelisted --export -d /dev/sdc |grep WWN
ID_WWN=0x600508b400105df7
ID_WWN_VENDOR_EXTENSION=0x0000e00000db0000
ID_WWN_WITH_EXTENSION=0x600508b400105df70000e00000db0000
Signed-off-by: David Zeuthen <davidz@redhat.com>
Check the capabilities/ev for the particular event class before testing bits in
that event class. This avoids testing potentially bogus data if the device does
not support that class of events at all.
Thanks to Dmitry Torokhov for pointing out!
When being called on a device which is not in the "input" subsystem, or doesn't
have an "input" parent, it got stuck in an endless loop. Unfortunately this
includes the virtual/input/mice multiplexer, which exposes this bug on just
about every system.
Now use libudev to clean up hardcoded /sys/ and /device/ paths, and to also
support direct input device arguments. Now both "input4" and "event4" will
work.
BTN_TOUCH (as well as ABS_PRESSURE) is used not only by touchpads but
by touchscreens as well. The proper check for a touchpad is presence
of BTN_TOOL_FINGER and absence of BTN_TOOL_PEN (the latter to filter
out some tablets that use BTN_TOOL_FINGER).
Tablet matching should be on either BTN_TOOL_PEN or BTN_STYLUS.
input_id probes input/event devices for their class (keyboard, keys, mouse,
touchpad, tablet, joystick). This is based on the corresponding hal code in
hald/linux/device.c, input_test_{abs,rel,...}.
This should provide enough functionality to get hal-less X.org working (which
in particular needs to know exactly which devices are touchpads).
Replace the brittle hacks in 60-persistent-input.rules with checking for the
new ID_INPUT_* flags. This keeps the old ID_CLASS properties for now (but they
are to be removed later on).
Note: The current code has several hacks still, which are to be replaced with
proper libudev calls later on.
Make people aware that they shouldn't add devices not manufactured by
Option NV to 61-option-modem-modeswitch.rules. modem-modeswitch only
supports ejecting the fake CD for Option NV devices at this time.
People should be using (and fixing) usb_modeswitch instead of
modem-modeswitch.
This reverts commit 53842b5382.
The 'option-zerocd' method should *only* be used with Option NV devices
since other manufacturers have completely different methods for killing
their fake driver CD.
This reverts commit 5052297b6a.
The 'option-zerocd' method should *only* be used with Option NV devices
since other manufacturers have completely different methods for killing
their fake driver CD.
Since the Unit Serial Number and the WWN are useful bits of
information export them as properties in the udev database. These
bits of information are often printed on the physical disk, see
http://people.freedesktop.org/~david/FUJITSU-MAY2036RC-sas-disk-picture.jpg
and displaying them separately in the UI (or in /dev/disk) might help
users identify the physical disk. This patch exports these bits of
information as ID_WWN and ID_SCSI_SERIAL.
Note that ata_id also use the ID_WWN property since commit
66094a4a7f (2009-11-04).
Also print out ID_SCSI=1 so users of the udev database knows the disk
speaks SCSI.
Here's the scsi_id output from one of my SAS disks with these changes:
ID_SCSI=1
ID_VENDOR=FUJITSU
ID_VENDOR_ENC=FUJITSU\x20
ID_MODEL=MAY2036RC
ID_MODEL_ENC=MAY2036RC\x20\x20\x20\x20\x20\x20\x20
ID_REVISION=0103
ID_TYPE=disk
ID_SERIAL=3500000e01b83f520
ID_SERIAL_SHORT=500000e01b83f520
ID_WWN=0x500000e01b83f520
ID_SCSI_SERIAL=B3G1P8500RWT
Unfortunately we can't overload ID_SERIAL for two reasons
1. ID_SERIAL (and ID_SERIAL_SHORT) exported by scsi_id isn't really
the unit serial number (as defined by SCSI) - it is sometimes the
WWN (since it is more unique than the Unit Serial Number) and
complex rules (to make the serial unique) govern what value to
use.
2. It would break existing setups if the value of ID_SERIAL changed
Signed-off-by: David Zeuthen <davidz@redhat.com>
Some drives are reported to erase CD-RW media with the ATA
commands we send.
Thanks to Christoph Stritt <phoenix@jobob.com> for his debugging.
Original bug is here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=556635
Even when there is no medium in the drive, we should still check the
profiles supported by the drive. Otherwise we fail to detect things
like Blu-ray drives. See
https://bugzilla.gnome.org/show_bug.cgi?id=600273
for more information.
Signed-off-by: David Zeuthen <davidz@redhat.com>
Actually dev_t is an unsigned quad type (e.g. 64-bit even on 32-bit
x86) so defining it to be an integer is wrong and not future
proof. Thus, redefine it to actually be a dev_t (as originally wanted)
and instead add a work-around for GNOME bug #584517, see
https://bugzilla.gnome.org/show_bug.cgi?id=584517
for details. This way, GObject Introspection will still work.
This change is technically an API/ABI break but
- all released GUdev versions requires the user to understand that
the API/ABI is unstable by requiring the G_UDEV_API_IS_SUBJECT_TO_CHANGE
symbols to be defined
- functions using GUdevDeviceNumber are rarely used
so we don't bump the so number.
Signed-off-by: David Zeuthen <davidz@redhat.com>
Unfortunately KEY_COFFEE is the canonical name in linux/input.h, and the more
sensible KEY_SCREENLOCK is an alias. Manually override this particular case,
since it's better to have "screenlock" in keymaps.
However, we still keep the automatic filtering for the general case, to avoid
introducing this problem again when input.h changes.
More than one key name was mapped to the same key, due to linux/input.h
defining some aliases (in particular, KEY_HANGUEL, KEY_SCREENLOCK,
KEY_MIN_INTERESTING). These caused hash table collisions.
Changed the generation of the tables to ignore these aliases, and updated all
keymaps to use the canonical name.
This was detected by llvm-clang-analyzer. Thanks to Lennart Poettering for
doing these checks and pointing this out!
https://launchpad.net/bugs/426647
extras/modem-modeswitch/61-mobile-action.rules: Match on device class/subclass
"00" as well, some devices like the Vodafone K3565-Z have that.
https://launchpad.net/bugs/281335
POSIX.1-2001 declares usleep() function obsolete and POSIX.1-2008
removes it.
[Kay Sievers]
- include time.h
- use const for timespec
- scsi_id: drop rand() in retry loop
- modem-probe: rename msuspend() to msleep()
This reverts commit 66bf63c05c.
Further debugging in https://launchpad.net/bugs/178860 showed that for some
weird reason the correct key codes already come out of the "Video Bus" input
device, and the previous commit would cause them to appear a second time
through the standard keyboard device.
This is a kernel bug in the end, but let's not break working things
prematurely.
Some Micro-Star boards apparently have mixed case vendor, instead of all-caps.
Update the glob to catch all such cases.
https://launchpad.net/bugs/178860
modem-modeswitch does not fully work on ZTE MF6xx modems, their fake CD-ROMs
need to be properly ejected in order for the actual modem to appear. Add udev
rule for this device (19d2:2000 in CD-ROM mode).
https://launchpad.net/bugs/281335
Fix spelling in docbook comments, code comments, and a local variable
name. Thanks to "ispell -h" for docbook HTML and "scspell" for source
code.
Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Since gtk-mkhtml is executed in a sub-directory of the build directory, and
make does not know of that, the $(buildir) variable will still be "." and
the $(srcdir) will not properly be found. For this reason, use the absolute
variants for the two functions, which won't be changing.
Since the check-keymaps.sh script checks for validity the source directory
and the Makefile.am file, instead of running it during user-oriented “make
check”, run it during developed-oriented “make distcheck”.
An invalid keymap will abort the execution which will prevent shipping
an incomplete Makefile.am.
To properly support out-of-source builds, pass as single parameter to the
test the path to the source directory.
Instead of using multiple recursive Makefile.am files, use a single
Makefile.am that sets and builds all the basic suite of libraries and
binaries for udev. This reduces the number of files in the source tree, and
also reduces drastically the build time when using parallel-make.
With this setup, all the compile steps will be executed in parallel, and
just the linking stage will be (partially) serialised on the libraries
creation.
We must never access random devices in /dev which do not belong to
the event we are handling. Hard-coding /dev/hidrawX, and looping over all
devices is absolutely not acceptable --> hook into hidraw events.
We can not relay on (rather random) properties merged into the parent
device by earlier rules --> use libudev to find the sibling device
with a matching interface.
Libusb does not fit into udev's use case. We never want want to scan
and open() all usb devices in the system, just to find the device
we are already handling the event for --> put all the stupid scanning
into a single function and prepare for a fixed libusb or drop it later.
The keymap table has some holes in it, which caused the interactive mode to
crash for unknown keys. In these cases, print the numeric key code instead.
What's odd is that this is a huawei modem, not an option modem, so one would
expect it to work better with usb_modeswitch and it's -H (huawei) mode - but
that's not the case, I've tested that as well.
https://launchpad.net/bugs/401655
Remove key map files which have only one override. Instead, use keymap tools'
new feature of specifying scancode/keyname pairs directly at the command line.
Also add a comment to 95-keymap.rules about how to specify key mappings in the
rules.
The callers of prepend_vendor_model both expect < 0 to be returned on
error and the index to be returned otherwise. However
prepend_vendor_model actually returns 1 on error. Fix this by correctly
returning -1.
Older kernels (before e5b3cd42: "SCSI: sanitize INQUIRY strings")
truncated the model field in sysfs (or propagated bad results from the
target) to less than the expected/required 16 characters which meant
that the SCSI id was mangled into:
# /sbin/scsi_id -g -s /block/sdg
S146cee20VIRTUAL-DISK
when it should have been:
# /sbin/scsi_id -g -s /block/sdg
SIET VIRTUAL-DISK 146cee20
Notice how the serial number has been pasted over the vendor+model at
index 1 instead of being added at the end.
In the former case:
# cat /sys/devices/platform/host5/session1/target5:0:0/5:0:0:1/model | od -t c -t x1
0000000 V I R T U A L - D I S K \n
56 49 52 54 55 41 4c 2d 44 49 53 4b 0a
But it should have been:
# cat /sys/devices/platform/host5/session1/target5:0:0/5:0:0:1/model | od -t c -t x1
0000000 V I R T U A L - D I S K
56 49 52 54 55 41 4c 2d 44 49 53 4b 20 20 20 20
0000020 \n
0a
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
We currently search /lib/firmware and /lib/firmware/`uname -r` for firmware
files for device drivers loaded by the currently running kernel. These are
often packaged by distributions as a subpackage of the kernel or as a
separate package containing firmware. But these files cannot easily be
updated by third parties or sysadmins independently of that package.
This patch causes udev to also look for firmware files in an "updates"
directory, which is almost identical in purpose to the module-init-tools
"updates" directories insomuch as local changes can go in here and will
take preference over firmware supplied by any distribution.
The previous rules just checked bInterfaceProtocol but not the actual device
and interface class. This caused the hci rules to be applied for Dell USB hubs
and attached input devices like keyboards and mouses as well, breaking them
completely.
Tighten the match to also check device and interface class/subclass.
https://launchpad.net/bugs/392144
hplip tools need user access to the devices for checking ink levels and
user-level configuration. This was formerly done with hal FDIs.
As per discussion with Till Kamppeter.
These are mostly dummy man pages, without real content, some even
outdated. None of these tools are part of any offered public interface,
and they should not pretend to be by offering a man page.
On Sat, Apr 4, 2009 at 22:17, Omair Eshkenazi <stimpson@phys.huji.ac.il> wrote:
> I noticed that in (70-)persistent-net.rules, the comments for USB devices
> are missing the device/vendor id's. Example:
> # USB device 0x:0x (rt73usb)