.. zephyr:code-sample:: wpan-serial :name: 802.15.4 "serial-radio" :relevant-api: ieee802154 uart_interface Implement a slip-radio device for Contiki-based border routers. Overview ******** The wpan_serial sample shows how to use hardware with 802.15.4 radio and USB controller as a "serial-radio" device for Contiki-based border routers. Requirements ************ The sample assumes that 802.15.4 radio and USB controller are supported on a board. You can pick, for example, a transceiver such as a CC2520 or RF2xx using overlays, or by using an SoC with a built-in radio, such as a kw41z, nrf5, or samr21. Building and Running ******************** #. Before building and running this sample, be sure your Linux system's ModemManager is disabled, otherwise, it can interfere with serial port communication: .. code-block:: console $ sudo systemctl disable ModemManager.service #. Build the sample Zephyr application to a board with a 802.15.4 radio and USB controller. There are configuration files for various setups in the ``samples/net/wpan_serial`` directory: - :file:`prj.conf` This is the standard default config. This can be used by itself for hardware which has native 802.15.4 support. To build the wpan_serial sample: .. zephyr-app-commands:: :zephyr-app: samples/net/wpan_serial :board: :conf: "prj.conf [overlay-.conf]" :goals: build :compact: Here's how to build and flash the sample for the Atmel SAM R21 Xplained Pro Development Kit. .. zephyr-app-commands:: :zephyr-app: samples/net/wpan_serial :board: atsamr21_xpro :goals: build flash :compact: #. Connect board to Linux PC, /dev/ttyACM[number] should appear. #. Run Contiki-based native border router (6lbr, native-router, etc) Example for Contiki: .. code-block:: console $ cd examples/ipv6/native-border-router $ make $ sudo ./border-router.native -v5 -s ttyACM0 fd01::1/64 Now you have a Contiki native board router. You can access its web-based interface with your browser using the server address printed in the border-router output. .. code-block:: console ... Server IPv6 addresses: 0x62c5c0: =>fd01::212:4b00:531f:113a ... Use your browser to access ``http://[fd01::212:4b00:531f:113a]/`` and you'll see available neighbors and routes.