gammu и полномочия устройства

У меня есть Сервер Ubuntu 12.04 LTS, и на нем я установил gammu. Я использую его для управления моим "музыкальным сотовым телефоном" Nokia 5310 Xpress.

Теперь то, когда я работаю "gammu - определяют, что" это не работает, говорит, что у меня нет правильных полномочий устройства, но это работает с sudo gammu --identify

Теперь мое устройство Nokia перечислено как ttyACM0 в моем/dev/каталоге... его полномочия являются rw для корня и dialout... Я пытался изменить эти полномочия так, чтобы я мог использовать это устройство с gammu без sudo ... Я сделал sudo chmod 777 /dev/ttyACM0 и это изменило полномочия, но тем не менее это не работало...

Я даже пошел и добавил файл в/etc/udev/rules.d/под названием 40-41-descriptive-name.rules, который содержал следующую строку:

SUBSYSTEM=="usb", ATTR{idVendor}=="0421", ATTR{idProduct}=="006b", MODE="0600", OWNER="MyUserName"

и затем перезапущенный udev, но все еще никакая удача...

Я даже сделал sudo chown myusername /dev/ttyACM0 и дал мне владение устройства, но тем не менее я должен был использовать sudo для добиваний цели...

btw, если я делаю lsusb Я получаю следующую информацию:

BUS 002 Device 003: ID 0421:006b Nokia Mobile Phones

Я попробовал все эти способы изменить полномочия устройства так, чтобы я мог использовать "gammu - определяют" вместо sudo gammu --identify но никакая удача.

Как я могу зафиксировать эту дилемму?

1
задан 4 November 2012 в 16:07

3 ответа

Получив помощь от коллег, я нашел решение своей проблемы ...

В моем файле конфигурации gammu я изменил порт на / dev / phone

Затем я пошел в / etc / udev / rules / каталог и в нем я создал имя файла 99-phone.rules, затем в этом файле я написал следующую строку:

SUBSYSTEM == "usb", ATTRS {idVendor} == " 0421 ", ATTRS {idProduct} ==" 006b ", MODE =" 0666 ", SYMLINK + =" phone "

Затем я перезагрузил систему, а затем, когда я подключил свой телефон Nokia, я смог запустить команды на нем без использования sudo!

Спасибо всем, особенно @firusvg !!

0
ответ дан 4 November 2012 в 16:07

Чтобы избежать потенциальных проблем с ситуацией, когда телефон распознается как / dev / ttyACM0, / dev / ttyACM1, ... или / dev / ttyUSB0, / dev / ttyUSB1, ... с последующими циклами подключения / переподключения, создайте символическую ссылку чтобы телефон был похож на /dev/phone - задайте 99-phone.rules правило udev с помощью:

KERNEL=="ttyUSB*", ATTRS{idVendor}=="0421", ATTRS{idProduct}=="006b", NAME="phone", MODE="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="0421", ATTRS{idProduct}=="006b", NAME="phone", MODE="0666"

и измените порт в .gammurc на port=/dev/phone. Теперь вы сможете выполнять команды gammu без sudo.

Конечно, удалите предыдущие правила из 40-41-descriptive-name.rules

. Обратите внимание, что две строки в 99-phone.rules приведены только для того, чтобы охватить все возможные случаи для первоначального распознавания телефона (также обратите внимание MODE="0666" - это даст rw для всех пользователей / групп).

Этот подход я использую для своего собственного SMS-шлюза (использующего три телефона и основанного на gammu-smsd), и до сих пор хорошо работает.

0
ответ дан 4 November 2012 в 16:07

Также следует проверить демон Gammu gammu-smsd и его файл конфигурации . Сам демон будет работать от имени пользователя root, но затем команда gammu-smsd-inject позволит отправлять смс без прав root, если каталог спула доступен для записи. Также хорошо то, что демон будет периодически принимать сообщения.

0
ответ дан 4 November 2012 в 16:07

Другие вопросы по тегам:

Похожие вопросы: