miraclecast as source
albfan opened this issue · 57 comments
From #47 (comment)
Here is a Q&D (quick and dirty) for use laptop as source:
Start miracle-wifid as usual
$ sudo miracle-wifid --log-level trace
Start miracle-wifictl
$ sudo miracle-wifictl --log-level trace [miraclectl] # list LINK INTERFACE FRIENDLY-NAME 3 wlp3s0 archlinux-alberto LINK PEER-ID FRIENDLY-NAME CONNECTED 0 peers and 1 links listed. [miraclectl] # select 3 link 3 selected
Now do something to make your device visible (like start screen mirroring)
[ADD] Peer: f2:27:65:35:b6:8f@3 [PROV] Peer: ff:ff:ff:ff:ff:ff@3 Type: pbc PIN: [miraclectl] # list LINK INTERFACE FRIENDLY-NAME 3 wlp3s0 archlinux-alberto LINK PEER-ID FRIENDLY-NAME CONNECTED 3 ff:ff:ff:ff:ff:ff@3 Alberto Fanjul Alonso no 1 peers and 1 links listed. [miraclectl] # connect ff:ff:ff:ff:ff:ff@3 [CONNECT] Peer: ff:ff:ff:ff:ff:ff@3 [miraclectl] # list LINK INTERFACE FRIENDLY-NAME 3 wlp3s0 archlinux-alberto LINK PEER-ID FRIENDLY-NAME CONNECTED 3 ff:ff:ff:ff:ff:ff@3 Alberto Fanjul Alonso yes 1 peers and 1 links listed.
Search on miracle-wifid output for a message like this
TRACE: wpa: raw message: <3>P2P-GROUP-STARTED p2p-wlp3s0-3 client ssid="DIRECT-ZP-Alberto Fanjul Alonso" freq=2462 psk=5d3ce6a19876398db2d9b7566cc1d8e3a87c36b449ff3fd601f95d60718cdd4e go_dev_addr=ff:ff:ff:ff5:ff:ff ip_addr=192.168.49.200 ip_mask=255.255.255.0 go_ip_addr=192.168.49.1
At this point you have your devices paired show they can see each other
Start a stream on laptop (using vlc for example)
$ cvlc screen:// :screen-fps=25 :screen-caching=100 --sout '#transcode{vcodec=MJPG,vb=0,width=1022,height=575,acodec=none}:http{mux=ogg,dst=:8554/myscreen}'
On the other device use some viewer to reproduce that:( I've used vlc for android)
that stream can be viewed opening url: http://192.168.49.200:8554/myscreen
Develops needed:
- autocomplete peer-id on miracle-wifictl
- miracle-sinkctl need a command to launch automatically that external command (miracle-sinkctl does the same with gstreamer)
- provide a gstreamer command to stream screen (See examples here https://coderwall.com/p/_inesq/gstreamer-commands-for-desktop-streaming-to-raspberry-pi)
- Develop an android app based on vlc for android to make device visible, pair with laptop and receive config from miracle-sinkctl about url to open
If you have two laptops avaliable, sink can be too another miraclecast. Now with existing raspberry pi image #100 sink I can test it easily.
Help wanted!
When I follow your instructions above, I don't get any to my TV (tested with Samsung and LG). Connecting works fine, but usually after this, the source automatically starts sending the video-content to the TV. When I use the cvlc commend, nothing happenes.
That description suppose that you control both sides (just to prove it can work) When using against a miracast device (as your tv) is needed to parse devices communication to see -at least- on which port your tv expect the stream. Run it with miracle-wifid --log-level trace
and let's see if we can setup manually the correct stream.
ok, I have a Samsung TV at the moment here and it's not possible to connect (maybe this is a new issue)
wifid:
miracle-wifid logs
[muench@muench-arch ~]$ sudo systemctl stop NetworkManager.service
[sudo] Passwort für muench:
[muench@muench-arch ~]$ sudo miracle-wifid --log-level trace
INFO: miracle-wifid - revision 1.0 Aug 26 2016 07:02:19
DEBUG: friendly-name from local hostname: muench-arch (manager_read_name() in ../../../src/wifi/wifid.c:366)
DEBUG: link: new link: wlo1 (6) (link_new() in ../../../src/wifi/wifid-link.c:71)
DEBUG: supplicant: new supplicant for wlo1 (supplicant_new() in ../../../src/wifi/wifid-supplicant.c:2087)
INFO: link: add link: wlo1
INFO: link: manage link wlo1
DEBUG: supplicant: start supplicant of wlo1 (supplicant_start() in ../../../src/wifi/wifid-supplicant.c:2610)
DEBUG: supplicant: spawn supplicant of wlo1 (supplicant_spawn() in ../../../src/wifi/wifid-supplicant.c:2459)
INFO: supplicant: wpa_supplicant found: /usr/bin/wpa_supplicant
INFO: supplicant: wpas spawned as pid:14299
DEBUG: supplicant: open supplicant of wlo1 (supplicant_open() in ../../../src/wifi/wifid-supplicant.c:2250)
TRACE: wpa: raw message: OK
TRACE: wpa: raw message: OK
TRACE: wpa: raw message: p2p_device_address=d8:fc:93:ad:51:5c
p2p_state=IDLE
wifi_display=1
ifname=p2p-dev-wlo1
address=d8:fc:93:ad:51:5c
ifname=wlo1
address=d8:fc:93:ad:51:5b
DEBUG: supplicant: local p2p-address is: d8:fc:93:ad:51:5c (supplicant_status_fn() in ../../../src/wifi/wifid-supplicant.c:1807)
TRACE: wpa: raw message: OK
TRACE: wpa: raw message: OK
TRACE: wpa: raw message: FAIL
TRACE: wpa: raw message: OK
DEBUG: link: link wlo1 started (link_supplicant_started() in ../../../src/wifi/wifid-link.c:277)
TRACE: wpa: raw message: FAIL
DEBUG: supplicant: sent P2P_FIND to wpas on wlo1 (supplicant_p2p_start_scan() in ../../../src/wifi/wifid-supplicant.c:2020)
TRACE: wpa: raw message: OK
DEBUG: supplicant: p2p-scanning now active on wlo1 (supplicant_p2p_find_fn() in ../../../src/wifi/wifid-supplicant.c:1901)
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>P2P-DEVICE-FOUND fe:f1:36:c5:3d:47 p2p_dev_addr=fe:f1:36:c5:3d:47 pri_dev_type=7-0050F204-1 name='[TV] Betrieb TV' config_methods=0x188 dev_capab=0x25 group_capab=0x80 wfd_dev_info=0x01131c440036 new=1
TRACE: wpa: raw message: <3>P2P-DEVICE-FOUND fe:f1:36:c5:3d:47 p2p_dev_addr=fe:f1:36:c5:3d:47 pri_dev_type=7-0050F204-1 name='[TV] Betrieb TV' config_methods=0x188 dev_capab=0x25 group_capab=0x80 wfd_dev_info=0x01131c440036 new=1
DEBUG: peer: new peer: fe:f1:36:c5:3d:47 @ wlo1 (peer_new() in ../../../src/wifi/wifid-peer.c:52)
INFO: peer: add peer: fe:f1:36:c5:3d:47
DEBUG: peer: peer fe:f1:36:c5:3d:47 @ wlo1 started (peer_supplicant_started() in ../../../src/wifi/wifid-peer.c:162)
DEBUG: supplicant: requesting data for new peer fe:f1:36:c5:3d:47 (supplicant_event_p2p_device_found() in ../../../src/wifi/wifid-supplicant.c:962)
TRACE: wpa: raw message: fe:f1:36:c5:3d:47
pri_dev_type=7-0050F204-1
device_name=[TV] Betrieb TV
manufacturer=SAMSUNG_ELECTRONICS
model_name=UE60J6200
model_number=T-HKMFDEUC-1460.4
serial_number=
config_methods=0x188
dev_capab=0x25
group_capab=0x80
level=-45
age=3
listen_freq=2467
wps_method=not-ready
interface_addr=00:00:00:00:00:00
member_in_go_dev=00:00:00:00:00:00
member_in_go_iface=00:00:00:00:00:00
go_neg_req_sent=0
go_state=unknown
dialog_token=0
intended_addr=00:00:00:00:00:00
country=__
oper_freq=0
req_config_methods=0x0
flags=[REPORTED]
status=0
invitation_reqs=0
wfd_subelems=00000601131c440036
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
DEBUG: supplicant: connect to fe:f1:36:c5:3d:47 via pbc/(null) (supplicant_peer_connect() in ../../../src/wifi/wifid-supplicant.c:739)
TRACE: wpa: raw message: <3>P2P-FIND-STOPPED
TRACE: wpa: raw message: <3>P2P-FIND-STOPPED
DEBUG: supplicant: p2p-scanning stopped on wlo1 (supplicant_event_p2p_find_stopped() in ../../../src/wifi/wifid-supplicant.c:904)
TRACE: wpa: raw message: OK
TRACE: wpa: raw message: <3>P2P-GO-NEG-SUCCESS role=client freq=2412 ht40=0 peer_dev=fe:f1:36:c5:3d:47 peer_iface=fe:f1:36:c5:3d:47 wps_method=PBC
TRACE: wpa: raw message: <3>P2P-GO-NEG-SUCCESS role=client freq=2412 ht40=0 peer_dev=fe:f1:36:c5:3d:47 peer_iface=fe:f1:36:c5:3d:47 wps_method=PBC
DEBUG: supplicant: set STA-MAC for fe:f1:36:c5:3d:47 from <none> to fe:f1:36:c5:3d:47 (via GO-NEG-SUCCESS) (supplicant_event_p2p_go_neg_success() in ../../../src/wifi/wifid-supplicant.c:1195)
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-BSS-ADDED 0 24:e9:b3:f1:c9:d8
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-BSS-ADDED 1 00:1a:8c:a0:f1:36
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-BSS-ADDED 2 00:1a:8c:a0:f1:37
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-BSS-ADDED 3 c0:25:06:cb:94:78
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-BSS-ADDED 4 00:1a:8c:a0:f1:3d
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-BSS-ADDED 5 00:1a:8c:a0:f1:3e
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-BSS-ADDED 6 00:1a:8c:a0:f1:3f
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-BSS-ADDED 7 00:1a:8c:a0:f1:2e
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-BSS-ADDED 8 00:1a:8c:a0:f1:2d
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-BSS-ADDED 0 fe:f1:36:c5:3d:47
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>WPS-AP-AVAILABLE-PBC
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>SME: Trying to authenticate with fe:f1:36:c5:3d:47 (SSID='DIRECT-t1[TV] Betrieb TV' freq=2412 MHz)
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>WPS-AP-AVAILABLE-PBC
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-BSS-REMOVED 0 fe:f1:36:c5:3d:47
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-BSS-ADDED 9 00:1a:8c:a0:f1:2c
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-BSS-ADDED 10 00:1a:8c:a0:f1:35
TRACE: wpa: raw message: IFNAME=wlo1 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlo1 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-BSS-ADDED 1 fe:f1:36:c5:3d:47
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>WPS-AP-AVAILABLE-PBC
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>SME: Trying to authenticate with fe:f1:36:c5:3d:47 (SSID='DIRECT-t1[TV] Betrieb TV' freq=2412 MHz)
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>Trying to associate with fe:f1:36:c5:3d:47 (SSID='DIRECT-t1[TV] Betrieb TV' freq=2412 MHz)
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>Associated with fe:f1:36:c5:3d:47
TRACE: wpa: raw message: <3>P2P-GROUP-FORMATION-FAILURE
TRACE: wpa: raw message: <3>P2P-GROUP-FORMATION-FAILURE
DEBUG: supplicant: peer [TV] Betrieb TV connection failed (supplicant_event_p2p_group_formation_failure() in ../../../src/wifi/wifid-supplicant.c:1305)
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-DISCONNECTED bssid=fe:f1:36:c5:3d:47 reason=3 locally_generated=1
TRACE: wpa: raw message: <3>P2P-GROUP-REMOVED p2p-wlo1-0 client reason=FORMATION_FAILED
TRACE: wpa: raw message: <3>P2P-GROUP-REMOVED p2p-wlo1-0 client reason=FORMATION_FAILED
DEBUG: supplicant: stray P2P-GROUP-REMOVED: <3>P2P-GROUP-REMOVED p2p-wlo1-0 client reason=FORMATION_FAILED (supplicant_event_p2p_group_removed() in ../../../src/wifi/wifid-supplicant.c:1287)
TRACE: wpa: raw message: IFNAME=p2p-wlo1-0 <3>CTRL-EVENT-BSS-REMOVED 1 fe:f1:36:c5:3d:47
TRACE: wpa: raw message: IFNAME=p2p-dev-wlo1 <3>CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
TRACE: wpa: raw message: <3>CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
DEBUG: supplicant: unhandled wpas-event: <3>CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD (supplicant_event() in ../../../src/wifi/wifid-supplicant.c:1483)
TRACE: wpa: raw message: <3>P2P-DEVICE-LOST p2p_dev_addr=fe:f1:36:c5:3d:47
TRACE: wpa: raw message: <3>P2P-DEVICE-LOST p2p_dev_addr=fe:f1:36:c5:3d:47
DEBUG: supplicant: lost peer fe:f1:36:c5:3d:47 (supplicant_event_p2p_device_lost() in ../../../src/wifi/wifid-supplicant.c:986)
DEBUG: peer: peer fe:f1:36:c5:3d:47 @ wlo1 stopped (peer_supplicant_stopped() in ../../../src/wifi/wifid-peer.c:172)
DEBUG: peer: free peer: fe:f1:36:c5:3d:47 @ wlo1 (peer_free() in ../../../src/wifi/wifid-peer.c:90)
INFO: peer: remove peer: fe:f1:36:c5:3d:47
and wifictl:
miracle-wifictl logs
[muench@muench-arch ~]$ sudo miracle-wifictl
[sudo] Passwort für muench:
[ADD] Link: 6
[miraclectl] # kist
Command not found
[miraclectl] # list
LINK INTERFACE FRIENDLY-NAME
6 wlo1 muench-arch
LINK PEER-ID FRIENDLY-NAME CONNECTED
0 peers and 1 links listed.
[miraclectl] # select 6
link 6 selected
[miraclectl] # list
LINK INTERFACE FRIENDLY-NAME
6 wlo1 muench-arch
LINK PEER-ID FRIENDLY-NAME CONNECTED
0 peers and 1 links listed.
[miraclectl] # p2p-scan
[ADD] Peer: fe:f1:36:c5:3d:47@6
[miraclectl] # help
Available commands:
list List all objects
select [link] Select default link
show [link|peer] Show detailed object information
set-friendly-name [link] <name> Set friendly name of an object
p2p-scan [link] [stop] Control neighborhood P2P scanning
connect <peer> [provision] [pin] Connect to peer
disconnect <peer> Disconnect from peer
quit Quit program
help Print help
[miraclectl] # connect fe:f1:36:c5:3d:47@6
[FAIL] Peer: fe:f1:36:c5:3d:47@6 Reason: unknown
[REMOVE] Peer: fe:f1:36:c5:3d:47@6
[miraclectl] #
I tried with one of those Chinese receivers, but it doesnt maintain the connection until I send RTSP stream, even if I initialize it beforehand, I need the specific IP of the receiver to send my stream, so what it does is it successfully connects, then writes "Waiting for RTSP" at this moment it should start receiving, but meanwhile I need to get its IP address but apparently it doesnt wait too much and disconnects quickly.
[ADD] Link: 3
[ADD] Peer: 38:1d:d9:05:5f:ac@3
[miraclectl] # select 3
link 3 selected
[miraclectl] # list
LINK INTERFACE FRIENDLY-NAME
3 wlp2s0 ubuntu
LINK PEER-ID FRIENDLY-NAME CONNECTED
3 38:1d:d9:05:5f:ac@3 AnyCast-D9055FAC no
1 peers and 1 links listed.
[miraclectl] # connect 38:1d:d9:05:5f:ac@3
[CONNECT] Peer: 38:1d:d9:05:5f:ac@3
[DISCONNECT] Peer: 38:1d:d9:05:5f:ac@3
I did a successful connection so that should be something related to devices configuration.
Dear @albfan
Many thanks for this working piece of software and guidance.
I am trying to connect my Desktop(Ubuntu 16.04 LTS) to my Sony Bravia TV, but currently I am not able to proceed further.
Log from Terminal#1
sudo systemctl stop NetworkManager.service
sudo miracle-wifid --log-level trace
DEBUG: supplicant: connect to 32:f7:72:64:bd:fe via pbc/(null) (supplicant_peer_connect() in ~/miraclecast/src/wifi/wifid-supplicant.c:739)
TRACE: wpa: raw message: OK
TRACE: wpa: raw message: <3>P2P-GO-NEG-SUCCESS role=client freq=2417 ht40=0 peer_dev=32:f7:72:64:bd:fe peer_iface=32:f7:72:64:bd:fe wps_method=PBC
TRACE: wpa: raw message: <3>P2P-GO-NEG-SUCCESS role=client freq=2417 ht40=0 peer_dev=32:f7:72:64:bd:fe peer_iface=32:f7:72:64:bd:fe wps_method=PBC
DEBUG: supplicant: set STA-MAC for 32:f7:72:64:bd:fe from <none> to 32:f7:72:64:bd:fe (via GO-NEG-SUCCESS) (supplicant_event_p2p_go_neg_success() in ~/miraclecast/src/wifi/wifid-supplicant.c:1195)
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-dev-wlan0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlan0 <3>CTRL-EVENT-BSS-REMOVED 7 32:f7:72:64:bd:fe
TRACE: wpa: raw message: IFNAME=wlan0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlan0 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-dev-wlan0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlan0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlan0 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-dev-wlan0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlan0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlan0 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-BSS-ADDED 0 32:f7:72:64:bd:fe
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=p2p-dev-wlan0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlan0 <3>CTRL-EVENT-BSS-ADDED 8 32:f7:72:64:bd:fe
TRACE: wpa: raw message: IFNAME=wlan0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlan0 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>WPS-AP-AVAILABLE-PBC
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>SME: Trying to authenticate with 32:f7:72:64:bd:fe (SSID='DIRECT-me-BRAVIA' freq=2417 MHz)
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>Trying to associate with 32:f7:72:64:bd:fe (SSID='DIRECT-me-BRAVIA' freq=2417 MHz)
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>Associated with 32:f7:72:64:bd:fe
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-EAP-STARTED EAP authentication started
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-EAP-STATUS status='started' parameter=''
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-EAP-PROPOSED-METHOD vendor=14122 method=1
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-EAP-STATUS status='accept proposed method' parameter='WSC'
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-EAP-METHOD EAP vendor 14122 method 1 (WSC) selected
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>WPS-CRED-RECEIVED
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>WPS-SUCCESS
TRACE: wpa: raw message: <3>P2P-GROUP-FORMATION-SUCCESS
TRACE: wpa: raw message: <3>P2P-GROUP-FORMATION-SUCCESS
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-EAP-STATUS status='completion' parameter='failure'
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-EAP-FAILURE EAP authentication failed
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-DISCONNECTED bssid=32:f7:72:64:bd:fe reason=3 locally_generated=1
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>SME: Trying to authenticate with 32:f7:72:64:bd:fe (SSID='DIRECT-me-BRAVIA' freq=2417 MHz)
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>Trying to associate with 32:f7:72:64:bd:fe (SSID='DIRECT-me-BRAVIA' freq=2417 MHz)
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>Associated with 32:f7:72:64:bd:fe
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>WPA: Key negotiation completed with 32:f7:72:64:bd:fe [PTK=CCMP GTK=CCMP]
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-CONNECTED - Connection to 32:f7:72:64:bd:fe completed [id=0 id_str=]
TRACE: wpa: raw message: <3>P2P-GROUP-STARTED p2p-wlan0-4 client ssid="DIRECT-me-BRAVIA" freq=2417 psk=912de440ff20ecfc2f577f64e6d2512202a8a2617184f8b8978fd4acb74cd9bb go_dev_addr=32:f7:72:64:bd:fe [PERSISTENT]
TRACE: wpa: raw message: <3>P2P-GROUP-STARTED p2p-wlan0-4 client ssid="DIRECT-me-BRAVIA" freq=2417 psk=912de440ff20ecfc2f577f64e6d2512202a8a2617184f8b8978fd4acb74cd9bb go_dev_addr=32:f7:72:64:bd:fe [PERSISTENT]
DEBUG: supplicant: ssid: DIRECT-me-BRAVIA (supplicant_event_p2p_group_started() in ~/miraclecast/src/wifi/wifid-supplicant.c:1220)
DEBUG: supplicant: new group: p2p-wlan0-4 (supplicant_group_new() in ~/miraclecast/src/wifi/wifid-supplicant.c:489)
DEBUG: supplicant: start remote group on new group p2p-wlan0-4 as client/0 (supplicant_event_p2p_group_started() in ~/miraclecast/src/wifi/wifid-supplicant.c:1255)
DEBUG: supplicant: dhcp-comm-p2p-wlan0-4: L:192.168.179.200 (supplicant_group_comm_fn() in ~/miraclecast/src/wifi/wifid-supplicant.c:254)
DEBUG: supplicant: dhcp-comm-p2p-wlan0-4: S:255.255.255.0 (supplicant_group_comm_fn() in ~/miraclecast/src/wifi/wifid-supplicant.c:254)
DEBUG: supplicant: dhcp-comm-p2p-wlan0-4: G:192.168.179.1 (supplicant_group_comm_fn() in ~/miraclecast/src/wifi/wifid-supplicant.c:254)
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-DISCONNECTED bssid=32:f7:72:64:bd:fe reason=2
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>WPS-AP-AVAILABLE-PBC
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>SME: Trying to authenticate with 32:f7:72:64:bd:fe (SSID='DIRECT-me-BRAVIA' freq=2417 MHz)
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>WPS-AP-AVAILABLE-PBC
TRACE: wpa: raw message: IFNAME=p2p-dev-wlan0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlan0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlan0 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-BSS-REMOVED 0 32:f7:72:64:bd:fe
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=p2p-dev-wlan0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlan0 <3>CTRL-EVENT-BSS-REMOVED 8 32:f7:72:64:bd:fe
TRACE: wpa: raw message: IFNAME=wlan0 <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlan0 <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: <3>P2P-GROUP-REMOVED p2p-wlan0-4 client reason=IDLE
TRACE: wpa: raw message: <3>P2P-GROUP-REMOVED p2p-wlan0-4 client reason=IDLE
DEBUG: supplicant: remove group p2p-wlan0-4 (supplicant_event_p2p_group_removed() in ~/miraclecast/src/wifi/wifid-supplicant.c:1291)
DEBUG: supplicant: free group p2p-wlan0-4 (supplicant_group_free() in ~/miraclecast/src/wifi/wifid-supplicant.c:174)
DEBUG: supplicant: killing DHCP-process pid:28451.. (supplicant_group_free() in ~/miraclecast/src/wifi/wifid-supplicant.c:198)
DEBUG: caught SIGCHLD for 28451, reaping child (manager_signal_fn() in ~/miraclecast/src/wifi/wifid.c:174)
TRACE: wpa: raw message: FAIL
Log from Terminal#2
sudo miracle-wifictl
[ADD] Link: 3
[miraclectl] # select 3
link 3 selected
[miraclectl] # list
LINK INTERFACE FRIENDLY-NAME
3 wlan0 muqsith-desktop
LINK PEER-ID FRIENDLY-NAME CONNECTED
0 peers and 1 links listed.
[miraclectl] # p2p-scan
[miraclectl] # p2p-scan stop
[miraclectl] # p2p-scan stop
[miraclectl] # p2p-scan
[ADD] Peer: 32:f7:72:64:bd:fe@3
[miraclectl] # p2p-scan stop
[miraclectl] # list
LINK INTERFACE FRIENDLY-NAME
3 wlan0 muqsith-desktop
LINK PEER-ID FRIENDLY-NAME CONNECTED
3 32:f7:72:64:bd:fe@3 KDL-40R560C no
1 peers and 1 links listed.
[miraclectl] # connect 32:f7:72:64:bd:fe@3
[CONNECT] Peer: 32:f7:72:64:bd:fe@3
[DISCONNECT] Peer: 32:f7:72:64:bd:fe@3
[miraclectl] # connect 32:f7:72:64:bd:fe@3
[CONNECT] Peer: 32:f7:72:64:bd:fe@3
[DISCONNECT] Peer: 32:f7:72:64:bd:fe@3
[miraclectl] # connect 32:f7:72:64:bd:fe@3
[CONNECT] Peer: 32:f7:72:64:bd:fe@3
[DISCONNECT] Peer: 32:f7:72:64:bd:fe@3
[miraclectl] # connect 32:f7:72:64:bd:fe@3
[CONNECT] Peer: 32:f7:72:64:bd:fe@3
[DISCONNECT] Peer: 32:f7:72:64:bd:fe@3
[miraclectl] # connect 32:f7:72:64:bd:fe@3
[CONNECT] Peer: 32:f7:72:64:bd:fe@3
[DISCONNECT] Peer: 32:f7:72:64:bd:fe@3
[FAIL] Peer: 32:f7:72:64:bd:fe@3 Reason: lost
[REMOVE] Peer: 32:f7:72:64:bd:fe@3
[miraclectl] #
In another terminal I am trying to stream out my screen to the TV
Streaming from Terminal#3
I keep below command ready, when I see the successful connection status in terminal#2, I just press return key here in terminal#3
ffmpeg -f x11grab -show_region 1 -s 1920x1080 -r 25 -i :0.0+0,0 -vcodec libx264 -pix_fmt yuv420p -preset ultrafast -tune zerolatency -f mpegts udp://192.168.179.1:1010
I could learn protocol and port from my android phone through "Packet Capture" app. My android phone connects very well to the tv and renders the screen.
Inference
The desktop successfully connects to the TV but immediately disconnects.
Success:
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-CONNECTED - Connection to 32:f7:72:64:bd:fe completed [id=0 id_str=]
Failure:
TRACE: wpa: raw message: IFNAME=p2p-wlan0-4 <3>CTRL-EVENT-DISCONNECTED bssid=32:f7:72:64:bd:fe reason=2
Later
TRACE: wpa: raw message: <3>P2P-GROUP-REMOVED p2p-wlan0-4 client reason=IDLE
Please kindly help.
Maybe I am doing something wrong while executing the commands or at ffmpeg command.
I dont think we can yet swnd an RTPS stream to the TV rn. I dont know if that's what's supposed to happen on normal conditions but for now this thread shows how to stream to a device but by using WiFi direct with a purpose of a local network instead of Display streaming. That's what explains the TV disconnectings also, it may be that the TV doesnt find any supported streaming capabilities in the connected device.
@muqsith After succesfull connect there's no miracast protocol implemented. When you use miraclecast as sink (say from a phone) it starts a RTSP negotiation (one where port it is streaming, what features it implements...) and from miracle-wifictl that's not implemented.
See last comments from @derekdai on https://gitter.im/albfan/miraclecast. Two get this implemented a first simple approach is to connect to miraclecast running on different devices (if you have a raspberry pi or two laptops should be easy) Controlling both sides is easy to fill whatever is left unimplemented on miracle-wifictl
. From there next step is to test on devices without access to it's implementation like your TV.
I can't connect with "unknown reason" message
here the trace of my log
DEBUG: supplicant: terminating wpas (pid:25165) (supplicant_failed() in /home/mate/Downloads/miraclecast-master/src/wifi/wifid-supplicant.c:2330) DEBUG: supplicant: close supplicant of rename5 (supplicant_close() in /home/mate/Downloads/miraclecast-master/src/wifi/wifid-supplicant.c:2294) DEBUG: caught SIGCHLD for 25165, reaping child (manager_signal_fn() in /home/mate/Downloads/miraclecast-master/src/wifi/wifid.c:178) TRACE: wpa: raw message: <3>P2P-GO-NEG-SUCCESS role=GO freq=2437 ht40=0 peer_dev=92:d8:f3:bf:f5:89 peer_iface=92:d8:f3:bf:f5:89 wps_method=PBC DEBUG: supplicant: set STA-MAC for 92:d8:f3:bf:f5:89 from to 92:d8:f3:bf:f5:89 (via GO-NEG-SUCCESS) (supplicant_event_p2p_go_neg_success() in /home/mate/Downloads/miraclecast-master/src/wifi/wifid-supplicant.c:1195) TRACE: wpa: raw message: IFNAME=p2p-wlp2s0-0 <5>Failed to initialize driver interface DEBUG: supplicant: unhandled wpas-event: IFNAME=p2p-wlp2s0-0 <5>Failed to initialize driver interface (supplicant_event() in /home/mate/Downloads/miraclecast-master/src/wifi/wifid-supplicant.c:1483) TRACE: wpa: raw message: <3>P2P-GROUP-FORMATION-FAILURE DEBUG: supplicant: peer Mebox connection failed (supplicant_event_p2p_group_formation_failure() in /home/mate/Downloads/miraclecast-master/src/wifi/wifid-supplicant.c:1305) [FAIL] Peer: 92:d8:f3:bf:f5:89@3 Reason: unknown
Here is another way to transmit your screen and audio from miracle-wifictl side to miracle-sinkctl side.
After P2P groupt established (both peers have its own IP), runs gstplayer in sink side
$ gstplayer -d 3 -a -p 1991 -r 720x480
And run gst-launch to send out screen and audio of your desktop
GST_DEBUG=3 gst-launch-1.0 ximagesrc use-damage=false \
! videoscale method=nearest-neighbour \
! "video/x-raw, width=720, height=480, framerate=30/1" \
! videoconvert \
! "video/x-raw, width=720, height=480, framerate=30/1, format=NV12" \
! vaapiencode_h264 \
! mpegtsmux name=muxer \
! rtpmp2tpay \
! udpsink host=192.168.50.100 port=1991 \
pulsesrc device="alsa_output.pci-0000_00_1b.0.analog-stereo.monitor" \
! audioconvert \
! avenc_aac compliance=experimental \
! muxer.
You have to replace the IP address, port and device name to make it work. If for some reason your gstreamer1.0-vaapi doesn't work, replace vaapiencode_h264 with x264enc.
The device name of pulsesrc can check with command pacmd list-sinks
.
The time skew of pipeline above between peers is kind of high, can anyone help me reduce it? Thanks!
@derekdai I added your fork as a remote and start to review your changes. I think wip/source-impl is not valid anymore right?
@albfan you are right.
I moved files in demo/
to res/
as you requested, Extracted encoder from miracle-dispd
to res/gstencoder
, some stability enhancement, etc.
Ok, I can deal with that changes from your repo. No problem
I reopen PR and will rename to WIP to denote it is not finished
@derekdai New year purpose, merge this. I just upload a branch with all the changes squashed. At least it compiles with meson.
I will try again to split the different contributions (systemd service, source impl, stream improvements)
Refreshing memories, instructions to use derekdai fork in https://github.com/albfan/miraclecast/wiki/Internals#source-implementation. Basically run miracle-dispctl
with wifid and disp services avaliable
@albfan Downloaded and built derekdai-master-squashed branch. But miracle-dispctl is not generated and I get this error
MESSAGES_DEBUG=all miracle-dispctl
miracle-dispctl: command not found
@albfan I did install it. I am able run:
sudo miracle-wifid &
sudo miracle-wifictl
After this I'm able to link and see peer devices. But the connection to the peer device fails quickly.
sudo miracle-wifictl
[ADD] Link: 3
[ADD] Peer: d0:c0:bf:fb:43:d4@3
[miraclectl] # connect d0:c0:bf:fb:43:d4@3
[FAIL] Peer: d0:c0:bf:fb:43:d4@3 Reason: unknown
[miraclectl] # connect d0:c0:bf:fb:43:d4@3
[CONNECT] Peer: d0:c0:bf:fb:43:d4@3
[DISCONNECT] Peer: d0:c0:bf:fb:43:d4@3
[miraclectl] #
But if I run this (below), I get an error:
miracle-dispctl
miracle-dispctl: command not found
@CodeMogul see @derekdai work only works on cmake. If you use autotools it will not compile or install that program
https://github.com/albfan/miraclecast/blob/derekdai-master-squashed/res/CMakeLists.txt#L72
Hi,
first of all, @albfan thank you for the great piece of software.
I have problem connecting Ubuntu 16.04 (source) with Samsung UE65MU6179 TV (sink). The connection seam to work. After starting:
G_MESSAGES_DEBUG=all miracle-dispctl -i wlp58s0 -p 7c:64:xx:xx:xx:xx
i get following output:
miracle-dispctl: peer-mac=7c:64:xx:xx:xx:xx
miracle-dispctl: display=:0
miracle-dispctl: authority=/home/stogl/.Xauthority
miracle-dispctl: interface=wlp58s0
miracle-dispctl: wfd_subelemens=000600001c4400c8
miracle-dispctl: monitor-num=0
** INFO: dispctl.vala:284: connecting to wifid...
** INFO: dispctl.vala:295: connecting to nm...
** INFO: dispctl.vala:306: connecting to dispd...
** INFO: dispctl.vala:317: fetching from wifid...
** INFO: dispctl.vala:164: found wireless interface: wlp58s0
** INFO: dispctl.vala:322: fetching from nm...
** INFO: dispctl.vala:327: fetching from wfd...
** INFO: dispctl.vala:337: NetworkManager is releasing ownership of wlp58s0...
** INFO: dispctl.vala:355: wifid is acquiring ownership of wlp58s0...
** INFO: dispctl.vala:374: wait for P2P supporting status...
** INFO: dispctl.vala:379: start P2P scanning...
miracle-dispctl: wait for peer '7c:64:xx:xx:xx:xx'...
** INFO: dispctl.vala:176: peer added: 7c:64:xx:xx:xx:xx@4 ([TV] Samsung)
** INFO: dispctl.vala:188: sink added: 7c:64:xx:xx:xx:xx@4
I believe I am missing something, since everything seams correct, but stream of my display does not start...
Any ideas?
Thanks!
@destogl collect logs from miracle-dispd and journalctl. I think there we can see more details. There must be some problem with handshaking or RSTP negotiation but really don't know if that is logged
Screencasting in wayland
https://wiki.gnome.org/Projects/Mutter/RemoteDesktop
https://gitlab.gnome.org/snippets/15
I'm confused by the instructions here. The line:
"Now do something to make your device visible (like start screen mirroring)" loses me. I have a TV, attached to it is a mirascreen dongle:
That would be my sink. I want now from my Linux machine, to send pictures to the TV. So I found miraclecast and the confusing description here:
https://github.com/albfan/miraclecast
which describes how to use miraclecast as a sink and as a peer. But I admit I have no real understanding of what is meant by peer in this context. Everything I read to date sees this mirascreen dongle as a sink to which images can be sent. In fact I can using my Android phone easily mirror its screen on the TV using that dongle and an android app. Works fine. The android phone is the source, the mirascreen dongle the sink. So what is a peer?
But never mind, there is useful link there "For a Q&D see Using as peer" that promises to provide more detail. That links to this page which is headed "miraclecast as source". Which is great and suggest peer=source to me and maybe just a language thing? Either way, I want to it, so I follow the instructions above, and I'm stuck on "Now do something to make your device visible (like start screen mirroring)" .
I'm confused. There is nothing I can do on the mirascreen dongle to make it visible. It just is, it sits there and does its thing. It has one button but that just flips it between miracast and airplay modes. That is all it has. It's on my wifi network, I can see it there, its IP and MAC and I can mirror my phones screen on it. All good. What can do on that dongle to make it visible?
It is the linux box on which I have miraclecast installed (built) that I want to use as a source, as this page is headed. And I can do the first step:
$ sudo miracle-wifid --log-level trace
INFO: miracle-wifid - revision 1.0 Jul 3 2018 19:18:54
DEBUG: friendly-name from local hostname: bigfoot (manager_read_name() in ../../../src/wifi/wifid.c:370)
DEBUG: link: new link: wlx08863bf3e29b (9) (link_new() in ../../../src/wifi/wifid-link.c:71)
DEBUG: supplicant: new supplicant for wlx08863bf3e29b (supplicant_new() in ../../../src/wifi/wifid-supplicant.c:2103)
INFO: link: add link: wlx08863bf3e29b
INFO: link: manage link wlx08863bf3e29b
DEBUG: supplicant: start supplicant of wlx08863bf3e29b (supplicant_start() in ../../../src/wifi/wifid-supplicant.c:2629)
DEBUG: supplicant: spawn supplicant of wlx08863bf3e29b (supplicant_spawn() in ../../../src/wifi/wifid-supplicant.c:2478)
INFO: supplicant: wpa_supplicant found: /sbin/wpa_supplicant
INFO: supplicant: wpas spawned as pid:11970
DEBUG: supplicant: open supplicant of wlx08863bf3e29b (supplicant_open() in ../../../src/wifi/wifid-supplicant.c:2269)
TRACE: wpa: raw message: OK
TRACE: wpa: raw message: p2p_device_address=08:86:3b:f3:e2:9b
p2p_state=IDLE
wifi_display=1
ifname=wlx08863bf3e29b
address=08:86:3b:f3:e2:9b
DEBUG: supplicant: local p2p-address is: 08:86:3b:f3:e2:9b (supplicant_status_fn() in ../../../src/wifi/wifid-supplicant.c:1823)
TRACE: wpa: raw message: OK
TRACE: wpa: raw message: OK
TRACE: wpa: raw message: FAIL
TRACE: wpa: raw message: OK
DEBUG: link: link wlx08863bf3e29b started (link_supplicant_started() in ../../../src/wifi/wifid-link.c:287)
TRACE: wpa: raw message: FAIL
TRACE: wpa: raw message: IFNAME=wlx08863bf3e29b <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=wlx08863bf3e29b <3>CTRL-EVENT-BSS-ADDED 0 04:f0:21:23:15:70
TRACE: wpa: raw message: IFNAME=wlx08863bf3e29b <3>CTRL-EVENT-BSS-ADDED 1 e4:f4:c6:12:ae:5e
TRACE: wpa: raw message: IFNAME=wlx08863bf3e29b <3>CTRL-EVENT-BSS-ADDED 2 80:37:73:e2:a4:3d
TRACE: wpa: raw message: IFNAME=wlx08863bf3e29b <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlx08863bf3e29b <3>WPS-AP-AVAILABLE
TRACE: wpa: raw message: IFNAME=wlx08863bf3e29b <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=wlx08863bf3e29b <3>CTRL-EVENT-BSS-ADDED 3 e4:f4:c6:19:2e:5f
TRACE: wpa: raw message: IFNAME=wlx08863bf3e29b <3>CTRL-EVENT-SCAN-RESULTS
TRACE: wpa: raw message: IFNAME=wlx08863bf3e29b <3>WPS-AP-AVAILABLE
which looks reasonable. I mean it sees my wifi interface which is easily visible here:
$ ifconfig
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.11 netmask 255.255.254.0 broadcast 192.168.1.255
inet6 fe80::f494:b784:3047:bf3 prefixlen 64 scopeid 0x20<link>
inet6 fd55:c3f2:2a6::b4a prefixlen 128 scopeid 0x0<global>
inet6 fd55:c3f2:2a6:0:4bd9:7ad1:e214:a3ed prefixlen 64 scopeid 0x0<global>
ether 08:62:66:4a:31:5b txqueuelen 1000 (Ethernet)
RX packets 7981807 bytes 3323654130 (3.3 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2287163 bytes 277113049 (277.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xf7d00000-f7d20000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 119652 bytes 16877113 (16.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 119652 bytes 16877113 (16.8 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlx08863bf3e29b: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 08:86:3b:f3:e2:9b txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
And I can do the second step:
$ sudo miracle-wifictl --log-level trace
[sudo] password for bernd:
[ADD] Link: 9
[miraclectl] # list
LINK INTERFACE FRIENDLY-NAME
9 wlx08863bf3e29b bigfoot
LINK PEER-ID FRIENDLY-NAME CONNECTED
0 peers and 1 links listed.
[miraclectl] #
but then I'm asked to: "Now do something to make your device visible (like start screen mirroring)" and I have no idea what that means.
So I'm confused. I never am able to get to the result:
[ADD] Peer: f2:27:65:35:b6:8f@3
[PROV] Peer: ff:ff:ff:ff:ff:ff@3 Type: pbc PIN:
[miraclectl] # list
LINK INTERFACE FRIENDLY-NAME
3 wlp3s0 archlinux-alberto
LINK PEER-ID FRIENDLY-NAME CONNECTED
3 ff:ff:ff:ff:ff:ff@3 Alberto Fanjul Alonso no
1 peers and 1 links listed.
What can I do to help my mirascreen dongle appear as a peer? Any tips deeply appreciated but I admit I am thrown by this thread:
In which it's said miracast cannot act as a source. So what is this page about? I am deeply confused by this contradiction. Any clarifications are deeply appreciated.
Hi @bernd-wechner. This issue is about the feature miracast as source. I guess that comments you mention comes from
which is just a Q&D about the feature, so you can mostly forget about all that. Clearly you cannot do anything on your TV.
peer is the concept of a node inside a network https://en.wikipedia.org/wiki/Miracast
You can read all miracast specs here: https://github.com/albfan/miraclecast/wiki/Miracast
About real implementation of miraclecast as source, that's still a WIP. Read more in wiki https://github.com/albfan/miraclecast/wiki/Internals#source-implementation and provide feedback if you can.
You will be glad to know I was recently in a GNOME conference (GUADEC) and some progress to have a working implementation of source was done (to add it to GNOME Desktop and to finish this long open issue)
Thanks for the clarification! Much appreciated. Some observations:
-
peer as I understand it in that spec relates to the fact that source and sink connect over WiFi without a WAP and without joining a network, just handshaking and talking to each other. It still seems to suggest that in the context of streaming, one peer is the source, one peer the sink.
-
Awesome that progress is being made, though sad in a way that it's still WIP. Part of me thinks just plugging a Raspberry Pi into the TV is a quicker simple solution for what I'm after. But I do have the mirascreen dongle and so am happy to try out WIP code that needs testing. Just don't have much time for upskilling enough to contribute in this space. Best I could imagine is trying something out and feeding back issues. But it looks like the WIP is in a PR here:
Though sadly it's over a year old too. But I can always try pulling the derekdai:master branch down some time and trying a build. Alas I have a load of distracting issues thanks to my Mint 19 upgrade recently that may keep me busy a while first.
I was able to connect to the other peer as source but it is a HiSense smart TV and I cannot tell the TV the port and the folder, there there must be a protocol way of connecting, any idea of how to do it?
As source you tell that to sink in a rtp protocol.
If you did that successfully with any device
I think the best way is to reverse engineering a source that works with your TV. If you have a rooted mobile you can tcpdump the connection, or dump a windows 10 connection as admin with wireshark.
Did you check if hisense works with Miracast or has his own protocol?
Thanks, I'll check that when I'm back home, but I guess it's Miracast otherwise I wouldn't be able to connect or connect the android phone without a custom branded application.
If your source is an android phone it should be Miracast
Here your mobile brand is relevant https://answers.microsoft.com/en-us/windows/forum/windows_10-hardware-winpc/windows-10-miracast-wont-connect-with-hisense-tv/d8e1f754-ca55-41d8-94c9-f347922d3168
So if you can detail mobile and hisense we can get in detail.
Seems hisense call its implementation of Miracast "anyview cast" but didn't find the specs
I don't have a rooted device, I tried monitoring the network with Wireshark, but I could only see my traffic, not all the network.
My TV is a HiSense H55N5300 and my Android Phone is a Huawei Honor 9 with Android 8.0.0.
Yes, in the TV they call it "Anyview Cast", but I read out there that this is just their implementation of the Miracast protocol with some small twists, would be nice to know which twists there are, I can't find more information.
I need to add more logging to this branch. Tried to rebase on master but lazy manage implementation diverges. Will take some time to do it
I cannot build miracast as source, but not sure if I am going rigth way..
I have downloaded miracast repository from derekdai:
git clone https://github.com/derekdai/miraclecast.git
Then some dependency issues I found:
cmake says that gstreamer-1.0 is missing so i have installed gstreamer-1.0 but no effect.
Finnaly I found that there are 2 packages in repositories: gstreamer-1.0 and gstreamer1.0
After installed gstreamer1.0 issue was solved.
Then cmake reported another issue:
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find Vala (missing: VALA_EXECUTABLE)
So I had to install valac package (btw. not listed in requirements).
Finnaly I got this error:
-- No package 'gdk-3.0' found
CMake Error at /usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:367 (message):
A required package was not found
But I cannot identify, which package I need to install.
Help please.
@lucky62 There's a branch in this repo with some fixes https://github.com/albfan/miraclecast/tree/derekdai-master-squashed
The package to download my vary from distro to distro, but gtk or libgtk-dev should work
I tried to rebase @derekdai's fork, I did it here https://github.com/edurenye/miraclecast/tree/source-side
It looks like it works without errors, I can select the network, but it can't find the peer.
I invited you both @albfan and @derekdai to collaborate on it.
@edurenye thanks for working on this. Will review soon. I will clone your fork so no need to collaborate on your fork, we can review here
Related to miraclecast as source, there's a WIP for GNOME
Well as many other people I guess I want it in other desktops, I would like to use it also in a raspberry pi.
And I'm a bit worried that if I try to patch NetworkManager I'll break it, so I'll try it in a VM when I have some free time.
Well,there is something wrong but I can't handle it.I even didn't which part go wrong.
Here is the order:
miracle-wifictl log
lian@lian-ThinkPad-T450:~$ sudo miracle-wifictl --log-level trace
[sudo] lian 的密码:
[ADD] Link: 3
[miraclectl] # list
LINK INTERFACE FRIENDLY-NAME MANAGED
3 wlp3s0 <unknown> yes
LINK PEER-ID FRIENDLY-NAME CONNECTED
0 peers and 1 links listed.
[miraclectl] # select 3
link 3 selected
[miraclectl] # p2p-scan
[ADD] Peer: 16:ab:c5:07:26:19@3
[ADD] Peer: 14:ab:c5:07:26:1a@3
[ADD] Peer: 0e:54:15:ac:21:14@3
[ADD] Peer: 0c:54:15:ac:21:15@3
[ADD] Peer: 5a:63:56:c1:68:13@3
[miraclectl] # connect 5a:63:56:c1:68:13@3
[FAIL] Peer: 5a:63:56:c1:68:13@3 Reason: disconnected
[REMOVE] Peer: 0c:54:15:ac:21:15@3
[REMOVE] Peer: 14:ab:c5:07:26:1a@3
[REMOVE] Peer: 5a:63:56:c1:68:13@3
[miraclectl] #
And the trace as follow:
miracle-wifid log
lian@lian-ThinkPad-T450:~$ systemctl stop NetworkManager.service && systemctl stop wpa_supplicant.service
lian@lian-ThinkPad-T450:~$ sudo miracle-wifid --log-level trace
[sudo] lian 的密码:
INFO: miracle-wifid - revision 1.0 Dec 12 2018 15:34:21
DEBUG: friendly-name from local hostname: lian-ThinkPad-T450 (manager_read_name() in /home/lian/miraclecast/src/wifi/wifid.c:388)
DEBUG: link: new link: wlp3s0 (3) (link_new() in /home/lian/miraclecast/src/wifi/wifid-link.c:71)
DEBUG: supplicant: new supplicant for wlp3s0 (supplicant_new() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:2103)
INFO: link: add link: wlp3s0
INFO: link: manage link wlp3s0
DEBUG: supplicant: start supplicant of wlp3s0 (supplicant_start() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:2628)
DEBUG: supplicant: spawn supplicant of wlp3s0 (supplicant_spawn() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:2478)
INFO: supplicant: wpa_supplicant found: /sbin/wpa_supplicant
INFO: supplicant: wpas spawned as pid:3456
DEBUG: supplicant: open supplicant of wlp3s0 (supplicant_open() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:2269)
TRACE: wpa: raw message: OK
TRACE: wpa: raw message: OK
TRACE: wpa: raw message: p2p_device_address=10:02:b5:ca:ec:94
p2p_state=IDLE
wifi_display=1
ifname=p2p-dev-wlp3s0
address=10:02:b5:ca:ec:94
ifname=wlp3s0
address=10:02:b5:ca:ec:93
DEBUG: supplicant: local p2p-address is: 10:02:b5:ca:ec:94 (supplicant_status_fn() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:1823)
TRACE: wpa: raw message: OK
TRACE: wpa: raw message: OK
TRACE: wpa: raw message: FAIL
TRACE: wpa: raw message: OK
TRACE: wpa: raw message: FAIL
DEBUG: supplicant: sent P2P_FIND to wpas on wlp3s0 (supplicant_p2p_start_scan() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:2036)
TRACE: wpa: raw message: OK
DEBUG: supplicant: p2p-scanning now active on wlp3s0 (supplicant_p2p_find_fn() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:1917)
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>P2P-DEVICE-FOUND 16:ab:c5:07:26:19 p2p_dev_addr=14:ab:c5:07:26:1a pri_dev_type=7-0050F200-0 name='DESKTOP-BOOLEAN' config_methods=0x88 dev_capab=0x25 group_capab=0x8b wfd_dev_info=0x00111c440006 new=1
TRACE: wpa: raw message: <3>P2P-DEVICE-FOUND 16:ab:c5:07:26:19 p2p_dev_addr=14:ab:c5:07:26:1a pri_dev_type=7-0050F200-0 name='DESKTOP-BOOLEAN' config_methods=0x88 dev_capab=0x25 group_capab=0x8b wfd_dev_info=0x00111c440006 new=1
DEBUG: peer: new peer: 16:ab:c5:07:26:19 @ wlp3s0 (peer_new() in /home/lian/miraclecast/src/wifi/wifid-peer.c:52)
INFO: peer: add peer: 16:ab:c5:07:26:19
DEBUG: peer: peer 16:ab:c5:07:26:19 @ wlp3s0 started (peer_supplicant_started() in /home/lian/miraclecast/src/wifi/wifid-peer.c:162)
DEBUG: supplicant: requesting data for new peer 14:ab:c5:07:26:1a (supplicant_event_p2p_device_found() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:962)
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 0 94:77:2b:9b:c5:d8
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 1 f4:83:cd:b2:8e:0f
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 2 b0:95:8e:61:65:9b
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 3 bc:46:99:53:e6:96
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 4 dc:fe:18:ae:2a:d8
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 5 b0:39:56:70:b4:af
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 6 ec:26:ca:1b:56:ae
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 7 16:ab:c5:07:26:19
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 8 8c:a6:df:ca:0b:23
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 9 8c:a6:df:ca:10:33
TRACE: wpa: raw message: 14:ab:c5:07:26:1a
pri_dev_type=7-0050F200-0
device_name=DESKTOP-BOOLEAN
manufacturer=Microsoft
model_name=Windows PC
model_number=10.0.17134
serial_number=0
config_methods=0x88
dev_capab=0x25
group_capab=0x8b
level=-62
age=1
listen_freq=2462
wps_method=not-ready
interface_addr=16:ab:c5:07:26:19
member_in_go_dev=00:00:00:00:00:00
member_in_go_iface=00:00:00:00:00:00
go_neg_req_sent=0
go_state=unknown
dialog_token=0
intended_addr=00:00:00:00:00:00
country=__
oper_freq=0
req_config_methods=0x0
flags=[REPORTED]
status=0
invitation_reqs=0
oper_ssid=DIRECT-TMDESKTOP-BOOLEANmsYi
wfd_subelems=00000600111c440006
DEBUG: peer: new peer: 14:ab:c5:07:26:1a @ wlp3s0 (peer_new() in /home/lian/miraclecast/src/wifi/wifid-peer.c:52)
INFO: peer: add peer: 14:ab:c5:07:26:1a
DEBUG: peer: peer 14:ab:c5:07:26:1a @ wlp3s0 started (peer_supplicant_started() in /home/lian/miraclecast/src/wifi/wifid-peer.c:162)
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 10 f4:83:cd:b2:1d:23
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 11 c4:ff:1f:51:ee:01
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>P2P-DEVICE-FOUND 0e:54:15:ac:21:14 p2p_dev_addr=0c:54:15:ac:21:15 pri_dev_type=7-0050F200-0 name='LAPTOP-07K6HK54' config_methods=0x88 dev_capab=0x25 group_capab=0x8b wfd_dev_info=0x00111c440006 new=1
TRACE: wpa: raw message: <3>P2P-DEVICE-FOUND 0e:54:15:ac:21:14 p2p_dev_addr=0c:54:15:ac:21:15 pri_dev_type=7-0050F200-0 name='LAPTOP-07K6HK54' config_methods=0x88 dev_capab=0x25 group_capab=0x8b wfd_dev_info=0x00111c440006 new=1
DEBUG: peer: new peer: 0e:54:15:ac:21:14 @ wlp3s0 (peer_new() in /home/lian/miraclecast/src/wifi/wifid-peer.c:52)
INFO: peer: add peer: 0e:54:15:ac:21:14
DEBUG: peer: peer 0e:54:15:ac:21:14 @ wlp3s0 started (peer_supplicant_started() in /home/lian/miraclecast/src/wifi/wifid-peer.c:162)
DEBUG: supplicant: requesting data for new peer 0c:54:15:ac:21:15 (supplicant_event_p2p_device_found() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:962)
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 12 0e:54:15:ac:21:14
TRACE: wpa: raw message: 0c:54:15:ac:21:15
pri_dev_type=7-0050F200-0
device_name=LAPTOP-07K6HK54
manufacturer=Microsoft
model_name=Windows PC
model_number=10.0.17134
serial_number=0
config_methods=0x88
dev_capab=0x25
group_capab=0x8b
level=-47
age=0
listen_freq=2437
wps_method=not-ready
interface_addr=0e:54:15:ac:21:14
member_in_go_dev=00:00:00:00:00:00
member_in_go_iface=00:00:00:00:00:00
go_neg_req_sent=0
go_state=unknown
dialog_token=0
intended_addr=00:00:00:00:00:00
country=__
oper_freq=0
req_config_methods=0x0
flags=[REPORTED]
status=0
invitation_reqs=0
oper_ssid=DIRECT-HSLAPTOP-07K6HK54msQF
wfd_subelems=00000600111c440006
DEBUG: peer: new peer: 0c:54:15:ac:21:15 @ wlp3s0 (peer_new() in /home/lian/miraclecast/src/wifi/wifid-peer.c:52)
INFO: peer: add peer: 0c:54:15:ac:21:15
DEBUG: peer: peer 0c:54:15:ac:21:15 @ wlp3s0 started (peer_supplicant_started() in /home/lian/miraclecast/src/wifi/wifid-peer.c:162)
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 13 c6:8e:8f:fe:0b:b5
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>P2P-DEVICE-FOUND 5a:63:56:c1:68:13 p2p_dev_addr=5a:63:56:c1:68:13 pri_dev_type=7-0050F204-1 name='Wecast-86d739' config_methods=0x88 dev_capab=0x21 group_capab=0x0 wfd_dev_info=0x01111c440032 new=1
TRACE: wpa: raw message: <3>P2P-DEVICE-FOUND 5a:63:56:c1:68:13 p2p_dev_addr=5a:63:56:c1:68:13 pri_dev_type=7-0050F204-1 name='Wecast-86d739' config_methods=0x88 dev_capab=0x21 group_capab=0x0 wfd_dev_info=0x01111c440032 new=1
DEBUG: peer: new peer: 5a:63:56:c1:68:13 @ wlp3s0 (peer_new() in /home/lian/miraclecast/src/wifi/wifid-peer.c:52)
INFO: peer: add peer: 5a:63:56:c1:68:13
DEBUG: peer: peer 5a:63:56:c1:68:13 @ wlp3s0 started (peer_supplicant_started() in /home/lian/miraclecast/src/wifi/wifid-peer.c:162)
DEBUG: supplicant: requesting data for new peer 5a:63:56:c1:68:13 (supplicant_event_p2p_device_found() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:962)
TRACE: wpa: raw message: 5a:63:56:c1:68:13
pri_dev_type=7-0050F204-1
device_name=Wecast-86d739
manufacturer=
model_name=
model_number=
serial_number=
config_methods=0x88
dev_capab=0x21
group_capab=0x0
level=-29
age=0
listen_freq=2462
wps_method=not-ready
interface_addr=00:00:00:00:00:00
member_in_go_dev=00:00:00:00:00:00
member_in_go_iface=00:00:00:00:00:00
go_neg_req_sent=0
go_state=unknown
dialog_token=0
intended_addr=00:00:00:00:00:00
country=__
oper_freq=0
req_config_methods=0x0
flags=[REPORTED]
status=0
invitation_reqs=0
wfd_subelems=00000601111c440032
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 14 5c:63:bf:b3:29:ae
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 15 14:a0:f8:d3:7d:21
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 16 ec:26:ca:68:14:b6
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 17 14:a0:f8:d3:75:60
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 18 30:fc:68:6b:36:24
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 19 e6:70:b8:3f:d0:86
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 20 c4:ff:1f:51:ee:00
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 21 14:a0:f8:d3:75:61
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 22 f4:83:cd:b2:9c:d9
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 23 14:a0:f8:d3:7d:20
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 24 96:65:9c:91:56:ea
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 25 8e:25:93:d5:5a:03
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 26 14:a0:f8:d3:75:41
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 27 0c:4b:54:34:71:42
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 28 14:a0:f8:d3:76:00
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-ADDED 29 14:a0:f8:d3:7f:01
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: IFNAME=p2p-dev-wlp3s0 <3>CTRL-EVENT-SCAN-STARTED
TRACE: wpa: raw message: <3>CTRL-EVENT-SCAN-STARTED
DEBUG: supplicant: connect to 5a:63:56:c1:68:13 via pbc/(null) (supplicant_peer_connect() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:739)
TRACE: wpa: raw message: <3>P2P-FIND-STOPPED
TRACE: wpa: raw message: OK
TRACE: wpa: raw message: <3>P2P-FIND-STOPPED
DEBUG: supplicant: p2p-scanning stopped on wlp3s0 (supplicant_event_p2p_find_stopped() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:904)
TRACE: wpa: raw message: <3>P2P-GO-NEG-SUCCESS role=GO freq=2437 ht40=0 peer_dev=5a:63:56:c1:68:13 peer_iface=5a:63:56:c1:68:13 wps_method=PBC
TRACE: wpa: raw message: <3>P2P-GO-NEG-SUCCESS role=GO freq=2437 ht40=0 peer_dev=5a:63:56:c1:68:13 peer_iface=5a:63:56:c1:68:13 wps_method=PBC
DEBUG: supplicant: set STA-MAC for 5a:63:56:c1:68:13 from <none> to 5a:63:56:c1:68:13 (via GO-NEG-SUCCESS) (supplicant_event_p2p_go_neg_success() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:1195)
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>AP-ENABLED
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>CTRL-EVENT-CONNECTED - Connection to 10:02:b5:ca:ec:95 completed [id=0 id_str=]
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>WPS-PBC-ACTIVE
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>CTRL-EVENT-EAP-STARTED 5a:63:56:c1:68:13
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=1
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>CTRL-EVENT-EAP-STARTED 5a:63:56:c1:68:13
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=1
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>CTRL-EVENT-EAP-PROPOSED-METHOD vendor=14122 method=254
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>WPS-REG-SUCCESS 5a:63:56:c1:68:13 de02cdcb-a476-5aa0-81aa-5ef37c9ce64a
TRACE: wpa: raw message: <3>P2P-GROUP-FORMATION-SUCCESS
TRACE: wpa: raw message: <3>P2P-GROUP-FORMATION-SUCCESS
TRACE: wpa: raw message: <3>P2P-GROUP-STARTED p2p-wlp3s0-0 GO ssid="DIRECT-72" freq=2437 passphrase="w26WZraT" go_dev_addr=10:02:b5:ca:ec:94
TRACE: wpa: raw message: <3>P2P-GROUP-STARTED p2p-wlp3s0-0 GO ssid="DIRECT-72" freq=2437 passphrase="w26WZraT" go_dev_addr=10:02:b5:ca:ec:94
DEBUG: supplicant: ssid: DIRECT-72 (supplicant_event_p2p_group_started() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:1220)
DEBUG: supplicant: new group: p2p-wlp3s0-0 (supplicant_group_new() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:489)
DEBUG: supplicant: start local group on new group p2p-wlp3s0-0 as GO/1 (supplicant_event_p2p_group_started() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:1255)
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>WPS-PBC-DISABLE
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>WPS-SUCCESS
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>CTRL-EVENT-EAP-FAILURE 5a:63:56:c1:68:13
DEBUG: supplicant: dhcp-comm-p2p-wlp3s0-0: L:192.168.50.1 (supplicant_group_comm_fn() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:254)
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>AP-STA-CONNECTED 5a:63:56:c1:68:13 p2p_dev_addr=5a:63:56:c1:68:13
TRACE: wpa: raw message: <3>AP-STA-CONNECTED 5a:63:56:c1:68:13 p2p_dev_addr=5a:63:56:c1:68:13
DEBUG: supplicant: no ifname in AP-STA-CONNECTED: <3>AP-STA-CONNECTED 5a:63:56:c1:68:13 p2p_dev_addr=5a:63:56:c1:68:13 (supplicant_event_ap_sta_connected() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:1377)
DEBUG: supplicant: dhcp-comm-p2p-wlp3s0-0: R:5a:63:56:c1:68:13 192.168.50.100 (supplicant_group_comm_fn() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:254)
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>AP-STA-DISCONNECTED 5a:63:56:c1:68:13 p2p_dev_addr=5a:63:56:c1:68:13
TRACE: wpa: raw message: <3>AP-STA-DISCONNECTED 5a:63:56:c1:68:13 p2p_dev_addr=5a:63:56:c1:68:13
DEBUG: supplicant: unbind peer 5a:63:56:c1:68:13 from its group (supplicant_event_ap_sta_disconnected() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:1421)
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>WPS-ENROLLEE-SEEN 68:3e:34:fb:23:55 3bff0129-27f3-5f19-a0cf-c595eb95088c 10-0050F204-5 0x4288 0 0 [meizu_MX6]
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>WPS-ENROLLEE-SEEN 68:3e:34:fb:23:55 3bff0129-27f3-5f19-a0cf-c595eb95088c 10-0050F204-5 0x4288 0 0 [meizu_MX6]
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>WPS-ENROLLEE-SEEN 68:3e:34:fb:23:55 3bff0129-27f3-5f19-a0cf-c595eb95088c 10-0050F204-5 0x4288 0 0 [meizu_MX6]
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>WPS-ENROLLEE-SEEN 68:3e:34:fb:23:55 3bff0129-27f3-5f19-a0cf-c595eb95088c 10-0050F204-5 0x4288 0 0 [meizu_MX6]
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>WPS-ENROLLEE-SEEN b8:27:eb:1c:4b:f6 0705dcc8-399e-5f2b-b1d6-e1b52cdf6186 0-00000000-0 0x3148 0 0 [ ]
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>WPS-ENROLLEE-SEEN b8:27:eb:1c:4b:f6 0705dcc8-399e-5f2b-b1d6-e1b52cdf6186 0-00000000-0 0x3148 0 0 [ ]
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>WPS-ENROLLEE-SEEN b8:27:eb:1c:4b:f6 0705dcc8-399e-5f2b-b1d6-e1b52cdf6186 0-00000000-0 0x3148 0 0 [ ]
TRACE: wpa: raw message: IFNAME=p2p-wlp3s0-0 <3>WPS-ENROLLEE-SEEN b8:27:eb:1c:4b:f6 0705dcc8-399e-5f2b-b1d6-e1b52cdf6186 0-00000000-0 0x3148 0 0 [ ]
TRACE: wpa: raw message: <3>P2P-DEVICE-LOST p2p_dev_addr=0c:54:15:ac:21:15
TRACE: wpa: raw message: <3>P2P-DEVICE-LOST p2p_dev_addr=14:ab:c5:07:26:1a
TRACE: wpa: raw message: <3>P2P-DEVICE-LOST p2p_dev_addr=0c:54:15:ac:21:15
DEBUG: supplicant: lost peer 0c:54:15:ac:21:15 (supplicant_event_p2p_device_lost() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:986)
DEBUG: peer: peer 0c:54:15:ac:21:15 @ wlp3s0 stopped (peer_supplicant_stopped() in /home/lian/miraclecast/src/wifi/wifid-peer.c:172)
DEBUG: peer: free peer: 0c:54:15:ac:21:15 @ wlp3s0 (peer_free() in /home/lian/miraclecast/src/wifi/wifid-peer.c:90)
INFO: peer: remove peer: 0c:54:15:ac:21:15
TRACE: wpa: raw message: <3>P2P-DEVICE-LOST p2p_dev_addr=14:ab:c5:07:26:1a
DEBUG: supplicant: lost peer 14:ab:c5:07:26:1a (supplicant_event_p2p_device_lost() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:986)
DEBUG: peer: peer 14:ab:c5:07:26:1a @ wlp3s0 stopped (peer_supplicant_stopped() in /home/lian/miraclecast/src/wifi/wifid-peer.c:172)
DEBUG: peer: free peer: 14:ab:c5:07:26:1a @ wlp3s0 (peer_free() in /home/lian/miraclecast/src/wifi/wifid-peer.c:90)
INFO: peer: remove peer: 14:ab:c5:07:26:1a
TRACE: wpa: raw message: <3>P2P-DEVICE-LOST p2p_dev_addr=5a:63:56:c1:68:13
TRACE: wpa: raw message: <3>P2P-DEVICE-LOST p2p_dev_addr=5a:63:56:c1:68:13
DEBUG: supplicant: lost peer 5a:63:56:c1:68:13 (supplicant_event_p2p_device_lost() in /home/lian/miraclecast/src/wifi/wifid-supplicant.c:986)
DEBUG: peer: peer 5a:63:56:c1:68:13 @ wlp3s0 stopped (peer_supplicant_stopped() in /home/lian/miraclecast/src/wifi/wifid-peer.c:172)
DEBUG: peer: free peer: 5a:63:56:c1:68:13 @ wlp3s0 (peer_free() in /home/lian/miraclecast/src/wifi/wifid-peer.c:90)
INFO: peer: remove peer: 5a:63:56:c1:68:13
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 22 f4:83:cd:b2:9c:d9
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 1 f4:83:cd:b2:8e:0f
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 3 bc:46:99:53:e6:96
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 0 94:77:2b:9b:c5:d8
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 2 b0:95:8e:61:65:9b
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 8 8c:a6:df:ca:0b:23
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 9 8c:a6:df:ca:10:33
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 10 f4:83:cd:b2:1d:23
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 6 ec:26:ca:1b:56:ae
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 4 dc:fe:18:ae:2a:d8
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 13 c6:8e:8f:fe:0b:b5
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 12 0e:54:15:ac:21:14
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 11 c4:ff:1f:51:ee:01
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 20 c4:ff:1f:51:ee:00
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 14 5c:63:bf:b3:29:ae
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 25 8e:25:93:d5:5a:03
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 7 16:ab:c5:07:26:19
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 21 14:a0:f8:d3:75:61
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 16 ec:26:ca:68:14:b6
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 15 14:a0:f8:d3:7d:21
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 23 14:a0:f8:d3:7d:20
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 27 0c:4b:54:34:71:42
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 17 14:a0:f8:d3:75:60
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 18 30:fc:68:6b:36:24
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 26 14:a0:f8:d3:75:41
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 19 e6:70:b8:3f:d0:86
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 28 14:a0:f8:d3:76:00
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 24 96:65:9c:91:56:ea
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 29 14:a0:f8:d3:7f:01
TRACE: wpa: raw message: IFNAME=wlp3s0 <3>CTRL-EVENT-BSS-REMOVED 5 b0:39:56:70:b4:af
So could you give some suggestion? Appreciate!
@lianzhidong miracle-wifictl is not fully implemented, miraclecast as source is a WIP. You need to provide feedback on #172 PR
right now run as source work until the dhcp communication. So next step is to disable (maybe add a debug parameter) timeout on connect and open manually a miracle-dhcp server and client and use created interface to reach the connected signal.
After that, same rstp as gnome-network-displays can be used to share screen
Hi Albfan,
I´m here again rsrs..
I´d like firt to thanks and glad you for making miraclecast work as WFD_Sink and mirroring WFD_Source as Windows 11 and many other new devices.
Now I´m trying the inverse. We developed a Windows-App with works as WFD_Sink. Windows 11 already have it featore, but, our application will accept as Source Device ( Miracast and AirPlay) - Our AirPlay development was based on RPiPlay with the contribuitters mada successfull reverse engineering because it uses many proproetary plists, keys exchanging and sends video streammers encrypted.
Well. I was trying to use miraclecast as WFD_Source. It can find our miracast WFD_Sink running and also Windows WFD_Sink running, but, when I tried to connect it looks like connecting, bot nothing happens on other side.[[
IMPORTANT:- I Didnt ran the long command you said for player. but, I Think RTSP exchannges should starts. Is it right?
@OliveiraICTS by now the only option is to use the PR where there's a vala implementation. But I think it only will work on x11 server.
Thanks!!!
So if I read this correctly I cannot use this to connect my RPI4 to a wireless display. Correct?
I got the following error after found peers and try to connect:
[miraclectl] # connect 50:e0:85:76:5f:f8@3
[miraclectl] # list
LINK INTERFACE FRIENDLY-NAME MANAGED
3 wlp4s0 <unknown> yes
LINK PEER-ID FRIENDLY-NAME CONNECTED
3 52:e0:85:76:5f:f7@3 lc-lap-x1 no
3 50:e0:85:76:5f:f8@3 lc-lap-x1 no
2 peers and 1 links listed.
[miraclectl] # list
LINK INTERFACE FRIENDLY-NAME MANAGED
3 wlp4s0 <unknown> yes
LINK PEER-ID FRIENDLY-NAME CONNECTED
3 52:e0:85:76:5f:f7@3 lc-lap-x1 no
3 50:e0:85:76:5f:f8@3 lc-lap-x1 no
2 peers and 1 links listed.
[FAIL] Peer: 50:e0:85:76:5f:f8@3 Reason: group owner negotiation failed
[REMOVE] Peer: 50:e0:85:76:5f:f8@3
Our miracle-dhcp fails being GO and serving IPs. We need to force that or fix the miracle-dhcp implementation
Albfran - I´m available to help you to fix it problem. Just let me know Okay?
I thanks a test for miracle-dhcp should be enough.
It is able to negotiate ips when is not GO but fails to do it when it is.
I try to find any basic implementation to compare, but didn't find It.
Force no GO is the easy fix (there's config on WiFi Direct for that)
Find a dhcp implementation with test to verify miracle-dhcp is the hard/right way
I´ll test and report it for you
Any progress on the above? Or any better place to follow the progression?
I also got the same fail [FAIL] Peer: xx:xx:xx:xx:xx:xx@3 Reason: group owner negotiation failed
In My experience, normally the WFD Sink is set to be group owner, but, in some cases the WFD Source can be. The Group Owner act as DHCP Server sending an Ip Address to other side to connect on port RTSP(7236) used for control. rsrsrsr
@OliveiraICTS did my message accidentally wake you up? 😂
I am still looking for a way to cast from Ubuntu and found this:
https://gitlab.com/ubports/development/core/aethercast
Maybe something to look into?