# Debugging the 6DoF faceplate and Mirage Solo using adb via Wi-Fi

The experimental 6DoF faceplate uses the USB port on the Mirage Solo for power and
communications with the headset, which means the USB port operates in host mode.
When using adb for debugging, however, the USB port on the Mirage Solo needs to
operate in device mode because the PC it's connected to is operating in host
mode. This means adb can't access the Mirage Solo via USB while the 6DoF
faceplate is plugged in.

The best alternative for debugging in this scenario is to use Wi-Fi for
connecting adb to the Mirage Solo.

1. Determine your development machine IP address (`ipconfig` on Windows, and `ifconfig` on macOS).
2. Identify the IP address of the Mirage Solo. If you don't know it, perform
   these steps to identify it:

   1. Using a USB cable, connect the Mirage Solo to a PC.
   2. Verify that the PC and the Mirage Solo can communicate with each other over Wi-Fi. For example, run `adb shell ping YOUR.HOST.IP` and check that traffic can pass between the devices.
   3. In the command line, run `adb shell ip addr show wlan0`, and note the IP
      address (listed on the line that begins `MIRAGE.SOLO.IP.ADDRESS/MASK`).

             $ adb shell ip addr show wlan0
             5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state 
             UP group default qlen 3000
                 link/ether M:A:C:A:D:D:R:E:S:S brd ff:ff:ff:ff:ff:ff
                 inet MIRAGE.SOLO.IP.ADDRESS/MASK brd MIRAGE.SOLO.IP.127 scope 
                 global wlan0
                 valid_lft forever preferred_lft forever
                 inet6 IP::V6::A:DD:R:E:SS/MASK scope link flags 800
                 valid_lft forever preferred_lft forever

3. [Connect adb to the Mirage Solo for use over
   Wi-Fi](https://developer.android.com/studio/command-line/adb#wireless).