Чому бездротові інструменти версії 30 стали постійною бета-версією?


10

Я знайшов хорошу інформацію про бездротові інструменти в цьому запитанні . Мабуть, він був представлений в ядро ​​Linux в 1997 році Жаном Туррілесом за підтримки Hewlett Packard.

Редагувати: Здається, WE (бездротові розширення) додали до ядра Turrhiles, а не самі бездротові інструменти. Інструменти доступні в більшості дистрибутивів як основний спосіб спілкування з WE. Ви можете бачити WE у ядрі за адресою /proc/net/wireless.

Остання версія випущена була v29ще Ubuntu 14 і 16 , здається, містять v30бета ( iwconfig -v).

Мені цікаво, що сталося з цим пакетом? Чому "бета" версія 30 стала стандартною версією дефакто?

Чи припинила HP фінансування Жана Туррілса, тому розвиток зупинився? Чи, можливо, було вирішено, що він досить стабільний, щоб зупинити розвиток, але якщо це було так, чому б 30 все ще був бета-версією?

Я знайшов цю сторінку Github, але, здається, це лише для історичного ознайомлення.

Історія версій

Історія версій


"Чому бездротові інструменти версії 30 в ядрі Linux ..." - бездротові інструменти відсутні в ядрі. Драйвери знаходяться в ядрі, бездротові інструменти - це (а) компонент простору користувача для налаштування драйверів простору ядра.
marcelm

1
@marcelm Я додав примітку до запитання на основі вашого коментаря. Я думаю, що він додав WE до ядра, /proc/net/wirelessале самі бездротові інструменти не є частиною ядра. Дайте мені знати, якщо я помиляюся на цьому.
Філіп Кіркбрід

1
Так, МИ є частиною ядра. Точніше, "Бездротові розширення" - це назва інтерфейсу простору <-> ядра користувача, що піддається бездротовій сантехніці в ядрі. Wireless-tools використовує цей інтерфейс для управління бездротовими пристроями. Вони є незалежними; у моїй системі бездротові інструменти - версія 30, і вона розмовляє з моїм ядром (4.9.0) з WE версією 22 :)
marcelm

Відповіді:


17

Інструменти бездротового зв’язку застаріли на користь, iwтому що бездротові розширення застаріли на користь нового інтерфейсу nl80211 для бездротових пристроїв. Документація на ядро для iw говорить про це.

Однак, nl80211 знаходиться в активному розвитку, і не всі драйвери були перенесені на нього. Бездротові інструменти все ще потрібні для пристроїв, які не були перенесені з бездротових розширень.

Причина, по якій Ubuntu (і майже всі дистрибутиви, про які я знаю), надає бета-версію 30, полягає в тому, що ця версія виправляє критичну помилку, що була у версії 29, через що iwconfig вийшов з ладу, якщо в області було занадто багато мереж через буфера переповнення. Репоз Github для бездротових інструментів цього не показує, але ось відповідний патч від Arch


17

Я мав би прочитати відповіді на запитання, які я пов’язав краще, оскільки там було посилання на сторінку, в якій обговорювалося, чому цей проект був відмовлений :

Чи ми розвиваємось далі?

Ні, це не. Для МИ приймаються лише виправлення помилок.

Чому ми відмовляємось від МИ

WEs засновані ioctl()і хоча ioctl()використовуються і все ще використовуються як стандартний транспорт для зв'язку між користувачем ← → ядерний простір, нові транспортні засоби віддають перевагу з кількох причин.

Від драйверів пристроїв Linux - 3-е видання:

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

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

Прототип виділяється у списку системних викликів Unix через крапки, які зазвичай позначають функцію як змінну кількість аргументів. Однак у реальній системі системний виклик насправді не може мати змінну кількість аргументів. Системні виклики повинні мати чітко визначений прототип, оскільки користувацькі програми можуть отримати доступ до них лише через апаратні "ворота". Тому точки в прототипі представляють не змінну кількість аргументів, а єдиний необов'язковий аргумент, традиційно ідентифікований як char *argp. Точки просто існують, щоб запобігти перевірці типу під час компіляції.

У ньому також зазначено:

Неструктурований характер ioctlвиклику спричинив його немилість серед розробників ядра. Кожна ioctlкоманда, по суті, є окремим, зазвичай недокументованим системним викликом, і немає ніякого способу ревізувати ці виклики будь-яким вичерпним способом. Також важко змусити неструктуровані ioctlаргументи однаково працювати на всіх системах; наприклад, розглянемо 64-бітні системи з процесом простору користувачів, що працює в 32-бітному режимі.

Що таке заміна Wireless-Extensions

Нова розробка повинна бути зосереджена на cfg80211 та nl80211.


Побічна примітка: Схоже, Жан Туррілес працював над проектом близько 1997-2009 років. Я знайшов статтю з 2014 року, в якій говорилося, що Tourrhiles все ще працював у HP, працюючи над проектом під назвою OpenFlow :

Президент HP Jean Tourrhiles також очолює робочу групу з розширення, яка працює як "редактор" для впровадження новітніх технологій у майбутні версії OpenFlow

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.