# Mangoh Yellow WIFI + BLE

**URL:** <https://forum.legato.io/t/mangoh-yellow-wifi-ble/7029>\
**Category:** Uncategorized\
**Created:** [November 10, 2026, 2:26am UTC](https://forum.legato.io/t/mangoh-yellow-wifi-ble/7029 "2026-11-10T02:26:45Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![shane](https://avatars.discourse-cdn.com/v4/letter/s/dbc845/32.png) [@shane](https://forum.legato.io/u/shane)\
**Post date:** [November 10, 2026, 2:26am UTC](https://forum.legato.io/t/mangoh-yellow-wifi-ble/7029/1 "2026-11-10T02:26:45Z")

</div>

I appreciate that mangOH was killed off by Sierra, but this info may still be useful to some. I believe this only applies to the Yellow, but haven’t looked into it.

I have updated the meta-mangoh layer to bring it up to speed with the latest firmware. In the process I discovered that the SECI lines on the WiFi + BLE chip from USI were shorted to ground through 0R resistors (!!!). If R301 and R303 are removed, this update enables coexistence and vastly improves WiFi and BLE performance on the Yellow.

This update also:

- **Moves to Release 15:** ports the layer from Release 13 (Yocto 2.5, kernel 3.18) to Release 15 (SWI9X06Y\_03.00.x: Yocto 3.1 “dunfell”, kernel 4.14).
- **WiFi driver:** uses the kernel’s own `brcmfmac` driver instead of the old backports build. The device tree now describes WL\_REG\_ON as the SDIO slot’s supply, so the kernel powers the WiFi chip before it scans the bus, and nothing in userspace toggles it.
- **WiFi link drops:** adds two patches backported from Linux 4.15 so `brcmfmac` loads the chip’s CLM (regulatory) blob. Without them the WiFi link drops about once a minute.
- **Bluetooth:** uses the kernel’s own `hci_uart`. An mdev rule runs `btattach` on the FT230X USB-UART whenever it appears, so the controller comes up as `hci0`, with dunfell’s BlueZ.
- **I2C devices:** describes the board’s I2C devices in the device tree and builds their drivers, mainline’s backported where 4.14 lacks them: BMI160 IMU, BME680, OPT3002 light sensor, BQ27426 fuel gauge, BQ25601 charger, SX1509 GPIO expander, PCF85063 RTC and the EEPROM.
- **SFTP:** adds an SFTP server to the image, and SFTP/SCP to curl. Release 15’s libssh2 talks to current OpenSSH servers; Release 13’s couldn’t.
- **DV3 boards:** supports them (WL\_REG\_ON on GPIO33) with `MANGOH_YELLOW_REV = "dv3"`. This hasn’t been tried on a DV3 board.

To turn coexistence on:

1. Remove R301 and R303. They ground WL\_GPIO\_1 and WL\_GPIO\_2; nothing goes in their place.
2. Add `MANGOH_YELLOW_SECI = "y"` to conf/local.conf.

That flag adds `btcxwarflags=0x1` and `btc_mode=5` to the WiFi chip’s NVRAM file. It also adds a script that turns on the CYW20719’s side of the SECI link: it writes to the chip’s RAM over HCI each time the controller attaches, and nothing goes to the chip’s flash. Without coexistence, the antenna switch stays with WiFi while it’s joined, and Bluetooth uses no antenna at all.

Not covered yet:

- Bluetooth pairings across a reboot (`/var` is a tmpfs).
- Classic Bluetooth’s RFCOMM, BNEP and HIDP modules.
- The I2C devices’ interrupts, and the magnetometer.

The NVRAM file is Broadcom’s reference-board file, as USI’s isn’t public.

seemoo-lab’s InternalBlue and Frankenstein projects helped with the CYW20719’s internals.

Link: [GitHub - scielex-sdd/meta-mangoh · GitHub](https://github.com/scielex-sdd/meta-mangoh)
