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 14:33 | Zajímavý projekt

Blender Animation Studio zveřejnilo první epizodu z připravovaného animovaného seriálu The Daily Dweebs o domácím mazlíčkovi jménem Dixey. Ke zhlédnutí také ve 3D s rozlišením 8K.

Ladislav Hagara | Komentářů: 0
dnes 12:34 | Komunita

Aktualizovanou počítačovou hru Warhammer 40,000: Dawn of War III v ceně 39,99 eur běžící také na Linuxu lze o víkendu na Steamu hrát zdarma a případně ještě v pondělí koupit s 50% slevou. Do soboty 19:00 lze na Humble Bundle získat zdarma Steam klíč k počítačové hře Sid Meier's Civilization® III v ceně 4,99 eur běžící také ve Wine.

Ladislav Hagara | Komentářů: 0
dnes 00:22 | Nasazení Linuxu

Společnost Samsung oznámila, že skrze dokovací stanici DeX a aplikaci Linux on Galaxy bude možno na Samsung Galaxy S8 a S8+ a Galaxy Note 8 provozovat Linux. Distribuce nebyly blíže upřesněny.

Phantom Alien | Komentářů: 8
včera 23:55 | Komunita

Společnost Purism na svém blogu oznámila, že její notebooky Librem jsou nově dodávány se zrušeným (neutralized and disabled) Intel Management Engine (ME). Aktualizací corebootu na již prodaných noteboocích lze Management Engine také zrušit. Více v podrobném článku.

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

Organizace Apache Software Foundation (ASF) na svém blogu slaví páté výročí kancelářského balíku Apache OpenOffice jako jejího Top-Level projektu. Při této příležitosti byl vydán Apache OpenOffice 4.1.4 (AOO 4.1.4). Podrobnosti v poznámkách k vydání. Dlouhé čekání na novou verzi tak skončilo.

Ladislav Hagara | Komentářů: 6
včera 19:22 | Pozvánky

Již příští týden - 26. a 27. října se v Praze v hotelu Olšanka odehraje OpenWRT Summit. Na webu konference naleznete program a možnost zakoupení lístků - ty stojí 55 dolarů. Čtvrtek bude přednáškový a v pátek se budou odehrávat převážně workshopy a meetingy.

Miška | Komentářů: 1
včera 13:44 | Nová verze

Bylo vydáno Ubuntu 17.10 s kódovým názvem Artful Aardvark. Ke stažení jsou Ubuntu Desktop a Server, Ubuntu Cloud Images, Ubuntu Netboot, Kubuntu, Lubuntu a Lubuntu Alternate, Lubuntu Next, Ubuntu Budgie, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio a Xubuntu. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 22
včera 13:00 | Komunita

MojeFedora.cz informuje, že Fedora 27 dostane podporu pro AAC. Podpora multimediálních formátů je ve výchozí instalaci Fedory tradičně limitovaná kvůli softwarovým patentům, ale desktopový tým Red Hatu se ji i tak snaží v poslední době co nejvíce rozšířit. Už nějaký čas obsahuje kodeky pro MP3, H.264, AC3 a nyní byl přidán také kodek pro další velmi rozšířený zvukový formát – AAC.

Ladislav Hagara | Komentářů: 2
18.10. 23:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 145. brněnský sraz, který proběhne v pátek 20. října od 18:00 hodin v restauraci Time Out na adrese Novoměstská 2 v Řečkovicích. Jedná se o poslední sraz před konferencí OpenAlt 2017, jež proběhne o víkendu 4. a 5. listopadu 2017 na FIT VUT v Brně. Běží registrace účastníků.

Ladislav Hagara | Komentářů: 0
18.10. 21:44 | Nová verze

Byla vydána verze 5.2.0 multiplatformního virtualizačního nástroje Oracle VM VirtualBox. Jedná se o první stabilní verzi z nové větve 5.2. Z novinek lze zmínit například možnost exportování VM do Oracle Cloudu, bezobslužnou instalaci hostovaného systému nebo vylepšené GUI. Podrobnosti v seznamu změn. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 2
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (11%)
 (1%)
 (1%)
 (2%)
 (74%)
 (12%)
Celkem 129 hlasů
 Komentářů: 7, poslední včera 23:06
    Rozcestník

    Dotaz: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?

    Pavel Vymetálek avatar 19.11.2010 08:41 Pavel Vymetálek | skóre: 15 | Náchod
    Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Přečteno: 2530×
    Zdravím,

    Jak elegantně vypsat seznam sériových portů? Objevil jsem několik návodů, ale nemohu si vybrat :-)

    Na http://wiki.debian.org/HowToIdentifyADevice/Serial je celkem elegantní řešení pomocí
    $ hal-find-by-capability --capability serial | xargs -n 1 hal-device
    
    Řešení přes
    $ ls /dev/ttyS*
    
    sice funguje, ale vypíše i porty, které nejsou v systému (ttyS2 a ttyS3).

    Hledat porty pomocí
    $ find /sys/ -name 'ttyS*'
    
    také jde, ale také to není ono ;-)

    V KDE4 "kcmshell4 devinfo" se ptá přes DBus "org.freedesktop.NetworkManager.Device.Serial", ale nenašel, jak to zařídit z terminálu.

    Má představa je taková, že je lepší zavolat z vlastního programu program externí, jehož výstup "přeparsuji".

    Jak to tedy s HALem nebo DBusem je?

    Děkuji.

    Odpovědi

    Saljack avatar 20.11.2010 15:26 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    HAL nebude podle mě moc dobrá volba, přijde mi, že se ho spíš naopak snaží zbavit.
    Sex, Drugs & Rock´n Roll.
    21.11.2010 12:55 Pavel Vymetálek
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Díky za odpověď, přesto mi to nedá... Co nahrazuje HAL? Prosím o link.

    Jak tedy vypsat nainstalované sériové porty bez HALu?

    Díky
    Saljack avatar 22.11.2010 00:03 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Trochu jsem googlil a našel jsem tohle: Fedora Ubuntu. Ale myslím, že ti to moc nepomůže. A jak získat nainstalované porty bez HALu netuším. V tomhle se vůbec nevyznám ale třeba by to mohlo jít nějak získat z udev ale je to jenom tip a možná, že je to pěkná blbost.
    Sex, Drugs & Rock´n Roll.
    Pavel Vymetálek avatar 22.11.2010 06:54 Pavel Vymetálek | skóre: 15 | Náchod
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Díky za odkazy, toto jsem nenašel. Ta cesta je opravdu asi přes udev a D-Bus, ale zatím mi to nezapadá do sebe...
    Pavel Vymetálek avatar 22.11.2010 07:39 Pavel Vymetálek | skóre: 15 | Náchod
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Příloha:
    Tak jsem našel příklad, který používá libudev.

    Na http://www.signal11.us/oss/udev/ je malý program, který vypíše zařízení zadané třídy (v příkladu "hidraw").

    Změnou "hidraw" na "tty" se mi vypíše seznam USB serial převodníků, ale porty ttyS0 a apod nevypíše, resp.
    Device Node Path: /dev/ttyS0    Unable to find parent usb device.
    
    Trpí to ovšem stejným problémem. A to že vypíše i porty, které nejsou v PC (ttyS3, ttyS4).

    Jak se píše na http://wiki.debian.org/HALRemoval, KDE 4.x používají pro enumeraci zařízení Solid, který zatím používá HAL a dokládá to přiložený screenshot.

    Vidím to tak, že ač se chtějí HALu všichni zbavit, tak to jde zatím těžko, protože asi má něco do sebe :-) A to se nechci HALu zastávat, jen hledám řešení pro "moderní" distribuce.
    22.11.2010 11:35 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    u mě funguje
    dmesg | grep serial
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    Pavel Vymetálek avatar 22.11.2010 11:53 Pavel Vymetálek | skóre: 15 | Náchod
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    u mě ne :-( Ještě tomu chybí k dokonalosti dva jiné porty, které nedají do dmesg kouzelné slůvko "serial". Na "tty", "ttyUSB" apod. to stejně nedá rozumně parsovatelný výpis - tím myslím to, jak poznat, že jde o port a ne o ladící výpis jádra (usbcore: registered new interface driver usbserial)
    $ dmesg | grep serial
    serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    usbcore: registered new interface driver usbserial
    usbcore: registered new interface driver usbserial_generic
    usbserial: USB Serial Driver core
    pl2303: Prolific PL2303 USB to serial adaptor driver
    
    Přesto díky za vyzkoušení.
    $ dmesg | grep tty
    console [tty0] enabled
    serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    usb 2-10: pl2303 converter now attached to ttyUSB0
    ftdi_sio ttyUSB1: Unable to read latency timer: -32
    usb 2-4: FTDI USB Serial Device converter now attached to ttyUSB1
    usb 2-7: TI USB 3410 1 port adapter converter now attached to ttyUSB2
    usb 2-3: pl2303 converter now attached to ttyUSB3
    ti_usb_3410_5052_1 ttyUSB2: TI USB 3410 1 port adapter converter now disconnected from ttyUSB2
    usb 2-7: TI USB 3410 1 port adapter converter now attached to ttyUSB2
    ti_usb_3410_5052_1 ttyUSB2: TI USB 3410 1 port adapter converter now disconnected from ttyUSB2
    usb 2-7: TI USB 3410 1 port adapter converter now attached to ttyUSB2
    ftdi_sio ttyUSB1: FTDI USB Serial Device converter now disconnected from ttyUSB1
    usb 2-4: FTDI USB Serial Device converter now attached to ttyUSB1
    ti_usb_3410_5052_1 ttyUSB2: TI USB 3410 1 port adapter converter now disconnected from ttyUSB2
    ftdi_sio ttyUSB1: Unable to write latency timer: -32
    ftdi_sio ttyUSB1: Unable to write latency timer: -32
    usb 2-7: TI USB 3410 1 port adapter converter now attached to ttyUSB2
    
    22.11.2010 13:18 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    A co třeba?
    dmesg | grep -oE "tty(S|USB)[0-9]+" | sort -u
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    Pavel Vymetálek avatar 22.11.2010 13:43 Pavel Vymetálek | skóre: 15 | Náchod
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Díky, to je zase skoro ono. Ale má to jeden zásadní problém, který mě nenapadl dříve.

    Když vytáhnu z USB nějaký převodník na seriák, tak se v dmesg sice objeví device disconnected, ale grep ho stejně vypíše.

    Např. ttyUSB2 a ttyUSB3 už tam dávno nemám připojen...
    $ dmesg | grep -oE "tty(S|USB)[0-9]+" | sort -u
    ttyS0
    ttyUSB0
    ttyUSB1
    ttyUSB2
    ttyUSB3
    
    Mimochodem, pěkná patička. V této situaci velmi pravdivá :-)
    Pavel Vymetálek avatar 22.11.2010 13:44 Pavel Vymetálek | skóre: 15 | Náchod
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Asi nastal čas podívat se, jak to v tom zatraceném HALu dělají :-) Protože to dělají asi dobře...
    22.11.2010 14:35 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Pak mě ještě mě napadlo toto
    #!/bin/bash
    for tty in $(find /sys/class/tty/ -type l); do
            udevadm info --query=path --path=$tty | grep -v virtual > /dev/null
            if [ $? -eq 0 ]; then
                    echo $tty | sed "s/.*\///"
            fi
    done
    
    ale mimochodem, co je špatného na hal-find-by-capability --capability serial | xargs -n 1 hal-device?
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    Pavel Vymetálek avatar 22.11.2010 15:07 Pavel Vymetálek | skóre: 15 | Náchod
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Ten bashový skript je funkční, ale zase to vypisuje ty porty, které tam nejsou - tentokrát ttyS3 a ttyS4. Nechápu proč jsou v /dev pro ně vytvořena zařízení. Ale za to může asi udev. Měnit pro něj pravidla se mi nepřijde dobré, potřebuju aby to chodilo všude.

    Každopádně moc díky za snahu pomoct.

    Vypadá to, že se kruh uzavřel... :-)

    Na tom "hal-find-by-capability --capability serial | xargs -n 1 hal-device" já nevidím nic špatného, funguje to nejlépe a přesně tak, jak potřebuji.

    Původně jsem se ptal právě na to, co je na tom špatného? Odpovědí bylo HAL! Tak nevím.
    Pavel Stárek avatar 22.11.2010 14:59 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    No, vzhledem k tomu, že se distribuce snaží HALu zbavit, bych na něj moc nespoléhal. Zbavují se ho sice pomalu (protože byl zadrátován v dosti programech), ale jistě. Asi by bylo dobré, najít nějaké jiné řešení.

    Já si například ve svých programech v Pythonu otevírám všechny porty, které si myslím že by je měl program umět (/dev/ttyS*, /dev/ttyUSB* ale i /dev/ttyM* - pro Moxa karty), a když otevření selže, tak port prostě neexistuje, a nezobrazí se v GUI (například). Jiné řešení mne nenapadlo, parsovat tu hrůzu v /sys se mi moc nechce.
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    Pavel Vymetálek avatar 22.11.2010 15:31 Pavel Vymetálek | skóre: 15 | Náchod
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Stejně to dělám i já ve svém programu, ale přijde mi to divné a pomalé. Navíc když má jiná aplikace zkoumaný port otevřen, tak se někdy ztratí znaky apod. To je ale další problém k řešení...

    Navíc mne láká možnost vypsat o tom portu další informace, jako výrobce, čip apod. tak, jak to poskytuje HAL.
    Pavel Stárek avatar 22.11.2010 16:15 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Tak pak jedině nastudovat zdrojáky HALu, myslím si že parsuje /sys ale to je takové jakési podivné (symlinky sem a tam a vůbec se mi to nelíbí :-) ).
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    22.11.2010 14:04 R
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    dmesg urcite nie. Staci, ked to nejaky driver trochu zaspamuje a ziadne seriove porty tam uz nenajdes.
    22.11.2010 22:18 pc2005 | skóre: 34 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Co třeba rozparsovat tohle /proc/tty/drivers a podadresář /proc/tty/driver. Jinak některý zařízení maj i něco ve tvaru ttyHSC a věci na FPGA maj zase ttyULx. Imho jméno je irelevatní, to si driver může vybrat jaký chce.
    Chuck Norris řekl babičce, že si dá jen 3 knedlíky. A dostal 3 knedlíky. | 帮帮我,我被锁在中国房
    Pavel Vymetálek avatar 23.11.2010 12:20 Pavel Vymetálek | skóre: 15 | Náchod
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Problém je v tom, že adresář /proc/tty/driver není přístupný bez práv roota. I když v souborech serial a usbserial jsou potřebé údaje. Díky za nápad.
    Vojta Drbohlav avatar 22.11.2010 22:27 Vojta Drbohlav | skóre: 26 | blog: Blog | Strahov
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Zkus se podívat sem na metodu SerialPortInterface::getPorts(). S trochou úpravy by to mohlo hledat i ty ttyUSB, stačí změnit major a minor, ty se daj najít v dokumentaci jádra. Samozřejmě nutností je používat udev.
    Pavel Vymetálek avatar 23.11.2010 12:37 Pavel Vymetálek | skóre: 15 | Náchod
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Tak jsem se díval na tu metodu, trochu upravil a opravdu to najde co má, zas je ale problém s těmi /dev/ttyS2 a /dev/ttyS3, které jsou vytvořené v /dev/ ale v počítači nejsou.
    #include <libudev.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    #include <unistd.h>
    
    int main (void) {
    	int minor;
    	struct udev *udev;
    	udev = udev_new();
    	if (!udev) {
    			printf("Can't create udev\n");
    			exit(1);
    	}
    	for(minor = 0; minor <= 255; ++minor) {
    		struct udev_device * udev_device = udev_device_new_from_devnum(udev, 'c', makedev(188, minor));
    		if(udev_device != NULL) {
    			printf("%s\n", udev_device_get_devnode(udev_device));
    			udev_device_unref(udev_device);
    		}
    		else
    			break; // mozna by se melo pokracovat ve vyhledavani..
    	}
    	for(minor = 64; minor <= 255; ++minor) {
    		struct udev_device * udev_device = udev_device_new_from_devnum(udev, 'c', makedev(4, minor));
    		if(udev_device != NULL)
    		{
    				printf("%s\n", udev_device_get_devnode(udev_device));
    				udev_device_unref(udev_device);
    		}
    		else
    			break; // mozna by se melo pokracovat ve vyhledavani..
    	}
    	udev_unref(udev);
    	return 1;
    }
    
    
    Možná to ještě zkusit port po portu otevřít, a jestli se podaří, tak ten port tam je...

    Díky za inspiraci.
    24.11.2010 12:31 frr | skóre: 33
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Na standardní /dev/ttySx (ne-USB) by určitě šlo zeptat se programem "setserial". Na kterých portech ukáže neprázdný UART, tam něco našel.
    [:wq]
    Pavel Vymetálek avatar 24.11.2010 16:03 Pavel Vymetálek | skóre: 15 | Náchod
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    # setserial -g /dev/tty[USB]*
    /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
    /dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3
    /dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
    /dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
    /dev/ttyUSB0, UART: 16654, Port: 0x0000, IRQ: 0
    /dev/ttyUSB1, UART: 16550A, Port: 0x0000, IRQ: 0
    
    Funguje to i na USB-serial převodníky i když si vymýšlí typ UARTu :-)

    Ano, je to řešení, výstup lze snadno parsovat, ale přeci jen mne láká možnost získat informace o výrobci, čipu, s/n apod... Když se pracuje s mnoha porty, tak se to hodí. Ale třeba se ve zdrojáku setserial dozvím něco zajímavého :-)

    Každopádně díky.
    25.11.2010 12:55 frr | skóre: 33
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    O výrobci čipu a sériovém čísle? :-)
    Něco zjistíte snad na USB, pomocí nástrojů specifických pro USB. Podle VID/PID poznáte primárně spíš výrobce donglu, než výrobce čipu. Další podrobnosti jedině tak, že si přidáte nějaká printk() do driveru pro danou rodinu převodníků USB/serial (= pro daný USB čip), pokud víte co v hardwaru hledat.
    Pomocí setserial ohledně obecného sériového portu nic dalšího nezjistíte. Podle typu UARTu můžete odhadnout, že 16950 je Oxford (dnes PLX), 16750 by mohl být Exar. 16550A může být naprosto jakýkoli výrobce. Konfigurační registry UARTu neobsahují nic jako "vendor ID" nebo "revision", nedejbože sériové číslo... A to nemluvím o tom, že byste si na ten UART musel sáhnout přímo na hardware (ioperm() a inb()/outb()), protože ioctl(TIOCGSERIAL) nic pokročilého nevrací. Ostatně i ten typ UARTu si linuxový ovladač (tipuju drivers/serial/8250.c) odvozuje docela krkolomnou heuristikou.
    Tak mě napadá, že podle bázové adresy (>=0x400) by se dala poznat PCI zařízení, a dokonce dohledat odpovídající IO window (PCI BAR), potažmo konkrétní PCI device - a jeho Vendor/Device/SubVendor/SubDevice/Revision. Což opět někdy ukazuje na výrobce čipu, jindy na výrobce desky.
    A ještě by se dalo čenichat na IO portech 0x2E+2F / 0x4E+4F, jestli není v systému nějaký známý SuperIO šváb, a pokud ano tak jaký. Inspiraci hledejte třeba v drivers/watchdog/w83627hf_wdt.c . Opět se dá zjistit vendor ID, device ID a snad i nějaká revize - případně se dají dohledat, kam jsou namapované adresy sériových portů (bázové adresy v IO space), ale to už je specifické pro konkrétní čipy = moc práce. A hele, on na to existuje SuperIOtool :-)
    A ještě by teoreticky mohl něco vypsat dmidecode, ale odhaduju že o SuperIO tam toho moc nebude - možná seznam COM portů bez dalších informací.
    [:wq]
    Pavel Vymetálek avatar 25.11.2010 14:07 Pavel Vymetálek | skóre: 15 | Náchod
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Díky za vyčerpávající odpověď. Každopádně nechci s kanónem na vrabce. Všechno co potřebuji, vypisuje HAL :-) a jsou tam i výrobci čipů, VID/PID, sériová čísla adaptérů apod. Viz výpis z mého PC.
    $ hal-find-by-capability --capability serial | xargs -n 1 hal-device
    udi = '/org/freedesktop/Hal/devices/usb_device_403_6001_12345678_if0_serial_usb_0' // to 12345678 je opravdu sériové číslo převodníku - sám jsem ho do eeprom zapisoval :-)
      info.category = 'serial'  (string)
      linux.hotplug_type = 2  (0x2)  (int)
      linux.subsystem = 'tty'  (string)
      linux.device_file = '/dev/ttyUSB2'  (string)
      info.subsystem = 'tty'  (string)
      info.product = 'FT232 USB-Serial (UART) IC'  (string)
      info.udi = '/org/freedesktop/Hal/devices/usb_device_403_6001_12345678_if0_serial_usb_0'  (string)
      linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.0/usb2/2-4/2-4:1.0/ttyUSB2/tty/ttyUSB2'  (string)
      info.parent = '/org/freedesktop/Hal/devices/usb_device_403_6001_12345678_if0'  (string)
      serial.originating_device = '/org/freedesktop/Hal/devices/usb_device_403_6001_12345678_if0'  (string)
      info.capabilities = { 'serial' } (string list)
      serial.device = '/dev/ttyUSB2'  (string)
      serial.port = 0  (0x0)  (int)
      serial.type = 'usb'  (string)
    
    udi = '/org/freedesktop/Hal/devices/usb_device_451_f430_TUSB34103D299682E658FF15_if0_serial_usb_0'
      info.category = 'serial'  (string)
      linux.hotplug_type = 2  (0x2)  (int)
      linux.subsystem = 'tty'  (string)
      linux.device_file = '/dev/ttyUSB1'  (string)
      info.subsystem = 'tty'  (string)
      info.product = 'MSP-FET430UIF JTAG Tool'  (string)
      info.udi = '/org/freedesktop/Hal/devices/usb_device_451_f430_TUSB34103D299682E658FF15_if0_serial_usb_0'  (string)
      linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.0/usb2/2-7/2-7:2.0/ttyUSB1/tty/ttyUSB1'  (string)
      info.parent = '/org/freedesktop/Hal/devices/usb_device_451_f430_TUSB34103D299682E658FF15_if0'  (string)
      serial.originating_device = '/org/freedesktop/Hal/devices/usb_device_451_f430_TUSB34103D299682E658FF15_if0'  (string)
      info.capabilities = { 'serial' } (string list)
      serial.device = '/dev/ttyUSB1'  (string)
      serial.port = 0  (0x0)  (int)
      serial.type = 'usb'  (string)
    
    udi = '/org/freedesktop/Hal/devices/pnp_PNP0501_serial_platform_0'
      info.category = 'serial'  (string)
      linux.hotplug_type = 2  (0x2)  (int)
      linux.subsystem = 'tty'  (string)
      linux.device_file = '/dev/ttyS0'  (string)
      info.subsystem = 'tty'  (string)
      info.product = '16550A-compatible COM port'  (string) // to mi stačí :-)
      info.udi = '/org/freedesktop/Hal/devices/pnp_PNP0501_serial_platform_0'  (string)
      linux.sysfs_path = '/sys/devices/pnp0/00:09/tty/ttyS0'  (string)
      info.parent = '/org/freedesktop/Hal/devices/pnp_PNP0501'  (string)
      serial.originating_device = '/org/freedesktop/Hal/devices/pnp_PNP0501'  (string)
      info.capabilities = { 'serial' } (string list)
      serial.device = '/dev/ttyS0'  (string)
      serial.port = 0  (0x0)  (int)
      serial.type = 'platform'  (string)
    
    udi = '/org/freedesktop/Hal/devices/usb_device_67b_2303_noserial_if0_serial_usb_0'
      info.category = 'serial'  (string)
      linux.hotplug_type = 2  (0x2)  (int)
      linux.subsystem = 'tty'  (string)
      linux.device_file = '/dev/ttyUSB0'  (string)
      info.subsystem = 'tty'  (string)
      info.product = 'PL2303 Serial Port'  (string)
      info.udi = '/org/freedesktop/Hal/devices/usb_device_67b_2303_noserial_if0_serial_usb_0'  (string)
      linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.0/usb2/2-10/2-10:1.0/ttyUSB0/tty/ttyUSB0'  (string)
      info.parent = '/org/freedesktop/Hal/devices/usb_device_67b_2303_noserial_if0'  (string)
      serial.originating_device = '/org/freedesktop/Hal/devices/usb_device_67b_2303_noserial_if0'  (string)
      info.capabilities = { 'serial' } (string list)
      serial.device = '/dev/ttyUSB0'  (string)
      serial.port = 0  (0x0)  (int)
      serial.type = 'usb'  (string)
    
    Z dmesg dostanu také vcelku vyčeřpávající informace...

    Jen z toho HALu je to takové hezké a učesané. Teď to nemohu najít, ale někde v dokumentaci k libudev jsem se dočetl, že mají v plánu obohatit výstupní informace tak, jak to asi dělá HAL. Bylo to někde v souvislosti se SOLIDem z KDE4, který doposud používá HAL.

    Možná by to byl námět na zpracování enumerátoru sériových portů pro Jardíka :-) I když to vypadá, že si už vybral vypalovačky...
    Pavel Vymetálek avatar 26.11.2010 09:22 Pavel Vymetálek | skóre: 15 | Náchod
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    Už se to začíná rýsovat pomocí libudev díky Jardíkovi. Viz diskuze u jeho blogu.
    frEon avatar 25.11.2010 16:12 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Jaké jsou v sytému serial (ttyS, ttyUSB) zařízení?
    minor a major cisla najdes i v /proc:
    cat /proc/devices
    Character devices:
      1 mem
      4 /dev/vc/0
      4 tty
      4 ttyS
      5 /dev/tty
      5 /dev/console
      5 /dev/ptmx
      7 vcs
     10 misc
     13 input
     21 sg
     29 fb
    128 ptm
    136 pts
    180 usb
    189 usb_device
    202 cpu/msr
    203 cpu/cpuid
    226 drm
    251 hidraw
    252 usbmon
    253 bsg
    254 rtc
    
    Block devices:
      1 ramdisk
    259 blkext
      7 loop
      8 sd
      9 md
     65 sd
     66 sd
     67 sd
     68 sd
     69 sd
     70 sd
     71 sd
    128 sd
    129 sd
    130 sd
    131 sd
    132 sd
    133 sd
    134 sd
    135 sd
    180 ub
    253 device-mapper
    254 mdp
    
    
    Talking about music is like dancing to architecture.

    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.