.. include:: /keyword.rst ============================ Communicating with the Board ============================ .. include:: communication/connectivity.inc .. include:: communication/uart.rst Network Connectivity ==================== The boards support multiple ways to provide network connectivity. .. _rndis-setup-windows: RNDIS ----- .. tabs:: .. group-tab:: Linux #. An additional network adapter should appear: .. code-block:: :emphasize-lines: 7 $ networkctl list WARNING: systemd-networkd is not running, output will be incomplete. IDX LINK TYPE OPERATIONAL SETUP 1 lo loopback n/a unmanaged 2 enp1s0 ether n/a unmanaged 5 enxaa0118a6864c ether n/a unmanaged 3 links listed. This interface should already be setup: .. code-block:: :emphasize-lines: 25 $ networkctl status enxaa0118a6864c WARNING: systemd-networkd is not running, output will be incomplete. Failed to query link bit rates: Unit dbus-org.freedesktop.network1.service not found. Failed to query link DHCP leases: Unit dbus-org.freedesktop.network1.service not found. ● 5: enxaa0118a6864c Link File: /usr/lib/systemd/network/73-usb-net-by-mac.link Network File: n/a Type: ether State: n/a (unmanaged) Online state: unknown Path: pci-0000:02:00.0-usb-0:3:1.0 Driver: rndis_host Vendor: MediaTek Inc. Model: Genio HW Address: aa:01:18:a6:86:4c MTU: 1500 (max: 65535) QDisc: fq_codel IPv6 Address Generation Mode: none Queue Length (Tx/Rx): 1/1 Auto negotiation: no Speed: n/a Duplex: half Port: tp Address: 192.168.96.26 fe80::ce63:e01a:3c5a:b073 Activation Policy: up Required For Online: yes You should now be able to proceed to the next section to connect to the board with SSH. .. group-tab:: Windows #. Press ``Windows+R`` and type ``devmgmt.msc`` then press ``ENTER`` #. Right-click on the unrecognized **RNDIS/Ethernet Gadget** device, and select **Update Driver Software**: .. figure:: /_asset/sw_rity_get-started_connect_missing-rndis.png #. Select **Browse my computer for driver software** → **Let me pick from a list of device drivers on my computer** → **Network adapters** .. figure:: /_asset/sw_rity_get-started-_connect_net-adapters.png #. Select **Microsoft Corporation** → **Remote NDIS Compatible Device** .. figure:: /_asset/sw_rity_get-started-_connect_rndis.png #. You should see an additional network adapter appear in **Network and Sharing Center**. #. Set the Static IP of the adapter to: * IP: ``192.168.96.2`` * Subnet Mask: ``255.255.255.0`` * Default Gateway: ``192.168.96.1`` After static IP setting, you should now be able to proceed to the next section to connect to the board with SSH. The RNDIS interface in `rity-demo-image` is configured with the following static IP: ``192.168.96.1`` Physical Ethernet ----------------- If you plugged an ethernet cable into the board as part of the :doc:`connect` and the network to which it was connected has a DHCP server, the device will have automatically picked up a suitable IP address from it. Connect via serial, via SSH using a configured RNDIS connection or consult your DHCP logs to discover the IP address provided to the board. .. note:: If logged in to the board via the serial console or SSH via the RNDIS connection, running the follwoing command: .. prompt:: bash networkctl status eth0 Connecting using the board IP ----------------------------- ``rity-demo-image`` includes a SSH server. You can connect to the SSH server from a Linux host. You can connect to the board using the following command (assuming using the IP address configured for RNDIS): .. prompt:: bash $ auto $ ssh root@192.168.96.1 root@genio-350-evk:~# You can also use the ``scp`` program to copy files to the board: .. prompt:: bash scp host-file.txt root@192.168.96.1:/path/to/target/directory Connecting by using `mDNS` -------------------------- |IOT-YOCTO| also includes a `mDNS `_ server `avahi daemon `_ to provide device discovery. The host name of the board is in the form ``.local``, where ```` is the value of ``MACHINE`` variable that was used to build the SDK. For instance you can connect to the ``genio-350-evk`` board with the host name ``genio-350-evk.local`` by using the following command: .. prompt:: bash $ auto $ ssh root@genio-350-evk.local root@genio-350-evk:~# .. hint:: It is recommended to modify ``/etc/avahi/avahi-daemon.conf`` and set ``host-name`` to change the host name of the board to something unique if there are multiple boards of the same model connected to the same network. And run ``systemctl restart avahi-daemon`` to take effect. ADB === The following commands are supported: * ``adb push`` * ``adb pull`` * ``adb shell`` Login Identity ============== Use ``root`` to login to the Linux when asked for a username. A password is not required. .. important:: The kernel console and SSH console in |IOT-YOCTO| can be logged-in with ``root`` **without password**. The purpose is to ease development and debugging. This configuration is not suitable for production purposes. Therefore, please make sure you change the account and permission security configurations before using |IOT-YOCTO| in a production environment.