Unix‎ > ‎Solaris‎ > ‎Solaris man pages‎ > ‎1m‎ > ‎


     update_drv - modify device driver attributes

     update_drv [-f | -v] driver_module

     update_drv [-b basedir] [-f | -v] -a [-m 'permission']
         [-i 'identify-name'] [-P 'privilege'] [-p 'policy'] driver_module

     update_drv [-b basedir] [-f | -v] -d [-m 'permission']
         [-i 'identify-name'] [-P 'privilege'] [-p 'policy'] driver_module

     The update_drv 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, update_drv 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-

     The following options are supported:

     -a                    Add a permission,  aliases,  privilege
                           or policy entry.

                           With the -a option specified,  a  per-
                           mission  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 per-
                           missions  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

     -b basedir            Installs or modifies the driver on the
                           system   with   a  root  directory  of
                           basedir rather than installing on  the
                           system executing update_drv.

                           Note -

                             The root file  system  of  any  non-
                             global  zones must not be referenced
                             with the -b option. Doing  so  might
                             damage  the  global zone's file sys-
                             tem, 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

                           The -d and  -a  options  are  mutually

                           If the entry doesn't exist  update_drv
                           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.

     -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,  rem_drv(1M) is

     -m 'permission'       Specify a white-space  separated  list
                           of  file  system  permissions  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.

     -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/device_policy, 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/extra_privs

     -v                    Verbose.

     Example 1 Adding or Modifying an Existing Minor  Permissions

     The following command adds or modifies  the  exisitng  minor
     permissions entry of the clone driver:

       example# update_drv -a -m 'llc1 777 joe staff' clone

     Example 2 Removing All Minor Permissions Entries

     The following command removes all minor  permission  entries
     of the usbprn driver, the USB printer driver:

       example# update_drv -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# update_drv -a -i '"usb459,20"' ugen

     Example 4 Re-reading  the  driver.conf  File  For  the  ohci

     The following command re-reads the driver.conf(4) file.

        example# update_drv ohci

     Example 5 Requiring a Self-defined Privilege to Open  a  tcp

     The following command requires a self-defined  privilege  to
     open a tcp socket:

       example#   update_drv -a -P net_tcp -p \
           'write_priv_set=net_tcp read_priv_set=net_tcp' 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#   update_drv -a -i '"/pci@8,600000/SUNW,qlc@4"' qlt

     The following exit values are returned:

     0     Successful completion.

     >0    An error occurred.

     See attributes(5) for descriptions of the  following  attri-

    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    | Availability                | SUNWcsu                     |

     add_drv(1M),  modunload(1M),  rem_drv(1M),   driver.conf(4),
     attributes(5), privileges(5)

     If -a or -d options are specified, update_drv does  not  re-
     read 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 can not  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.  A  force  update
     with  the  -d  option tries to delete entries and report the
     error if it cannot.

Man pages from Solaris 10 Update 8. See docs.sun.com and www.oracle.com for further documentation and Solaris information.