LINUX.ORG.RU

В ядро Linux 2.6.23 включен стабильный Userspace Driver API


0

0

Линус Торвальдс включил в основную ветку ядра патчи, реализующие driver in userspace API в Linux.
Стабильный драйвер API уже анонсирован год назад. Теперь последние патчи и API включили в дерево Linux. Идея API - сделать проще разработку драйверов:"Этот интерфейс дает возможность написания большинства драйверов в userspace, с очень маленькой оболочкой драйвера внутри ядра. В API используется char device и sysfs для взаимодействия с userspace процессом, прерываний процесса и доступом к памяти"

>>> Оригинал

хм.. круто! но рабочий пример для какой-нибудь железки есть?

Muromec ☆☆
()

>В API используется char device и sysfs для взаимодействия с userspace процессом, прерываний процесса и доступом к памяти

а как насчёт безопасности?

mic ★★★★★
()
Ответ на: комментарий от anonymous_incognito

>Архитектура Linux всё более и более становится микроядерной. Круто.

да что меня забавляет - в Линуксе вообще нет какой-то архитектуры и идеологии НАВСЕГДА. что выгодно сейчас - то и добавляют.

wieker ★★
()

Значит будет поддержка всяких говножелезяк?

emaxx ★★
()

ра скорей бы и сразу чтоб склепали драйвера для винмодемов вай фаев эти гребаные лазерниуки от ай чпи заработали ктороый мфу и вебкамеры

anonymous
()

Линус молодец, решил делать ударение на том , что Линукс будет всё поддерживать, вовремя - пока всякое напоминание о поддержке железа для юзеров и вендоров Висты как соль на рану :)

hexenlord
()
Ответ на: комментарий от overmind88

емнип, ядро сейчас выходит где-то каждые 10 недель

Muromec ☆☆
()
Ответ на: комментарий от anonymous_incognito

> Архитектура Linux всё более и более становится микроядерной. Круто.

+1. ждем реакции драйверописателей :)

isden ★★★★★
()
Ответ на: комментарий от Muromec

> недавно покупал вебкамеру, так прям на коробке написано "Linux compatible" или чёто-такое

я видел тукса нарисованного

overmind88 ★★★★★
()

Виндекапец настал?

anonymous
()
Ответ на: комментарий от Muromec

Да и на си можно, при условии реализации схожих интерфейсов в ОС.

Linux сделал к этому шаг. имхо удобный.

catap ★★★★★
()
Ответ на: комментарий от Muromec

>на жаве штоль?

Я давно кстати говорю - жабамашину в биос, кернел на жабе, а окружение на пыхе - и будет всем счастье!

anonymous
()
Ответ на: комментарий от anonymous

Самое смешное, что к этому все рано или поздно сведется, но не раньше чем появятся процессоры на 50 гигагерц. =/

Deleted
()

Дружно перестаем исходить слюной - этот API пригоден разве что для winmodem-ов, поскольку не предоставляет DMA и доступа к PCI, и вообще очень тормозной из-за необходимости context switch-ей.

kmike ★★
()
Ответ на: комментарий от overmind88

> я видел тукса нарисованного

Купил себе клавиатуру Cherry CyMotion Linux G86-21070, отдал 50 баксов, впечатление двойственное. На клаве тоже тукс нарисован, вместо клавиши win клавиша tux в, комплекте идёт древняя SUSE адаптированная под неё, мне она не нужна, драйвера ни с диска ни с сайта поставить не удалось. Посмотрел lineakd в нём подержка есть, однако половина кнопок не работает, надо ядро патчить патчем от cherry, а мне не хочется, из за дополнительных клавиш, основная часть заужена, нередко нажимаешь две сразу, русские буквы такого-же цвета что и латинские - иногда путает. А так вообщем неплохая вещь, попробовал "input-events -t 10 5" из пакета input-utils - вот что пишет: /dev/input/event5 bustype : BUS_USB vendor : 0x46a product : 0x23 version : 273 name : "HID 046a:0023" phys : "usb-0000:00:02.1-2/input1" uniq : "" bits ev : EV_SYN EV_KEY EV_REL EV_ABS

Все дополнительные кнопки видит и называет правильно, наверное это сообщается через HID, вот что пишет: 17:55:29.687457: EV_KEY KEY_INTL2 pressed 17:55:29.687462: EV_SYN code=0 value=0 17:55:29.783462: EV_KEY KEY_INTL2 released 17:55:29.783468: EV_SYN code=0 value=0 17:55:30.919541: EV_KEY KEY_UNDO pressed 17:55:30.919547: EV_SYN code=0 value=0 17:55:30.991540: EV_KEY KEY_UNDO released 17:55:30.991545: EV_SYN code=0 value=0

У меня вопрос ни кто не знает какого нибудь демона использующего /dev/input/event ,я перерыл весь portage ни чего не нашел.

trifon
() автор топика
Ответ на: комментарий от isden

>+1. ждем реакции драйверописателей :)
echo "реакции" | sed 'y/аре/еэр/'

sdio ★★★★★
()
Ответ на: комментарий от shahid

>fuser /dev/input/event >man: fuser - identify processes using files or sockets Мне не нужно знать какой процесс использует /dev/input/event, мне нужно знать при помощи чего я могу этим пользоваться

trifon
() автор топика
Ответ на: комментарий от Muromec

Нет! Просто портировать данный API для других ОС! Т.е. независимость драйверов от ОС будет осуществляться путем перекомпиляции исходников. Ну или что-то типа того. Если Microsoft не захочет создать общий API для драйверов, то надавить на них через антимонополные органы. =)

anonymous
()
Ответ на: комментарий от kmike

>Дружно перестаем исходить слюной - этот API пригоден разве что для winmodem-ов, >поскольку не предоставляет DMA и доступа к PCI, и вообще очень тормозной из-за >необходимости context switch-ей.

Да тут хватает медленных быдложелезяк, дрова которых ломают с каждым ядром. ИМХО этот интерфейс должен жить, хотя бы для всяких софтмодемов и т.п.

anonymous
()
Ответ на: комментарий от anonymous

А мне кажется что и перекомпиливать ненадо будет... потому что API то один, хотя это предположение...

anonymous
()

Дык есть вроде fusd. Или это что-то другое? Может кто подсказать.. :?

anonymous
()
Ответ на: комментарий от ip

>А чего xev показывает?

KeyPress event, serial 31, synthetic NO, window 0x4a00001,
root 0x137, subw 0x0, time 89027006, (89,679), root:(93,706),
state 0x0, keycode 135 (keysym 0x1008ff27, XF86Forward), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

KeyRelease event, serial 31, synthetic NO, window 0x4a00001,
root 0x137, subw 0x0, time 89027198, (89,679), root:(93,706),
state 0x0, keycode 135 (keysym 0x1008ff27, XF86Forward), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False

нажаты две разные клавиши - определены как одна и таже.

trifon
() автор топика

Вот Таненбауму наверно сегодня икаеццо. =)

blind
()
Ответ на: комментарий от trifon

Сори наврал я

KeyRelease event, serial 31, synthetic NO, window 0x4a00001,
root 0x137, subw 0x0, time 89268758, (899,583), root:(903,610),
state 0x0, keycode 138 (keysym 0x1008ff57, XF86Copy), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False

KeyPress event, serial 31, synthetic NO, window 0x4a00001,
root 0x137, subw 0x0, time 89271454, (899,583), root:(903,610),
state 0x0, keycode 135 (keysym 0x1008ff27, XF86Forward), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

KeyRelease event, serial 31, synthetic NO, window 0x4a00001,
root 0x137, subw 0x0, time 89


однако насчёт того не дублируются ли какие либо кнопки сказать не могу

trifon
() автор топика
Ответ на: комментарий от trifon

не совсем тебя понял, но через xev посмотри keycode и через xmodmap назначай кнопки типа F13 и тд. Ну а потом в любой биндилке используй их.. Кривовато, но работает =)

dzfn
()
Ответ на: комментарий от Buba

>Есть милая штука xbindkeys - ноутовские комбинации Fn+... поднял на ура

Я же говорил без патча ядро через стандартный интерфейс клавиатуры видит не все клавиши.

trifon
() автор топика
Ответ на: комментарий от dzfn

>посмотри keycode и через xmodmap

Пробовал через kde хоткей видит не все кнопки производители cherry говорят надо патч для ядра, без патча только через /dev/input/event

trifon
() автор топика
Ответ на: комментарий от trifon

Попробовал xev | grep 'keycode' , так наглядней, некоторые кнопки при первом нажатии ничего не дают, только если её нажать второй раз выдают код

trifon
() автор топика
Ответ на: комментарий от anonymous

> Нет! Просто портировать данный API для других ОС! Т.е. независимость драйверов от ОС будет осуществляться путем перекомпиляции исходников. Ну или что-то типа того. Если Microsoft не захочет создать общий API для драйверов, то надавить на них через антимонополные органы. =)

а зачем микрософт для этого? создаёшь модуль ядра и всё... можно свободный проект на этот счёт замутить

anonymous
()
Ответ на: комментарий от trifon

>Кто нибудь подскажет, в чем тут дело может быть?
>В руках девелоперов дело.
Не нравится девелопь сам или деньги плати
Я думаю просто древний монитор без поддержки EDID

trifon
() автор топика

Было бы здорово, если бы этот интерфейс сохранял обратную совместимость. А ещё было бы здорово, если бы не только для софтжелезяк он помогал.

Quasar ★★★★★
()
Ответ на: комментарий от kmike

> этот API пригоден разве что для winmodem-ов, поскольку не предоставляет DMA и доступа к PCI, и вообще очень тормозной из-за необходимости context switch-ей.

Для говнопринтеров, говносканеров и гофноМФУ подойдет, а полагаю? Если да - это победа.

sv75 ★★★★★
()
Ответ на: комментарий от sv75

Оно для этих сраных недожелезок и нужно, причем нужно очень сильно. Еще было бы здорово, если бы туда ушла половина вмварной ерунды.

Shaman007 ★★★★★
()

а ещё в 2.6.23 будет Xen и lguest, это пипец, стока нововедений! вроде хорошо, но как бы кернел на поворотах не заносило...

anonymous
()
Ответ на: комментарий от blackst0ne

Далась вам эта микроядрность! Вот сейчас я пишу из под самого что ни на есть микроядерного юникса, так вот, от корявого железа его микроядерность ничерта не спасает и после смены дров мышки или звукокарты его надо перезагружать, чего не надо делать с модульным Linux'ом. И если наедается драйвер чего-то жизненно важного он точно так же уходит в панику. И сраный висучий броадкомовский вайфай в нем точно так же как в Windows или Linux глючит.

Shaman007 ★★★★★
()
Ответ на: комментарий от Shaman007

>И сраный висучий броадкомовский вайфай в нем точно так же как в Windows или Linux глючит.

Наболело :)

kss ★★★★★
()
Ответ на: комментарий от Muromec

> недавно покупал вебкамеру, так прям на коробке написано "Linux compatible" или чёто-такое

А как эта вебкамера называется?

anonymous
()

ещё один шаг в сторону микроядра :)

vadiml ★★★★★
()
Ответ на: комментарий от Shaman007

> И сраный висучий броадкомовский вайфай в нем точно так же как в Windows или Linux глючит.

На свистелки и сверкалки насмотрелся, пришла пора поработать - а не тут то было? :-)

no-dashi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.