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 sebbeneioctl()
è 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. Ogniioctl
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 ilioctl
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