userspace доступ к памяти pci-карты [solved]
imaginary 3 ноября, 2010 - 19:25
Есть pci карта, штучного изготовления, для работы с ней нужно писать в её память. Общаюсь с ней посредством mmap из-под root и всё получается. На python это так выглядит:
import mmap m=open('/sys/bus/pci/devices/0000:01:07.0/resource0','rw+b') mm=mmap.mmap(m.fileno(),0)
Права доступа к файлу такие:
# ls -l /sys/bus/pci/devices/0000\:01\:07.0/resource0 -rw------- 1 root root 524288 Ноя 3 16:26 /sys/bus/pci/devices/0000:01:07.0/resource0
Хочется научиться с ней работать от имени обычного пользователя. Есть какой-нибудь простой способ для этого?
»
- Для комментирования войдите или зарегистрируйтесь
Конешно есть - написать
Конешно есть - написать наконец драйвер :)
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
slepnoga написал(а): Конешно
Это самый-самый простой способ? :) Честно говоря не хочется этим заниматься.
Вам необходимы привелегии
Вам необходимы привелегии суперпользователя для работы с ядром. Возможно лишь частичные, через capabilities. Но совсем без них не получится. Самый простой вариант - сделать два куска: демона работающего под рутом и юзерспейс клиента. Либо посмотрите в драйверах ядра какой-нить raw-образный, чтобы работать через dev - там просто права сменить можно будет.
Пошёл таким путём: в
Пошёл таким путём: в /etc/conf.d/local.start записал
chown imaginary:root '/sys/bus/pci/devices/0000:01:07.0/resource0'
Проще не придумал ничего :)