NetHubQuickBringup
NetHub Quick Start
This document is for customers using NetHub for the first time. The goal is to get you to the current default interface as quickly as possible.
1. Current Support Matrix
| Item | Current status |
|---|---|
| Default interface | SDIO
|
| USB profile | device-side backend implemented with USB ECM + USB ACM
|
| SPI profile | not implemented |
| USER virtual channel | default interface is SDIO
|
| Optional AT control solution | available, but not mandatory |
| Low power | currently BL618DG only
|
Read this table literally:
- if you want the shortest successful path today, choose
SDIO - if you are evaluating the USB backend, focus on the device profile and USB descriptors first
- do not plan on
SPIbring-up yet
2. Main Configuration Switches
For most users, the main configuration changes are these:
CONFIG_NETHUB_CTRLCHANNEL_USE_ATMODULE =y
CONFIG_NETHUB_LOWPOWER_ENABLE =y
CONFIG_NETHUB_PROFILE_USB =n
CONFIG_NETHUB_PROFILE_SDIO =y
Notes:
- set
CONFIG_NETHUB_PROFILE_SDIO=yfor the current default interface - set
CONFIG_NETHUB_PROFILE_USB=yonly when you want to evaluate the USB profile CONFIG_NETHUB_CTRLCHANNEL_USE_ATMODULE=nmeansATModulewill not participate in the buildCONFIG_NETHUB_LOWPOWER_ENABLE=yis currently meaningful only onBL618DG
Additional current default facts in examples/wifi/nethub/defconfig:
CONFIG_MR_VIRTUALCHAN=yCONFIG_NETHUB_AT_USE_VCHAN=nCONFIG_MR_TTY=n
3. Wi-Fi Backend Selection
Default configuration:
CONFIG_WL80211disabledfhostselected
If you want wl80211, enable this in examples/wifi/nethub/defconfig:
CONFIG_WL80211=y
Notes:
fhostandwl80211are mutually exclusive- current NetHub supports both device-side Wi-Fi backends
4. Device Build and Flash
Build:
cd examples/wifi/nethub
# BL616
make CHIP=bl616 BOARD=bl616dk
# BL616CL
make CHIP=bl616cl BOARD=bl616cldk
# BL618DG
make CHIP=bl618dg BOARD=bl618dgdk CPU_ID=ap
Flash example:
cd examples/wifi/nethub
make flash CHIP=bl618dg COMX=/dev/ttyUSB0
5. Hardware Interface Pins
The pin tables below are the current default mappings used by the in-tree BSP board helpers.
Reference sources in the repository:
bsp/board/bl616dk/board_gpio.cbsp/board/bl616cldk/board_gpio.cbsp/board/bl618dgdk/board_gpio.c
5.1 Default SDIO Pins
These are the current board_sdh_gpio_init() mappings used by the BSP.
| Pin Function | BL616 / BL618 (bl616dk) |
BL618DG (bl618dgdk) |
BL616CL (bl616cldk)
|
|---|---|---|---|
SDIO_DAT2 |
GPIO10 |
GPIO43 |
GPIO6
|
SDIO_DAT3 |
GPIO11 |
GPIO44 |
GPIO7
|
SDIO_CMD |
GPIO12 |
GPIO45 |
GPIO8
|
SDIO_CLK |
GPIO13 |
GPIO46 |
GPIO9
|
SDIO_DAT0 |
GPIO14 |
GPIO47 |
GPIO10
|
SDIO_DAT1 |
GPIO15 |
GPIO48 |
GPIO11
|
Notes:
- this table shows the current default 4-bit SDIO wiring used by the NetHub SDIO data-path
- 1-line mode is also supported; if you use 1-line mode, keep
CMD,CLK, andDAT0first - the BSP configures these pins with
GPIO_FUNC_SDH | GPIO_ALTERNATE | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1
5.2 Default USB Pins
The current USB profile uses the board's default USB differential pair.
| Chip / Board family | Default USB pins in current BSP | Current BSP behavior | Notes |
|---|---|---|---|
BL616 / BL618 (bl616dk) |
board default USB port path | current BSP enables USB clock in board.c, but does not expose a dedicated board_usb_gpio_init() helper |
treat this as the board's fixed default USB routing in the current example |
BL616CL (bl616cldk) |
GPIO32, GPIO33 |
board_usb_gpio_init() configures the pair as analog pins |
current BSP documents the pair, not separate DP / DM labels
|
BL618DG (bl618dgdk) |
GPIO40, GPIO41 |
board_usb_gpio_init() configures the pair as analog pins |
current BSP documents the pair, not separate DP / DM labels
|
Notes:
- for
BL616CLandBL618DG, the BSP helper only tells us the USB pair used by the board, not which pin isD+and which pin isD- - if you are wiring a custom board and need explicit
DP/DMpolarity, confirm it from the board schematic or chip or package documentation
6. Host Bring-Up Guidance
For the current in-tree host Linux reference stack, use:
bsp/common/msg_router/linux_host/userspace/nethub/README.md
Today that host stack is primarily the SDIO reference flow.
For USB projects, keep expectations aligned with current code status:
- device-side
ECM + ACMbackend exists - host-side transport flattening into the same
nethub_vchanbehavior as SDIO is not fully documented or aligned in-tree yet
7. USER Virtual Channel
If you need private application messages between host and device, read:
Current reality:
- the current in-tree end-to-end USER virtual channel follows the default
SDIOinterface - the public device API is transport-neutral by design
- the in-tree implementation behind it is still SDIO-backed today
8. Low-Power Note
Low power is currently supported only on BL618DG.
If you build for other chips, examples/wifi/nethub/defconfig automatically turns CONFIG_NETHUB_LOWPOWER_ENABLE off. In practice, you usually only need to keep this option enabled when building for BL618DG.
9. Where to Go Next
- overall entry: NetHub.md
- architecture: NetHubArchitecture.md
- USER virtual channel: NetHubVirtualChannel.md
