Targeted HardwarephyCORE-i.MX7, phyBOARD-Zeta i.MX7
Targeted SoftwareYocto FSL iMX7 PD17.2.1 Release Notes


Modifying the BSP

Start out with a Yocto BSP set up as described in the Quickstart section "Building Images from Source". However, make these changes to the source prior to starting the build:

  1. In sources/meta-phytec/meta-phytec-fsl/conf/machine/imx7d-phyboard-zeta-001.conf, remove the following lines for sterling LWB module support. This package builds out of tree kernel modules to add WiFi support for another device, so it needs to be disabled in order to use the in kernel WiFimodules:

    # Packages required for PEB-WLBT-03 (WiFi chip Laird Sterling LWB)
    # IMAGE_INSTALL_append = " kernel-module-laird-backports brcm-patchram-plus"
    # LWB_COMPLIANCE = "fcc"
  2. Update the kernel defconfig to enable WiFi by adding a kernel patch to the linux yocto recipe: 

    FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-4.1.15:"
    SRC_URI += "file://0001-Revert-configs-imx7_phyboard_zeta_defconfig-disable-.patch"
    1. In sources/meta-phytec-fsl/recipes-kernel/linux/, add the following lines:

      FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-4.1.15:"
      SRC_URI += "file://0001-Revert-configs-imx7_phyboard_zeta_defconfig-disable-.patch"
    2. In the same file, set copy_defconfig to occur after "do_patch" so that the updated defconfig is used:

      -addtask copy_defconfig after do_unpack before do_preconfigure
      +addtask copy_defconfig after do_patch before do_preconfigure
    3. Create the following directory which will hold the kernel patch:

      mkdir sources/meta-phytec-fsl/recipes-kernel/linux/linux-phytec-fsl-4.1.15/
    4. Download and add this patch to the newly created directory: 0001-Revert-configs-imx7_phyboard_zeta_defconfig-disable-.patch

  3. Continue building the BSP as directed by the quickstart. Follow instructions for creating a bootable SD card as well.
  4. Download the firmware and add it to the root file system of the SD card. Firmware for Intel Wifi devices are available Here. Make sure to download the correct firmware for you specific device. This was tested with WiFi Link 5300, which uses iwlwifi-5000-ucode- Download the tarball, extract, and copy ucode file to /lib/firmware/ on the root filesystem of the SD card.

    $ tar -xf iwlwifi-5000-ucode-
    $ sudo cp iwlwifi-5000-ucode- /media/<user>/7963f5ce-4ba0-4d28-8a28-0186812c5487/lib/firmware/; sync
    $ umount /media/<user>/7963f5ce-4ba0-4d28-8a28-0186812c5487/

Using WiFi:

  1. Boot the board into Linux, and configure wlan0:
      1. set wlan0 interface up

        # ip link set wlan0 up
      2. Scan for available WiFi networks to obtain key management info

        # iw dev wlan0 scan | less
      3. Add information regarding your wi-fi network to /etc/wpa_supplicant.conf. See here for information regarding wpa_supplicant configuration.

      4. Connect to network. You should see wlan0: associated

        # wpa_supplicant -D nl80211,wext -i wlan0 -c /etc/wpa_supplicant.conf -B
      5. Configure the IP address - static or dynamic. For example, to set a static IP address

        # ip addr add dev wlan0
        # ip route add default via