miraclecast


Connect external monitors to your system via Wifi-Display specification also known as Miracast

https://github.com/albfan/miraclecast/



Hostname is misleading, this is rpi3

root@rpi2:/nuc/miraclecast/res# tail -14 /proc/cpuinfo 

processor       : 3
model name      : ARMv7 Processor rev 4 (v7l)
BogoMIPS        : 38.40
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

Hardware        : BCM2835
Revision        : a02082
Serial          : 000000004d092298

check wifi chipset compatibility


root@rpi2:/nuc/miraclecast/res# ./test-hardware-capabilities.sh 
wlan0 supports P2P


compile and install


root@rpi2:/nuc/miraclecast# git remote -v
origin https://github.com/albfan/miraclecast (fetch)
origin https://github.com/albfan/miraclecast (push)

pi@rpi2 /nuc/miraclecast $ sudo apt-get install libudev-dev libreadline-dev gstreamer1.0-tools

pi@rpi2 /nuc/miraclecast $

./autogen.sh c
make
sudo make install


connect from Android


root@rpi2:~# miracle-wifid --log-level trace &

root@rpi2:/home/pi/miraclecast# miracle-sinkctl 
[ADD] Link: 3
[miraclectl] # run 3
now running on link 3


try to connect from android phone and fail


[ADD] Peer: ce:fa:00:af:9a:5a@3
[PROV] Peer: ce:fa:00:af:9a:5a@3 Type: pbc PIN: 
[GO NEG] Peer: ce:fa:00:af:9a:5a@3 Type: pbc PIN: 
[GO NEG] Peer: ce:fa:00:af:9a:5a@3 Type: pbc PIN: 
[FAIL] Peer: ce:fa:00:af:9a:5a@3 Reason: group owner negotiation failed
[miraclectl] #