У меня проблема с тем, что я зарегистрировал события IIO для повышения и снижения пороговых значений. Я могу видеть файлы sysfs в подпапках событий и читать их, но когда я пытаюсь написать новый порог, он говорит «разрешение отклонено».Linux Kernel IIO события sysfs файлы доступны только для чтения
следующие настройки:
static const struct iio_event_spec as6200_events[] = {
{
.type = IIO_EV_TYPE_THRESH,
.dir = IIO_EV_DIR_RISING,
.mask_separate = BIT(IIO_EV_INFO_VALUE),
}, {
.type = IIO_EV_TYPE_THRESH,
.dir = IIO_EV_DIR_FALLING,
.mask_separate = BIT(IIO_EV_INFO_VALUE),
}
};
static const struct iio_chan_spec as6200_channels[] = {
{
.type = IIO_TEMP,
.info_mask_separate = BIT(IIO_CHAN_INFO_RAW) |
BIT(IIO_CHAN_INFO_PROCESSED) |
BIT(IIO_CHAN_INFO_SCALE),
.info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SAMP_FREQ),
.event_spec = as6200_events,
.num_event_specs = ARRAY_SIZE(as6200_events),
}
};
нахождения: она работает, когда я изменить права доступа к in_temp_thresh_rising_value файла до 666 через sudo. Но почему он не создан с этими разрешениями через подсистему IIO? – lobi