Na het in- en uitschakelen van je Synology NAS wil het voorkomen dat de ‘namen’ van de USB poorten omwisselen. Zo heet ttyUSB0 ineens ttyUSB1 en omgekeerd. Om dat tegen te gaan kun je de USB poorten een naam geven. Dit noem je Persistent USB.

Situatieschets:

Ik heb twee USB apparaten op mijn DS216j. Een RFXcom en een P1 Slimme meter kabel.

Om de apparaten juist aan te sturen gaan we ze een naam geven. Maar dan moeten we eerst weten hoe de NAS de apparaten ziet. We gaan de serial numbers koppelen aan een naam.

Stappenplan voor het instellen van Persistent USB op Synology NAS

Advertenties

  1. Uitzoeken van Vendor-, ProductID en iSerial door middel van usbutils op de NAS of via Windows
  2. Aanpassen rules bestand
  3. Opnieuw instellen van de hardware in Domoticz

Installeren van usbutils op de NAS

LET OP: onderstaande werkt waarschijnlijk niet meer of maar gedeeltelijk omdat jadahl gestopt is met het ontwikkelen van de drivers en usbutils. De eerste stappen kun je dus overslaan, begin bij stap 1 van het volgende hoofdstuk. Voor de volledigheid heb ik de onderstaande informatie niet verwijderd.

  1. Sluit alle apparaten aan die je wilt beheren. In mijn geval dus de RFXcom en de P1 kabel.
  2. Open je NAS Package Center en klik op Instellingen.
  3. Voeg onder Pakketbronnen ‘Jadahl’ toe. De juiste URL verschilt per DSM versie en NAS model. Kijk op www.jadahl.com en kies voor de juiste  DSM versie van de Miscellaneous SPK. Kies daarna voor jouw NAS model.

    Jadahl voor DSM 6
    Jadahl voor DSM 6

  4. Bovenaan op de pagina staat een balk met de tekst “Add http://www.jadahl.com/synology6/ to your Synology NAS Package Center sources !”. Kopieer de link en voeg ‘m toe aan je pakketbronnen in je NAS.
  5. Installeer uit de categorie “Gemeenschap” “usbutils” van Jumbotroll

    usbutils van Jumbotroll
    usbutils van Jumbotroll

  6. Verkrijg Root toegang (DSM 6 of hoger) via deze tutorial van mij. Gebruikers van DSM 5 kunnen bij de volgende stap root invullen als gebruikersnaam, met het administrator wachtwoord.

Achterhalen van Vendor-,Product ID en SerialID via NAS

Gaan de onderstaande stappen je te ver, heb je niet de tools van Jadahl of lukt het niet? Probeer het dan via Windows. Scroll naar het volgende hoofdstuk.

  1. Donwload Putty en voer het uit. Zorg dat SSH toegang aanstaat op de NAS en onthoud de poort.  Door het commando “lsusb” uit te voeren kun je alle benodigde informatie te weten komen van de aangesloten usb apparaten. Voer het volgende commando uit:
    sudo lsusb -v | more

    Soms werkt het niet, probeer dan:

    sudo lsusb
  2. Je krijgt nu steeds een pagina met veel informatie te zien. Bijvoorbeeld:
    0403:6001:0600 00 2.00 12MBit/s 90mA 1IF (RFXCOM RFXtrx433 A12U8WO)

    of

    idVendor 0x0403 Future Technology Devices International, Ltd
    idProduct 0x6001 FT232 USB-Serial (UART) IC
    iSerial 3 A17AJFA

    voor een RFXcom.

    En voor de P1 meter kabel is dat bijvoorbeeld:

    idVendor 0x0403 Future Technology Devices International, Ltd
    idProduct 0x6001 FT232 USB-Serial (UART) IC 
    iSerial 3 A546CQ3

    RFXcom lsusb
    RFXcom lsusb

 

Noteer van ieder apparaat dat je wilt gebruiken in Domoticz:

*idVendor
*idProduct
*iSerial (als dit 0 is kun je het weglaten)

Voor het eerste voorbeeld hierboven is het:

Advertenties

idVendor: 0403
idProduct: 6001
iSerial: A12U8WO

Voor de andere twee voorbeelden is het:

idVendor: 0403
idProduct: 6001
iSerial: A17AJFA

en

idVendor: 0403
idProduct: 6001
iSerial: A546CQ3


Achterhalen van Vendor-,Product ID en SerialID via Windows

Het achterhalen van de Vendor, Product en Serial id’s is ook via Windows te doen. Als je het al via de NAS achterhaalt hebt kun je dit overslaan.

  1. Sluit de apparaten die je normaal aan je NAS hebt aangesloten aan op je Windows PC.
  2. Wacht tot de drivers zijn geïnstalleerd
  3. Ga naar Apparaatbeheer

    Apparaabeheer
    Apparaatbeheer

  4. Klik op Universal Serial Bus-controllers
  5. Rechtsklik op het apparaat en kies Eigenschappen
  6. Ga naar het tabje Details
  7. Kies eigenschap “Pad naar apparaatinstantie”
    Als voorbeeld staat er bij mij: “USB\VID_0403&PID_6001\A546CQ3”
  8. Het VID is het VendorID, het PID is het ProductID en A546CQ3 is iSerial.
    Product en Vendor ID in Apparaabeheer
    Product en Vendor ID in Apparaatbeheer

Aanpassen van usb-rules bestand

  1. Hier zit het ‘probleem’. De idVendor is voor beide apparaten 0403 en idProduct voor beide 6001 in mijn voorbeeld. De seriele id’s zijn gelukkig niet hetzelfde. Door middel van de seriele id kunnen we dus het verschil maken tussen de apparaten. De NAS spreekt de apparaten aan bij hun Vendor en/of Product id’s. Omdat die hetzelfde zijn denkt de NAS dat ie het juiste apparaat aanspreekt maar krijgt een vreemd antwoord terug. Om dat recht te zetten gaan we het rules bestand aanpassen. Zo vergist de NAS zicht niet meer!

    RFXcom lsusb
    RFXcom lsusb op Synology NAS

  2. Log in met WinSCP (met root rechten) en navigeer naar de map:
    (de map  etc staat op het hoogste niveau, je zult dus alle mappen omhoog moeten tot je niet meer kunt (root of ‘gronddirectory’ ))
    Mocht de map en het bestand nog niet bestaan, maak het dan aan.
    99-usb-serial.rules op Synology NAS
    Locatie 99-usb-serial.rules op Synology NAS
    /etc/udev/rules.d/

    Hier staat het 99-usb-serial.rules bestand. Open het door te dubbelklikken.

  3. Voer hier de volgende regels toe:
    SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A17AJFA", SYMLINK+="ttyUSB-216-RFX433E"
    SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A546CQ3", SYMLINK+="ttyUSB-216-P1-METER"

    Pas natuurlijk wel de juiste waarden en namen aan! Je kunt de apparaten een eigen naam geven die in Domoticz zal verschijnen. Je kunt de volgorde van stekkers in je NAS niet meer aanpassen.

  4. Sla het bestand op en reboot de NAS. Zo worden de regels toegepast.
  5. Ga naar Hardware in Domoticz. Nu staan de namen die je gekozen hebt als keuze tussen de beschikbare USB poorten. Stel deze juist in en check of de andere instellingen nog juist staan zoals de baudrate.
    Persistent USB domoticz
    Persistent USB domoticz

    Het is gelukt! De data komt weer binnen en de RFXcom stuurt weer commando’s!

    Je kunt nu verder met het verder tweaken van je smarthome! Klik hier voor tips en trucs voor je smarthome.

Advertenties

Doe mee met de conversatie

16 reacties

  1. Hallo, ik wil deze patch ook uitvoeren, maar kan nergens de tool USButils van Jumbotroll vinden. Ik heb wel het Jadahl-pad in mijn NAS ingesteld, maar het pakket verschijnt niet in mijn lijst…. Enig idee hoe ik daar bij kan komen, of kun je mij het pakket emailen??
    Bedankt, Pim

    1. Beste Pim,

      Zo te zien is Jadahl gestopt met de ontwikkeling van de USB tools. Balen zeg! Ik heb helaas het originele pakket niet meer. Ik heb mijn usbutils map geexporteerd van mijn NAS, misschien heb je er wat aan.

      In WinSCP (met root toegang) heb ik de usbutils staat op de volgende locatie:
      /volume1/@appstore/usbutils
      Als je deze zip daar uitpakt werkt het misschien wel, ik heb hiermee ook geen ervaring, het is ook op eigen risico. Ik heb een DS216j

      Andere mogelijkheden die mij te binnen schieten:

      lsusb uitvoeren met een Ubuntu live usb op je PC
      Het jailbreaken van de NAS. Zoek dan op ipkg Synology in Google, want daar heb ik ook verder geen ervaring mee.

      Succes! Laat het maar weten!

      Wouter

  2. Hallo Wouter, bedankt voor je snelle reactie!
    Het vreemde is dat ik vanuit Telnet wel het commando “sudo lsusb -v |more” kan geven, maar dan een foutmelding krijg dat optie “-v” niet geldig is:

    admin@Neptune:~$ sudo lsusb -v |more
    Password:
    Error: option -v not recognized
    Usage: lsusb.py [options]
    Options:
    -h display this help
    -i display interface information
    -I display interface information, even for hubs
    -u suppress empty hubs
    -U suppress all hubs
    -c use colors
    -e display endpoint info
    -w display warning if usb.ids is not sorted correctly
    -f FILE override filename for /usr/share/usb.ids
    Use lsusb.py -ciu to get a nice overview of your USB devices.

    En als ik alleen “sudo lsusb” geef, dan krijg ik onderstaande output, maar daar kan ik geen wijs uit:

    admin@Neptune:~$ sudo lsusb
    |__usb1 1d6b:0002:0206 09 2.00 480MBit/s 0mA 1IF (Linux 2.6.32.12 ehci_hcd Marvell Orion EHCI orion-ehci.0) hub
    |__1-1 05e3:0608:0901 09 2.00 480MBit/s 100mA 1IF ( d6a3ebcbfbd5e7a5f6a3) hub
    |__1-1.2 0403:6001:0600 00 2.00 12MBit/s 90mA 1IF (RFXCOM RFXtrx433 A12U8WO)
    admin@Neptune:~$

    Ik heb op mijn DS211J ook een map /volume1/@appstore, maar daar staat usbutils dus niet in. Zou je jouw usbutils ZIP eens kunnen sturen naar pdj@solcon.nl?

    Alvast bedankt!
    Pim

  3. Ok Wouter, ik heb de usbutils nu als root op mijn NAS gezet in de volgende folder: /volume1/@appstore/usbutils.
    Alleen als ik nu in Telnet wil opstarten, dan vindt hij de “oude” lsusb en niet de nieuwe. Omdat te regelen heb ik de tool hernoemd naar “lxusb”, maar die wordt niet gevonden in Telnet. Ws. staat het pad niet goed oid. Enig idee hoe ik dat kan instellen, of hoe ik in Telnet naar bovenstaande folder toe kan om van daaruit op te starten?
    B.v.d. Pim

    1. Hoi Pim,

      Vergeet het lsusb verhaal. Ik heb een makkelijkere oplossing gevonden:

      Ik ga er even vanuit dat je Windows gebruikt.

      1. Sluit je USB apparaten aan op je PC. Wacht even tot de stuurprogramma’s geïnstalleerd zijn.

      2. Ga naar Apparaatbeheer

      3. Kies onder Universal Serial Bus controllers voor je apparaat (bij mijn P1 meter kabel is dat USB Serial Converter)

      4. Rechtsklik en kies voor eigenschappen

      5. Ga naar tab details

      6. Kies eigenschap “Pad naar apparaatinstantie”
      Bij mij staat hier “USB\VID_0403&PID_6001\A546CQ3”, precies het resultaat wat ik ook uit lsusb kreeg.

      Nu je dit weet kun je verder met stap 11!

      We komen er wel, succes!

      Laat maar weten of het gelukt is, ik zal tzt de tutorial aanpassen.

      Wouter

      PS. ik zie, nu ik jouw output beter bekijk, trouwens ook de gegevens die je nodig hebt.

      |__1-1.2 0403:6001:0600 00 2.00 12MBit/s 90mA 1IF (RFXCOM RFXtrx433 A12U8WO)

      VendorID = 0403
      ProductID = 6001
      Serial = A12U8WO

      1. Hoi Wouter,
        Het duurde even, maar inmiddels heb ik de patch succesvol uitgevoerd. Het bestand 99-usb-serial.rules stond nog niet op mijn NAS, dus moest ik even de folders en het bestand aanmaken. Maar dat is dus gelukt en nu zijn er inderdaad vaste poorten beschikbaar voor mijn hardware. Ik heb zojuist getest met een echte power uitval (wat voorheen altijd problemen gaf) en die wordt nu prima overleefd – alles start automatisch op en alle hardware blijft werken!
        Bedankt voor je hulp – dat was erg nuttig!
        Groetjes, Pim

        1. Hoi Wouter

          Ik kan /etc/udev/rules.d/ niet vinden op mijn NAS (DS216+II)
          Heb jij een oplossing ?

          Groet

          Henny

          1. Beste Henny,

            Zoals pjanse hierboven ook al aangeeft, kan het voorkomen dat de mappen en het bestand nog niet bestaan. Je kunt de mappen en het bestand gewoon zelf maken. Ik heb in de blogpost het een en ander verduidelijkt!

            Succes verder,

            Wouter

  4. Hallo Wouter,

    Ik heb e.e.a. proberen uit te dokteren echter krijg het niet aan de praat. Jahdal heeft inmiddels weer een nieuw pakket uitgebracht dat heet USBSERIALDRIVERS 6.2. Deze maakt een rule 60-jadahl.usbserial.rules aan in /lib/udev/rules.d nu heb ik daar jouw 2 regels aan toegevoegd met mijn apparaat details.

    Dit is nu de inhoud van de rule maar hij werkt niet, kun je eens meedenken en proberen e.e.a. aan de praat te krijgen?

    #rules for USB ACM serial devices
    KERNEL==”ttyACM*”, ACTION==”add”, MODE=”0666″
    KERNEL==”ttyUSB*”, ACTION==”add”, MODE=”0666″
    SUBSYSTEM==”tty”, ATTRS{idVendor}==”0658″, ATTRS{idProduct}==”0200″, ATTRS{serial}==”0″, SYMLINK+=”ttyACM-216-Aeotec”
    SUBSYSTEM==”tty”, ATTRS{idVendor}==”0403″, ATTRS{idProduct}==”6001″, ATTRS{serial}==”A546CQ3″, SYMLINK+=”ttyUSB-216-P1-METER”

    Alvast bedankt,

    André

    1. Beste André,

      Wat ik mij zo als eerst kan bedenken is het gebruik van het dubbele aanhalingsteken (“). Het lijkt alsof je twee verschillende door elkaar gebruikt. Probeer eens alleen de rechte te gebruiken.

      Ook schijf je dat het bestand 60-jadahl.usbserial.rules heet, misschien kun je proberen het te hernoemen naar 99-usb-serial.rules.

      Succes!

      Groetjes Wouter

  5. Goede info! heb me te gezocht en hier het goede antwoord gevonden voor mijn DS128 met Domoticz

    Inderdaad: de map en het bestand bestaan nog niet.
    Maar deze aangemaakt met de info uit sudo lsusb en het werkt ook nog.

    Bedankt voor het uitzoekwerk!

    1. Graag gedaan Frank! Veel plezier met het maken van je eigen smart home!

  6. Heb wel een klein probleempje

    heb alles ingevuld zie nu in mijn domoticz wel mijn rfxcom met de naam /dev/ttyusb-216-RFX433

    maar voor mijn pi kabel blijft de naam /dev/ttyusb0

    1. Dag John,

      Ik denk dat je p1 kabel bedoelt 😀
      Weet je zeker dat je je eigen id’s hebt gebruikt?

      Groet Wouter

  7. Als ik een update krijg van synology, dan ben ik de regels weer kwijt.
    Weet iemand hoe ik dit kan voorkomen?

    Jacco

    1. Zo ver ik mij herinner raak ik de regels niet kwijt, maar je zou een cronjob (taakplanner) kunnen maken die checkt of regels nog bestaan.

      Iemand een beter idee?

      Wouter

Laat een reactie achter

Laat weten wat je van dit artikel vindt!

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

%d bloggers liken dit: