Portál AbcLinuxu, 8. května 2025 00:40

Jaderné noviny - 17. 6. 2015: Greybus

4. 10. 2015 | Redakce
Články - Jaderné noviny - 17. 6. 2015: Greybus  

Po delší odmlce opět Jaderné noviny: Stav vydání jádra. Citáty týdne. Greybus a projekt Ara

Stav vydání jádra

Současné vývojové jádro je 4.1-rc8, vydané 14. června. "Jsem na dovolené, ale čas se kvůli mně nezastavil. Je neděle, takže přišel čas na doufejme poslední rc."

Stabilní aktualizace: žádné nebyly minulý týden vydány.

Citáty týdne

+		/*
+		 * Nemělo by při bootování dojít k selhání kvůli OOM (vyčerpání dostupné paměti)
+		 * a v případě dvou identických jmen bude varovat,
+		 * ale tenhle řádek by měl uklidnit (quiet) gcc i lkml.
+		 */

-Rusty Russel

Pořádně mě to vylekalo, protože jsem myslel, že mám na svém serveru nějaký NSA backdoor, který monitoruje moje plány na pašování Kinder Překvapení z Německa do USA. Zpanikařil jsem!"

-Steven Rostedt


Greybus

Před nějakým časem měl Greg Kroah-Hartman možnost pracovat na zajímavém problému. Projekt Ara vyvíjí telefon, který je možné sestavit (a přizpůsobit) z různých komponent. Ty zahrnují reproduktory, displeje, kamery, zajímavé senzory, atd. Ke správnému fungování vyžaduje takové zařízení speciální interní sběrnici, která bude zvládat připojování a odpojování jednotlivých komponent. Něco, co smartphony až do teď nepotřebovaly. Greg se podílel na vzniku takové sběrnice a výsledkem je „Greybus“, o které na LinuxCon v Japonsku mluvil.

Projekt Ara má na sběrnici několik velmi zajímavých požadavků. Kromě toho, že musí být dynamická, musí být také routovací a bezpečná, jinými slovy, kterékoli dva komponenty spolu musí umět komunikovat přímo bez třetího prostředníka. To znamená, že standardní sběrnice USB a PCIe se nedají použít. Po nějaké době se Gregovi a společnosti podařilo najít sběrnici UniPro, která by tyto požadavky mohla splňovat.

UniPro pochází od společnosti Nokia, která chtěla mít možnost jednoduše integrovat kameru kteréhokoli výrobce. Potom se toho ujal Google a umožnil routování. Podle Grega je to už nyní rychlé a vyspělé. Slibuje nízkou latenci, režimy nízké spotřeby energie a vlastnosti kvalitních služeb. Greg také slíbil doručování zpráv ve správném pořadí. Standardy jsou již nějaký čas dostupné, řídí je MIPI Alliance.

Vše v UniPro je řešeno obousměrnými spojeními přímo mezi komponentami; data tedy vůbec neprocházejí procesorem. Spojení reprezentuje "CPort", který vypadá trochu jako síťový port. Na sběrnici je přepínač, kterým se nastavují vlastní cesty. Zprávy mohou procházet rychlostí okolo 10Gb/s, sběrnice podporuje prioritizaci zpráv, řízení chyb a oznamování problémů s doručováním. Co UniPro neumí, je streamování, ani multicast doručování. Greg poznamenal, že absence druhé vlastnosti je vlastně plus, protože tak brání modulům ve sledování dat, které se jich netýkají.

UniPro se drží síťového modelu OSI, ale s tím rozdílem, že nemá definovanou aplikační vrstvu. Vývojáři projektu Ara tedy připravili vlastní, kterou nazvali Greybus. (Jméno očividně pochází od slova grey, tedy šedé barvy původního prototypu zařízení. S lepším označením zatím nikdo nepřišel). Greybus přidává zjišťování nových zařízení; všechny moduly na sběrnici jsou self-describing. Jistou výhodu tedy mají lidé, kteří pracují na softwarové stránce. Mohou totiž ovlivnit, jak bude hardware navržen.

Greybus přidává také interní vrstvu pro network routing a také sadu protokolů pro specifické typy zařízení. Tohle je dobře udělané u USB a PCI, dodal Greg. Pokud se budou držet class protocols, budou zařízení typu klávesnic nebo WiFi adaptérů pracovat bez dalšího softwaru. To je pro projekt Ara důležité; vidět živý trh s moduly třetích stran a k tomu může spíše dojít v případě, že budou nové moduly pracovat na již existujících systémech.

Každé zařízení na sběrnici poskytuje popis zbytku systému; obsahuje výrobce a ID výrobku, sériové číslo, používané protokoly, atd. Každý modul (každá fyzická část zapojená do telefonu) nabízí jedno nebo více "rozhraní", každé z nich představuje fyzické spojení. CPort 0 na každém rozhraní ovládá interface jako celek; jiné CPorty nabízejí konkrétní funkce, s nimi bude jádro komunikovat. Tyto CPorty podporují "operace", což jsou možnosti, jak přinutit moduly k činnostem za pomoci interface, který připomíná vzdálené volání API.

V současné době došlo k implementování několika tříd protokolů. Ty zahrnují baterii, vibrace a NFC moduly. Ty pro audio, input, senzory a kamery jsou ve vývoji. Několik jich bylo ponecháno na později. Jde o ty pro WiFi, Bluetooth, mobilní modemy, GPS přijímače, světla a displej - což, jak připouští Greg, bude hromada práce.

Greybus má v sobě také schopnost překlenout jiné protokoly. Takže zařízení, která komunikují skrze USB, I2C, I2S či SPI mohou být poháněna přímo přes sběrnici. Nechybí ani podpora pro tunelování protokolů typu CSI (pro kamery) nebo DSI (pro displeje).

Greg ukončil svou řeč s tím, že kód Greybus je dostupný v repozitáři na GitHubu. Představuje kousek projektu Ara, ale ne celé řešení. Aby mělo toto zařízení úspěch, bude třeba přepracovat Android v mnohem dynamičtější systém, což je úkol, se kterým se distributoři Linuxu potýkali před deseti či patnácti lety. Je to velký úkol, ale vývojáři Google na něm pracují. Jakmile se jim to podaří (a bude dostupný hardware), vstoupíme do světa, ve kterém budou mobilní telefony mnohem dynamičtější a konfigurovatelnější, než kdykoli předtím.

Greg lidem dovolil prohlédnout si prototyp zařízení. To sestávalo z šasí, do kterého bylo možné připojit několik různých modulů o velikosti poštovní známky. Jedná se o hezké zařízení, i když vzhledem ke svému šasí bude zařízení asi vždy o něco tlustší, než méně konfigurovatelná zařízení. I tak by váš editor jeden takový telefon chtěl.

Editor by rád poděkoval Linux Foundation za podporu při cestě na LinuxCon Japan.

Odkazy a zdroje

LWN.net

Další články z této rubriky

Jaderné noviny – přehled za březen 2025
Jaderné noviny – přehled za únor 2025
Jaderné noviny – přehled za leden 2025
Jaderné noviny – přehled za prosinec 2024
Jaderné noviny – přehled za listopad 2024

Diskuse k tomuto článku

4.10.2015 21:47 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 6. 2015: Greybus
Odpovědět | Sbalit | Link | Blokovat | Admin
budou zařízení typu klávesnic nebo WiFi adaptérů pracovat bez dalšího softwaru.
AFAIK wifi vlastní usb class nemá.
Intel meltdown a = arr[x[0]&1]; karma | 帮帮我,我被锁在中国房
vlk avatar 6.10.2015 06:55 vlk | skóre: 23 | blog: u_vlka
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 6. 2015: Greybus
Odpovědět | Sbalit | Link | Blokovat | Admin
Podla mna je celkom zbytocna zbernica s takymito parametrami na zariadenia ako baterka, senzory (pohybu...), GPS, ... kde uplne staci obycajna I2C, len to zbytocne predrazi taketo periferie. A zase na kameru alebo displej to moze uz byt aj malo alebo na hrane.
You don't exist, Go away !
6.10.2015 09:01 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 6. 2015: Greybus

prave ze nestaci .. v okamziku kdy dynamicky za behu menite komponenty a potrebujete byt nezavisly na tom kde co zapojite

USE="-gnome -kde";turris
6.10.2015 12:35 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 6. 2015: Greybus
Navíc to má ambici být jedna jediná sběrnice. moc nezáleží na tom že je komplikovanější, jak bude návrh hotový (a pokud to není navržené moc blbě) není problém vyrobit zákaznický chip, který takovou sběrnici řídí, a v tom obrovském množství mobilů, které se dělá, to nebude drahé. Navíc pokud je to rozumná sběrnice tak si myslím, že ji adoptují i mnozí výrobci nemodulárních mobilů, čistě proto že vyvíjet a flikovat svoji bude dražší.
6.10.2015 16:05 Atom321 | skóre: 20
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 6. 2015: Greybus
Bedňa avatar 9.10.2015 20:28 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 6. 2015: Greybus
Heh, presne toto ma napadlo. No vývoj nezastavíš a Greybus je proste len priečka k vyšším cieľom ;-)
KERNEL ULTRAS video channel >>>

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