# miracast no systemd

## cloc3

mi rendo conto che la mia è una pretesa impossibile. ma la speranza è l'ultima a morire.

ho bisogno di utilizzare un proiettore miracast.

esisterebbe miraclecast, ma mette nelle dipendenze systemd.

conoscete qualche via d'uscita?

----------

## fedeliallalinea

Leggendo questo commento, sembrerebbe che miraclecast e'  fortemente legato a systemd (quindi non lo usa solo per gli script unit). Ho provato anche io a eliminare il check dal configure ma nella compilazione ritorna subito un errore perche' non esiste un header di systemd 

```
make  all-recursive

make[1]: Entering directory '/home/fat/Downloads/miraclecast-master'

Making all in src

make[2]: Entering directory '/home/fat/Downloads/miraclecast-master/src'

Making all in shared

make[3]: Entering directory '/home/fat/Downloads/miraclecast-master/src/shared'

  CC       rtsp.lo

rtsp.c:31:30: fatal error: systemd/sd-event.h: No such file or directory

compilation terminated.

make[3]: *** [Makefile:424: rtsp.lo] Error 1

make[3]: Leaving directory '/home/fat/Downloads/miraclecast-master/src/shared'

make[2]: *** [Makefile:525: all-recursive] Error 1

make[2]: Leaving directory '/home/fat/Downloads/miraclecast-master/src'

make[1]: *** [Makefile:416: all-recursive] Error 1

make[1]: Leaving directory '/home/fat/Downloads/miraclecast-master'

make: *** [Makefile:348: all] Error 2
```

Sempre in quel commanto pero' fanno riferimanto al progetto WDS che non fa uso di systemd.

----------

## cloc3

 *fedeliallalinea wrote:*   

> 
> 
> Sempre in quel commanto pero' fanno riferimanto al progetto WDS che non fa uso di systemd.

 

grazie.

anche io avevo fatto le tue stesse prove e avevo trovato il riferimento a WDS, ma lo avevo sottovalutato.

adesso il tuo commento mi ha ridato fiducia.

ho provato a scaricare il sorgente e a compilarlo con make e cmake e non ho ricevuto errori, però non sono riuscito a capire quali siano esattamente i file che l'ebuild dovrebbe installare, qualora fosse implementato correttamente. ci sarebbero alcuni esempi di implementazione, ma la cosa mi sembra ancora poco trasparente.

inoltre ho notato nel README.md una richiesta particolare per la compilazione di wpa_supplicant:

 *Quote:*   

> 
> 
> wpa_supplicant: version 2.4 or later, built with CONFIG_P2P=y, CONFIG_WIFI_DISPLAY=y and CONFIG_CTRL_IFACE_DBUS_NEW=y
> 
> 

 

nei sorgenti di wpa_supplicant manca una useflag specifica, mentre si trova:

```

cloc3Lnv ~/prova/wpa_supplicant-2.6 # grep -ErH  'CONFIG_CTRL_IFACE_DBUS_NEW|CONFIG_WIFI_DISPLAY' . |grep -E 'y|CFLAGS'

./wpa_supplicant/defconfig:#CONFIG_CTRL_IFACE_DBUS_NEW=y

./wpa_supplicant/defconfig:#CONFIG_WIFI_DISPLAY=y

./wpa_supplicant/dbus/Makefile:CFLAGS += -DCONFIG_CTRL_IFACE_DBUS_NEW

./wpa_supplicant/Makefile:CFLAGS += -DCONFIG_WIFI_DISPLAY

./wpa_supplicant/Makefile:DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS_NEW

./wpa_supplicant/Android.mk:L_CFLAGS += -DCONFIG_WIFI_DISPLAY

./wpa_supplicant/Android.mk:DBUS_CFLAGS += -DCONFIG_CTRL_IFACE_DBUS_NEW

./wpa_supplicant/android.config:#CONFIG_CTRL_IFACE_DBUS_NEW=y

./wpa_supplicant/android.config:CONFIG_WIFI_DISPLAY=y

./src/p2p/Makefile:CFLAGS += -DCONFIG_WIFI_DISPLAY

```

come minimo, quindi, bisognerebbe riscrivere l'ebuild di wpa_supplicant o chiedere supporto al mantainer ufficiale.

----------

## fedeliallalinea

Devi abilitare la use flag p2p, dbus. CONFIG_WIFI_DISPLAY e' attivata con la p2p.

```
...

        if use dbus ; then

                Kconfig_style_config CTRL_IFACE_DBUS

                Kconfig_style_config CTRL_IFACE_DBUS_NEW

                Kconfig_style_config CTRL_IFACE_DBUS_INTRO

        fi

...

        if use p2p ; then

                Kconfig_style_config P2P

                Kconfig_style_config WIFI_DISPLAY

        fi

...
```

----------

## fedeliallalinea

Se vuoi questo e' una prima bozza di ebuild

```
# Copyright 1999-2017 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

EAPI=6

inherit cmake-utils

DESCRIPTION="Wireless Display Software"

HOMEPAGE="https://github.com/intel/wds"

SRC_URI="https://github.com/intel/${PN}/archive/v${PV}.tar.gz"

LICENSE="GPL-2"

SLOT="0"

KEYWORDS="~amd64 *-"

IUSE=""

DEPEND=""

RDEPEND=">=net-wireless/wpa_supplicant-2.4[dbus,p2p]

   >=net-misc/connman-1.28

   media-libs/gstreamer:1.0"

DOCS=( COPYING README.md TODO )
```

PS: posso chiedere ai mod di spostare questo thread in "Forum di discussione italiano" visto che si parla di un SW non ufficiale?

----------

## cloc3

 *fedeliallalinea wrote:*   

> 
> 
> PS: posso chiedere ai mod di spostare questo thread in "Forum di discussione italiano" visto che si parla di un SW non ufficiale?

 

ci mancherebbe  :Smile: . non servirebbe neppure chiedere.

io continuo a postare nel forum principale, perché, in questo momento, mi pare che il traffico sia ben sostenibile e perché penso che l'introduzione di qualche post un po' esotico possa aggiungere un minimo di varietà al dibattito, ma su queste cose dovete decidere voi in piena libertà.

----------

## fedeliallalinea

Nuovo ebuild con FEATURES test per fare in modo che installi anche gli script di test

```
# Copyright 1999-2017 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

EAPI=6

inherit cmake-utils

DESCRIPTION="Wireless Display Software"

HOMEPAGE="https://github.com/intel/wds"

SRC_URI="https://github.com/intel/${PN}/archive/v${PV}.tar.gz"

LICENSE="GPL-2"

SLOT="0"

KEYWORDS="-* ~amd64"

IUSE="test"

DEPEND="dev-util/patchelf"

RDEPEND=">=net-wireless/wpa_supplicant-2.4[dbus,p2p]

        >=net-misc/connman-1.28

        media-libs/gstreamer:1.0"

DOCS=( COPYING README.md TODO )

src_install() {

        cmake-utils_src_install

        if use test ; then

                patchelf --set-rpath '$ORIGIN' "${BUILD_DIR}/desktop_source/desktop-source-test"

                dobin "${BUILD_DIR}/desktop_source/desktop-source-test"

                patchelf --set-rpath '$ORIGIN' "${BUILD_DIR}/sink/sink-test"

                dobin "${BUILD_DIR}/sink/sink-test"

        fi

}
```

Mi da un problema di QA che devo capire come risolvere ma dovrebbe installare cmq

 *cloc3 wrote:*   

> io continuo a postare nel forum principale, perché, in questo momento, mi pare che il traffico sia ben sostenibile e perché penso che l'introduzione di qualche post un po' esotico possa aggiungere un minimo di varietà al dibattito, ma su queste cose dovete decidere voi in piena libertà.

 

Non so piu' moderatore e quindi chiedo prima di fare qualcosa  :Very Happy:  , ma purtroppo mi piace l'ordine  :Razz: 

EDIT: dovrei avere risolto il problema di QA (non ne sono certo che sia il metodo giusto). L'ebuild lo trovi anche nel mio overlay

----------

## cloc3

ho installato wds.

il pacchetto compila correttamente.

tuttavia, non sono ancora riuscito a utilizzarlo.

ho provato a usare connman in questo modo:

```

cloc3@cloc3Lnv ~ $ connmanctl 

connmanctl> enable wifi

Error wifi: Already enabled

connmanctl> enable p2p

Enabled p2p

connmanctl> scan p2p

connmanctl> 

connmanctl> peers

MSDisplayAdapter_8E idle peer_34e6adc60ab1_9a5fd3bc358e

connmanctl> agent on

Agent registered

Scan completed for p2p

connmanctl> peers

MSDisplayAdapter_8E idle peer_34e6adc60ab1_9a5fd3bc358e

connmanctl> connect peer_34e6adc60ab1_9a5fd3bc358e

Agent RequestPeerAuthorization peer_34e6adc60ab1_9a5fd3bc358e

  WPS = [ Type=wpspin, Requirement=mandatory ]

WPS PIN (empty line for pushbutton)? 

Connected peer_34e6adc60ab1_9a5fd3bc358e

connmanctl>

Error /net/connman/technology/p2p: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

```

sul display osservo un tentativo di connessione con la mia macchina, e compare sullo schermo il mio hostname in fase di attesa per la connessione, ma dopo qualche decina di secondi il proiettore si rimette in attesa e connmanctl visualizza il messaggio di errore riportato.

temo di essere caduto in questo problema di interoperabilità.

il proiettore, infatti, è un Microsoft Wireless Display e sembra che, talvolta, la comunicazione con connman non funzioni correttamente in modalità p2p.

o forse, potrei avere un problema di bus security policy, di cui però non vedo alcun output.

aggiungo anche l'output del log di sistema:

```

Oct 26 10:23:08 [connmand] p2p-wlan0-0 {create} index 14 type 1 <ETHER>

Oct 26 10:23:08 [connmand] p2p-wlan0-0 {update} flags 4098 <DOWN>

Oct 26 10:23:08 [connmand] p2p-wlan0-0 {newlink} index 14 address 34:E6:AD:C6:0A:B2 mtu 1500

Oct 26 10:23:08 [connmand] p2p-wlan0-0 {newlink} index 14 operstate 2 <DOWN>

Oct 26 10:23:08 [NetworkManager] <info>  [1509006188.9560] wifi-nl80211: (p2p-wlan0-0): using nl80211 for WiFi device control

Oct 26 10:23:08 [connmand] Adding interface p2p-wlan0-0 [ wifi ]

Oct 26 10:23:08 [kernel] [ 1383.901026] IPv6: ADDRCONF(NETDEV_UP): p2p-wlan0-0: link is not ready

Oct 26 10:23:08 [connmand] p2p-wlan0-0 {update} flags 36931 <UP,RUNNING>

Oct 26 10:23:08 [connmand] p2p-wlan0-0 {newlink} index 14 address 34:E6:AD:C6:0A:B2 mtu 1500

Oct 26 10:23:08 [connmand] p2p-wlan0-0 {newlink} index 14 operstate 0 <UNKNOWN>

Oct 26 10:23:08 [connmand] p2p-wlan0-0 {update} flags 36867 <UP>

Oct 26 10:23:08 [connmand] p2p-wlan0-0 {newlink} index 14 address 34:E6:AD:C6:0A:B2 mtu 1500

Oct 26 10:23:08 [connmand] p2p-wlan0-0 {newlink} index 14 operstate 2 <DOWN>

Oct 26 10:23:09 [connmand] p2p-wlan0-0 {newlink} index 14 address 34:E6:AD:C6:0A:B2 mtu 1500

Oct 26 10:23:09 [connmand] p2p-wlan0-0 {newlink} index 14 operstate 2 <DOWN>

Oct 26 10:23:09 [connmand] p2p-wlan0-0 {update} flags 36866 <DOWN>

Oct 26 10:23:09 [connmand] p2p-wlan0-0 {newlink} index 14 address 34:E6:AD:C6:0A:B2 mtu 1500

Oct 26 10:23:09 [connmand] p2p-wlan0-0 {newlink} index 14 operstate 2 <DOWN>

Oct 26 10:23:09 [connmand] p2p-wlan0-0 {update} flags 36867 <UP>

Oct 26 10:23:09 [connmand] p2p-wlan0-0 {newlink} index 14 address 34:E6:AD:C6:0A:B2 mtu 1500

Oct 26 10:23:09 [connmand] p2p-wlan0-0 {newlink} index 14 operstate 2 <DOWN>

Oct 26 10:23:09 [kernel] [ 1384.142562] IPv6: ADDRCONF(NETDEV_UP): p2p-wlan0-0: link is not ready

Oct 26 10:23:09 [connmand] p2p-wlan0-0 {add} route fe80:: gw :: scope 0 <UNIVERSE>

Oct 26 10:23:09 [connmand] p2p-wlan0-0 {update} flags 102403 <UP,LOWER_UP>

Oct 26 10:23:09 [connmand] p2p-wlan0-0 {newlink} index 14 address 34:E6:AD:C6:0A:B2 mtu 1500

Oct 26 10:23:09 [connmand] p2p-wlan0-0 {newlink} index 14 operstate 5 <DORMANT>

Oct 26 10:23:09 [kernel] [ 1384.147784] IPv6: ADDRCONF(NETDEV_CHANGE): p2p-wlan0-0: link becomes ready                                                                                          

Oct 26 10:23:09 [connmand] p2p-wlan0-0 {update} flags 102467 <UP,RUNNING,LOWER_UP>                                                                                                              

Oct 26 10:23:09 [connmand] p2p-wlan0-0 {newlink} index 14 address 34:E6:AD:C6:0A:B2 mtu 1500                                                                                                    

Oct 26 10:23:09 [connmand] p2p-wlan0-0 {newlink} index 14 operstate 6 <UP>                                                                                                                      

Oct 26 10:23:10 [connmand] Peer DHCP server: option_code 1 option_value 255.255.255.0_                                                                                                          

Oct 26 10:23:10 [connmand] Peer DHCP server: option_code 3 option_value 192.168.0.1_

Oct 26 10:23:10 [connmand] p2p-wlan0-0 {add} address 192.168.0.1/24 label p2p-wlan0-0 family 2

Oct 26 10:23:10 [connmand] p2p-wlan0-0 {add} route 192.168.0.0 gw 0.0.0.0 scope 253 <LINK>

Oct 26 10:23:10 [connmand] Peer DHCP server: Received DISCOVER_

Oct 26 10:23:10 [connmand] Peer DHCP server: find yiaddr 33597632_

Oct 26 10:23:10 [connmand] Peer DHCP server: lease_mac (nil) lease_nip (nil)_

Oct 26 10:23:10 [connmand] Peer DHCP server: Sending OFFER of 192.168.0.2_

Oct 26 10:23:10 [connmand] Peer DHCP server: Broadcasting packet to client_

Oct 26 10:23:10 [connmand] Peer DHCP server: Received REQUEST NIP -1062731774_

Oct 26 10:23:10 [connmand] Peer DHCP server: Sending ACK_

Oct 26 10:23:10 [connmand] Peer DHCP server: Sending ACK to 192.168.0.2_

Oct 26 10:23:10 [connmand] Peer DHCP server: Broadcasting packet to client_

Oct 26 10:23:10 [connmand] Peer DHCP server: lease_mac 0x1ef4e10 lease_nip 0x1ef4e10_

Oct 26 10:23:11 [ModemManager] <info>  Couldn't check support for device at '/sys/devices/pci0000:00/0000:00:1c.3/0000:09:00.0': not supported by any plugin_

Oct 26 10:23:12 [ntpd] Listen normally on 30 p2p-wlan0-0 192.168.0.1:123

Oct 26 10:23:12 [ntpd] Listen normally on 31 p2p-wlan0-0 [fe80::36e6:adff:fec6:ab2%14]:123

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {RX} 44 packets 4393 bytes

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {TX} 40 packets 5641 bytes

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {update} flags 36867 <UP>

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {newlink} index 14 address 34:E6:AD:C6:0A:B2 mtu 1500

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {newlink} index 14 operstate 2 <DOWN>

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {RX} 44 packets 4393 bytes

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {TX} 40 packets 5641 bytes

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {newlink} index 14 address 34:E6:AD:C6:0A:B2 mtu 1500

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {newlink} index 14 operstate 2 <DOWN>

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {RX} 44 packets 4393 bytes

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {TX} 40 packets 5641 bytes

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {update} flags 36866 <DOWN>

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {newlink} index 14 address 34:E6:AD:C6:0A:B2 mtu 1500

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {newlink} index 14 operstate 2 <DOWN>

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {del} route fe80:: gw :: scope 0 <UNIVERSE>

Oct 26 10:23:29 [connmand] Inconsistent IP pool management (start not found)

Oct 26 10:23:29 [connmand] (null) {del} address 192.168.0.1/24 label p2p-wlan0-0

Oct 26 10:23:29 [connmand] p2p-wlan0-0 {dellink} index 14 operstate 2 <DOWN>

Oct 26 10:23:29 [connmand] (null) {RX} 44 packets 4393 bytes

Oct 26 10:23:29 [connmand] (null) {TX} 40 packets 5641 bytes

Oct 26 10:23:29 [connmand] (null) {remove} index 14

Oct 26 10:23:29 [connmand] Remove interface (null) [ wifi ]

Oct 26 10:23:29 [ModemManager] <info>  (net/p2p-wlan0-0): released by modem /sys/devices/pci0000:00/0000:00:1c.3/0000:09:00.0_

Oct 26 10:23:30 [kernel] [ 1405.854026] wlan0: disconnect from AP 54:7c:69:20:e9:c0 for new auth to 54:7c:69:20:e9:cf

Oct 26 10:23:30 [kernel] [ 1405.857077] wlan0: authenticate with 54:7c:69:20:e9:cf

Oct 26 10:23:30 [kernel] [ 1405.859139] wlan0: send auth to 54:7c:69:20:e9:cf (try 1/3)

Oct 26 10:23:30 [NetworkManager] <info>  [1509006210.9211] device (wlan0): supplicant interface state: completed -> authenticating

Oct 26 10:23:30 [connmand] Probably roaming right now! Staying connected...

Oct 26 10:23:30 [connmand] wlan0 {RX} 1122 packets 616467 bytes

Oct 26 10:23:30 [connmand] wlan0 {TX} 972 packets 143365 bytes

Oct 26 10:23:30 [connmand] wlan0 {update} flags 36867 <UP>

Oct 26 10:23:30 [connmand] wlan0 {newlink} index 3 address 34:E6:AD:C6:0A:B1 mtu 1500

Oct 26 10:23:30 [connmand] wlan0 {newlink} index 3 operstate 2 <DOWN>

Oct 26 10:23:30 [kernel] [ 1405.864513] wlan0: authenticated

Oct 26 10:23:30 [kernel] [ 1405.865257] wlan0: associate with 54:7c:69:20:e9:cf (try 1/3)

Oct 26 10:23:30 [kernel] [ 1405.866733] wlan0: RX AssocResp from 54:7c:69:20:e9:cf (capab=0x111 status=0 aid=1)

Oct 26 10:23:30 [connmand] wlan0 {RX} 1122 packets 616467 bytes

Oct 26 10:23:30 [connmand] wlan0 {TX} 972 packets 143365 bytes

Oct 26 10:23:30 [connmand] wlan0 {update} flags 102403 <UP,LOWER_UP>

Oct 26 10:23:30 [connmand] wlan0 {newlink} index 3 address 34:E6:AD:C6:0A:B1 mtu 1500

Oct 26 10:23:30 [connmand] wlan0 {newlink} index 3 operstate 5 <DORMANT>

Oct 26 10:23:30 [kernel] [ 1405.869279] wlan0: associated

Oct 26 10:23:30 [connmand] Probably roaming right now! Staying connected...

Oct 26 10:23:30 [NetworkManager] <info>  [1509006210.9357] device (wlan0): supplicant interface state: authenticating -> associating

Oct 26 10:23:30 [NetworkManager] <info>  [1509006210.9401] device (wlan0): supplicant interface state: associating -> associated

Oct 26 10:23:30 [connmand] Probably roaming right now! Staying connected...

Oct 26 10:23:30 [connmand] wlan0 {RX} 1124 packets 616771 bytes

Oct 26 10:23:30 [connmand] wlan0 {TX} 974 packets 143671 bytes

Oct 26 10:23:30 [connmand] wlan0 {update} flags 102467 <UP,RUNNING,LOWER_UP>

Oct 26 10:23:30 [connmand] wlan0 {newlink} index 3 address 34:E6:AD:C6:0A:B1 mtu 1500

Oct 26 10:23:30 [connmand] wlan0 {newlink} index 3 operstate 6 <UP>

Oct 26 10:23:30 [NetworkManager] <info>  [1509006210.9514] device (wlan0): supplicant interface state: associated -> completed

Oct 26 10:23:32 [ntpd] Deleting interface #30 p2p-wlan0-0, 192.168.0.1#123, interface stats: received=0, sent=0, dropped=0, active_time=20 secs

Oct 26 10:23:32 [ntpd] Deleting interface #31 p2p-wlan0-0, fe80::36e6:adff:fec6:ab2%14#123, interface stats: received=0, sent=0, dropped=0, active_time=20 secs

Oct 26 10:24:11 [connmand] wlan0 {del} address 10.128.3.245/16 label wlan0

Oct 26 10:24:11 [connmand] wlan0 {add} address 10.128.3.245/16 label wlan0 family 2

```

----------

