#11877 NORM Future : device permissions for USB devices should be more permissive

Zarro Boogs per Child bugtracker at laptop.org
Wed Oct 10 14:13:21 EDT 2012


#11877: device permissions for USB devices should be more permissive
-----------------------------------+----------------------------------------
           Reporter:  pgf          |       Owner:  dsd           
               Type:  enhancement  |      Status:  assigned      
           Priority:  normal       |   Milestone:  Future Release
          Component:  distro       |     Version:  not specified 
         Resolution:               |    Keywords:                
        Next_action:  never set    |    Verified:  0             
Deployment_affected:               |   Blockedby:                
           Blocking:  10784        |  
-----------------------------------+----------------------------------------

Comment(by awby):

 Thank you, dsd.  Here's the udevinfo on the 4 devices:

 fischertechnik Robo LT:
 {{{
 Udevadm info starts with the device specified by the devpath and then
 walks up the chain of parent devices. It prints for every device
 found, all possible attributes in the udev rules key format.
 A rule to match, can be composed by the attributes of the device
 and the attributes from one single parent device.

   looking at device '/devices/pci0000:00/0000:00:10.1/usb3/3-1':
     KERNEL=="3-1"
     SUBSYSTEM=="usb"
     DRIVER=="usb"
     ATTR{configuration}=="Robo LT Controller"
     ATTR{bNumInterfaces}==" 1"
     ATTR{bConfigurationValue}=="1"
     ATTR{bmAttributes}=="80"
     ATTR{bMaxPower}=="  0mA"
     ATTR{urbnum}=="33"
     ATTR{idVendor}=="146a"
     ATTR{idProduct}=="000a"
     ATTR{bcdDevice}=="0001"
     ATTR{bDeviceClass}=="00"
     ATTR{bDeviceSubClass}=="00"
     ATTR{bDeviceProtocol}=="00"
     ATTR{bNumConfigurations}=="1"
     ATTR{bMaxPacketSize0}=="64"
     ATTR{speed}=="12"
     ATTR{busnum}=="3"
     ATTR{devnum}=="2"
     ATTR{devpath}=="1"
     ATTR{version}==" 1.10"
     ATTR{maxchild}=="0"
     ATTR{quirks}=="0x0"
     ATTR{avoid_reset_quirk}=="0"
     ATTR{authorized}=="1"
     ATTR{manufacturer}=="Knobloch-GmbH"
     ATTR{product}=="fischertechnik Robo LT-Controller (Knobloch GmbH)"
     ATTR{serial}=="00000001"

   looking at parent device '/devices/pci0000:00/0000:00:10.1/usb3':
     KERNELS=="usb3"
     SUBSYSTEMS=="usb"
     DRIVERS=="usb"
     ATTRS{configuration}==""
     ATTRS{bNumInterfaces}==" 1"
     ATTRS{bConfigurationValue}=="1"
     ATTRS{bmAttributes}=="e0"
     ATTRS{bMaxPower}=="  0mA"
     ATTRS{urbnum}=="118"
     ATTRS{idVendor}=="1d6b"
     ATTRS{idProduct}=="0001"
     ATTRS{bcdDevice}=="0206"
     ATTRS{bDeviceClass}=="09"
     ATTRS{bDeviceSubClass}=="00"
     ATTRS{bDeviceProtocol}=="00"
     ATTRS{bNumConfigurations}=="1"
     ATTRS{bMaxPacketSize0}=="64"
     ATTRS{speed}=="12"
     ATTRS{busnum}=="3"
     ATTRS{devnum}=="1"
     ATTRS{devpath}=="0"
     ATTRS{version}==" 1.10"
     ATTRS{maxchild}=="2"
     ATTRS{quirks}=="0x0"
     ATTRS{avoid_reset_quirk}=="0"
     ATTRS{authorized}=="1"
     ATTRS{manufacturer}=="Linux 2.6.35.13_xo1.5-20120508.1139.olpc.eb0c7a8
 uhci_hcd"
     ATTRS{product}=="UHCI Host Controller"
     ATTRS{serial}=="0000:00:10.1"
     ATTRS{authorized_default}=="1"

   looking at parent device '/devices/pci0000:00/0000:00:10.1':
     KERNELS=="0000:00:10.1"
     SUBSYSTEMS=="pci"
     DRIVERS=="uhci_hcd"
     ATTRS{vendor}=="0x1106"
     ATTRS{device}=="0x3038"
     ATTRS{subsystem_vendor}=="0x152d"
     ATTRS{subsystem_device}=="0x0833"
     ATTRS{class}=="0x0c0300"
     ATTRS{irq}=="22"
     ATTRS{local_cpus}=="1"
     ATTRS{local_cpulist}=="0"
 ATTRS{modalias}=="pci:v00001106d00003038sv0000152Dsd00000833bc0Csc03i00"
     ATTRS{dma_mask_bits}=="32"
     ATTRS{consistent_dma_mask_bits}=="32"
     ATTRS{enable}=="1"
     ATTRS{broken_parity_status}=="0"
     ATTRS{msi_bus}==""

   looking at parent device '/devices/pci0000:00':
     KERNELS=="pci0000:00"
     SUBSYSTEMS==""
     DRIVERS==""
 }}}

 fischertechnik Robo TX:
 {{{
 Udevadm info starts with the device specified by the devpath and then
 walks up the chain of parent devices. It prints for every device
 found, all possible attributes in the udev rules key format.
 A rule to match, can be composed by the attributes of the device
 and the attributes from one single parent device.

   looking at device '/devices/pci0000:00/0000:00:10.1/usb3/3-1':
     KERNEL=="3-1"
     SUBSYSTEM=="usb"
     DRIVER=="usb"
     ATTR{configuration}==""
     ATTR{bNumInterfaces}==" 2"
     ATTR{bConfigurationValue}=="1"
     ATTR{bmAttributes}=="e0"
     ATTR{bMaxPower}=="100mA"
     ATTR{urbnum}=="123"
     ATTR{idVendor}=="221d"
     ATTR{idProduct}=="1000"
     ATTR{bcdDevice}=="0001"
     ATTR{bDeviceClass}=="02"
     ATTR{bDeviceSubClass}=="00"
     ATTR{bDeviceProtocol}=="00"
     ATTR{bNumConfigurations}=="1"
     ATTR{bMaxPacketSize0}=="64"
     ATTR{speed}=="12"
     ATTR{busnum}=="3"
     ATTR{devnum}=="3"
     ATTR{devpath}=="1"
     ATTR{version}==" 2.00"
     ATTR{maxchild}=="0"
     ATTR{quirks}=="0x0"
     ATTR{avoid_reset_quirk}=="0"
     ATTR{authorized}=="1"
     ATTR{manufacturer}=="fischertechnik"
     ATTR{product}=="ROBO TX Controller"
     ATTR{serial}=="0123456789AF"

   looking at parent device '/devices/pci0000:00/0000:00:10.1/usb3':
     KERNELS=="usb3"
     SUBSYSTEMS=="usb"
     DRIVERS=="usb"
     ATTRS{configuration}==""
     ATTRS{bNumInterfaces}==" 1"
     ATTRS{bConfigurationValue}=="1"
     ATTRS{bmAttributes}=="e0"
     ATTRS{bMaxPower}=="  0mA"
     ATTRS{urbnum}=="164"
     ATTRS{idVendor}=="1d6b"
     ATTRS{idProduct}=="0001"
     ATTRS{bcdDevice}=="0206"
     ATTRS{bDeviceClass}=="09"
     ATTRS{bDeviceSubClass}=="00"
     ATTRS{bDeviceProtocol}=="00"
     ATTRS{bNumConfigurations}=="1"
     ATTRS{bMaxPacketSize0}=="64"
     ATTRS{speed}=="12"
     ATTRS{busnum}=="3"
     ATTRS{devnum}=="1"
     ATTRS{devpath}=="0"
     ATTRS{version}==" 1.10"
     ATTRS{maxchild}=="2"
     ATTRS{quirks}=="0x0"
     ATTRS{avoid_reset_quirk}=="0"
     ATTRS{authorized}=="1"
     ATTRS{manufacturer}=="Linux 2.6.35.13_xo1.5-20120508.1139.olpc.eb0c7a8
 uhci_hcd"
     ATTRS{product}=="UHCI Host Controller"
     ATTRS{serial}=="0000:00:10.1"
     ATTRS{authorized_default}=="1"

   looking at parent device '/devices/pci0000:00/0000:00:10.1':
     KERNELS=="0000:00:10.1"
     SUBSYSTEMS=="pci"
     DRIVERS=="uhci_hcd"
     ATTRS{vendor}=="0x1106"
     ATTRS{device}=="0x3038"
     ATTRS{subsystem_vendor}=="0x152d"
     ATTRS{subsystem_device}=="0x0833"
     ATTRS{class}=="0x0c0300"
     ATTRS{irq}=="22"
     ATTRS{local_cpus}=="1"
     ATTRS{local_cpulist}=="0"
 ATTRS{modalias}=="pci:v00001106d00003038sv0000152Dsd00000833bc0Csc03i00"
     ATTRS{dma_mask_bits}=="32"
     ATTRS{consistent_dma_mask_bits}=="32"
     ATTRS{enable}=="1"
     ATTRS{broken_parity_status}=="0"
     ATTRS{msi_bus}==""

   looking at parent device '/devices/pci0000:00':
     KERNELS=="pci0000:00"
     SUBSYSTEMS==""
     DRIVERS==""
 }}}

 fischertechnik Robo:
 {{{
 Udevadm info starts with the device specified by the devpath and then
 walks up the chain of parent devices. It prints for every device
 found, all possible attributes in the udev rules key format.
 A rule to match, can be composed by the attributes of the device
 and the attributes from one single parent device.

   looking at device '/devices/pci0000:00/0000:00:10.1/usb3/3-1':
     KERNEL=="3-1"
     SUBSYSTEM=="usb"
     DRIVER=="usb"
     ATTR{configuration}=="Robo Interface"
     ATTR{bNumInterfaces}==" 1"
     ATTR{bConfigurationValue}=="1"
     ATTR{bmAttributes}=="c0"
     ATTR{bMaxPower}=="100mA"
     ATTR{urbnum}=="12"
     ATTR{idVendor}=="146a"
     ATTR{idProduct}=="0001"
     ATTR{bcdDevice}=="0001"
     ATTR{bDeviceClass}=="00"
     ATTR{bDeviceSubClass}=="00"
     ATTR{bDeviceProtocol}=="00"
     ATTR{bNumConfigurations}=="1"
     ATTR{bMaxPacketSize0}=="64"
     ATTR{speed}=="12"
     ATTR{busnum}=="3"
     ATTR{devnum}=="4"
     ATTR{devpath}=="1"
     ATTR{version}==" 1.10"
     ATTR{maxchild}=="0"
     ATTR{quirks}=="0x0"
     ATTR{avoid_reset_quirk}=="0"
     ATTR{authorized}=="1"
     ATTR{manufacturer}=="Knobloch-GmbH"
     ATTR{product}=="fischertechnik Robo Interface (Knobloch GmbH)"
     ATTR{serial}=="00000001"

   looking at parent device '/devices/pci0000:00/0000:00:10.1/usb3':
     KERNELS=="usb3"
     SUBSYSTEMS=="usb"
     DRIVERS=="usb"
     ATTRS{configuration}==""
     ATTRS{bNumInterfaces}==" 1"
     ATTRS{bConfigurationValue}=="1"
     ATTRS{bmAttributes}=="e0"
     ATTRS{bMaxPower}=="  0mA"
     ATTRS{urbnum}=="220"
     ATTRS{idVendor}=="1d6b"
     ATTRS{idProduct}=="0001"
     ATTRS{bcdDevice}=="0206"
     ATTRS{bDeviceClass}=="09"
     ATTRS{bDeviceSubClass}=="00"
     ATTRS{bDeviceProtocol}=="00"
     ATTRS{bNumConfigurations}=="1"
     ATTRS{bMaxPacketSize0}=="64"
     ATTRS{speed}=="12"
     ATTRS{busnum}=="3"
     ATTRS{devnum}=="1"
     ATTRS{devpath}=="0"
     ATTRS{version}==" 1.10"
     ATTRS{maxchild}=="2"
     ATTRS{quirks}=="0x0"
     ATTRS{avoid_reset_quirk}=="0"
     ATTRS{authorized}=="1"
     ATTRS{manufacturer}=="Linux 2.6.35.13_xo1.5-20120508.1139.olpc.eb0c7a8
 uhci_hcd"
     ATTRS{product}=="UHCI Host Controller"
     ATTRS{serial}=="0000:00:10.1"
     ATTRS{authorized_default}=="1"

   looking at parent device '/devices/pci0000:00/0000:00:10.1':
     KERNELS=="0000:00:10.1"
     SUBSYSTEMS=="pci"
     DRIVERS=="uhci_hcd"
     ATTRS{vendor}=="0x1106"
     ATTRS{device}=="0x3038"
     ATTRS{subsystem_vendor}=="0x152d"
     ATTRS{subsystem_device}=="0x0833"
     ATTRS{class}=="0x0c0300"
     ATTRS{irq}=="22"
     ATTRS{local_cpus}=="1"
     ATTRS{local_cpulist}=="0"
 ATTRS{modalias}=="pci:v00001106d00003038sv0000152Dsd00000833bc0Csc03i00"
     ATTRS{dma_mask_bits}=="32"
     ATTRS{consistent_dma_mask_bits}=="32"
     ATTRS{enable}=="1"
     ATTRS{broken_parity_status}=="0"
     ATTRS{msi_bus}==""

   looking at parent device '/devices/pci0000:00':
     KERNELS=="pci0000:00"
     SUBSYSTEMS==""
     DRIVERS==""
 }}}

 fischertechnik Robo Extension Module:
 {{{
 Udevadm info starts with the device specified by the devpath and then
 walks up the chain of parent devices. It prints for every device
 found, all possible attributes in the udev rules key format.
 A rule to match, can be composed by the attributes of the device
 and the attributes from one single parent device.

   looking at device '/devices/pci0000:00/0000:00:10.1/usb3/3-1':
     KERNEL=="3-1"
     SUBSYSTEM=="usb"
     DRIVER=="usb"
     ATTR{configuration}=="Robo I/O-Extension"
     ATTR{bNumInterfaces}==" 1"
     ATTR{bConfigurationValue}=="1"
     ATTR{bmAttributes}=="c0"
     ATTR{bMaxPower}=="  0mA"
     ATTR{urbnum}=="12"
     ATTR{idVendor}=="146a"
     ATTR{idProduct}=="0002"
     ATTR{bcdDevice}=="0001"
     ATTR{bDeviceClass}=="00"
     ATTR{bDeviceSubClass}=="00"
     ATTR{bDeviceProtocol}=="00"
     ATTR{bNumConfigurations}=="1"
     ATTR{bMaxPacketSize0}=="64"
     ATTR{speed}=="12"
     ATTR{busnum}=="3"
     ATTR{devnum}=="5"
     ATTR{devpath}=="1"
     ATTR{version}==" 1.10"
     ATTR{maxchild}=="0"
     ATTR{quirks}=="0x0"
     ATTR{avoid_reset_quirk}=="0"
     ATTR{authorized}=="1"
     ATTR{manufacturer}=="Knobloch-GmbH"
     ATTR{product}=="fischertechnik Robo I/O-Extension (Knobloch GmbH)"
     ATTR{serial}=="00000001"

   looking at parent device '/devices/pci0000:00/0000:00:10.1/usb3':
     KERNELS=="usb3"
     SUBSYSTEMS=="usb"
     DRIVERS=="usb"
     ATTRS{configuration}==""
     ATTRS{bNumInterfaces}==" 1"
     ATTRS{bConfigurationValue}=="1"
     ATTRS{bmAttributes}=="e0"
     ATTRS{bMaxPower}=="  0mA"
     ATTRS{urbnum}=="247"
     ATTRS{idVendor}=="1d6b"
     ATTRS{idProduct}=="0001"
     ATTRS{bcdDevice}=="0206"
     ATTRS{bDeviceClass}=="09"
     ATTRS{bDeviceSubClass}=="00"
     ATTRS{bDeviceProtocol}=="00"
     ATTRS{bNumConfigurations}=="1"
     ATTRS{bMaxPacketSize0}=="64"
     ATTRS{speed}=="12"
     ATTRS{busnum}=="3"
     ATTRS{devnum}=="1"
     ATTRS{devpath}=="0"
     ATTRS{version}==" 1.10"
     ATTRS{maxchild}=="2"
     ATTRS{quirks}=="0x0"
     ATTRS{avoid_reset_quirk}=="0"
     ATTRS{authorized}=="1"
     ATTRS{manufacturer}=="Linux 2.6.35.13_xo1.5-20120508.1139.olpc.eb0c7a8
 uhci_hcd"
     ATTRS{product}=="UHCI Host Controller"
     ATTRS{serial}=="0000:00:10.1"
     ATTRS{authorized_default}=="1"

   looking at parent device '/devices/pci0000:00/0000:00:10.1':
     KERNELS=="0000:00:10.1"
     SUBSYSTEMS=="pci"
     DRIVERS=="uhci_hcd"
     ATTRS{vendor}=="0x1106"
     ATTRS{device}=="0x3038"
     ATTRS{subsystem_vendor}=="0x152d"
     ATTRS{subsystem_device}=="0x0833"
     ATTRS{class}=="0x0c0300"
     ATTRS{irq}=="22"
     ATTRS{local_cpus}=="1"
     ATTRS{local_cpulist}=="0"
 ATTRS{modalias}=="pci:v00001106d00003038sv0000152Dsd00000833bc0Csc03i00"
     ATTRS{dma_mask_bits}=="32"
     ATTRS{consistent_dma_mask_bits}=="32"
     ATTRS{enable}=="1"
     ATTRS{broken_parity_status}=="0"
     ATTRS{msi_bus}==""

   looking at parent device '/devices/pci0000:00':
     KERNELS=="pci0000:00"
     SUBSYSTEMS==""
     DRIVERS==""
 }}}

-- 
Ticket URL: <http://dev.laptop.org/ticket/11877#comment:17>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list