[ЗАКРЫТО за неимением решения]modprobe в сервисе - Operation not permitted

Занимаюсь улучшением энергопотребления ноутбука. Заметил, что модуль btusb неплохо так грузит системку.
Что надо: при запуске bluetooth.service подзагружать модуль btusb (который при запуске системы выгружается спец. скриптом). При отключении - выгружать.
Что сделано:
[OVERRIDDEN] /etc/systemd/system/bluetooth.service → /usr/lib/systemd/system/bluetooth.service

--- /usr/lib/systemd/system/bluetooth.service   2014-03-11 21:54:34.000000000 +0400
+++ /etc/systemd/system/bluetooth.service       2014-04-02 19:02:26.232266487 +0400
@@ -5,7 +5,9 @@
 [Service]
 Type=dbus
 BusName=org.bluez
+ExecStartPre=/usr/bin/modprobe btusb
 ExecStart=/usr/lib/bluetooth/bluetoothd
+ExecStopPost=/usr/bin/rmmod btusb
 NotifyAccess=main
 #WatchdogSec=10
 #Restart=on-failure
@@ -15,3 +17,4 @@
 [Install]
 WantedBy=bluetooth.target
 Alias=dbus-org.bluez.service
Что получаю в journalctl -xn при запуске sudo systemctl start bluetooth:
[marlock@thinkpad ~]$ journalctl -xn
-- Logs begin at Вс 2014-03-30 17:21:10 MSK, end at Ср 2014-04-02 19:08:16 MSK. --
апр 02 19:08:11 thinkpad sudo[1709]: pam_unix(sudo:session): session closed for user root
апр 02 19:08:16 thinkpad sudo[1712]: marlock : TTY=pts/1 ; PWD=/home/marlock ; USER=root ; COMMAND=/usr/bin/systemctl start bl
апр 02 19:08:16 thinkpad sudo[1712]: pam_unix(sudo:session): session opened for user root by marlock(uid=0)
апр 02 19:08:16 thinkpad systemd[1]: Starting Bluetooth service...
-- Subject: Начинается запуск юнита bluetooth.service
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Начат процесс запуска юнита bluetooth.service.
апр 02 19:08:16 thinkpad systemd[1]: Failed to reset devices.list on /system.slice: Invalid argument
апр 02 19:08:16 thinkpad modprobe[1715]: modprobe: ERROR: could not insert 'btusb': Operation not permitted
апр 02 19:08:16 thinkpad systemd[1]: bluetooth.service: control process exited, code=exited status=1
апр 02 19:08:16 thinkpad systemd[1]: Failed to start Bluetooth service.
-- Subject: Ошибка юнита bluetooth.service
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Произошел сбой юнита bluetooth.service.
--
-- Результат: failed.
апр 02 19:08:16 thinkpad systemd[1]: Unit bluetooth.service entered failed state.
апр 02 19:08:16 thinkpad sudo[1712]: pam_unix(sudo:session): session closed for user root
Какого чёрта ему не хватает прав? Не пойму ничего. Как заставить modprobe/rmmod выполняться?
https://www.mail-archive.com/systemd-devel@lists.freedesktop.org/msg03744.html см. ответы внизу.
lampslave
https://www.mail-archive.com/systemd-devel@lists.freedesktop.org/msg03744.html см. ответы внизу.
Это я видел и так и не понял, что имел в виду этот поцтеринг.
Судя по всему, там говорится о загрузке модулей при загрузке. Оно мне не надо. Мне нужна загрузка модуля только при старте этого сервиса.
Меня его ответ наводит на мысль, что это невозможно, хотя может быть я и не прав.
Странно, почему тогда у меня всё работает?
$ sc status tunnel
● tunnel.service - VPN Tunnel
   Loaded: loaded (/etc/systemd/system/tunnel.service; enabled)
   Active: active (running) since Чт 2014-04-03 08:19:07 MSK; 57min ago
  Process: 327 ExecStartPost=/etc/net/tunnel-post start (code=exited, status=0/SUCCESS)
  Process: 322 ExecStartPre=/sbin/modprobe tun (code=exited, status=0/SUCCESS)
 Main PID: 326 (vtund)
   CGroup: /system.slice/tunnel.service
           └─326 vtund[c]: main tun tun0
Не обращайте внимания на /sbin/modprobe – я просто не правил этот юнит со времён до переноса в /usr/bin/
Вот результат работы этого юнита в логах:
апр 03 08:19:06 main systemd[1]: Starting VPN Tunnel...
апр 03 08:19:06 main kernel: tun: Universal TUN/TAP device driver, 1.6
апр 03 08:19:06 main kernel: tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
апр 03 08:19:06 main vtund[326]: VTun client ver 3.X 06/05/2013 started
Как видите, модуль tun действительно загружается после начала инициализации юнита, но до запуска демона, то есть модуль совершенно точно грузит строка юнита
ExecStartPre=/sbin/modprobe tun
Natrio, а можно увидеть содержание /etc/systemd/system/tunnel.service?
marlock
Natrio, а можно увидеть содержание /etc/systemd/system/tunnel.service?
Можно, но не думаю, что вам это что-то даст – всё, что имеет значение, я уже показал.
/etc/systemd/system/tunnel.service
[Unit]
Description=VPN Tunnel
Before=network.target
Wants=network.target
After=localnet.service

[Service]
ExecStartPre=/sbin/modprobe tun
ExecStart=/usr/sbin/vtund -n main localhost
ExecStartPost=/etc/net/tunnel-post start
ExecStopPost=/etc/net/tunnel-post stop

[Install]
WantedBy=multi-user.target

 
Зарегистрироваться или войдите чтобы оставить сообщение.