mirror of
https://github.com/albfan/miraclecast.git
synced 2025-02-13 09:51:54 +00:00
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.
34 lines
1.3 KiB
Bash
Executable file
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
|