Portál AbcLinuxu, 11. května 2024 13:22


Dotaz: Virtuální sériový port přez USB

Beda0 avatar 7.5.2010 14:42 Beda0 | skóre: 29
Virtuální sériový port přez USB
Přečteno: 1393×
Odpovědět | Admin
Zdravím, mam zařízení (měřák), které má usb konektor na kterém ale emuluje sériovou komunikaci přez COM port.

Na windows to funguje tak, že se nainstaluje ovladač, který po připojení toho USB zařízení vytvoří virtuální COM port a aplikace potom se zařízením komunikují, jako by bylo připojeno po COM portu.

Jde tohle udělat pod linuxem aniž bych musel psát kompletní vlastní ovladač? Pod windows údajně existuje nějaký standardní ovladač, který se jen trochu poupraví pro to konkrétní zařízení a funguje to.

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.5.2010 15:23 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Virtuální sériový port přez USB
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkusil jsi to v tom Linuxu připojit? Pokud výrobce toho zařízení použil nějaký standardní čip, je možné, že ovladač bude rovnou k dispozici.
Quando omni flunkus moritati
Beda0 avatar 7.5.2010 16:47 Beda0 | skóre: 29
Rozbalit Rozbalit vše Re: Virtuální sériový port přez USB
V to tak nějak tajně doufám, ale jak jsem psal níž zařízení zatim nemam a budu ho mit jen po krátkou dobu, takže o problematice potřebuju předem zjistit co možná nejvíc informací.
Pavel Stárek avatar 7.5.2010 16:27 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Virtuální sériový port přez USB
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejlepší by bylo, prostě to zařízení zapojit do počítače s nabootovaným Linuxem a v terminálu spustit příkaz dmesg. A podívat se co je tam napsáno. Pokud bude ovladač v jádře tak většinou by se v tom výpisu mělo (mimo jiných věcí) objevit něco jako (například) /dev/ttyUSB0 - a to je vlastní COM port.

Nevím jestli existuje nějaký univerzální ovladač pro Windows, možná pro zařízení stejného výrobce, ale každé HW zařízení s počítačem a jádrem operačního systému komunikuje různými způsoby (v případě sběrnice USB je to control mode, bulk mode, interrupt mode nebo isochronous mode.

Obecně v linuxovém jádru existuje mnoho ovladačů pro USB2Serial převodníky (FTDI, Prolific aj.) Je potřeba to prostě zkusit.
Kdo chce, hledá způsob; kdo nechce, hledá důvod.
7.5.2010 16:32 none
Rozbalit Rozbalit vše Re: Virtuální sériový port přez USB
Odpovědět | | Sbalit | Link | Blokovat | Admin
`modprobe usbserial`?
Beda0 avatar 7.5.2010 16:45 Beda0 | skóre: 29
Rozbalit Rozbalit vše Re: Virtuální sériový port přez USB
Tohle jsou ovladače pro hardwarový USB -> RS-232 konvertory, to je něco jinýho, já mam komunikaci po USB kabelu, která má pro PC i zařízení vypadat jako kdyby komunikovaly po COM portu...
Beda0 avatar 7.5.2010 16:50 Beda0 | skóre: 29
Rozbalit Rozbalit vše Re: Virtuální sériový port přez USB
Jo, teď mi to došlo, že vlastně převodník bude integrovanej do toho zařízení...
Beda0 avatar 7.5.2010 16:40 Beda0 | skóre: 29
Rozbalit Rozbalit vše Re: Virtuální sériový port přez USB
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jo, to sem zapomněl dodat - to zařízení zatím nemam - budu ho mít příští týden a jen po krátkou dobu, takže sem chtěl zjistit, jestli to vůbec jde a případně co k tomu potřebuju udělat/přečíst abych pokud možno co nejrychlejc rozjel komunikaci. Nebo jestli třeba nemá někdo praktickou zkušenost s timhle druhem komunikace - mělo by to být nějaký standardní mód USB komunikace emulujicí tu sériovou, ale právě jsem k tomu nenašel na internetu skoro žádný info.
7.5.2010 20:22 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Virtuální sériový port přez USB
Můžeš zkusit zjistit, co je v tom zařízení za čip - převodník - podle toho by mělo být možné zjistit, jestli je podpora nebo není podpora.

Další možnost (máš-li tu možnost) je zkusit zjistit, jaké vendor ID a device ID má to zařízení, když se připojí ve Windows - z toho by se měl nechat zjistit výrobce a typ čipu, další postup viz výše.

Nicméně jestli to má používat nějaká standardní mód, viděl bych to nadějně, že to půjde i pod Linuxem. Teda pokud standardní neznamená "chodí to ve třech verzích Windows"
Quando omni flunkus moritati
vlastikroot avatar 8.5.2010 17:19 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
Rozbalit Rozbalit vše Re: Virtuální sériový port přez USB
Převodník tam nemusí být vubec, stačí když SW uvnitř MCU v tom zařízení podporuje CDC, pak stačí přes usbserial hodit ty ID. Takhle to IMHO bývá u většiny takových věcí, protože dost mikrokontrolérů už USB podporuje.
modprobe usbserial vendor=0xf3d product=0x0112
A nebo je tam opravdu nějakej převodník třeba od FTDI a potom to jádro pozná samo (protože ty převodníky mají jiný protokol než CDC a mají u různých zařízení stejné ID).
We will destroys the Christian's legion ... and the cross, will be inverted
Beda0 avatar 8.5.2010 17:29 Beda0 | skóre: 29
Rozbalit Rozbalit vše Re: Virtuální sériový port přez USB
Přesně něco takového jsem potřeboval slyšet a marně hledal, díky. Podle vendor a product id to vypadá na CDC.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.