abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 01:22 | Zajímavý projekt
Před měsícem byla spuštěna kampaň na podporu chytrého telefonu Librem 5, jenž by měl respektovat bezpečnost, svobodu a soukromí uživatelů. Cílem kampaně je vybrat alespoň milion a půl dolarů. Aktuálně je vybráno přes 600 000 dolarů, tj. 40 %. Kampaň poběží ještě další měsíc. Podporu projektu oznámilo KDE i GNOME.
Ladislav Hagara | Komentářů: 1
dnes 00:55 | Komunita

Agentura DISA (Defense Information Systems Agency) publikovala (pdf) Ubuntu 16.04 Security Technical Implementation Guide (STIG) (zip), tj. doporučené bezpečnostní nastavení Ubuntu 16.04. Ubuntu se tak dostalo mezi unixové operační systémy a linuxové distribuce AIX, HP-UX, Oracle Linux, Red Hat a Solaris [reddit].

Ladislav Hagara | Komentářů: 0
včera 22:55 | Bezpečnostní upozornění

CSIRT.CZ informuje, že byly vydány nové bezpečnostní aktualizace, které opravují několik zranitelných míst v Sambě. Útočník může využít zranitelnosti s cílem získání přístupu k potenciálně citlivých informací. Uživatelům a správcům je doporučeno, aby zkontrolovali bezpečnostní opatření pro CVE-2017-12150, CVE-2017-12151 a CVE-2017-12163 a provedli potřebné aktualizace.

Ladislav Hagara | Komentářů: 0
včera 21:44 | Komunita

Společnost Red Hat aktualizovala svůj slib ohledně softwarových patentů. Slib nově zahrnuje i open source software pod permisivními licencemi.

Ladislav Hagara | Komentářů: 0
včera 08:55 | Komunita

Do 22. září probíhá v Mountain View konference XDC2017 (X.Org Developer's Conference). Na programu je řada zajímavých přednášek. Sledovat je lze online. K dispozici je záznam přednášek ze včerejšího dne.

Ladislav Hagara | Komentářů: 0
20.9. 17:33 | Nová verze

Byla vydána nová stabilní verze 1.12 (1.12.955.36) webového prohlížeče Vivaldi (Wikipedie). Z novinek vývojáři zdůrazňují možnost zobrazení metadat u digitálních fotografií, vylepšený panel stahování a omezení sytosti barvy zdůraznění (YouTube). Nejnovější Vivaldi je postaveno na Chromiu 61.0.3163.91.

Ladislav Hagara | Komentářů: 39
20.9. 10:55 | Nová verze

Byla vydána verze 4.0 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu. Ke stažení jsou oficiální binární balíčky pro Ubuntu 16.10, Ubuntu 16.04 a Ubuntu 14.04.

Ladislav Hagara | Komentářů: 5
19.9. 23:33 | Zajímavý software

MojeFedora informuje, že PipeWire byl oficiálně oznámen (en). PipeWire bude zprostředkovávat aplikacím jednotný přístup k audiu a videu. Jedním z hlavních důvodů je možnost izolovat aplikace od audio a video zdrojů. Aplikace nebudou mít přímý přístup k hardwaru, ale budou se muset ptát multimediálního serveru PipeWire, který jim je na základě nastavených oprávnění poskytne nebo ne. V budoucnu by měl PipeWire nahradit PulseAudio.

Ladislav Hagara | Komentářů: 27
19.9. 00:55 | Zajímavý software

Společnost IBM věnovala svůj JVM (Java Virtual Machine) s názvem J9 nadaci Eclipse. Nové oficiální jméno tohoto virtuálního stroje určeného pro běh aplikací napsaných v programovacím jazyce Java je Eclipse OpenJ9 (Wikipedie). Podrobnosti v často kladených dotazech (FAQ).

Ladislav Hagara | Komentářů: 15
19.9. 00:11 | IT novinky

Mezinárodní konsorcium W3C (World Wide Web Consortium) publikovalo kontroverzní rozšíření HTML 5.1 EME (Encrypted Media Extensions) jako webový standard, tj. schválilo DRM v HTML 5.1. Mezinárodní nezisková organizace EFF (Electronic Frontier Foundation) hájící občanské svobody v digitálním světě zveřejnila na svých stránkách otevřený dopis adresovaný W3C. EFF s EME zásadně nesouhlasí a W3C opouští.

Ladislav Hagara | Komentářů: 57
Těžíte nějakou kryptoměnu?
 (5%)
 (3%)
 (17%)
 (75%)
Celkem 552 hlasů
 Komentářů: 22, poslední 29.8. 11:23
    Rozcestník

    Dotaz: udev rule - dual-port usb modem

    22.5.2009 10:11 nosretep
    udev rule - dual-port usb modem
    Přečteno: 304×

    Dobry den,

    potykam se s problemem vytvoreni symlinku modemu (Axesstel) pomoci pravidel UDEV.
    Modem sam obsadi dva porty (ttyUSB0 a ttyUSB1), pricemz na tom druhem portu je cosi jako "AXESSTEL DIAGNOSTIC PORT". Modem samotny je vyuzitelny vzdy jen na prvnim portu.

    Problem je ten, ze pokud pouziju pravidlo pracujici s ID vyrobce a produktu, symlink se vytvori u obou portu a tedy ten druhy prepise ten prvni. Ve vysledku mam tedy jeden symlink vedouci na ttyUSB1.

    Pouziti parametru %n v symlinku by to sice do jiste miry resilo, ale zase bych se v pripade pripojeni vicero ttyUSB* zarizeni musel tak jako tak divat jake ID se vlastne priradilo.

    Toto je pravidlo, ktere pouzivam (s kterym jsou problemy ohledne symlinku):

    KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{idVendor}=="1726", ATTRS{idProduct}=="1000", NAME="%k", SYMLINK+="axesstel"

    Odpovědi

    22.5.2009 11:32 coques | skóre: 21 | blog: FailSystem
    Rozbalit Rozbalit vše Re: udev rule - dual-port usb modem

    Nejde to urobiť len pre  KERNEL=="ttyUSB0"  ?

    sudo apt-get install upstart-sysv
    22.5.2009 11:40 Peterson Larson | skóre: 9
    Rozbalit Rozbalit vše Re: udev rule - dual-port usb modem

    No to zcela jiste nejde, protoze nikdy dopredu nevim nebudu-li mit na stroji nejake jine ttyUSB zarizeni. Vzdy je dobre usit pravidlo na miru konkretnimu produktu...

    24.5.2009 20:00 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: udev rule - dual-port usb modem
    Ta dvě ttyUSB zařízení na jednom USB zařízení jsou reprezentována jako dvě různá rozhraní nebo end-pointy. Rozlišující čísla najdete přes lsusb nebo někde v sysfs. Pak by mohlo fungovat přidat udevu ATTRS{tadyNazevNevim}=="cislo". Správný název si ale zjistěte sám, já tady žádné USB zařízení nemám.
    25.5.2009 09:06 Peterson Larson | skóre: 9
    Rozbalit Rozbalit vše Re: udev rule - dual-port usb modem

    Diky za nasmerovani... Nakonec se to vyresilo tak, ze sice nepouzivam ID vyrobce ani produktu, ale vzal jsem zavdek nasledujicimu bloku:

    # udevinfo -ap `udevinfo -q path -n /dev/ttyUSB0`
    ------------------------------------------------------------
      looking at parent
    device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0':
        KERNELS=="5-1: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:v1726p1000d0000dc00dsc00dp00icFFiscFFipFF"
        ATTRS{interface}=="AXESSTEL USB MODEM"


    # udevinfo -ap `udevinfo -q path -n /dev/ttyUSB1`
    ------------------------------------------------------------
      looking at parent
    device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.1':
        KERNELS=="5-1:1.1"
        SUBSYSTEMS=="usb"
        DRIVERS=="option"
        ATTRS{bInterfaceNumber}=="01"
        ATTRS{bAlternateSetting}==" 0"
        ATTRS{bNumEndpoints}=="02"
        ATTRS{bInterfaceClass}=="ff"
        ATTRS{bInterfaceSubClass}=="ff"
        ATTRS{bInterfaceProtocol}=="ff"
        ATTRS{modalias}=="usb:v1726p1000d0000dc00dsc00dp00icFFiscFFipFF"
        ATTRS{interface}=="AXESSTEL DIAGNOSTIC PORT"

    Z tohoto je tedy patrne, ze jako jednoznacny identifikator lze pouzit napriklad parametr ATTRS{bInterfaceNumber} spolu s ATTRS{interface}.

    Vysledny zapis pravidla (fungujiciho) pak muze vypadat nasledovne:

    KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="00", ATTRS{interface}=="AXESSTEL USB MODEM", NAME="%k", SYMLINK+="axesstel"

    Diky vsem zucastnenym, pokud vsak ma nekdo lepsi reseni, jiste jim nepohrdnu.

    25.5.2009 11:02 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: udev rule - dual-port usb modem
    Pořadové číslo rozhraní je zadrátováno v zařízení, takže se nemění. Osobně bych podmínku napsal jako vendorId & productId & bInterfaceNumber, protože interface je jen textový popisek, do kterého si výrobce může strčit, co chce, ale vendorId je posvěcené autoritou.
    25.5.2009 11:19 Peterson Larson | skóre: 9
    Rozbalit Rozbalit vše Re: udev rule - dual-port usb modem

    Diky za odpoved, "nicmene vendorID" a "productID" je nanestesti v jinem bloku (viz. udevinfo) nez "bInterfaceNumber" a tak je nelze pouzit dohromady (tedy nenasel jsem zpusob jak dva a vice bloku "sparovat").

    Pro jistotu uvadim plny vypis obou zarizeni:

    Nejprve pro ttyUSB0:

    # udevinfo -ap `udevinfo -q path -n /dev/ttyUSB0`

      looking at device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/ttyUSB0/tty/ttyUSB0':
        KERNEL=="ttyUSB0"
        SUBSYSTEM=="tty"
        DRIVER==""

      looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/ttyUSB0/tty':
        KERNELS=="tty"
        SUBSYSTEMS==""
        DRIVERS==""

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

      looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0':
        KERNELS=="5-1: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:v1726p1000d0000dc00dsc00dp00icFFiscFFipFF"
        ATTRS{interface}=="AXESSTEL USB MODEM"

      looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1':
        KERNELS=="5-1"
        SUBSYSTEMS=="usb"
        DRIVERS=="usb"
        ATTRS{configuration}==""
        ATTRS{bNumInterfaces}==" 2"
        ATTRS{bConfigurationValue}=="1"
        ATTRS{bmAttributes}=="a0"
        ATTRS{bMaxPower}=="500mA"
        ATTRS{urbnum}=="15"
        ATTRS{idVendor}=="1726"
        ATTRS{idProduct}=="1000"
        ATTRS{bcdDevice}=="0000"
        ATTRS{bDeviceClass}=="00"
        ATTRS{bDeviceSubClass}=="00"
        ATTRS{bDeviceProtocol}=="00"
        ATTRS{bNumConfigurations}=="1"
        ATTRS{bMaxPacketSize0}=="64"
        ATTRS{speed}=="12"
        ATTRS{busnum}=="5"
        ATTRS{devnum}=="2"
        ATTRS{version}==" 1.10"
        ATTRS{maxchild}=="0"
        ATTRS{quirks}=="0x0"
        ATTRS{authorized}=="1"
        ATTRS{manufacturer}=="AXESSTEL CO., LTD."
        ATTRS{product}=="AXESSTEL DATA MODEM"
        ATTRS{serial}=="A00000000100"

      looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5':
        KERNELS=="usb5"
        SUBSYSTEMS=="usb"
        DRIVERS=="usb"
        ATTRS{configuration}==""
        ATTRS{bNumInterfaces}==" 1"
        ATTRS{bConfigurationValue}=="1"
        ATTRS{bmAttributes}=="e0"
        ATTRS{bMaxPower}=="  0mA"
        ATTRS{urbnum}=="27"
        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}=="5"
        ATTRS{devnum}=="1"
        ATTRS{version}==" 1.10"
        ATTRS{maxchild}=="2"
        ATTRS{quirks}=="0x0"
        ATTRS{authorized}=="1"
        ATTRS{manufacturer}=="Linux 2.6.27-gentoo-r8 uhci_hcd"
        ATTRS{product}=="UHCI Host Controller"
        ATTRS{serial}=="0000:00:1d.0"
        ATTRS{authorized_default}=="1"

      looking at parent device '/devices/pci0000:00/0000:00:1d.0':
        KERNELS=="0000:00:1d.0"
        SUBSYSTEMS=="pci"
        DRIVERS=="uhci_hcd"
        ATTRS{vendor}=="0x8086"
        ATTRS{device}=="0x2830"
        ATTRS{subsystem_vendor}=="0x1028"
        ATTRS{subsystem_device}=="0x026f"
        ATTRS{class}=="0x0c0300"
        ATTRS{irq}=="23"
        ATTRS{local_cpus}=="3"
        ATTRS{local_cpulist}=="0-1"
        ATTRS{modalias}=="pci:v00008086d00002830sv00001028sd0000026Fbc0Csc03i00"
        ATTRS{enable}=="1"
        ATTRS{broken_parity_status}=="0"
        ATTRS{msi_bus}==""

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

    Nyni pro ttyUSB1:

    # udevinfo -ap `udevinfo -q path -n /dev/ttyUSB1`

      looking at device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.1/ttyUSB1/tty/ttyUSB1':
        KERNEL=="ttyUSB1"
        SUBSYSTEM=="tty"
        DRIVER==""

      looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.1/ttyUSB1/tty':
        KERNELS=="tty"
        SUBSYSTEMS==""
        DRIVERS==""

      looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.1/ttyUSB1':
        KERNELS=="ttyUSB1"
        SUBSYSTEMS=="usb-serial"
        DRIVERS=="option1"
        ATTRS{port_number}=="0"

      looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.1':
        KERNELS=="5-1:1.1"
        SUBSYSTEMS=="usb"
        DRIVERS=="option"
        ATTRS{bInterfaceNumber}=="01"
        ATTRS{bAlternateSetting}==" 0"
        ATTRS{bNumEndpoints}=="02"
        ATTRS{bInterfaceClass}=="ff"
        ATTRS{bInterfaceSubClass}=="ff"
        ATTRS{bInterfaceProtocol}=="ff"
        ATTRS{modalias}=="usb:v1726p1000d0000dc00dsc00dp00icFFiscFFipFF"
        ATTRS{interface}=="AXESSTEL DIAGNOSTIC PORT"

      looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1':
        KERNELS=="5-1"
        SUBSYSTEMS=="usb"
        DRIVERS=="usb"
        ATTRS{configuration}==""
        ATTRS{bNumInterfaces}==" 2"
        ATTRS{bConfigurationValue}=="1"
        ATTRS{bmAttributes}=="a0"
        ATTRS{bMaxPower}=="500mA"
        ATTRS{urbnum}=="15"
        ATTRS{idVendor}=="1726"
        ATTRS{idProduct}=="1000"
        ATTRS{bcdDevice}=="0000"
        ATTRS{bDeviceClass}=="00"
        ATTRS{bDeviceSubClass}=="00"
        ATTRS{bDeviceProtocol}=="00"
        ATTRS{bNumConfigurations}=="1"
        ATTRS{bMaxPacketSize0}=="64"
        ATTRS{speed}=="12"
        ATTRS{busnum}=="5"
        ATTRS{devnum}=="2"
        ATTRS{version}==" 1.10"
        ATTRS{maxchild}=="0"
        ATTRS{quirks}=="0x0"
        ATTRS{authorized}=="1"
        ATTRS{manufacturer}=="AXESSTEL CO., LTD."
        ATTRS{product}=="AXESSTEL DATA MODEM"
        ATTRS{serial}=="A00000000100"

      looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5':
        KERNELS=="usb5"
        SUBSYSTEMS=="usb"
        DRIVERS=="usb"
        ATTRS{configuration}==""
        ATTRS{bNumInterfaces}==" 1"
        ATTRS{bConfigurationValue}=="1"
        ATTRS{bmAttributes}=="e0"
        ATTRS{bMaxPower}=="  0mA"
        ATTRS{urbnum}=="27"
        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}=="5"
        ATTRS{devnum}=="1"
        ATTRS{version}==" 1.10"
        ATTRS{maxchild}=="2"
        ATTRS{quirks}=="0x0"
        ATTRS{authorized}=="1"
        ATTRS{manufacturer}=="Linux 2.6.27-gentoo-r8 uhci_hcd"
        ATTRS{product}=="UHCI Host Controller"
        ATTRS{serial}=="0000:00:1d.0"
        ATTRS{authorized_default}=="1"

      looking at parent device '/devices/pci0000:00/0000:00:1d.0':
        KERNELS=="0000:00:1d.0"
        SUBSYSTEMS=="pci"
        DRIVERS=="uhci_hcd"
        ATTRS{vendor}=="0x8086"
        ATTRS{device}=="0x2830"
        ATTRS{subsystem_vendor}=="0x1028"
        ATTRS{subsystem_device}=="0x026f"
        ATTRS{class}=="0x0c0300"
        ATTRS{irq}=="23"
        ATTRS{local_cpus}=="3"
        ATTRS{local_cpulist}=="0-1"
        ATTRS{modalias}=="pci:v00008086d00002830sv00001028sd0000026Fbc0Csc03i00"
        ATTRS{enable}=="1"
        ATTRS{broken_parity_status}=="0"
        ATTRS{msi_bus}==""

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

     

    Mozna, kdyz se tak na to divam, by se dalo vytvorit pravidlo, ktere by pomoci zoliku checkovalo "ATTRS{modalias}" ve stejnem bloku (konkretne se jedna o 4. blok - "looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.1':") kde je potrebny "bInterfaceNumber".

    Napr. takto (?):

    KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="00", ATTRS{modalias}=="usb:v1726p1000*", NAME="%k", SYMLINK+="axesstel"

    25.5.2009 13:36 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: udev rule - dual-port usb modem
    "nicmene vendorID" a "productID" je nanestesti v jinem bloku (viz. udevinfo) nez "bInterfaceNumber" a tak je nelze pouzit dohromady

    Tak to je docela trapné. Čekal jsem, že se atributy budou dědit.

    KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="00", ATTRS{modalias}=="usb:v1726p1000*", NAME="%k", SYMLINK+="axesstel"

    A tohle vám funguje? Kam bude ukazuje symlink? Na ttyUSB* nebo na usb*?

    Tady vám asi neporadím, protože udev moc neznám.

    25.5.2009 13:45 Peterson Larson | skóre: 9
    Rozbalit Rozbalit vše Re: udev rule - dual-port usb modem

    take jsem cekal, ze bude probihat nejake dedeni, ale to jsem si nabehl...

    V kazdem pripade to posledni funguje zcela dle ocekavani - tedy dobre. Symlink ukazuje na prvni port, tedy na /dev/ttyUSB0. Pokud jiz budu mit pripojeny napriklad jeden takovy modem (kuprikladu AnyData - taktez dual-portovy hybrid, tedy ttyUSB0 a ttyUSB1) a pote pripojim dalsi (treba prave zminovany Axesstel), tento obsadi dalsi porty v rade, konkretne ttyUSB3 a ttyUSB4, bude nyni symlink /dev/axesstel ukazovat na /dev/ttyUSB3... To je presne tak jak potrebuji...

    Diky vsem za prispevky

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.