LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   How is the group-id for the USB-devices in /dev during boot determined? (https://www.linuxquestions.org/questions/linux-software-2/how-is-the-group-id-for-the-usb-devices-in-dev-during-boot-determined-803550/)

JZL240I-U 04-22-2010 11:32 AM

How is the group-id for the USB-devices in /dev during boot determined?
 
How do the group-ids for the devices in /dev get determined during boot up? The system must get the defaults for the devices some time during the boot process. Where are the defaults listed?

Actual reason for my question is that I need a permanent change of "dialout" to "uucp" or, even better to "dialout,uucp" in this line:
Code:

crw-rw----  1 root dialout 188, 0 Nov 14 15:00 /dev/ttyUSB0


smoker 04-22-2010 05:45 PM

You could always set the GID using udev.


Please read the entire page before doing anything drastic.

http://reactivated.net/writing_udev_...html#ownership

(and please mention the OS concerned in posts)

JZL240I-U 04-23-2010 03:50 AM

Yes I could, thanks. I could also place a simple shell script in KDE's autostart directory with a chgrp statement. That doesn't answer the basic question, though: "How do the group-ids for the devices in /dev get determined during boot up?" Do you have any information on that?

Oh, this is for SuSE 11.2.

catkin 04-23-2010 05:00 AM

Quote:

Originally Posted by JZL240I-U (Post 3944972)
That doesn't answer the basic question, though: "How do the group-ids for the devices in /dev get determined during boot up?" Do you have any information on that?

It does but not obviously; gids are determined by the udev rules. If it's not distro specific they're in /lib/udev/rules.d and /etc/udev/rules.d. Rules from both locations are processed in lexical order and rules matching the device are applied.

EDIT:

This assumes /dev/ttyUSB0 is an unpluggable device as the "USB" part of its name suggests.

The conventional way to modify udev rules is by using/creating /etc/udev/rules.d/90-local.rules. An earlier numbering may result in the rule's effects being overridden by a later rule. A later numbering supplants rules intended to be run at the end of processing.

JZL240I-U 04-23-2010 05:55 AM

Quote:

Originally Posted by catkin (Post 3945009)
It does but not obviously; gids are determined by the udev rules. If it's not distro specific they're in /lib/udev/rules.d and /etc/udev/rules.d. Rules from both locations are processed in lexical order and rules matching the device are applied.

I looked earlier already in /etc/udev/rules.d but there is nothing of that kind. I'll have to look up
/lib/udev/rules.d then.

Quote:

Originally Posted by catkin (Post 3945009)
This assumes /dev/ttyUSB0 is an unpluggable device as the "USB" part of its name suggests.

It is. It is an UMTS wireless stick (Huawei 176 technology).

catkin 04-23-2010 06:18 AM

Quote:

Originally Posted by JZL240I-U (Post 3945033)
I looked earlier already in /etc/udev/rules.d but there is nothing of that kind. I'll have to look up
/lib/udev/rules.d then.

Please ask again if you decide to write a local rules file and get stuck or have doubts.

JZL240I-U 04-23-2010 06:39 AM

Quote:

Originally Posted by catkin (Post 3945009)
...Please ask again if you decide to write a local rules file and get stuck or have doubts.

So here goes: I just noted that the above post states
Quote:

Originally Posted by catkin (Post 3945009)
...The conventional way to modify udev rules is by using/creating /etc/udev/rules.d/90-local.rules. An earlier numbering may result in the rule's effects being overridden by a later rule. A later numbering supplants rules intended to be run at the end of processing.

This is in immediate contradiction to the link smoker gave http://reactivated.net/writing_udev_rules.html, see section "Rule writing", third paragraph. What is right?

catkin 04-23-2010 08:40 AM

Quote:

Originally Posted by JZL240I-U (Post 3945063)
This is in immediate contradiction to the link smoker gave http://reactivated.net/writing_udev_rules.html, see section "Rule writing", third paragraph. What is right?

Well spotted! In that very useful document (thanks Daniel Drake :)) it says "In general, you want your own rules to be parsed before the defaults" and if that is what you want then 10-local.rules is the way to go otherwise 90-local.rules is the way to go. udev rules provides a mechanism and we are free to use it to suit our needs. Google has 13 k hits on 10-local.rules and 10 hits on 90-local.rules (not that popularity proves anything except popularity). OTOH Slackware's /lib/udev/rules.d/40-slackware.rules includes the comment "Put your custom rules somewhere else (90-local.rules is a good idea)" and I figure the Slackware team knows a thing or three.

EDIT: no right answers, only choices!

JZL240I-U 05-03-2010 08:31 AM

Bull's eye. And 90-... it is.

Now this is from /lib/udev/rules.d/50-udev-default.rules:

Code:


KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660"

# serial
KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"

# libusb device nodes
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0664"

And this is the result from "udevadm info"

Code:

P: /devices/pci0000:00/0000:00:07.2/usb2/2-1/2-1:1.0/ttyUSB0/tty/ttyUSB0
N: ttyUSB0
S: char/188:0
S: serial/by-path/pci-0000:00:07.2-usb-0:1:1.0-port0
S: serial/by-id/usb-KOBIL_USB_Adapter_K-if00-port0
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:07.2/usb2/2-1/2-1:1.0/ttyUSB0/tty/ttyUSB0
E: MAJOR=188
E: MINOR=0
E: DEVNAME=/dev/ttyUSB0
E: ID_PORT=0
E: ID_PATH=pci-0000:00:07.2-usb-0:1:1.0
E: ID_VENDOR=KOBIL
E: ID_VENDOR_ENC=KOBIL
E: ID_VENDOR_ID=0d46
E: ID_MODEL=USB_Adapter_K
E: ID_MODEL_ENC=USB\x20Adapter\x20K
E: ID_MODEL_ID=2012
E: ID_REVISION=0201
E: ID_SERIAL=KOBIL_USB_Adapter_K
E: ID_TYPE=generic
E: ID_BUS=usb
E: ID_USB_INTERFACES=:ffffff:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=kobil
E: ID_IFACE=00
E: ID_VENDOR_FROM_DATABASE=Kobil Systems GmbH
E: ID_MODEL_FROM_DATABASE=KAAN Standard Plus (Smartcard reader)
E: DEVLINKS=/dev/char/188:0 /dev/serial/by-path/pci-0000:00:07.2-usb-0:1:1.0-port0 /dev/serial/by-id/usb-KOBIL_USB_Adapter_K-if00-port0

I thought to adapt that doing an /etc/udev/rules.d/90-ttyUSB0.rule like this

Code:

KERNEL=="ttyUSB[0-9], DRIVER=="kobil", GROUP="uucp"
but the group stays "dialout". Where did I do it the wrong way?

catkin 05-03-2010 08:42 AM

Quote:

Originally Posted by JZL240I-U (Post 3955644)
I thought to adapt that doing an /etc/udev/rules.d/90-ttyUSB0.rule like this

Code:

KERNEL=="ttyUSB[0-9], DRIVER=="kobil", GROUP="uucp"
but the group stays "dialout". Where did I do it the wrong way?

I don't know for sure but the udevadm info output reported ID_USB_DRIVER kobil, not DRIVER; if that is wrong the rule will not match. If you don't have any other ttyUSB[0-9] devices you could try with (get the simplest possible case working first!)
Code:

KERNEL=="ttyUSB[0-9], GROUP="uucp"

JZL240I-U 05-03-2010 08:48 AM

But I do have those, and one of them is my wireless stick for the internet :(. Darn, the card reader has a specific driver, how do I find out its name or get an otherwise unambiguous attribute for it :scratch:

The problem is further confounded by the fact that udevinfo seems defunct or to be integrated into udevadm, which seems to give less information in particular about the ATTR(S) specifics...

JZL240I-U 05-05-2010 04:33 AM

Okay, this is what I did. udevadm has obviously integrated the functionality of udevinfo, thus the necessary command in my case is now
Code:

udevadm info -a -p $(udevadm info -q path -n /dev/ttyUSB0)
This yields the following results:
Code:

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:08.2/usb1/1-3/1-3:1.0/ttyUSB0/tty/ttyUSB0':
    KERNEL=="ttyUSB0"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:08.2/usb1/1-3/1-3:1.0/ttyUSB0':
    KERNELS=="ttyUSB0"
    SUBSYSTEMS=="usb-serial"
    DRIVERS=="option1"
    ATTRS{port_number}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:08.2/usb1/1-3/1-3:1.0':
    KERNELS=="1-3:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="option"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="03"
    ATTRS{bInterfaceClass}=="ff"
    ATTRS{bInterfaceSubClass}=="ff"
    ATTRS{bInterfaceProtocol}=="ff"
    ATTRS{modalias}=="usb:v12D1p1001d0000dc00dsc00dp00icFFiscFFipFF"
    ATTRS{supports_autosuspend}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:08.2/usb1/1-3':
    KERNELS=="1-3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 3"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="500mA"
    ATTRS{urbnum}=="12"
    ATTRS{idVendor}=="12d1"
    ATTRS{idProduct}=="1001"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="5"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="HUAWEI Technology"
    ATTRS{product}=="HUAWEI Mobile"

  looking at parent device '/devices/pci0000:00/0000:00:08.2/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="99"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0002"
    ATTRS{bcdDevice}=="0206"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="4"
    ATTRS{quirks}=="0x0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 2.6.31.5-0.1-default ehci_hcd"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{serial}=="0000:00:08.2"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:08.2':
    KERNELS=="0000:00:08.2"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{vendor}=="0x1106"
    ATTRS{device}=="0x3104"
    ATTRS{subsystem_vendor}=="0x1106"
    ATTRS{subsystem_device}=="0x3104"
    ATTRS{class}=="0x0c0320"
    ATTRS{irq}=="10"
    ATTRS{local_cpus}=="ffffffff"
    ATTRS{local_cpulist}=="0-31"
    ATTRS{modalias}=="pci:v00001106d00003104sv00001106sd00003104bc0Csc03i20"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""
    ATTRS{companion}==""

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

Which leaves me in the dark what device exactly is the card reader. So I came back to "lsusb -vv" the output of which I show here (excerpt, i.e. part pertaining to the card reader):
Code:

Bus 002 Device 002: ID 0d46:2012 Kobil Systems GmbH KAAN Standard Plus (Smartcard reader)
Device Descriptor:
  bLength                18
  bDescriptorType        1
  bcdUSB              1.10
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass      255 Vendor Specific Subclass
  bDeviceProtocol      255 Vendor Specific Protocol
  bMaxPacketSize0        8
  idVendor          0x0d46 Kobil Systems GmbH
  idProduct          0x2012 KAAN Standard Plus (Smartcard reader)
  bcdDevice            2.01
  iManufacturer          1 KOBIL
  iProduct                2 USB Adapter K
  iSerial                0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                9
    bDescriptorType        2
    wTotalLength          78
    bNumInterfaces          1
    bConfigurationValue    1
    iConfiguration          4 "1"Config & "2"Interface
    bmAttributes        0x80
      (Bus Powered)
    MaxPower              150mA
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      0
      bNumEndpoints          2
      bInterfaceClass      255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              5 T=10ms
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0008  1x 8 bytes
        bInterval              16
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      1
      bNumEndpoints          2
      bInterfaceClass      255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              6 T=04ms
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0008  1x 8 bytes
        bInterval              8
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0008  1x 8 bytes
        bInterval              3
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      2
      bNumEndpoints          2
      bInterfaceClass      255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              7 T=01ms
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0008  1x 8 bytes
        bInterval              4
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0008  1x 8 bytes
        bInterval              1
Device Status:    0x0000
  (Bus Powered)

From all this I created my rule:
Code:

KERNEL=="ttyUSB[0-9], ATTRS{idVendor}=="0d46", ATTRS{idProduct}=="2012", GROUP="uucp"
and still get this:
Code:

crw-rw---- 1 root dialout 188, 0 May  4 17:52 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 May  4 17:52 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2 May  4 17:52 /dev/ttyUSB2
crw-rw---- 1 root dialout 188, 3 May  4 17:52 /dev/ttyUSB3

I don't get it :scratch: what do I do wrong?

smoker 05-05-2010 05:21 AM

I would have thought that the reader device would be the device identified by
ATTRS{product}=="HUAWEI Mobile"

As the next device down is the EHCI controller.

Also a search for Kobil and HUAWEI eventually leads here http://hardware4linux.info/component/24136/
where it appears Huawei are vendors of usb mass storage devices and related technology.

JZL240I-U 05-05-2010 05:26 AM

Umm, just as a clarification of my setup: The Kobil gadget is the card reader, usually residing at /dev/ttyUSB0. The Huawei is a wireless stick (Huawei E176) for a connection to the internet, it has also a small (50 MB) memory for the vendor to put its drivers on it. The position varies but usually it takes /dev/ttyUSB2.

This is the entire output of lsusb -vv
Code:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType        1
  bcdUSB              2.00
  bDeviceClass            9 Hub
  bDeviceSubClass        0 Unused
  bDeviceProtocol        0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor          0x1d6b Linux Foundation
  idProduct          0x0002 2.0 root hub
  bcdDevice            2.06
  iManufacturer          3 Linux 2.6.31.5-0.1-default ehci_hcd
  iProduct                2 EHCI Host Controller
  iSerial                1 0000:00:08.2
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                9
    bDescriptorType        2
    wTotalLength          25
    bNumInterfaces          1
    bConfigurationValue    1
    iConfiguration          0
    bmAttributes        0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      0
      bNumEndpoints          1
      bInterfaceClass        9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0004  1x 4 bytes
        bInterval              12
Hub Descriptor:
  bLength              9
  bDescriptorType      41
  nNbrPorts            4
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
  bPwrOn2PwrGood      10 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
  Port 1: 0000.0100 power
  Port 2: 0000.0100 power
  Port 3: 0000.0503 highspeed power enable connect
  Port 4: 0000.0503 highspeed power enable connect
Device Status:    0x0003
  Self Powered
  Remote Wakeup Enabled

Bus 001 Device 002: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
Device Descriptor:
  bLength                18
  bDescriptorType        1
  bcdUSB              2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass        0
  bDeviceProtocol        0
  bMaxPacketSize0        64
  idVendor          0x12d1 Huawei Technologies Co., Ltd.
  idProduct          0x1001 E620 USB Modem
  bcdDevice            0.00
  iManufacturer          2 HUAWEI Technology
  iProduct                1 HUAWEI Mobile
  iSerial                0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                9
    bDescriptorType        2
    wTotalLength          215
    bNumInterfaces          3
    bConfigurationValue    1
    iConfiguration          0
    bmAttributes        0xe0
      Self Powered
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      0
      bNumEndpoints          3
      bInterfaceClass      255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 01 03 00
      ** UNRECOGNIZED:  05 24 06 00 00
      ** UNRECOGNIZED:  15 24 12 20 01 98 b0 6a 49 b0 9e 48 96 94 46 d9 9a 28 ca 4e 5d
      ** UNRECOGNIZED:  06 24 13 00 01 10
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0040  1x 64 bytes
        bInterval              5
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0200  1x 512 bytes
        bInterval              32
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0200  1x 512 bytes
        bInterval              32
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        1
      bAlternateSetting      0
      bNumEndpoints          2
      bInterfaceClass      255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 15 00 01
      ** UNRECOGNIZED:  05 24 06 01 01
      ** UNRECOGNIZED:  15 24 12 20 01 98 b0 6a 49 b0 9e 48 96 94 46 d9 9a 28 ca 4e 5d
      ** UNRECOGNIZED:  06 24 13 00 01 10
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0200  1x 512 bytes
        bInterval              32
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0200  1x 512 bytes
        bInterval              32
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        2
      bAlternateSetting      0
      bNumEndpoints          2
      bInterfaceClass      255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 15 00 01
      ** UNRECOGNIZED:  05 24 06 02 02
      ** UNRECOGNIZED:  15 24 12 20 01 98 b0 6a 49 b0 9e 48 96 94 46 d9 9a 28 ca 4e 5d
      ** UNRECOGNIZED:  06 24 13 00 01 10
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0200  1x 512 bytes
        bInterval              32
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0200  1x 512 bytes
        bInterval              32
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType        6
  bcdUSB              2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass        0
  bDeviceProtocol        0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:    0x0001
  Self Powered

Bus 001 Device 003: ID 12f7:0285 Memorex Products, Inc.
Device Descriptor:
  bLength                18
  bDescriptorType        1
  bcdUSB              2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass        0
  bDeviceProtocol        0
  bMaxPacketSize0        64
  idVendor          0x12f7 Memorex Products, Inc.
  idProduct          0x0285
  bcdDevice            1.00
  iManufacturer          1 Memorex
  iProduct                2 Cool Drive B   
  iSerial                3 077B09A001BF
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                9
    bDescriptorType        2
    wTotalLength          32
    bNumInterfaces          1
    bConfigurationValue    1
    iConfiguration          0
    bmAttributes        0x80
      (Bus Powered)
    MaxPower              200mA
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      0
      bNumEndpoints          2
      bInterfaceClass        8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol    80 Bulk (Zip)
      iInterface              0
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0200  1x 512 bytes
        bInterval              0
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0200  1x 512 bytes
        bInterval              0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType        6
  bcdUSB              2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass        0
  bDeviceProtocol        0
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:    0x0000
  (Bus Powered)

Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Device Descriptor:
  bLength                18
  bDescriptorType        1
  bcdUSB              1.10
  bDeviceClass            9 Hub
  bDeviceSubClass        0 Unused
  bDeviceProtocol        0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor          0x1d6b Linux Foundation
  idProduct          0x0001 1.1 root hub
  bcdDevice            2.06
  iManufacturer          3 Linux 2.6.31.5-0.1-default uhci_hcd
  iProduct                2 UHCI Host Controller
  iSerial                1 0000:00:07.2
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                9
    bDescriptorType        2
    wTotalLength          25
    bNumInterfaces          1
    bConfigurationValue    1
    iConfiguration          0
    bmAttributes        0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      0
      bNumEndpoints          1
      bInterfaceClass        9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0002  1x 2 bytes
        bInterval            255
Hub Descriptor:
  bLength              9
  bDescriptorType      41
  nNbrPorts            2
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
  bPwrOn2PwrGood        1 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
  Port 1: 0000.0303 lowspeed power enable connect
  Port 2: 0000.0303 lowspeed power enable connect
Device Status:    0x0003
  Self Powered
  Remote Wakeup Enabled

Bus 002 Device 002: ID 0d46:2012 Kobil Systems GmbH KAAN Standard Plus (Smartcard reader)
Device Descriptor:
  bLength                18
  bDescriptorType        1
  bcdUSB              1.10
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass      255 Vendor Specific Subclass
  bDeviceProtocol      255 Vendor Specific Protocol
  bMaxPacketSize0        8
  idVendor          0x0d46 Kobil Systems GmbH
  idProduct          0x2012 KAAN Standard Plus (Smartcard reader)
  bcdDevice            2.01
  iManufacturer          1 KOBIL
  iProduct                2 USB Adapter K
  iSerial                0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                9
    bDescriptorType        2
    wTotalLength          78
    bNumInterfaces          1
    bConfigurationValue    1
    iConfiguration          4 "1"Config & "2"Interface
    bmAttributes        0x80
      (Bus Powered)
    MaxPower              150mA
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      0
      bNumEndpoints          2
      bInterfaceClass      255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              5 T=10ms
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0008  1x 8 bytes
        bInterval              16
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      1
      bNumEndpoints          2
      bInterfaceClass      255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              6 T=04ms
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0008  1x 8 bytes
        bInterval              8
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0008  1x 8 bytes
        bInterval              3
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      2
      bNumEndpoints          2
      bInterfaceClass      255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              7 T=01ms
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0008  1x 8 bytes
        bInterval              4
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0008  1x 8 bytes
        bInterval              1
Device Status:    0x0000
  (Bus Powered)

Bus 002 Device 003: ID 062a:0000 Creative Labs Optical mouse
Device Descriptor:
  bLength                18
  bDescriptorType        1
  bcdUSB              1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass        0
  bDeviceProtocol        0
  bMaxPacketSize0        8
  idVendor          0x062a Creative Labs
  idProduct          0x0000 Optical mouse
  bcdDevice            0.00
  iManufacturer          0
  iProduct                0
  iSerial                0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                9
    bDescriptorType        2
    wTotalLength          34
    bNumInterfaces          1
    bConfigurationValue    1
    iConfiguration          0
    bmAttributes        0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      0
      bNumEndpoints          1
      bInterfaceClass        3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0
        HID Device Descriptor:
          bLength                9
          bDescriptorType        33
          bcdHID              1.10
          bCountryCode            0 Not supported
          bNumDescriptors        1
          bDescriptorType        34 Report
          wDescriptorLength      52
        Report Descriptors:
          ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0004  1x 4 bytes
        bInterval              10
Device Status:    0x0000
  (Bus Powered)

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Device Descriptor:
  bLength                18
  bDescriptorType        1
  bcdUSB              1.10
  bDeviceClass            9 Hub
  bDeviceSubClass        0 Unused
  bDeviceProtocol        0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor          0x1d6b Linux Foundation
  idProduct          0x0001 1.1 root hub
  bcdDevice            2.06
  iManufacturer          3 Linux 2.6.31.5-0.1-default uhci_hcd
  iProduct                2 UHCI Host Controller
  iSerial                1 0000:00:08.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                9
    bDescriptorType        2
    wTotalLength          25
    bNumInterfaces          1
    bConfigurationValue    1
    iConfiguration          0
    bmAttributes        0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      0
      bNumEndpoints          1
      bInterfaceClass        9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0002  1x 2 bytes
        bInterval            255
Hub Descriptor:
  bLength              9
  bDescriptorType      41
  nNbrPorts            2
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
  bPwrOn2PwrGood        1 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
  Port 1: 0000.0300 lowspeed power
  Port 2: 0000.0100 power
Device Status:    0x0003
  Self Powered
  Remote Wakeup Enabled

Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Device Descriptor:
  bLength                18
  bDescriptorType        1
  bcdUSB              1.10
  bDeviceClass            9 Hub
  bDeviceSubClass        0 Unused
  bDeviceProtocol        0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor          0x1d6b Linux Foundation
  idProduct          0x0001 1.1 root hub
  bcdDevice            2.06
  iManufacturer          3 Linux 2.6.31.5-0.1-default uhci_hcd
  iProduct                2 UHCI Host Controller
  iSerial                1 0000:00:08.1
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                9
    bDescriptorType        2
    wTotalLength          25
    bNumInterfaces          1
    bConfigurationValue    1
    iConfiguration          0
    bmAttributes        0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      0
      bNumEndpoints          1
      bInterfaceClass        9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0002  1x 2 bytes
        bInterval            255
Hub Descriptor:
  bLength              9
  bDescriptorType      41
  nNbrPorts            2
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
  bPwrOn2PwrGood        1 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
  Port 1: 0000.0100 power
  Port 2: 0000.0100 power
Device Status:    0x0003
  Self Powered
  Remote Wakeup Enabled

Perhaps you can see it better here...

catkin 05-05-2010 05:32 AM

Quote:

Originally Posted by JZL240I-U (Post 3957856)
I don't get it :scratch: what do I do wrong?

Possibilities:
  • There's no closing double quote on KERNEL=="ttyUSB[0-9].
  • There's no idVendor of 0d46 in the udevadm info output.
  • There's no idProduct of 2012 in the udevadm info output.
Did you try (preferably after correcting the missing quote!)
Code:

KERNEL=="ttyUSB[0-9]", GROUP="uucp"
EDIT:

Just saw "But I do have those, and one of them is my wireless stick for the internet . Darn, the card reader has a specific driver, how do I find out its name or get an otherwise unambiguous attribute for it

The problem is further confounded by the fact that udevinfo seems defunct or to be integrated into udevadm, which seems to give less information in particular about the ATTR(S) specifics...
"

Will follow up in another post.


All times are GMT -5. The time now is 03:03 AM.