ugen driver in Solaris


ugen (USB generic) driver in Solaris is useful for users because it exports device nodes for each of the end point of a USB device. Users can access the raw data of the USB device via the ugen nodes. libusb or openusb interfaces are built upon this driver. It is not that staight forward that in what cases ugen nodes will be exported. Recently I was asked by people who want to utilize ugen device nodes in their projects. The following is trying to summarize all the cases.

ugen nodes are exported by default for the following devices:
1. Any USB devices that have not a class or vendor unique driver in
solaris.
2. USB storage devices bound to scsa2usb(7D) driver. (refer to
scsa2usb(7D) manpage)
3. USB printer devices bound to usbprn(7D) driver. (refer to
usbprn(7D) manpage)
4. For a multi-interface USB device, usb_mid driver is by default
attached to it.

If none of the device's interfaces are explicitly
bound to the ugen(7D) driver, then usb_mid driver will create ugen
nodes for the device.

ugen nodes are not by default exported for some USB devices (a USB mouse, for example),
because it is bound to hid driver by USB class number and hid driver
does not create ugen nodes.

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

Colin Zou is a software engineer enjoying improving operating systems. Besides sitting at a computer all day like a dull boy, he also likes hiking and the activities on the beach.

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today