System Administration Commands updatedrv(1M)
NAME
updatedrv - modify device driver attributes
SYNOPSIS
updatedrv [-f -v] [-n] drivermodule
updatedrv [-b basedir] [-f -v] [-n] -a [-m 'permission']
[-i 'identify-name'] [-P 'privilege'] [-p 'policy'] drivermodule
updatedrv [-b basedir] [-f -v] [-n] -d [-m 'permission']
[-i 'identify-name'] [-P 'privilege'] [-p 'policy'] drivermodule
DESCRIPTION
The updatedrv command informs the system about attribute
changes to an installed device driver. It can be used to
re-read the driver.conf(4) file, or to add, modify, or
delete a driver's minor node permissions or aliases.
Without options, updatedrv reloads the driver.conf file.
Upon successfully updating the aliases, the driver binding
takes effect upon reconfig boot or hotplug of the device.
Upon successfully updating the permissions, only the new
driver minor nodes get created with the modified set of file
permissions. Existing driver minor nodes do not get modi-
fied.
OPTIONS
The following options are supported:
-a
Add a permission, aliases, privilege or policy entry.
With the -a option specified, a permission entry (using
the -m option), or a driver's aliases entry (using the
-i option), a device privilege (using the -P option) or
a a device policy (using the -p option), can be added or
updated. If a matching minor node permissions entry is
encountered (having the same driver name and the minor
node), it is replaced. If a matching aliases entry is
encountered (having a different driver name and the same
alias), an error is reported.
The -a and -d options are mutually exclusive.
SunOS 5.11 Last change: 10 Feb 2009 1
System Administration Commands updatedrv(1M)
-b basedir
Installs or modifies the driver on the system with a
root directory of basedir rather than installing on the
system executing updatedrv.
Note -
The root file system of any non-global zones must not
be referenced with the -b option. Doing so might dam-
age the global zone's file system, might compromise
the security of the global zone, and might damage the
non-global zone's file system. See zones(5).
-d
Delete a permission, aliases, privilege or policy entry.
The -m permission, -i identify-name, -P privilege or the
-p policy option needs to be specified with the -d
option.
The -d and -a options are mutually exclusive.
If the entry doesn't exist updatedrv returns an error.
-f
Force the system to reread the driver.conf file even if
the driver module cannot be unloaded. See NOTES section
for details.
Without this option, when removing an alias for a
driver, updatedrv updates the binding files for the
next boot, but returns an error if one or more devices
that reference the driver-alias binding remains. With
the -f option, updatedrv does not return an error if
such devices remain.
-i 'identify-name'
A white-space separated list of aliases for the driver.
If -a or -d option is not specified then this option is
ignored. The identify-name string is mandatory. If all
aliases need to be removed, remdrv(1M) is recommended.
-m 'permission'
SunOS 5.11 Last change: 10 Feb 2009 2
System Administration Commands updatedrv(1M)
Specify a white-space separated list of file system per-
missions for the device node of the device driver. If -a
or -d option is not specified then, this option is
ignored. The permission string is mandatory.
-n
Do not try to load and attach devicedriver, just modify
the system configuration files for that driver.
-p 'policy'
With the -a option, policy is a white-space separated
list of complete device policies. For the -d option,
policy is a white space separated list of minor device
specifications. The minor device specifications are
matched exactly against the entries in
/etc/security/devicepolicy, that is., no wildcard
matching is performed.
-P 'privilege'
With the -a option, privilege is a comma separated list
of additional driver privileges. For the -d option,
privilege is a single privilege. The privileges are
added to or removed from the /etc/security/extraprivs
file.
-v
Verbose.
EXAMPLES
Example 1 Adding or Modifying an Existing Minor Permissions
Entry
The following command adds or modifies the exisitng minor
permissions entry of the clone driver:
example# updatedrv -a -m 'llc1 777 joe staff' clone
Example 2 Removing All Minor Permissions Entries
SunOS 5.11 Last change: 10 Feb 2009 3
System Administration Commands updatedrv(1M)
The following command removes all minor permission entries
of the usbprn driver, the USB printer driver:
example# updatedrv -d -m '* 0666 root sys' usbprn
Example 3 Adding a Driver Aliases Entry
The following command adds a driver aliases entry of the
ugen driver with the identity string of usb459,20:
example# updatedrv -a -i '"usb459,20"' ugen
Example 4 Re-reading the driver.conf File For the ohci
Driver
The following command re-reads the driver.conf(4) file.
example# updatedrv ohci
Example 5 Requiring a Self-defined Privilege to Open a tcp
Socket
The following command requires a self-defined privilege to
open a tcp socket:
example# updatedrv -a -P nettcp -p \
'writeprivset=nettcp readprivset=nettcp' tcp
Example 6 Establishing a Path-oriented Alias
The following command establishes a path-oriented alias to
force a specific driver, qlt, to be used for a particular
device path:
example# updatedrv -a -i '"/pci@8,600000/SUNW,qlc@4"' qlt
SunOS 5.11 Last change: 10 Feb 2009 4
System Administration Commands updatedrv(1M)
EXIT STATUS
The following exit values are returned:
0
Successful completion.
>0
An error occurred.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Availability SUNWcsu
SEE ALSO
adddrv(1M), modunload(1M), remdrv(1M), driver.conf(4),
attributes(5), privileges(5)
NOTES
If -a or -d options are specified, updatedrv does not
reread the driver.conf file.
A forced update of the driver.conf file reloads the
driver.conf file without reloading the driver binary module.
In this case, devices which cannot be detached reference
driver global properties from the old driver.conf file,
while the remaining driver instances reference global pro-
perties in the new driver.conf file.
It is possible to add an alias , which changes the driver
binding of a device already being managed by a different
driver. A force update with the -a option tries to bind to
the new driver and report error if it cannot. If you specify
more than one of the -m, -i, -P or -p options, a force flag
tries to modify aliases or permissions. This is done even if
the other operation fails and vice-versa.
SunOS 5.11 Last change: 10 Feb 2009 5
|