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 02:11 | IT novinky

    Qualcomm uzavřel víceletou dohodu se SpaceX. Bude dodávat rádiové technologie, baseband jednotky a software pro plánovanou pozemní 5G síť Starlink Mobile. Výstavba má zahrnovat desítky tisíc základnových stanic v USA. Zahájení nasazování se očekává v roce 2027. Qualcomm dohodu označuje za svůj dosud největší 5G kontrakt.

    vencour | Komentářů: 0
    dnes 02:00 | IT novinky

    Google rozšířil Cloud Vulnerability Reward Program. Nově nabízí odměnu až 250 tisíc dolarů za vysoce závažné architektonické bezpečnostní chyby označované jako Root-in-Cloud.

    vencour | Komentářů: 0
    včera 12:22 | IT novinky

    V březnu byla oznámena spolupráce GrapheneOS s Motorolou. Nejnovější vlajka Motorola Signature 27 je první Motorola s oficiální podporou GrapheneOS. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

    Ladislav Hagara | Komentářů: 0
    včera 04:55 | Nová verze

    Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.

    Ladislav Hagara | Komentářů: 3
    včera 03:22 | Nová verze

    Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    5.11. 19:53 | Bezpečnostní upozornění
    V Xenu objevena zranitelnost. Chyba v mechanismu grant copy umožňuje škodlivému virtuálnímu stroji číst a přepisovat libovolnou paměť jiných VM včetně privilegované domény Dom0. Dotčené verze jsou Xen 4.6 a novější. V upstreamu jsou dostupné patche pro Xen 4.17 až 4.19 a vývojovou větev. Pro starší nepodporované verze 4.6–4.16 nejsou v XSA-523 přiloženy opravy.
    vencour | Komentářů: 1
    5.11. 16:55 | Nová verze

    Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).

    ʚĭɞ 🍉 | Komentářů: 0
    5.11. 12:22 | Nová verze

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.5.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    5.11. 12:11 | Nová verze

    Byla vydána (𝕏) nová verze 8.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    5.11. 04:22 | Nová verze

    Byla vydána verze R14.1.7 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2992 hlasů
     Komentářů: 35, poslední včera 23:27
    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: 409×
    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ákno • Nahoru

    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.