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!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
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)
Since cciss devices can be BIOS boot devices just as well as sd* and
hd*, the edd_id program should be run on them so that the later
/dev/disk/by-id/edd-* rules will work.
Include a table of what the CMOS types are, and note that nothing
will be created unless the -t option is specified. Also clean up
the formatting and bump the date.
Signed-off-by: Adam Buchbinder <adam.buchbinder@gmail.com>
In my scenario, the ntfs prober did *not* detect the presence of a
ntfs filesystem (i.e. vol_id --probe-all returned *only* ext3).
However, if you examine the source of the ntfs prober, it overwrites
the uuid field of the volume_id object long before it actually
decides there's a valid filesystem there - this resulted in vol_id
returning the rather bizarre combination of type=ext3, but a uuid
populated by the ntfs prober.
https://bugs.edge.launchpad.net/ubuntu/+source/udev/+bug/337015
So ID_MODEL and ID_VENDOR are pretty useful keys. However since we fix
them up (removing leading/trailing whitespace, converts spaces to
underscores) for use in device naming etc. we also force these fixups on
the desktop shell. And this looks pretty ugly.
The attached patch introduces the ID_MODEL_ENC and ID_VENDOR_ENC keys
that contains the encoded version of the raw strings obtained. It's
pretty similar in spirit to ID_FS_LABEL and its cousin ID_FS_LABEL_ENC.
With this patch a desktop shell can fix up these strings as it sees fit.
Note that some fixup is still needed though, for example
# /lib/udev/ata_id --export /dev/sda |grep ID_MODEL
ID_MODEL=INTEL_SSDSA2MH080G1GC
ID_MODEL_ENC=INTEL\x20SSDSA2MH080G1GC\x20\x20\x20\x20\x20\x20\x20\x20
\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20
Note the trailing and leading whitespace. Anyway with the attached patch
the desktop shell should be able to display "INTEL SSDSA2MH080G1GC"
rather than "INTEL_SSDSA2MH080G1GC" to the user.
The version string in DDF suberblock does not include the null terminator
and the snprintf() function writes at most "size" bytes *including* the
null byte.
old version:
ID_FS_VERSION=02.00.0
new version:
ID_FS_VERSION=02.00.00
Signed-off-by: Karel Zak <kzak@redhat.com>
Some weird mass storage devices identify the disks as ATAPI/cdrom
devices, and all disks in such enclusure get the same ids which
overwrite each other, in such cases, get the typ of device from the
scsi device, which has more knowledge what kind of device it really
is.
[...] running the command
`make maintainer-clean' should not delete `configure' even if
`configure' can be remade using a rule in the Makefile. More
generally, `make maintainer-clean' should not delete anything that
needs to exist in order to run `configure' and then begin to build
the program. This is the only exception; `maintainer-clean' should
delete everything else that can be rebuilt.
* fix typo (hs vs. hbb)
* set id->{version,usage,type} when all tests pass
* be paranoid and don't use hs->version when "hs" source buffer was
possibly modified by next volume_id_get_buffer() call.
Signed-off-by: Karel Zak <kzak@redhat.com>
On Thu, Nov 20, 2008 at 14:17, Karel Zak <kzak@redhat.com> wrote:
> I see the patch (volume_id_probe_filesystem()) and a few things come
> to mind:
>
> - shouldn't be the relevant parts (label, uuid, version, ...) of
> the "struct volume_id" zeroized when you found a signature and
> before you call the next probing function?
>
> - it seems as overkill to use two for()s and probe two times for all
> filesystems. What about to store the first result and re-use it?
>
> - .. or at least never use the second for() when the fist for() found
> nothing ;-)
We probe for all known filesystems to find conflicting signatures. If
we find multiple matching signatures and one of the detected filesystem
types claims that it can not co-exist with any other filesystem type,
we do not return a probing result.
We can not afford to mount a volume with the wrong filesystem code and
possibly corrupt it. Linux ssytems have the problem of dozens of possible
filesystem types, and volumes with left-over signatures from former
filesystem types. Invalid signature need to be removed from the volume
to make the filesystem detection successful.
We do not want to read that many bytes from probed floppies, skip volumes
smaller than a usual floppy disk.
The problem was strncpy() doesn't stop after writing the terminating
NUL; by definition it goes on to zero the entire buffer.
I spy another use of strncpy in udev_device_add_property_from_string(),
which is responsible for another ~1% user cpu time...
Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Use calloc to request cleared memory instead.
Kernel and libc conspire to make this more efficient.
Also, replace one malloc() + strcpy() with strdup().
Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>