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í
×
    včera 23:55 | Bezpečnostní upozornění

    Dnešním dnem končí upstream podpora PHP 7.4 a tím pádem celé větve PHP 7.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | IT novinky Ladislav Hagara | Komentářů: 3
    včera 15:00 | Nová verze

    OpenRGB, tj. svobodný multiplatformní software umožňující nastavení podsvícení celé řady různých „herních“ komponent a periferií, byl po téměř roce vývoje vydán ve verzi 0.8. S podporou celé řady nových zařízení.

    Ladislav Hagara | Komentářů: 0
    včera 08:00 | Nová verze

    Rocky Linux 9.1, klon Red Hat Enterprise Linuxu (RHEL) 9.1, byl vydán. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    25.11. 22:55 | IT novinky

    České vývojářské studio SCS Software stojící za počítačovými hrami Euro Truck Simulator 2 nebo American Truck Simulator slaví 25 let. Při této příležitosti byl na YouTube publikován třičtvrtěhodinový dokument věnovaný historii studia.

    Ladislav Hagara | Komentářů: 0
    25.11. 21:00 | Komunita

    Asahi Lina se pochlubila, že KDE běží už i na Apple M2. S GPU akcelerací a současně s Xonotic, glmark2 a eglgears.

    Ladislav Hagara | Komentářů: 59
    25.11. 17:00 | IT novinky

    Hra Terroir, vinařský simulátor, je na portále GOG.com zdarma, akce trvá do 28. listopadu.

    Fluttershy, yay! | Komentářů: 0
    25.11. 16:22 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch (seznam podporovaných zařízení), vydala Ubuntu Touch OTA-24. Nejnovější verze je pořád založena na Ubuntu 16.04. Pracuje se na přechodu na Ubuntu 20.04.

    Ladislav Hagara | Komentářů: 4
    25.11. 15:00 | IT novinky

    V září loňského roku Intel poslal do Linuxu patche přinášející podporu pro Intel Software Defined Silicon (SDSi) aneb odemknutí dalších funkcí procesorů Xeon až po zaplacení a získání licence. Nyní Intel publikoval detaily a technologii přejmenoval na Intel On Demand.

    Ladislav Hagara | Komentářů: 1
    25.11. 14:00 | IT novinky

    Rodina jednodeskových počítačů Orange Pi se rozrostla o Orange Pi 5 s 8jádrovým 64bitovým procesorem Rockchip RK3588S. Do konce roku jej lze koupit se slevou.

    Ladislav Hagara | Komentářů: 6
    Kolik využíváte virtuálních ploch?
     (49%)
     (31%)
     (12%)
     (9%)
    Celkem 469 hlasů
     Komentářů: 14, poslední včera 13:12
    Rozcestník
    Štítky: není přiřazen žádný štítek



    Vložit další komentář
    mirec avatar 28.8. 14:37 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    Přílohy:

    Keďže nie je možné pripojiť súbory k blogu, vkladám ich do komentára.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Max avatar 28.8. 15:31 Max | skóre: 71 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    Ty máš asi pěkně velký monitor, že ti vkládání těch obrázků v plné kvalitě nepřišlo jako problém :).
    Jinak díky, že jsi to sepsal do něčeho ucelenějšího. Tvůj thread, kde jsi to řešil, byl také dobrý :).
    Zdar Max
    Měl jsem sen ... :(
    mirec avatar 28.8. 18:46 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Denník „kernel developera“

    Môj monitor je veľký len podľa rozlíšenia (4K) :) Inak je to uhlopriečka 14". Pri screenshotoch som vynútil DPI 96 aby bola viditeľná čo najväčšia časť dumpu.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    28.8. 17:21 debian+ | skóre: 32 | blog: analyzy
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    Hardverovo, či "udalosť" na nábežnej hrane alebo úbežnej rieší, rieši prekladací obvod D alebo T, a dosiahnutí úrovní určitého signálu v tomto prípade tranzistory (či v iných prípadoch aj AC/DC prevodník).
    debian.plus@protonmail.com
    28.8. 20:16 debian+ | skóre: 32 | blog: analyzy
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    A normálne slovensky:

    Ta reakcia na nábežnej hrane alebo úbežnej hrane sa rieši hardverovo prostredníctvom prekladacích obvodov D alebo T a detekcia určitého veľkosti signálu sa v tomto prípade rieši hardvérovo cez tranzistory (či v iných prípadoch môže aj cez AC/DC prevodník).
    debian.plus@protonmail.com
    29.8. 11:23 R
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    Ako tento blabol suvisi s temou?
    29.8. 12:57 debian+ | skóre: 32 | blog: analyzy
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    Pri kernel programovaní je dobre vedie aj o hardveri.
    debian.plus@protonmail.com
    mirec avatar 29.8. 13:07 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Denník „kernel developera“

    Nemyslím si, že by znalosti klopných obvodov D/T boli pri obsluhe prerušenia nejak užitočné. Ak sa bavíme o APIC (Advanced Programmable Interrupt Controller) je dosť pravdepodobné, že pre interrupt line má na vstupe len Schmittov klopný obvod a celú logiku rieši softvérovo keďže každý vstup môže byť citlivý na hranu, alebo úroveň a má nastaviteľnú polaritu. Okrem toho implementuje MSI (Message Signaled Interrupts) ktoré by sa vážne implementovali dosť blbo iba klopnými obvodmi.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    29.8. 23:26 debian+ | skóre: 32 | blog: analyzy
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    Elementárne veci sú základ. Ovplyvnia zložitejšie veci. Ľahšie na pochopenie.

    Ono, kontroléry sa aj tak musia nejako realizovať. Tj. vo vnútry majú tranzistory, ...
    debian.plus@protonmail.com
    30.8. 08:01 .
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    A co jsi tím chtěl říct? Prostě jsi napsal úplně nesmyslný komentář tak jako vždycky.
    29.8. 20:31 R
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    Ty ale o HW nevies ani hovno ("prekladaci obvod", "AC/DC prevodnik"), navyse mas problemy aj so slovencinou. Tak nechapem, preco sa tu strapnujes...
    Bystroushaak avatar 28.8. 19:47 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    28.8. 20:36 User682 | skóre: 38 | blog: aqarium | Praha
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    Moc pekna prace a clanek. Hodne slusnej troubleshotting.

    gf
    28.8. 21:33 Slovaslovaslova
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    Tldr
    28.8. 23:39 Pavel Píša | skóre: 17 | blog: logic
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    Díky za článek. Je z něj vidět, jak děsivé jsou důsledky snahy o udržení kompatibility s nepromyšleným, 40 let starým návrhem. Na druhou stranu je to zázrak, že PC nakonec většinou chodí.

    Je jasné, že Synaptic by bylo asi lepší připojit jako dvě samostatná zařízení na jednu nebo dvě plnohodnotné I2C sběrnice a nikam jinam. Tak by to vypadalo na nějakém ARM systému. Ale na PC pravděpodobně pro kompatibilitu s některou historickou PS2 myší je po inicializaci PS2 zajištěné, že z obou zařízení na začátek přichází nějaké základní jednoduché zprávy a až po odhalení, že se jedná o dvě novější zařízení se přepne protokol na ten složitější. Je to tak nějak?

    Dále je v popisu zmiňovaný stav kolize na I2C, pokud se jedná o plnohodnotnou implementaci I2C, tak by měla být arbitrem vyřešená. Je pak otázkou, jak vypadá stavová mašina rozhraní, protože příchozí zprávy na adresu 08 by se měly vyčítat z nějaké jiné fronty/registrů než běžná data při naplánovaném přenosu. Pokud je přenos po bytech s plnou kontrolou stavu sběrnice, tak lze jak roli iniciátora, tak targetu zvládnout při rozumně navrženém kontroléru, který informuje o tom, že místo iniciátorem vysílané adresy došlo k přenosu adresy zaslané zařízením (přechod z Tx recessive - 1, jiný Tx dominat - 0 na Rx na straně kontroléru). Ale očekávám, že hodně SMBUS kontrolérů tuto část plně neimplementuje...

    Jinak jádro by mohlo/mělo zvládat správně sdílení několika zařízení při edge truggered sdílených přerušeních právě díky potvrzení jestli každý z driverů všechna na něj mířící přerušení zpracoval - IRQ_HANDLED. V případě takového nešťastného sdílení je potřeba po příchodu přerušení volat postupně všech Nshared obslužných rutin postupně dokola, nejdříve do bodu, kdy první odpoví IRQ_HANDLED. Když v prvním průchodu neodpoví nikdo, tak je to nějaký spurious interrupt a měla by se hlásit chyba. Poté tak dlouho, zž posledních Nshared-1 rutin za sebou odpoví IRQ_NONE. Tím je jistota, že alespoň na minimální interval byl signál IRQ neaktivní a příští aktivace povede k hraně. Rešil jsem to pro ISA CAN karty, v dobách, kdy ještě linuxové jádro ty návratové hodoty nemělo. Ale obecně interrupty úrovní jsou vhodnější pro jednodušší zpracování.

    Během dalšího vývoje jsem se setkal s osazením CAN kontrolérů na PCI kartu takovým způsobem, kdy PCI IRQ bylo standardně jádrem zpracovávané v režimu s úrovní, ale použitý PCI na local bus bridge původně navržený pro nějaké ISDN modemy zpracovával IRQ sloučené přes funkci or z jednotlivých čipů hranou. Řešení z historického LinCANu zde. Je to trochu zjednodušené, vždy se znova prochází oba řadiče. Do mainline na SocketCAN pak přepisoval driver Wolfgang Grandegger a lidi přímo z EMS.
    29.8. 11:22 R
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    No praveze ta PS/2 kompatibilna cast je jedina vec, ktora na tom funguje. Pripojenie cez I2C je totalne rozbite na vsetkych urovniach, od firmwaru samotneho zariadenia, cez pripojenie na nezmyselnu zbernicu (ASF) az po nespravne ACPI tabulky v BIOSe.

    Zaujimave, ze pred niekolkymi rokmi mali noteboky bezne touchpad aj trackpoint, pripojene to bolo cez PS/2 a fungovalo to cez PS/2 multiplexing. Casto tam este bol (na docku) PS/2 port pre externu mys.
    29.8. 11:33 johnyK | skóre: 1 | blog: uxblog
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    ja jsem vzdelanim inzenyr a ne uplne padly na hlavu a i kdyz ne z oboru, musim priznat ze trochu tapu. Slovensky rozumim dobre, presto napr. nerozumim jiz te vete:
    Frekvencia posielania polohy kurzoru sa výrazne znižuje, keď používam priblížim ruku k touchpadu
    Tak pouziva ten uzivatel ten touchpad a nebo se k nemu rukou jen priblizuje?

    Podle Vasi reakce tomu odborne rozumite a vzhledem k tomu, ze jste vysokoskolsky pedagog, tak byste event. dokazal i nejak 'lidsky' kratce popsat, o co se vlastne jedna. Samozrejme se moje prosba tyka i ostatnich kolegu kteri tomu rozumi, jestli by to nemohli nejak osvetlit.
    mirec avatar 29.8. 12:28 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Denník „kernel developera“

    Touchpad pri určovaní polohy meria kapacitu. Zrejme je dosť citlivý na to, aby reagoval ešte pred dotykom (na vzdialenosť cca 1cm kedy síce neposiela ešte žiadne packety, ale prebudí sa a spomaľuje packety druhého zariadenia na PS/2).

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    mirec avatar 29.8. 12:53 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Denník „kernel developera“

    PS/2 (i8042) nie je až tak zlý protokol. I keď ...

    No najskôr sa pozrime na alternatívy. Niekoho by mohlo napadnúť, čo tak USB-HID? Ten je síce pekne štandardizovaný a bežne podporovaný aj v BIOSe, ale USB protokol je kvôli pollingu žrút energie a do notebookov sa nehodí.

    Protokol I2C s pomerne inteligentným kontrolérom, ktorý by vedel prerušiť pri požiadavke od slave zariadenia je teoreticky dobré riešenie. Problém je, že I2C poskytuje cca 128 adries, keď odrátam nejaké tie rezervované a adresy SMBusu, zostane ich tak polovica. Nájsť nejaký rozsah adries, ktorý by bol vyhradený len na klávesnice a myši je nemožné. Detegovať HID zariadenia postupným posielaním nejakej sekvencie bytov na všetky adresy je tiež blbosť (na I2C môže byť napríklad ovládanie chladičov a poslanie nejakej sekvencie bytov môže urobiť ktovie čo). Jedinú schodnú cestu tu vidím v separátnom I2C radiči len na HID zariadenia.

    Nakoniec ešte k PS/2 protokolu ... Mal som počítač s klávesnicou a myšou na PS/2 a mal som aj staršie thinkpady s touchpadom na PS/2. Vo všetkých prípadoch absolútne bez problémov. PS/2 je dostatočne rýchly, aby zvládal > 200Hz multiplexovaných packetov. To, že na mojom thinkpade padá pod 40Hz je spôsobené len zlou implementáciou u synapticsu. Nie je to problém PS/2.

    Píšem o PS/2 ako keby to bol super protokol, ale nie je. Neviem, čo zase v Lenove zbabrali, ale u nových modelov PS/2 nefunguje dobre. PS/2 nemá žiaden synchronizačný mechanizmus, alebo detekciu chýb. Ak vypadne jeden bit, celý ďalší prúd bitov je nepoužiteľný a kurzor bude pri pohybe len tak lietať po obrazovke a náhodne klikať. Niektorým používateľom to robí niekoľko krát denne. Mne sa to teraz stáva raz za niekoľko mesiacov. Pri starších modeloch sa mi to nestalo ani raz za vyše 10 rokov používania.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    2.9. 21:30 Pali
    Rozbalit Rozbalit vše Re: Denník „kernel developera“

    To mi pripomenulo veľmi podobný problém z minulosti.

    PS/2 nemá žiaden synchronizačný mechanizmus, alebo detekciu chýb. Ak vypadne jeden bit, celý ďalší prúd bitov je nepoužiteľný a kurzor bude pri pohybe len tak lietať po obrazovke a náhodne klikať.

    Pred nejakým časom som tento problém riešil s touchpadmi a trackpointami od ALPS na notebookoch od Dellu. Bol to veľmi podobný boj ako popísaný v tom blogu ale s úspešným koncom (patche sú už dlhšie v kerneli).

    ALPS má vlastný 6-bajtový PS/2 formát paktov s tým, že každý bajt okrem prvého má vrchný bit nulový. Čo rieši synchronizáciu. Avšak samotný ALPS touchpad na Dell notebookoch nie je pripojený priamo na základnú dosku ale je pripojený k nejakému Dellovému mikrokontroléru, ktorý pre PS/2 slúži ako prietokový ohrievač a až PS/2 z mikrokontroléru je pripojený k i8042/CPU. Naviac vo firmware toho mikrokontroléru je nejaká chyba a nie vždy stihne odbaviť všetky PS/2 pakety z tochpadu a poslať ich na i8042 na hlavný procesor. Občas nahradí posledný bajt paketu za 0xFF alebo 0xFE. Čím úplne pokazí autosynchronizáciu toho ALPS protokolu.

    A aby toho nebolo málo, buď ten Dell mikrokontrolér alebo ALPS touchpad samotný (neviem presne kto), mixuje do toho PS/2 prenosu ešte aj 3 bajtové PS/2 pakety z externej myši (pripojenej k PS/2 portu na doku). Naviac posledné dva bajty ALPS paketu splňujú podmienku validity prvých dvoch bajtov PS/2 paketu externej myši. Síce PS/2 myš na externom doku asi nikto nepoužíva ale alps driver to implementuje. A kvôli neexistencii autodetekcie pripojenia externej PS/2 myši v tomto systéme, musí stavová mašina pri spracovávaní vždy počítať, že tam ten 3-bajtový paket od myši môže príjsť prakticky hocikedy.

    No a kombinácia všetkých týchto vecí dokázala stavovú mašinu alps drivru úplne rozsynchronizovať a oddebugovať to celé bolo dosť problém.

    7.9. 21:40 vgy
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    Takže vo woknách prišiel nejaký developer, podľa manuálu alebo odniekiaľ okopčil a zbúchal ovládač a funguje to... Zatiaľ čo v Linuxe musí človek spáchať harakiri aby sa zistilo, kde je pes zakopaný a že vo firmware je asi chyba a korektné používanie spôsobuje bordel v trafficu...

    Ak je to teda naozaj tak, tak by som očakával, že sa osloví výrobca, spíše nejaké NDA a podľa nej sa urobí ako dobrovoľník linuxový ovládač, ktorý sa dá schváliť(a možno popritom vyjde aj nejaký update firmware alebo v ďalšej hw verzii bude problém opravený, čo by potom poriešil servis výmenou)... Pretože riešiť nejakú chybu firmware sa síce dá a bežne sa vo Windows deje napríklad pri hrách, že Windows alebo výrobcovia hw opravujú chyby v hrách tak, aby hra bežala...(lenže fikanejší hw výrobcovia majú dedikovaných ľudí priamo pri vývoji daných hier, aby hra bola optimalizovaná pre daného výrobcu a nema problema, keď sa nejaký gamer rozhodne sa obšťastniť nákupom od daného hw výrobcu...)...
    8.9. 18:54 Pali
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    Na windowsoch je to trochu inak. Tam PS/2 driver nerobí nejaký príliš sofistikovaný recovery a všetky pakety, čo rozparsuje tak pošle do jedného input myš zariadenia. Plus ten ALPS PS/2 driver je nutné si nainštalovať ručne a nahradí systémový PS/2 driver. Na linuxe psmouse.ko driver implementuje podporu pre všetky možné aj nemožné PS/2 "myš" zariadenia (od mýš, cez trackpointy až po touchpady s absolútnym poziciovaním), robí autodetekciu pripojených zariadení a v prípade, že za jedným "fyzickým" PS/2 portom sa skrýva viac zariadení (napr. ten ALPS touchpad + ALPS trackpoint a ešte k tomu externá PS/2 myš), tak sa snaží to rozdeliť do viacerých /dev/input* zariadení aby userspace prípadne sa mohol rozhodnúť "ignorovať" eventy od jedného zariadenia (napr. touchpad) a aby naďalej fungovalo ďalšie (trackpoint). Windows driver nič z toho nerobí, takže si na Windowse uľahčili robotu a to aj v implementácii stavovej mašiny.

    ALPS v minulosti mal ovládač aj pre Linux ale dodal ho iba Dellu a možno ešte Red Hatu(?). Zákazníci Dellu si ho mohli z oficiálnych stránok stiahnúť (ak vedeli kde hľadať). Naviac bol napísaný v jave, bez zdrojákov s EULA a priamo si šahal z userspace na hardwarové IO porty. Tzn. celá java s JVM musela behať pod rootom, žralo to dosť CPU a aj pamäte a dnes by to už asi ani nefungovalo kvôli UEFI secure boot, kedy sa userspacu odopiera priamy prístup k HW IO portom.

    Nakoniec ale vývojári z ALPS boli ochotní na probléme spolupracovať a dodali aj nejakú tú dokumentáciu a pre novšie ALPS touchpady aj nejaké patche do kernelu (pod kompatibilnou licenciou). Síce dokumentáciu iba vo forme screenshotov, na ktorých boli PDF stránky z otvoreného Adobe Readeru ale aj to bolo niečo. Tuším že tie emaily posielali verejne, takže na archíve LKML by sa png screenshoty ešte dali nájsť.

    Dell samozrejme chybu vo firmware nepotrvrdil a ani sa k tomu nevyjadril.
    29.8. 16:11 Cimrdam
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    A není těch štítku málo Miroslave Bendíkoviči?
    mirec avatar 29.8. 16:25 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Denník „kernel developera“

    Tagy sa mi nechce editovať. Ako vyhodnotil algoritmus CMS, tak nechávam.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    30.8. 08:03 .
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    Pěkné.
    Gréta avatar 30.8. 11:32 Gréta | skóre: 35 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    AsciiWolf avatar 30.8. 13:52 AsciiWolf | skóre: 40 | blog: Blog
    Rozbalit Rozbalit vše Re: Denník „kernel developera“
    Skvělý blogpost, díky! Klidně by mohl vyjít jako článek. ;-)

    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.