Я использую собственный rt3652sta драйвер для своей беспроводной карты. Это появляется как ra0 устройство на 64-разрядной Ubuntu 12.04.
Согласно онлайн-документации следующее раньше работало определенно до 10,04.
dbus-send --system --type=method_call --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.DBus.Properties.Set string:org.freedesktop.NetworkManager string:WirelessEnabled variant:boolean:false
Это однако не имеет никакого эффекта на вышеупомянутую беспроводную карту в 12,04. Кроме того, rfkill не работает, поскольку он даже не перечисляет беспроводную кнопку (снова, вероятно, из-за драйвера беспроводного устройства, являющегося собственным):
rfkill list
Это только перечисляет hci0 (Bluetooth) один, и можно блокировать/разблокировать его соответственно, но это не имеет никакого эффекта на Wi-Fi.
ifup/down также не работает (AFAICT)...
И это оставляет меня с отключением беспроводной связи через апплет администратора сети. Однако попытка сделать так через dbus, кажется, не работает, и все же я хотел бы автоматизировать его с помощью сценария.
Какие-либо идеи, как я мог узнать надлежащую dbus структуру для вызова? Это даже возможно в Ubuntu 12.04?
Взгляните на nmcli
утилита, она управляет networkmanager через (я думаю), dbus вызовы, но должно быть намного более просто использовать из Вашего сценария.