1
0
Fork 0
mirror of https://github.com/albfan/miraclecast.git synced 2025-02-13 09:51:54 +00:00
miraclecast/res/miracle-wfdctl-demo
Derek Dai c590adbd2f
miracle-wfdctl: first revision which can create TCP connection of WFD session between peers, controled through DBus
In this revision, the procedure of session negotiation is not yet
completed but only TCP connection can be established between peers.

You can try it by run script `res/miracle-wfdctl-demo` to see how it
work.
2017-02-13 13:12:55 +08:00

34 lines
1.3 KiB
Bash
Executable file

#!/bin/bash
PS4="> ${0##*/}: "
set -x
set -e
if (( $# < 1 )); then
echo Usage: ${0##*/} link-index peer-p2p-mac
echo eg. sudo ${0##*/} 3 ac:a2:13:6e:f8:2f
exit 1
fi
if [[ ${#2} != 17 ]]; then
echo Invalid peer-p2p-mac: $2
exit 1
fi
link_index="_3${1:0:1}${1:1}"
p2p_mac="${2//:/_3a}_40$1"
wfd_subelems=0000060010107c7032
busctl set-property org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/Devices/2 org.freedesktop.NetworkManager.Device Managed "b" false
killall miracle-wifid || true
killall miracle-wfdctl || true
miracle-wfdctl &
sleep 1
busctl set-property org.freedesktop.miracle.wifi /org/freedesktop/miracle/wifi/link/$link_index org.freedesktop.miracle.wifi.Link Managed 'b' true
sleep 1
busctl set-property org.freedesktop.miracle.wifi /org/freedesktop/miracle/wifi/link/$link_index org.freedesktop.miracle.wifi.Link WfdSubelements "s" "$wfd_subelems"
busctl set-property org.freedesktop.miracle.wifi /org/freedesktop/miracle/wifi/link/$link_index org.freedesktop.miracle.wifi.Link P2PScanning 'b' true
sleep 10
busctl call org.freedesktop.miracle.wifi /org/freedesktop/miracle/wifi/peer/$p2p_mac org.freedesktop.miracle.wifi.Peer Connect ss auto ''
sleep 10
busctl call org.freedesktop.miracle.wfd /org/freedesktop/miracle/wfd/sink/$p2p_mac org.freedesktop.miracle.wfd.Sink StartSession