NetHubQuickBringup:修订间差异

来自Bouffalo Lab Docs
跳转到导航 跳转到搜索
张良留言 | 贡献
Sync NetHub docs from local Markdown (2026-04-24 wording update)
张良留言 | 贡献
Unify tone and terminology across NetHub docs (2026-04-24)
第13行: 第13行:
| Default interface || <code>SDIO</code>
| Default interface || <code>SDIO</code>
|-
|-
| USB profile || device-side backend implemented with <code>USB ECM + USB ACM</code>
| USB interface || device-side backend implemented with <code>USB ECM + USB ACM</code>
|-
|-
| SPI profile || not implemented
| SPI interface || not implemented
|-
|-
| USER virtual channel || default interface is <code>SDIO</code>
| USER virtual channel || default interface is <code>SDIO</code>
第27行: 第27行:


* if you want the shortest successful path today, choose <code>SDIO</code>
* if you want the shortest successful path today, choose <code>SDIO</code>
* if you are evaluating the USB backend, focus on the device profile and USB descriptors first
* if you are evaluating the USB interface, focus on the device-side backend and USB descriptors first
* do not plan on <code>SPI</code> bring-up yet
* do not plan on <code>SPI</code> bring-up yet


第43行: 第43行:
Notes:
Notes:


* the config symbol names still use <code>PROFILE</code>, but they select the active host interface
* set <code>CONFIG_NETHUB_PROFILE_SDIO=y</code> for the current default interface
* set <code>CONFIG_NETHUB_PROFILE_SDIO=y</code> for the current default interface
* set <code>CONFIG_NETHUB_PROFILE_USB=y</code> only when you want to evaluate the USB profile
* set <code>CONFIG_NETHUB_PROFILE_USB=y</code> only when you want to evaluate the USB interface
* <code>CONFIG_NETHUB_CTRLCHANNEL_USE_ATMODULE=n</code> means <code>ATModule</code> will not participate in the build
* <code>CONFIG_NETHUB_CTRLCHANNEL_USE_ATMODULE=n</code> means <code>ATModule</code> will not participate in the build
* <code>CONFIG_NETHUB_LOWPOWER_ENABLE=y</code> is currently meaningful only on <code>BL618DG</code>
* <code>CONFIG_NETHUB_LOWPOWER_ENABLE=y</code> is currently meaningful only on <code>BL618DG</code>
第135行: 第136行:
=== 5.2 Default USB Pins ===
=== 5.2 Default USB Pins ===


The current USB profile uses the board's default USB differential pair.
The current USB interface uses the board's default USB differential pair.


{| class="wikitable"
{| class="wikitable"
第155行: 第156行:
== 6. Host Bring-Up Guidance ==
== 6. Host Bring-Up Guidance ==


For the current in-tree host Linux reference stack, use:
For the current in-tree host Linux stack, use:


* <code>bsp/common/msg_router/linux_host/userspace/nethub/README.md</code>
* <code>bsp/common/msg_router/linux_host/userspace/nethub/README.md</code>


Today that host stack is primarily the <code>SDIO</code> reference flow.
Today that host stack follows the default <code>SDIO</code> interface.


For USB projects, keep expectations aligned with current code status:
For USB projects, keep expectations aligned with current code status:
第172行: 第173行:
* [[NetHubVirtualChannel|NetHubVirtualChannel.md]]
* [[NetHubVirtualChannel|NetHubVirtualChannel.md]]


Current reality:
Current implementation:


* the current in-tree end-to-end USER virtual channel follows the default <code>SDIO</code> interface
* the current in-tree end-to-end USER virtual channel follows the default <code>SDIO</code> interface
第182行: 第183行:
Low power is currently supported only on <code>BL618DG</code>.
Low power is currently supported only on <code>BL618DG</code>.


If you build for other chips, <code>examples/wifi/nethub/defconfig</code> automatically turns <code>CONFIG_NETHUB_LOWPOWER_ENABLE</code> off. In practice, you usually only need to keep this option enabled when building for <code>BL618DG</code>.
For other chips, <code>examples/wifi/nethub/defconfig</code> automatically turns <code>CONFIG_NETHUB_LOWPOWER_ENABLE</code> off. In practice, you normally keep this option enabled only for <code>BL618DG</code> builds.


== 9. Where to Go Next ==
== 9. Where to Go Next ==

2026年4月24日 (五) 14:27的版本

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.

NetHub SDIO Quick Start Demo

1. Current Support Matrix

Item Current status
Default interface SDIO
USB interface device-side backend implemented with USB ECM + USB ACM
SPI interface 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 interface, focus on the device-side backend and USB descriptors first
  • do not plan on SPI bring-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:

  • the config symbol names still use PROFILE, but they select the active host interface
  • set CONFIG_NETHUB_PROFILE_SDIO=y for the current default interface
  • set CONFIG_NETHUB_PROFILE_USB=y only when you want to evaluate the USB interface
  • CONFIG_NETHUB_CTRLCHANNEL_USE_ATMODULE=n means ATModule will not participate in the build
  • CONFIG_NETHUB_LOWPOWER_ENABLE=y is currently meaningful only on BL618DG

Additional current default facts in examples/wifi/nethub/defconfig:

  • CONFIG_MR_VIRTUALCHAN=y
  • CONFIG_NETHUB_AT_USE_VCHAN=n
  • CONFIG_MR_TTY=n

3. Wi-Fi Backend Selection

Default configuration:

  • CONFIG_WL80211 disabled
  • fhost selected

If you want wl80211, enable this in examples/wifi/nethub/defconfig:

CONFIG_WL80211=y

Notes:

  • fhost and wl80211 are 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.c
  • bsp/board/bl616cldk/board_gpio.c
  • bsp/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, and DAT0 first
  • 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 interface 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 BL616CL and BL618DG, the BSP helper only tells us the USB pair used by the board, not which pin is D+ and which pin is D-
  • if you are wiring a custom board and need explicit DP / DM polarity, confirm it from the board schematic or chip or package documentation

6. Host Bring-Up Guidance

For the current in-tree host Linux stack, use:

  • bsp/common/msg_router/linux_host/userspace/nethub/README.md

Today that host stack follows the default SDIO interface.

For USB projects, keep expectations aligned with current code status:

  • device-side ECM + ACM backend exists
  • host-side transport flattening into the same nethub_vchan behavior 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 implementation:

  • the current in-tree end-to-end USER virtual channel follows the default SDIO interface
  • 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.

For other chips, examples/wifi/nethub/defconfig automatically turns CONFIG_NETHUB_LOWPOWER_ENABLE off. In practice, you normally keep this option enabled only for BL618DG builds.

9. Where to Go Next