GNU/Linux >> Linux Esercitazione >  >> Linux

Perché la versione 30 degli strumenti wireless è diventata una beta permanente?

Avrei dovuto leggere meglio le domande e risposte che ho collegato perché c'era un collegamento a una pagina che discuteva del motivo per cui questo progetto è stato abbandonato:

WE viene ulteriormente sviluppato?

No non lo è. Per WE vengono accettate solo correzioni di bug.

Perché stiamo abbandonando NOI

I WE sono basati su ioctl() e sebbene ioctl() è stato utilizzato ed è tuttora utilizzato come trasporto standard per la comunicazione tra utente←→ kernelspace i nuovi trasporti vengono preferiti per diversi motivi.

Dai driver di dispositivo Linux - 3a edizione:

In user space, the ioctl system call has the following prototype:

int ioctl(int fd, unsigned long cmd, ...);

Il prototipo spicca nell'elenco delle chiamate di sistema Unix a causa dei punti, che di solito indicano che la funzione ha un numero variabile di argomenti. In un sistema reale, tuttavia, una chiamata di sistema non può effettivamente avere un numero variabile di argomenti. Le chiamate di sistema devono avere un prototipo ben definito, perché i programmi utente possono accedervi solo attraverso "porte" hardware. Pertanto, i punti nel prototipo non rappresentano un numero variabile di argomenti ma un singolo argomento facoltativo, tradizionalmente identificato come char *argp . I punti servono semplicemente per impedire il controllo del tipo durante la compilazione.

Dichiara inoltre:

La natura non strutturata del ioctl call lo ha fatto cadere in disgrazia tra gli sviluppatori del kernel. Ogni ioctl command è, essenzialmente, una chiamata di sistema separata, solitamente non documentata, e non c'è modo di controllare queste chiamate in alcun modo completo. È anche difficile creare il ioctl non strutturato gli argomenti funzionano in modo identico su tutti i sistemi; ad esempio, considera i sistemi a 64 bit con un processo in spazio utente eseguito in modalità a 32 bit.

Cos'è la sostituzione delle estensioni wireless

Il nuovo sviluppo dovrebbe concentrarsi su cfg80211 e nl80211.

Nota a margine: Sembra che Jean Tourrhiles abbia lavorato al progetto intorno al 1997-2009. Ho trovato un articolo del 2014 in cui si diceva che Tourrhiles era ancora in HP, al lavoro su un progetto chiamato OpenFlow:

Jean Tourrhiles di HP presiede anche l'Extensibility Working Group, che lavora come "editor" per guidare la tecnologia più recente nelle versioni future di OpenFlow


Gli strumenti wireless sono deprecati a favore di iw perché le estensioni wireless sono state deprecate a favore della nuova interfaccia nl80211 per dispositivi wireless. La documentazione del kernel per iw lo dice.

Tuttavia, nl80211 è in fase di sviluppo attivo e non tutti i driver sono stati migrati su di esso. Gli strumenti wireless sono ancora necessari per i dispositivi che non sono stati migrati dalle estensioni wireless.

Il motivo per cui Ubuntu (e praticamente tutte le distribuzioni che conosco) fornisce la versione 30 beta è perché quella versione corregge un bug critico che era nella versione 29, che causava il fallimento di iwconfig se c'erano troppe reti nell'area a causa di un buffer trabocco. Il repository Github per gli strumenti wireless non lo mostra, ma ecco la relativa patch di Arch


Linux
  1. Come controllare la versione del sistema operativo e di Linux

  2. Sopravvivere a un controllo di sicurezza con Linux aziendale

  3. Come controllare la versione del kernel su Linux

  4. Perché il seguente comando sta uccidendo un sistema?

  5. Perché il mio file system è montato in sola lettura?

Introduzione al sistema di controllo della versione

Come installare gli strumenti del linguaggio di programmazione R su Linux Mint 20

I 5 migliori strumenti di monitoraggio del sistema

I 20 migliori strumenti di bioinformatica per il sistema Linux

I 15 migliori strumenti di fisica per il sistema Linux per insegnare la fisica

I 15 migliori strumenti di biologia per il sistema Linux