FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: franky08 am 10 August 2014, 17:05:50

Titel: USB immer gleiches device zuordnen
Beitrag von: franky08 am 10 August 2014, 17:05:50
Hallo, ich betreibe an einem Raspi 2 CO2 Sensoren. lsusb liefert:

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 008: ID 03eb:2013 Atmel Corp.
Bus 001 Device 006: ID 03eb:2013 Atmel Corp.

Wie man sieht sind Device 008 und 006 die beiden Stick´s. Da Linux nach einem reboot gerne die Devices neu zuordnet möchte ich diese fest vergeben.
Habe schonmal die Suchmaschine bemüht aber da bezieht sich das meiste auf udev und die uuid. Hier im Forum wurde das schonmal behandelt aber ich finde den Beitrag nicht.

Wie müsste der Eintrag unter /etc/udev/rules.d aussehen, um die Zuordnung immer gleich zu haben?

Meine 99_usb.rules sieht so aus:

# iAQ
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2013", MODE="0666"√

Da die idVendor bei dem 2. Stick auch 03eb ist, weis ich nicht, wie ich vorgehen soll

Hat jemand einen Tip für mich?

VG
Frank
Titel: Antw:USB immer gleiches device zuordnen
Beitrag von: Dr. Boris Neubert am 10 August 2014, 17:46:09
Hallo,

finde doch erstmal mit

lsusb -vs 1:8
lsusb -vs 1:6


heraus, worin sich die beiden USB-Geräte unterscheiden (iSerial?). Dann kannst Du darauf Deine udev-Regeln anpassen.

Grüße
Boris
Titel: Antw:USB immer gleiches device zuordnen
Beitrag von: franky08 am 10 August 2014, 17:59:05
Das bringt leider auch nicht´s, die haben keine unterschiedlichen Seriennummern.
pi@raspberrypi ~ $ lsusb -vs 1:8

Bus 001 Device 008: ID 03eb:2013 Atmel Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        32
  idVendor           0x03eb Atmel Corp.
  idProduct          0x2013
  bcdDevice           10.00
  iManufacturer           1 AppliedSensor
  iProduct                2 iAQ Stick
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           41
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      53
         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     0x0010  1x 16 bytes
        bInterval              10
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)


Und der 2. Stick:
pi@raspberrypi ~ $ lsusb -vs 1:6

Bus 001 Device 006: ID 03eb:2013 Atmel Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        32
  idVendor           0x03eb Atmel Corp.
  idProduct          0x2013
  bcdDevice           10.00
  iManufacturer           1 AppliedSensor
  iProduct                2 iAQ Stick
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           41
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      53
         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     0x0010  1x 16 bytes
        bInterval              10
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)
pi@raspberrypi ~ $


VG
Frank
Titel: Antw:USB immer gleiches device zuordnen
Beitrag von: justme1968 am 10 August 2014, 18:09:58
das modul spricht den stick direkt über über usb funktionen an. nicht über devices. udev regeln würden also auch dann nicht helfen.

schau mal im co20 thread. da wollte mal jemand die erkennung auf dem bus verbessern. du weiß aber nicht mehr ob er es geschafft hat und ob sich die sticks überhaupt irgendwie unterscheiden.

wenn du ein bischen experimentierst solltest du aber eigentlich eine stabile reihenfolge der einzelnen geräte am bus finden die sich beim booten nicht mehr ändert. zumindest wenn du keine devices ansteckst oder abziehst die davor kommen.

gruss
  andre