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í
×
    26.12. 18:44 | Komunita

    Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.

    Ladislav Hagara | Komentářů: 0
    26.12. 13:22 | Zajímavý software

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 7
    26.12. 13:11 | Nová verze

    XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).

    🇨🇽 | Komentářů: 0
    26.12. 03:33 | Nová verze

    Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    25.12. 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 30
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (35%)
     (1%)
     (20%)
     (1%)
     (1%)
     (1%)
     (12%)
     (13%)
     (15%)
    Celkem 158 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    Rozcestník

    Dotaz: Divna rychlost cez libftdi (libusb)

    19.1.2007 15:46 Semo | skóre: 45 | blog: Semo
    Divna rychlost cez libftdi (libusb)
    Přečteno: 227×
    Klucove slova: libusb, AD prevodnik, TCP prenos, usbserial

    Mam AD prevodnik, ktory sa k pocitacu pripaja cez USB. Vnutorne funguje ako seriove zariadenie a pomocou cipu FTDI245BM preklada na USB a hura smer pocitac.

    Podla dokumentacie je tok z prevodniku cca 100kB/s. Pri pripojeni k linuxu sa automatiky natiahne modul ftdi_sio (ktory si vyziada najprv modul usbserial). Potom sa v systeme objavi nove zariadenie pripojene na /dev/ttyUSB0. Ked dam
    cat /dev/tty/USB0 >ad.out
    
    tak skutocne za 100s prenesie cca 10MB dat.

    Mam napisany malicky programcek postaveny nad libftdi, ktory nerobi nic ine, iba v cykle cita z prevodniku a zapisuje na stdout. libftdi je v podstate len wrapper na libusb, ktora bude asi znamejsia viacerym ludom. Problem je, ze tento programcek za 100s zapise len 7.5MB dat. Pricom data su formalne spravne (po USB kabli netecu len tak data, ale nejaky jednoduchy protokol), spravy su spravne dlhe, periodicke vypisy maju spravnu periodu a podobne. Len zuk je znatelne poskodeny a je vleky problem porozumiet ludskej reci. Podla mojho nazoru sa pocitac dohodne s FTDI chipom na nizsej rychlosti posielania dat a samotny programovatelny chip na prevodniku potom zahadzuje data, ktore si FTDI chip nestihne odobrat. Ale produkuje korektny traffic.

    Teraz sa dostavame k niecmu zaujimavejsiemu. Napisal som nahravaci program, ktory cita data z tohto prevodnika a za urcitych podmienok (dostatocne silny signal, dostatocne dlho a pod.) nahrava a konvertuje do oggu. Tento program ma moznost sa na neho pripojit pomocou TCP spojenia a v tom pripade posiela vsetky data z predvodniku do tohoto spojenia. Tento program je postaveny na libftdi (nie nad jadrovym modulom). Ked ho spustim a a pripojim sa na neho pomocou netcatu, tak z neh ocitam 75kB/s. Ale (a teraz prichadza najvacsia zahada uplynulych 2 tyzdnov), ked sa neho propojim programom na diagnostiku a sledovanie toho prevodnika (program, ktory si sama urobila organizacia, pre ktoru to cele robim, napisany v Delphi, bezi pod Win alebo Wine), tak cita rychlostou 100kB/s!

    Moj program (v tomto pripade TCP server) nijak nerozlisuje medzi klientami, proste iba v nekonecnej slucke cita z prevodnika a pise do socketu a naopak (v 2 vlaknach, kedze citanie z prevodnika je neblokujuce). Napriek tomu je z neho jeden klient schopny vytiahnut viac dat ako druhy. Pripajam sa po localhoste, cely pocitac je zanedbatelne zatazeny. Netcat by som nepodozrieval, ze nedokaze citat rychlostou 100kB/s. Rychlosti su potvrdeny jednak velkostou vystupnych suborov, dvak sledovanim vypisu prikazu ifconfig. Sspecialny program neposiela ziadne zahadne prikazy prevodniku. Celu svoju komunikaciu prepisuje do suboru a su tam len same bezne prikazy (nacitat nasov kanalu, z ktoreho prichadzaju data, zapnut prenos a pod.)

    Nenapada niekoho, cim moze byt sposobene spomalene citanie z prevodnika? (Google nasiel iba jedneho zufalca, ktoremu libusb nacitalo z fotaku zmrsene data).

    Do riesenia, ktore sa ponuka ako prve (prepis na jadrovy modul) sa mi nechce. Vysvetlim. Cely program bol postaveny na tomto module az do leta 2006, kedy nekonecne a zufale (a vyvojarmi jadra neriesene) problemy so stabilitou tohoto modulu ma donutili prepisat to na libftdi. Dnes uz sice podla changelogov konecne modul opravili (chyba bola v module usbserial), ale fakt sa mi nechce zase celu komunikacnu vrstvu prepisovat naspat. Program sa odvtedy hodne vyvijal a neda stara verzia vrstvy sa v podstate pouzit neda. Prepis by znamenal cca tyzden prace. Uz samotny prepis na libftdi ma stal hodne nervov a prace.

    Dik vsetkym zapojenym.
    If you hold a Unix shell up to your ear, you can you hear the C.

    Odpovědi

    19.1.2007 16:59 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Divna rychlost cez libftdi (libusb)
    Skúšal si zvýšiť baudrate (a možno aj paritu a stop bity)?
    19.1.2007 17:14 Konopka | skóre: 4
    Rozbalit Rozbalit vše Re: Divna rychlost cez libftdi (libusb)

    Urcite nejsem ten pravy clovek na radu s programovanim v Linuxu, ale zkousel jste tam hodit nejaky jednodussi signal nez je "rec". Co bych si od toho sliboval? Dam si na vstup AD prevodniku sinus, pak si to poslu do souboru a zjistim, jestli mi chybi hodnoty s nejakou pravidelnosti nebo je to "nahodny stav".

    Mate moznost proverit, jestli se Vam ten chip (ftdi) nezahlti a jestli treba (datasheet):
    To send data from the peripheral to the host computer, simply write the byte-wide data into the module when TXE# is low. If the (384-byte) transmit buffer fills up or is busy storing the previously written byte, the device keeps TXE# high in order to stop further data from being written until some of the FIFO data has been transferred over USB to the host. TXE# goes high after every byte written.

    Zkousel jste grab usb komunikace pri tom cat /dev/tty/USB0 a v tom Vasem program a porovnat vysledek. Jestli ne, tak zkuste kouknout na http://wiki.wireshark.org/CaptureSetup/USB

    A posledni vec. Aby vam nekdo byl schopen pomoci s tim programem, mozna by nebylo spatne sem hodit kousek nejakeho kodu (jestli teda muzete, kdyz to pro nekoho pisete).

    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.