Měl jsem si přečíst Q/A, které jsem propojil lépe, protože tam byl odkaz na stránku pojednávající o tom, proč byl tento projekt opuštěn:
Je WE dále rozvíjena?
Ne to není. Pro WE jsou přijímány pouze opravy chyb.
Proč opouštíme WE
WE jsou založeny na
ioctl()
a ačkoliioctl()
byl používán a stále je používán jako standardní přenos pro komunikaci mezi uživatelem←→ jaderný prostor nové přenosy jsou preferovány z několika důvodů.Z ovladačů zařízení pro Linux – 3. vydání:
In user space, the ioctl system call has the following prototype: int ioctl(int fd, unsigned long cmd, ...);
Prototyp vyniká v seznamu unixových systémových volání díky tečkám, které obvykle označují funkci jako s proměnným počtem argumentů. Ve skutečném systému však systémové volání nemůže mít proměnný počet argumentů. Systémová volání musí mít dobře definovaný prototyp, protože uživatelské programy k nim mohou přistupovat pouze prostřednictvím hardwarových „brán“. Proto tečky v prototypu nepředstavují proměnný počet argumentů, ale jeden volitelný argument, tradičně označený jako
char *argp
. Tečky jsou zde pouze proto, aby zabránily kontrole typu během kompilace.Také uvádí:
Nestrukturovaná povaha
ioctl
call způsobil, že upadl v nemilost mezi vývojáři jádra. Každýioctl
příkaz je v podstatě samostatným, obvykle nezdokumentovaným systémovým voláním a neexistuje způsob, jak tato volání nějakým komplexním způsobem auditovat. Je také obtížné vytvořit nestrukturovanýioctl
argumenty fungují identicky na všech systémech; uvažujme například 64bitové systémy s procesem uživatelského prostoru spuštěným v 32bitovém režimu.Co je náhrada za Wireless-Extensions
Nový vývoj by měl být zaměřen na cfg80211 a nl80211.
Postranní poznámka: Zdá se, že Jean Tourrhiles na projektu pracoval v letech 1997-2009. Našel jsem článek z roku 2014, že Tourrhiles byl stále v HP a pracoval na projektu s názvem OpenFlow:
Jean Tourrhiles z HP také předsedá pracovní skupině Extensibility Working Group, která pracuje jako „editor“ pro zavádění nejnovějších technologií do budoucích verzí OpenFlow
Bezdrátové nástroje jsou zastaralé ve prospěch iw
protože bezdrátová rozšíření byla zastaralá ve prospěch nového rozhraní nl80211 pro bezdrátová zařízení. Dokumentace jádra pro iw to říká.
Nicméně nl80211 je v aktivním vývoji a ne všechny ovladače do něj byly migrovány. Bezdrátové nástroje jsou stále vyžadovány pro zařízení, která nebyla migrována z bezdrátových rozšíření.
Důvod, proč Ubuntu (a téměř všechny distribuce, o kterých vím) poskytuje verzi 30 beta, je ten, že tato verze opravuje kritickou chybu, která byla ve verzi 29, která způsobila selhání iwconfig, pokud bylo v oblasti příliš mnoho sítí kvůli vyrovnávací paměti. přetékat. Repo Github pro bezdrátové nástroje to neukazuje, ale zde je příslušný patch od Arch