From 36b43debdfcc316c9b2c1a22d8658c4b7e13365d Mon Sep 17 00:00:00 2001 From: Andrei Aldea <andrei1998@gmail.com> Date: Thu, 7 Sep 2023 00:43:58 -0400 Subject: [PATCH] Added notes on disabling Wifi AP and Updated Expansion --- boards/beagleplay/04-expansion.rst | 82 +++++++++++++++++++ .../demos-and-tutorials/connect-wifi.rst | 43 ++++++++++ 2 files changed, 125 insertions(+) diff --git a/boards/beagleplay/04-expansion.rst b/boards/beagleplay/04-expansion.rst index a0184816..745e1a75 100644 --- a/boards/beagleplay/04-expansion.rst +++ b/boards/beagleplay/04-expansion.rst @@ -10,15 +10,97 @@ Expansion mikroBUS ********* +The mikroBUS header provides several GPIO pins as well as UART, I2C, SPI, PWM and an Analog Input. + +By default, the port is controlled by a mikroBUS driver that helps with auto-detecting MikroE Click Board that feature [ClickID](https://www.mikroe.com/clickid). +This does however mean that if you want to manually control the port, you may need to first disable the driver. + +To disable the driver, do the following - TODO + Grove ****** +The Grove port on BeaglePlay exposes one of the SoC I2C Ports as well as an analog input. + +It maps directly in linux as /dev/I2C-TODO or as the following alias /dev/play/grove + QWIIC ****** +The QWIIC port on BeaglePlay exposes one of the SoC I2C Ports. + +It maps directly in linux as `/dev/I2C-2` or as the following alias `/dev/play/qwiic` + + CSI *** +The AM62x SoC (and by extension BeaglePlay) does not feature on-board ISP (Image Signal Processor) hardware, and as such, Raw-Bayer CSI Sensors must be pre-processed into normal images by the A53 cores. + +To avoid performance penalties related to the approach above, it is recommended to use a sensor with a built-in ISP, such as the OV5640 which is supported out of box. + +The `PCam5C from Digilent <https://digilent.com/shop/pcam-5c-5-mp-fixed-focus-color-camera-module/>`_ is one CSI camera that features this sensor. + +.. note:: Since BeaglePlay uses a 22-pin CSI connector, a 15 pin to 22 pin CSI adapter may also be required `such as this one <https://www.uctronics.com/arducam-15-pin-1-0mm-pitch-to-22-pin-0-5mm-camera-cable-for-raspberry-pi-zero-version-1-3-specific-pack-of-2.html>`_ + +Once installed, there are some software changes required to load the device driver at boot for the OV5640. + +We will need to modify the following file: /boot/firmware/extlinux/extlinux.conf + +We will add the following line to load the OV5640 DTBO: + +.. code:: bash + + fdtoverlays /overlays/k3-am625-beagleplay-csi2-ov5640.dtbo + +Then you can reboot: sudo reboot + +Camera should now work, you can use mplayer to test. + +.. code:: bash + + sudo apt-get install -y mplayer + + mplayer tv: // -tv driver=v4l2:device=/dev/video0:width=640:height=480:fps=30:outfmt=yuy2 + + OLDI **** +BeaglePlay brings out two OLDI (LVDS) channels, each with up to four data lanes and one clock lane to support 21/28-bit serialized RGB pixel data and synchronization transmissions. The first port, OLDI0, consists of OLDI0_A0-3/CLK0 and corresponds to odd pixels, while the second port, OLDI1, consists of OLDI0_A4-7/CLK1 and corresponds to even pixels. + +It is pin compatible with the following two displays from Lincoln Technology Solutions: + +Both displays have the following features and only differ in bezzle type: + +* **Resolution** - 1920x1200 (16:10) +* **LCD Size (diagonal)** - 10.1" +* **Refresh Rate** - 60Hz +* **Brightness** - 1000nit +* **Pannel Type** - Edge-lit IPS +* **Touch Enabled** - Yes, Capacitive +* **Connector** - 40 pin FFC ribbon cable + +`A "Flush Coverglass" Version <https://www.digikey.com/en/products/detail/lincoln-technology-solutions/LCDK185-101CTL1ARNTTR1-0/20485318?s=N4IgTCBcDaIDIGEAiBpAjADgKwgLoF8g>`_ +`A "Oversized Cover Glass" Version - similar in style to a Tablet Display <https://www.digikey.com/en/products/detail/lincoln-technology-solutions/LCDK217-101CTL1ARNTTR1-0/20485319?s=N4IgTCBcDaIDIGEAiBpMBGA7CAugXyA>`_ + +To enable OLDI display support, modify the following file: /boot/firmware/extlinux/extlinux.conf + +Then, add the following line to load the Lincoln LCD185 OLDI DTBO: + +.. code:: bash + + fdtoverlays /overlays/k3-am625-beagleplay-lt-lcd185.dtbo + +Your /boot/firmware/extlinux/extlinux.conf file should look something like this: + +.. code:: bash + + label Linux eMMC + kernel /Image + append root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait net.ifnames=0 systemd.unified_cgroup_hierarchy=false quiet + fdtdir / + fdtoverlays /overlays/k3-am625-beagleplay-lt-lcd185.dtbo + initrd /initrd.img + + diff --git a/boards/beagleplay/demos-and-tutorials/connect-wifi.rst b/boards/beagleplay/demos-and-tutorials/connect-wifi.rst index e6ebe5c3..ed7b18c4 100644 --- a/boards/beagleplay/demos-and-tutorials/connect-wifi.rst +++ b/boards/beagleplay/demos-and-tutorials/connect-wifi.rst @@ -3,6 +3,11 @@ Connect WiFi ############# +.. note:: + A common issue experienced by users when connecting to Wireless networks are network names that include special characters such as spaces, apostrophes etc, this may make connecting to your network more difficult. It is thus recommended to rename your Wireless AP to something simpler. For Example - renaming "Boris's Wireless Network" to "BorisNet". This avoids having to add special "escape" characters in the name. This shows up especially if you try connecting to iPhone/iOS HotSpots, where the network name is the device name, which by default is something like "Dan's iPhone". Also see `this potential solution. +<https://unix.stackexchange.com/questions/679862/wpa-supplicant-conf-escaping-characters/>`_. + + If you have a monitor and keyboard/mouse combo connected, the easiest way is to use the :ref:`beagleplay-wifi-wpa-gui`. Alternatively, you can use ``wpa_cli`` over a shell connection through: @@ -296,3 +301,41 @@ after you add the credentials to ``wpa_supplicant-wlan0.conf``. :alt: To check connection try running $ ping 8.8.8.8 To check connection try running $ ping 8.8.8.8 + + +Disabling the WIFI Access Point +******************************* + +In certain situations, such as running HomeAssistant, you may chose to connect your BeaglePlay to the internet via Ethernet. In this case, it may be desireable to disable it's Wifi access point so that users outside the local network aren't able to connect to it. + +The Wifi Access Point that BeaglePlay provides is started using `uDev rules <https://en.wikipedia.org/wiki/Udev>`_. created by the `bb-wlan0-defaults` package + +You can simply remove the `bb-wlan0-defaults` package: + +.. code-block:: shell + + sudo apt remove bb-wlan0-defaults + +Now just reboot and the Wifi Access point should no longer start. + +You can also disable it by removing the two following udev rule files: + +.. code-block:: shell + + rm /etc/udev/rules.d/81-add-SoftAp0-interface.rules + rm /etc/udev/rules.d/82-SoftAp0-start-hostpad.rules + +The issue with doing this latter option is that if you later update your OS, the bb-wlan0-defaults may get updated as well and re-add the rules. + +Re-Enabling the WIFI Access Point +********************************* + +Conversely, you can re-enable the access point by re-installing the `bb-wlan0-default` package. + +.. code-block:: shell + + sudo apt install bb-wlan0-defaults --reinstall + +Now just reboot. + +--TODO Add notes on changing SSID/Password -- GitLab