Go to file
Stefan Eichenberger 10b7e7f0d5 meta-netmodule-bsp: update to latest version 2022-04-13 14:21:29 +02:00
bitbake@017a39ed05 Release 1.2.4: updating layers, source revisions and distro version 2021-05-04 22:31:25 +02:00
build/conf procv22: add support for ProCV2X 2021-06-01 10:40:45 +02:00
meta-netmodule-bsp@e7e84f0653 meta-netmodule-bsp: update to latest version 2022-04-13 14:21:29 +02:00
meta-netmodule-distro@719b0a2fde Release 1.2.4: updating layers, source revisions and distro version 2021-05-04 22:31:25 +02:00
meta-netmodule-wlan@ab04a2ac66 Release 1.2.3: updating layers and revisions 2021-04-13 12:09:00 +02:00
meta-openembedded@c1a5068322 Release 1.2.4: updating layers, source revisions and distro version 2021-05-04 22:31:25 +02:00
meta-updater@5d49b28570 Release 1.2.3 2021-04-08 09:35:46 +02:00
openembedded-core@2cc9e06807 Release 1.2.4: updating layers, source revisions and distro version 2021-05-04 22:31:25 +02:00
.gitignore Adding base layers and configurations 2020-12-21 09:46:50 +01:00
.gitmodules procv22: add support for ProCV2X 2021-06-01 10:40:45 +02:00
README.md README: add line about adb 2021-06-02 08:57:03 +02:00
env.common Adding base layers and configurations 2020-12-21 09:46:50 +01:00
env.image Adding base layers and configurations 2020-12-21 09:46:50 +01:00
env.image-minimal Adding base layers and configurations 2020-12-21 09:46:50 +01:00
env.image-ostree Adding base layers and configurations 2020-12-21 09:46:50 +01:00
machine_select procv22: add support for ProCV2X 2021-06-01 10:40:45 +02:00

README.md

NetModule OEM Linux

The purpose of this repository is to provide a base or a template for customers to build their own distribution based on the NetModule OEM Linux distribution.

The submodules and source revisions are frozen to match the latest release.

Initial steps

Before building anything, it is required to get all the submodules. This is done with the following commands:

git submodule init
git submodule update

Copy PFE firmware

Please make sure that you copy the PFE firmware with the right version meta-netmodule-bsp/recipes-kernel/pfe/pfe_ to meta-netmodule-bsp/recipes-kernel/pfe/pfe/. You need to copy the class and util firmware files. This is necessary because the firmware is currently only available under NDA.

Selecting hardware target

The hardware target can be selected by sourcing the machine_select script:

source machine_select
9  # Selecting ProCV2.2

Building an image

This distribution provides three images:

  1. The minimal image
  2. The "release" image
  3. The development image

The minimal image

It is a initramfs image which can be loaded from the bootloader. It gives access to basic linux functionalities and allows to flash other images.

It can be built with the following commands:

source env.image-minimal
bitbake virtual/netmodule-image

The "release" image

This is the default image providing all functionalities of the system.

It can be build with the following commands:

source env.image-ostree
bitbake netmodule-linux-image

The development image

This is the default image extended with development and debugging tools.

It can be build with the following commands:

source env.image-ostree
bitbake netmodule-linux-image-dev

Usage

1000BaseT1

The PFE driver comes up automatically. However, it does by default rely on autoneg. This doesn't seem to work with the Göpel Media Converter EasyCON. Therefore, a reset is required. Currently pfe0 shares the reset signal with eth0. That's why the following works:

brginup.sh enable-pfe
ifconfig eth0 down
ifconfig eth0 up

Now the 1000BaseT1 PHY works in default mode.

Modem

The modem is disabled by default. However, it is possible to enable it with the following command:

bringup.sh enable-modem

To use adb you have to do the following:

echo 0x2c7c >> ~/.android/adb_usb.ini
adb shell

Wifi

Enable the Wifi module (make sure you enable the modem first):

bringup.sh enable-wifi

ADCs

Read out the SPI ADCs:

bringup.sh read-adc

IMU

To enable the IMU you can call enable-imu.sh:

bringup.sh enable-imu.sh

To communicate with the imu you can use test-imu.sh:

# Read/Write
bringup.sh read-write-imu /dev/spidev1.0 1 2020
# Read
bringup.sh read-write-imu /dev/spidev1.0 1

Secure Element

To enable the secure elelment call enable-secure-element:

bringup.sh enable-secure-element

There is no helper for the secure element available yet. You can use spidev_test to communicate with it:

spidev_test --help

V2X

Enable the V2X and load a firmware (make sure you enable the modem first):

bringup.sh enable-v2x <path to fw>

GPIOS

Set gpio:

bringup.sh set-gpio <gpio> <value>

Get gpio:

bringup.sh get-gpio <gpio>