Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 56e231b080a119bc733fcd74872c9f3d > files > 209

argyllcms-1.0.4-2mdv2010.0.i586.rpm

<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
  <meta http-equiv="Content-Type"
 content="text/html; charset=iso-8859-1">
  <meta http-equiv="content-type"
 content="text/html; charset=ISO-8859-1">
  <meta name="GENERATOR"
 content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
  <title>Argyll Installation on Linux</title>
</head>
<body>
<h1>
<u>Installing the software on Linux with X11<br>
</u></h1>
<br>
You
will need to unpack the downloaded file in the location you have chosen
to hold the executable files. Typically this might be in <span
 style="font-style: italic;">/usr/local/</span>, or perhaps <span
 style="font-style: italic;">$HOME/bin/</span>. You would then unpack
the files using <span style="font-weight: bold;">tar -zxf</span> <span
 style="font-weight: bold;">archivename.tgz</span>, which will create a
directory <span style="font-weight: bold;">Argyll_VX.X.X</span>, where
X.X.X is the version number, and the executables will be in <span
 style="font-weight: bold;">Argyll_VX.X.X/bin</span> You will also
have to
configure your $PATH
environment
variable to give access to the executables from your command line
environment.
The .tgz file also contains several useful reference files (such as
scanner
chart recognition templates, sample illumination spectrum etc.) in the
ref sub-directory, as
well
as all the current HTML documentation in a doc sub-directory. You may
want to copy things to more standard locations such as /usr/local/bin,
/usr/local/argyll/bin etc., depending on the conventions used on your
system.<br>
<br>
<big style="color: rgb(51, 102, 255);"><span style="font-weight: bold;">Note
on the system bell:</span></big><br>
<br>
When reading strips using the Eye-One Pro instrument, the system bell
is used to indicate when the instrument the ready to be used, and to
provide feedback on any problems. On some Linux installations the
system bell may be disabled. As well as checking the terminal and GUI
sound preferences, you may have to enable the used of the PC speaker
driver, which can be done by adding the command <span
 style="font-weight: bold;">/sbin/modprobe pcspkr </span>to the <span
 style="font-weight: bold;">/etc/rc.local</span> startup script. You
may also have to run <span style="font-weight: bold;">xset b 100 1000
200</span> in your local setup, if you are running in an X11
environment. You can check that the system bell is operating by doing
an "echo ^G", where ^G is ctrl-G.<br>
<br>
<big style="color: rgb(51, 102, 255);"><span style="font-weight: bold;">Note
on X11 multi-monitor setups:</span></big><br>
<br>
When working with a multi-monitor X11 configuration, note that you will
only be able to individually calibrate monitors if the multi-window
extension you are using (if any), supports access to the individual
screen Video LUT tables that are used for calibration. The native X11
multi-screen addressing supports this, as does the Xinerama extension,
and XRandR V1.2.<br>
<br>
The proprietary NVidia TwinView and ATI MergeFB extensions do not
currently support access to the individual screen Video LUTs, so
calibration of
each screen independently is impossible if either of these extensions
are running. You can try doing a calibration for the screens that do
have accessible Video LUTs with these proprietary extensions, or ignore
calibration and rely purely on display profiling. Use the dispwin
utility to figure out what works on your system. The NVidia ATI binary
drivers do not seem to properly support XRandR V1.2 either, even though
they claim to do so. You may have to set the <span
 style="font-weight: bold;"></span><span style="font-weight: bold;">ARGYLL_IGNORE_XRANDR1_2</span>
environment variable if the XRandR V1.2 extension is faulty.<br>
<br>
If these limitations trouble you, then as a valuable customer of NVidia
or AMD/ATI,
perhaps you should contact them and urge them to fix the problems with
Video LUT access in their proprietary multi-monitor extensions and
XRandR implementation,
bringing their support for multi-monitors on X11 up to the same
standards as other operating systems. Urge them to add full and correct
support for the
XRandR V1.2 extension.<br>
<br>
<big style="color: rgb(51, 102, 255);"><span style="font-weight: bold;">Fixing
access to Video LUTs:</span></big><br>
<br>
Some users have noted that their default X11 installation doesn't
properly enable access to the video card Video Lookup Tables (RAMDAC).
The Video LUTs are used for display calibration purposes, and a warning
will be issues by the <span style="font-weight: bold;">dispcal</span>
and <span style="font-weight: bold;">dispread</span> utilities if
there is a problem with this.<br>
<br>
The problem may be because certain X11 extensions aren't being loaded
by default. You may want to check that you have<br>
<br>
<big style="color: rgb(51, 102, 255);"><span style="font-weight: bold;"></span></big>&nbsp;
Load&nbsp; "extmod"
<br>
<br>
in&nbsp;the&nbsp;appropriate&nbsp;(or&nbsp;any)&nbsp;section&nbsp;of
your Xorg.conf file, to allow the XF86Video&nbsp;LUT extensions&nbsp;to
function correctly.<br>
<br>
<big style="color: rgb(51, 102, 255);"><span style="font-weight: bold;">Setting
up instrument access:<br>
<br>
</span></big>By default most Linux based systems make devices
inaccessible to user mode programs, so it is necessary to make some
modification to the permissions for Color Measurement Instrument
devices to allow Argyll utilities to access them. In order from newest
to oldest, the following sub-systems may need to be configured to
permit this:<br>
<br>
<br>
&nbsp; <a style="font-weight: bold;" href="#None">No
device configuration needed:</a><span
 style="font-weight: bold; text-decoration: underline;"><br>
<br>
</span>&nbsp;&nbsp;&nbsp; <a href="#None">Mandriva 2008.0 default
installation</a><br>
<h5>&nbsp; <a href="#PolicyKit">PolicyKit + HAL:</a></h5>
&nbsp;&nbsp;&nbsp; <a href="#PolicyKit">Fedora Core 8</a><br>
&nbsp;&nbsp;&nbsp; <a href="#PolicyKit">Mandriva 2008.1</a><br>
<br>
<h5>&nbsp; <a href="#udev1">udev with libusb devices already present:</a></h5>
&nbsp;&nbsp;&nbsp; <a href="#udev1">OpenSuSE 10.3</a><br>
&nbsp;&nbsp;&nbsp; <a href="#udev1">Ubuntu 7.1</a><br>
&nbsp;&nbsp;&nbsp; <a href="#udev1">Kubuntu 7.1</a><br>
&nbsp;&nbsp;&nbsp; <a href="#udev1">Debian 4.0</a><br>
<a href="Installing.html#udev1"></a>
<h5>&nbsp; <a href="#udev2">udev without default libusb devices</a></h5>
<h5>&nbsp; <a href="#hotplug">hotplug and udev:</a></h5>
&nbsp;&nbsp; <a href="#hotplug">Red Hat 4.0</a><br>
<br>
<h5>&nbsp; <a href="#devperm">Changing /dev permissions manually</a></h5>
<br>
<h5><span style="color: rgb(204, 51, 204);"><a name="None"></a>No
device configuration needed:</span></h5>
Some systems have in place&nbsp; a security configuration such that
anyone logging in at the console of a machine, has that login made the
owner of all devices. <br>
<span style="color: rgb(204, 51, 204);"><span style="font-weight: bold;"></span></span>
<h5><span style="color: rgb(204, 51, 204);"><a name="PolicyKit"></a>USB
and Serial access using PolicyKit V0.6 + HAL:</span><span
 style="font-weight: bold;"></span></h5>
<span style="font-weight: bold;"></span><span
 style="font-weight: normal;">The most recent Linux systems may be
using PolicyKit and HAL to set hardware attributes. The following
configuration files are known to work with PolicyKit V0.6. You can
check which version of PolicyKit you have by running </span><span
 style="font-weight: bold;" class="refentrytitle">polkit-config-file-validate
--version</span><span class="refentrytitle">.</span><br
 style="font-weight: bold;">
<br>
The following two configuration files can either be cut and pasted from
here, or they are also in the libusb directory of the Argyll
distribution.<br>
You may need to check that the&nbsp; <span style="font-weight: bold;">haldaemon</span>
and <span style="font-weight: bold;">ConsoleKit</span> services are
running.<br>
After copying these files into place (as root), the new file should be
automatically recognized the next time you plug the instrument in,<br>
or you may need to run <span style="font-weight: bold;">polkit-reload-config</span>,
restart the <span style="font-weight: bold;">haldaemon</span>, or to <span
 style="font-weight: bold;"></span> <span style="font-weight: bold;">reboot</span>
the system for the changes to
come into effect.<br>
<br>
You may want to refer to <a
 href="http://webcvs.freedesktop.org/hal/hal/doc/spec/hal-spec.html?view=co">this
document</a>
for more guidance on writing HAL fdi files.<br>
<br>
[Note that the serial port identification currently changes all serial
ports. If you know which serial ports on your system get used for color
instruments, then you could change the match key to be more specific,
such as a serial.physical_device, serial.device or serial.port.<br>
<span style="font-weight: bold;">
</span><br>
<span style="font-weight: bold;">/usr/share/PolicyKit/policy/color-device-file.policy<br>
</span><br>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br>
&lt;!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy
Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd"&gt;<br>
&lt;policyconfig&gt;<br>
&nbsp; &lt;action id="org.freedesktop.hal.device-access.color"&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;description&gt;Directly access color meter
devices&lt;/description&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;message&gt;System policy prevents access to the
color meter devices&lt;/message&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;defaults&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;allow_inactive&gt;no&lt;/allow_inactive&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;allow_active&gt;yes&lt;/allow_active&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/defaults&gt;<br>
&nbsp; &lt;/action&gt;<br>
&lt;/policyconfig&gt;<br>
<br>
<span style="font-weight: bold;">/usr/share/hal/fdi/policy/10osvendor/19-color.fdi&nbsp;
</span>should
contain something like:<br>
<br>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br>
&lt;deviceinfo version="0.2"&gt;<br>
&nbsp; &lt;!-- This file normally lives at
"/usr/share/hal/fdi/policy/10osvendor/19-color.fdi" --&gt;<br>
&nbsp; &lt;!-- Color meter devices known to Argyll CMS<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FDI creation: Nicolas Mailhot
&lt;nicolas.mailhot at laposte.net&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with input from David Zeuthen and
Frdric Crozat,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maintained by Graeme Gill.<br>
&nbsp;&nbsp;&nbsp; --&gt;<br>
&nbsp; &lt;device&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;!-- Serial Connected Color Instruments --&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;match key="serial.device" exists="true"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;append key="info.capabilities"
type="strlist"&gt;access_control&lt;/append&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge key="access_control.type"
type="string"&gt;color&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge key="access_control.file"
type="copy_property"&gt;linux.device_file&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/match&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;!-- HCFR association --&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;match key="usb_device.vendor_id" int="0x04DB"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- Display colorimeter --&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;match key="usb_device.product_id"
int="0x005B"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;append
key="info.capabilities" type="strlist"&gt;access_control&lt;/append&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.type" type="string"&gt;color&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.file"
type="copy_property"&gt;linux.device_file&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/match&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/match&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;!-- MonacoOPTIX --&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;match key="usb_device.vendor_id" int="0x0670"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- Eye-One Display 1 - display
colorimeter --&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;match key="usb_device.product_id"
int="0x0001"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;append
key="info.capabilities" type="strlist"&gt;access_control&lt;/append&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.type" type="string"&gt;color&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.file"
type="copy_property"&gt;linux.device_file&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/match&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/match&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;!-- X-Rite --&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;match key="usb_device.vendor_id" int="0x0765"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- DTP20 "Pulse" - "swipe" type
reflective spectrometer, that can be used un-tethered. --&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;match key="usb_device.product_id"
int="0xd020"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;append
key="info.capabilities" type="strlist"&gt;access_control&lt;/append&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.type" type="string"&gt;color&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.file"
type="copy_property"&gt;linux.device_file&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/match&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- DTP92Q - CRT display
colorimeter. (Not tested) --&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;match key="usb_device.product_id"
int="0xd092"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;append
key="info.capabilities" type="strlist"&gt;access_control&lt;/append&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.type" type="string"&gt;color&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.file"
type="copy_property"&gt;linux.device_file&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/match&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- DTP94 "Optix XR" or "Optix XR2"
- display colorimeter --&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;match key="usb_device.product_id"
int="0xd094"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;append
key="info.capabilities" type="strlist"&gt;access_control&lt;/append&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.type" type="string"&gt;color&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.file"
type="copy_property"&gt;linux.device_file&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/match&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/match&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;!-- ColorVision --&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;match key="usb_device.vendor_id" int="0x085C"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- Spyder 2 - display colorimeter
--&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;match key="usb_device.product_id"
int="0x0200"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;append
key="info.capabilities" type="strlist"&gt;access_control&lt;/append&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.type" type="string"&gt;color&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.file"
type="copy_property"&gt;linux.device_file&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/match&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/match&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;!-- Gretag-Macbeth --&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;match key="usb_device.vendor_id" int="0x0971"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- Eye-One Pro - spot and "swipe"
reflective/emissive spectrometer --&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;match key="usb_device.product_id"
int="0x2000"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;append
key="info.capabilities" type="strlist"&gt;access_control&lt;/append&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.type" type="string"&gt;color&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.file"
type="copy_property"&gt;linux.device_file&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/match&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- Eye-One Display - display
colorimeter --&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;match key="usb_device.product_id"
int="0x2003"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;append
key="info.capabilities" type="strlist"&gt;access_control&lt;/append&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.type" type="string"&gt;color&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.file"
type="copy_property"&gt;linux.device_file&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/match&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- Huey - display colorimeter --&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;match key="usb_device.product_id"
int="0x2005"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;append
key="info.capabilities" type="strlist"&gt;access_control&lt;/append&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.type" type="string"&gt;color&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;merge
key="access_control.file"
type="copy_property"&gt;linux.device_file&lt;/merge&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/match&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/match&gt;<br>
&nbsp; &lt;/device&gt;<br>
&lt;/deviceinfo&gt;<br>
<br>
<span style="color: rgb(204, 51, 204);"><span style="font-weight: bold;"><br>
</span></span>
<h5><span style="color: rgb(204, 51, 204);"><a name="udev1"></a>USB and
serial instruments
using udev, where udev already creates /dev/bus/usb/00X/00X devices<br>
</span></h5>
<span style="color: rgb(204, 51, 204);">
</span>Some systems appear to be setup with default <span
 style="font-weight: bold;">udev</span>
rules (e.g. in <span style="font-weight: bold;">/etc/udev/rules.d/20-names-rules</span>
or <span style="font-weight: bold;">/etc/udev/rules.d/50-udev-default.rules</span>)
that
automatically create the necessary <span style="font-weight: bold;">/dev/bus/usb/00X/00Y</span>
device entries for <span style="font-weight: bold;">libusb</span>
devices, but with permissions <span style="font-weight: bold;">644</span>
meaning that Argyll utilities will be unable to open the devices for
writing. To solve this a rule file needs to be added that modifies the
group or permission of any Color Measurement Instruments.<br>
<br>
You can check if your udev rules already create the correct device
entry by plugging a USB instrument in, and running <span
 style="font-weight: bold;">/sbin/lsusb</span> to identify the bus and
device
number of the instrument, and then doing an <span
 style="font-weight: bold;">ls /dev/bus/usb/00X/00Y</span> (where you
replace the <span style="font-weight: bold;">X</span> with the <span
 style="font-weight: bold;">Y</span> with the appropriate bus and
device numbers) to check if the device exists. You could also check by
doing a <span style="font-weight: bold;">grep bus/usb *.rules</span>
in the <span style="font-weight: bold;">/etc/udev/rules.d/</span>
directory to locate the rules file that
actually does this. If your system does <span
 style="text-decoration: underline;">not</span> automatically create
the libusb
devices, skip to the <a href="#udev2">next udev configuration section</a>.<br>
<br>
[The following procedure simply changes the permissions on all the
color instrument devices and serial ports that might be used for color
instruments to world writable. A more sophisticated approach would be
to create or use a group for this, assign the instruments to this group
using&nbsp; GROUP="argyllgroup" rather than MODE="666", and making
appropriate users members of this group.]<br>
<br>
You may want to refer to <a
 href="http://reactivated.net/writing_udev_rules.html">this document</a>
for more guidance on writing udev rules<br>
<br>
<span style="font-weight: bold;"></span>Copy the file <span
 style="font-weight: bold;">libusb/</span><span
 style="font-weight: bold;">55-Argyll.rules</span> from the binary or
source distribution into <span style="font-weight: bold;">/etc/udev/rules.d/55-Argyll.rules</span>
with&nbsp;owner root, group root, permissions 644. The file starts with
<span style="font-weight: bold;">55</span> to ensure that it is acted
upon after the rule that creates the /dev/bus/usb/00X/00Y device entry.<br>
<br>
You may need to run <b>/sbin/udevtrigger</b>,&nbsp;
<b>/sbin/udevcontrol reload_rules</b> or&nbsp; <span
 style="font-weight: bold;">/sbin/udevstart</span>
to get the new file
noticed.<br>
<br>
&nbsp; ----------------- cut here ---------------------<br>
# udev rule to recognize instruments and make them accessible to user
applications.<br>
# Copy to /etc/udev/rules.d/55-Argyll.rules<br>
<br>
#Enable serial port connected instruments connected on first two ports.<br>
KERNEL=="ttyS[01]", MODE="666"<br>
<br>
#Enable serial port connected instruments on USB serial converted
connected on first two ports.<br>
KERNEL=="ttyUSB[01]", MODE="666"<br>
<br>
# DTP20<br>
SYSFS{idVendor}=="0765", SYSFS{idProduct}=="d020", MODE="666"<br>
<br>
# DTP92Q (not testedt)<br>
SYSFS{idVendor}=="0765", SYSFS{idProduct}=="d092", MODE="666"<br>
<br>
# DTP94<br>
SYSFS{idVendor}=="0765", SYSFS{idProduct}=="d094", MODE="666"<br>
<br>
# MonacoOPTIX (Same as i1 Display 1)<br>
SYSFS{idVendor}=="0670", SYSFS{idProduct}=="0001", MODE="666"<br>
<br>
# i1Display<br>
SYSFS{idVendor}=="0971", SYSFS{idProduct}=="2003", MODE="666"<br>
<br>
# i1Pro<br>
SYSFS{idVendor}=="0971", SYSFS{idProduct}=="2000", MODE="666"<br>
<br>
# Colorimtre HCFR<br>
SYSFS{idVendor}=="04db", SYSFS{idProduct}=="005b", MODE="666"<br>
<br>
# Spyder 2<br>
SYSFS{idVendor}=="085c", SYSFS{idProduct}=="0200", MODE="666"<br>
<br>
# Huey<br>
SYSFS{idVendor}=="0971", SYSFS{idProduct}=="2005", MODE="666"<br>
&nbsp;&nbsp;&nbsp; ----------------- cut here ---------------------<br>
<h5><span style="color: rgb(204, 51, 204);"><a name="udev2"></a>USB
using udev, where there are NOT /dev/bus/usb/00X/00X devices.</span><br>
</h5>
If your system doesn't have a default rule for creating the necessary <span
 style="font-weight: bold;">/dev/bus/usb/00X/00X</span>
device entries for <span style="font-weight: bold;">libusb</span>
devices, then you need to add a rule to do so, as well as making the
devices available to Argyll.<br>
<br>
[The following procedure simply changes the permissions on all the
color instrument devices and serial ports that might be used for color
instruments to world writable. A more sophisticated approach would be
to create, or use a group for this, assign the instruments to this
group
using&nbsp; GROUP="argyllgroup" rather than MODE="666", and making
appropriate users members of this group.]<br>
<br>
You may want to refer to <a
 href="http://reactivated.net/writing_udev_rules.html">this document</a>
for more guidance on writing udev rules<br>
<br>
&nbsp;Copy the file <span style="font-weight: bold;">libusb/</span><span
 style="font-weight: bold;">45-Argyll.rules</span> from the binary or
source distribution into <span style="font-weight: bold;">/etc/udev/rules.d/45-Argyll.rules</span>
with&nbsp;owner root, group root, permissions 644.<br>
<br>
You may need to run <b>/sbin/udevtrigger</b>,&nbsp;
<b>/sbin/udevcontrol reload_rules</b> or&nbsp; <span
 style="font-weight: bold;">/sbin/udevstart</span>
to get the new file
noticed.<br>
<br>
&nbsp; ----------------- cut here ---------------------<br>
# udev rule to change permissions so that the USB
instruments
can be accessed by argyll<br>
# Copy to /etc/udev/rules.d/45-Argyll.rules<br>
# MODE="660", GROUP="argyll" would be better here.<br>
<br>
# Enable serial port connected instruments connected on first two ports.<br>
KERNEL=="ttyS[01]", MODE="666"<br>
<br>
# Enable serial port connected instruments on USB serial converted
connected on first two ports.<br>
KERNEL=="ttyUSB[01]", MODE="666"<br>
<br>
# DTP20<br>
SYSFS{idVendor}=="0765", SYSFS{idProduct}=="d020", PROGRAM="/bin/sh -c
'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*}
$${K#*.}'", NAME="%c",&nbsp; MODE="666"<br>
<br>
# DTP92Q - not tested<br>
SYSFS{idVendor}=="0765", SYSFS{idProduct}=="d092", PROGRAM="/bin/sh -c
'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*}
$${K#*.}'", NAME="%c",&nbsp; MODE="666"<br>
<br>
# DTP94<br>
SYSFS{idVendor}=="0765", SYSFS{idProduct}=="d094", PROGRAM="/bin/sh -c
'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*}
$${K#*.}'", NAME="%c",&nbsp; MODE="666"<br>
<br>
# MonacoOPTIX (Same as i1 Display 1)<br>
SYSFS{idVendor}=="0670", SYSFS{idProduct}=="0001", PROGRAM="/bin/sh -c
'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*}
$${K#*.}'", NAME="%c",&nbsp; MODE="666"<br>
<br>
# i1Display<br>
SYSFS{idVendor}=="0971", SYSFS{idProduct}=="2003", PROGRAM="/bin/sh -c
'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*}
$${K#*.}'", NAME="%c",&nbsp; MODE="666"<br>
<br>
# i1Pro<br>
SYSFS{idVendor}=="0971", SYSFS{idProduct}=="2000", PROGRAM="/bin/sh -c
'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*}
$${K#*.}'", NAME="%c",&nbsp; MODE="666"<br>
<br>
# Colorimtre HCFR<br>
SYSFS{idVendor}=="04db", SYSFS{idProduct}=="005b", PROGRAM="/bin/sh -c
'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*}
$${K#*.}'", NAME="%c",&nbsp; MODE="666"<br>
<br>
# Spyder 2<br>
SYSFS{idVendor}=="085c", SYSFS{idProduct}=="0200", PROGRAM="/bin/sh -c
'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*}
$${K#*.}'", NAME="%c",&nbsp; MODE="666"<br>
<br>
# Huey<br>
SYSFS{idVendor}=="0971", SYSFS{idProduct}=="2005", PROGRAM="/bin/sh -c
'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*}
$${K#*.}'", NAME="%c",&nbsp; MODE="666"<br>
&nbsp;&nbsp;&nbsp; ----------------- cut here ---------------------<br>
<br>
Note that the "SYSFS==.." lines are one long line. You may need to run <b>/sbin/udevtrigger</b>,&nbsp;
<b>/sbin/udevcontrol reload_rules</b> or&nbsp; <span
 style="font-weight: bold;">/sbin/udevstart</span>
to get the new file
noticed.<br>
<h5><span style="color: rgb(204, 51, 204);"><a name="hotplug"></a>USB
using hotplug and Serial using udev<br>
</span></h5>
Under <span style="font-weight: bold;">older versions of Linux</span>,
you should look into the hotplug system
configuration for USB devices. You know you are running this because
the <span style="font-weight: bold;">/etc/hotplug</span> directory
exists on
your system.<br>
<br>
[The following procedure simply changes the permissions on all the
color instrument devices and serial ports that might be used for color
instruments to world writable. A more sophisticated approach would be
to create, or use a group for this, assign the instruments to this
group
using&nbsp; chgrp argyllgroup "${DEVICE}" and chmod 664
"${DEVICE}"&nbsp; rather than chmod 666 "${DEVICE}", and making
appropriate users members of this group.]<br>
<br>
Assuming we want to configure for all Argyll supported USB instruments,
copy the file <span style="font-weight: bold;">libusb/</span><span
 style="font-weight: bold;">Argyll.usermap</span> from the binary or
source distribution into&nbsp; <span style="font-weight: bold;">/etc/hotplug/usb/Argyll.usermap</span>
with owner root, group root, permissions 644.<span
 style="font-weight: bold;"></span><br>
<br>
&nbsp;&nbsp;&nbsp; ----------------- cut here ---------------------<br>
# Detect instruments by their USB VID and PID<br>
# DTP20<br>
Argyll 0x0003 0x0765 0xd020 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00
0x00000000<br>
#<br>
# DTP92Q - not tested<br>
Argyll 0x0003 0x0765 0xd092 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00
0x00000000<br>
#<br>
# DTP94<br>
Argyll 0x0003 0x0765 0xd094 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00
0x00000000<br>
#<br>
# MonacoOPTIX (Same as i1 Display 1)<br>
Argyll 0x0003 0x0670 0x0001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00
0x00000000<br>
#<br>
# i1 Display<br>
Argyll 0x0003 0x0971 0x2003 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00
0x00000000<br>
#<br>
# i1 Pro<br>
Argyll 0x0003 0x0971 0x2000 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00
0x00000000<br>
#<br>
# Colorimtre HCFR<br>
Argyll 0x0003 0x04DB 0x005B 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00
0x00000000<br>
#<br>
# Spyder 2<br>
Argyll 0x0003 0x085C 0x0200 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00
0x00000000<br>
#<br>
# Huey<br>
Argyll 0x0003 0x0971 0x2005 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00
0x00000000<br>
&nbsp;&nbsp;&nbsp; ----------------- cut here ---------------------<br>
<br>
&nbsp;(For even older versions, append the lines above to
<span style="font-weight: bold;">/etc/hotplug/usb.usermap</span>, and
you may have to run <span style="font-weight: bold;">update-usb.usermap</span>)<br>
<br>
Then copy the file <span style="font-weight: bold;">libusb/</span><span
 style="font-weight: bold;">Argyll</span> from the binary or source
distribution into <span style="font-weight: bold;">/etc/hotplug/usb/Argyll</span>
with owner root, group root, permissions 744.<span
 style="font-weight: bold;"></span><br>
<br>
&nbsp;&nbsp;&nbsp; ----------------- cut here ---------------------<br>
&nbsp;&nbsp;&nbsp; #!/bin/sh<br>
&nbsp;&nbsp;&nbsp; # Simply enable permissions.<br>
&nbsp;&nbsp;&nbsp; if [ "${ACTION}" = "add" ] &amp;&amp; [ -f
"${DEVICE}" ]<br>
&nbsp;&nbsp;&nbsp; then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Should have a "pci" group,
or "argyll" group, but do it crudely for now,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # by making it world
readable.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # chgrp argyllgroup
"${DEVICE}"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # chmod 664 "${DEVICE}"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chmod 666 "${DEVICE}"<br>
&nbsp;&nbsp;&nbsp; fi<br>
&nbsp;&nbsp;&nbsp; ----------------- cut here ---------------------<br>
<h5><span style="color: rgb(204, 51, 204);">Serial instruments using
udev:</span><br>
</h5>
On older Linux systems using hotplug and udev, the serial ports are
being
created by the <span style="font-weight: bold;">udev</span> system, so
modifying the udev permissions is one way of making the serial ports
accessible to Argyll.<span style="font-weight: bold;"></span><br>
<br>
Copy the file <span style="font-weight: bold;">libusb/</span><span
 style="font-weight: bold;"></span><span style="font-weight: bold;">10-Argyll.permissions</span>
from the binary or
source distribution into&nbsp; <span style="font-weight: bold;">/etc/udev/permissions.d/</span><span
 style="font-weight: bold;">10-Argyll.permissions</span><span
 style="font-weight: bold;"></span>
with owner root, group root, permissions 644. You may need to run&nbsp;
<span style="font-weight: bold;">/sbin/udevstart</span>
to get the new file
noticed.<br>
<br>
<br>
&nbsp;&nbsp;&nbsp; ----------------- cut here ---------------------<br>
&nbsp;&nbsp;&nbsp; # Config file for serial ports using hotplug &amp;
udev<br>
&nbsp;&nbsp;&nbsp; # Change "ttyS0" to whatever ttySx or ttyUSBx your
instruments will be on.<br>
&nbsp;&nbsp;&nbsp; # This file goes at
/etc/udev/permissions.d/10-Argyll.permissions<br>
&nbsp;&nbsp;&nbsp; # Should have an "argyll" group, but do it crudely
for now,<br>
&nbsp;&nbsp;&nbsp; ttyS0:root:uucp:0666<br>
&nbsp;&nbsp;&nbsp; ttyUSB0:root:uucp:0666<br>
&nbsp; &nbsp; ----------------- cut here ---------------------<br>
<br>
We are assuming that ttyS0 is where you are going to connect your
instruments. This might be another port (for instance ttyS1) if
there were a serial mouse occupying ttyS0, or some other serial
device such as a modem.<br>
<br>
If you are using a USB to serial converted that is supported by your
Linux distribution, then you will need to add or modify a line setting
the permissions for its devices, such as ttyUSB0.<br>
<h5><span style="color: rgb(204, 51, 204);"><a name="devperm"></a>Changing
/dev permissions manually:</span></h5>
On very old systems, the serial ports will be being created at startup,
or statically. One way of changing the permissions is to do
this manually:<br>
<br>
(as root:)&nbsp; chmod 666 /dev/ttyS0<br>
<br>
but you may find that this has to be done on every system start. A way
this can be automated is to add the chmod command to the /etc/rc.serial
file (you may have to create this file if it doesn't exist. Check the
/etc/rc.sysinit script, to make sure that the rc.serial file is being
invoked.)<br>
<br>
We are assuming that ttyS0 is where you are going to connect your
instruments. This might be another port (for instance /dev/ttyS1) if
there were a serial mouse occupying /dev/ttyS0, or some other serial
device such as a modem.<br>
<span style="font-weight: bold;"><br>
<br>
</span>
<p>&nbsp;
<br>
&nbsp;
<br>
&nbsp;
<br>
&nbsp;
<br>
&nbsp;
<br>
&nbsp;
</p>
</body>
</html>