Google Wifi (NLS-1304-25)

From TechInfoDepot
Jump to navigationJump to search
multiple revisions of this device, use caution
abgn+ac (AC1300)
Home WiFi System
Homepage Product page
Support Support page
WikiDevi.wi-cat.ru Google Wifi (NLS-1304-25)
3rd Party Firmware
dd-wrt Status Unknown
OpenWrt Supported
Tomato any flavor Incompatible
Gargoyle Status Unknown
Platform
BrandModelRev Google Wifi
Model Part Number NLS-1304-25
FCC ID (fcc.io) A4RNLS-1304-25
FCC ID (fcc.report) A4RNLS-1304-25
Type wireless system, wireless router, mesh node
CPU1 checkY Qualcomm IPQ4019
CPU1 Type ARMv7 Cortex-A7
CPU1 Speed 716 MHz ( 4 cores )
Flash1 Chip Toshiba THGBMDG5D1LBAIT
Flash1 Size 4 GiB 4,096 MiB <br />4,294,967,296 B <br />33,554,432 Kib <br />4,194,304 KiB <br />32,768 Mib <br /> (eMMC)"GiB" can not be assigned to a declared number type with value 4.
Flash2 Chip Winbond W25Q64FVZPIG
Flash2 Size 8 MiB8,388,608 B <br />65,536 Kib <br />8,192 KiB <br />64 Mib <br />0.00781 GiB <br />
RAM1 Size 512 MiB 536,870,912 B <br />4,194,304 Kib <br />524,288 KiB <br />4,096 Mib <br />0.5 GiB <br />
RAM1 Chip Samsung K4B4G1646E-BYK0
ETH chip1 Qualcomm IPQ4019
Switch Qualcomm Atheros QCA8075
Ethernet Port Count 1-1GbE-WAN
1-1GbE-LAN
Wired Standard IEEE 802.3i/3u/3ab

802dot11 OUI: F4:F5:D8 (-, 1 W)
Ethernet OUI: F4:F5:D8 (-, 1 W)

Stock bootloader Coreboot
Expansion IF types Mini PCIe
USB ports 1
USB Hub Compatible Untested
Power 5 VDC, 3 A
Connector type USB (Type-C)
Serial Port (UART) yes, (115200 8N1)

Flags:
Wave2, MU-MIMO, Bluetooth, ZigBee

Additional chips
2.4GHz Front End Module;Skyworks;SKY85309-11;;2;
5GHz Front End Module;Skyworks;SKY85717;;2;
Network Co-Processor for ZigBee;Silicon Labs;EM3581;;1;
2.4GHz ZigBee/Smart Front End Module;Skyworks;SKY66109-11;;1;
Bluetooth Chip;CSR (QCA);CSR1021;3003-CL3D, FU61801P, 1618, CN;;1;
ARM Microcontroller;STMicroelectronics;STM32F072;;1;
Trusted Platform Module;Infineon;SLB9615;;1;
LED Driver;Texas Instruments;LP55231;63AJTCU, LP55231;1;

Other
Manuf/OEM/ODM Wistron NeWeb SAQ5G 1.0GA
3rd Party Firmware Support OpenWrt • (List | Dev | DLs)
Retail
Availability End of Life
FCC approval date 14 November 2016
(Est.) release date 05 December 2016
(Est.) initial retail price (in USD): $129
Newegg N82E16833981027
ASINs B01MDJ0HVG
B01MAW2294
Country of manuf China
Radio 1
Chip1 Qualcomm IPQ4019
Wireless interface OUI F4:F5:D8
Antenna Connector Type none specified
MIMO status 2x2:2
Wireless Standard IEEE 802.11b/g/n
N-QAM up to 400 Mbps
802.11n up to 300 Mbps
802.11g up to 54 Mbps
802.11b up to 11 Mbps
WiFi Operating Frequency 2.4 GHz
Radio 2
Chip1 Qualcomm IPQ4019
Wireless interface OUI F4:F5:D8
Antenna Connector Type none specified
MIMO status 2x2:2
Wireless Standard IEEE 802.11a/n/ac
802.11ac up to 867 Mbps
802.11n up to 300 Mbps
802.11a up to 54 Mbps
WiFi Operating Frequency 5 GHz
 CPU1 brandRadio1 chip1 brandRadio2 chip1 brand
Google Wifi (AC-1304)QualcommQualcommQualcomm
Google Wifi (NLS-1304-25)QualcommQualcommQualcomm

For a list of all currently documented Qualcomm chipsets with specifications, see Qualcomm.
For a list of all currently documented Qualcomm Atheros (QCA) chipsets with specifications, see Qualcomm Atheros.

For a list of all currently documented Google devices with specifications, see Google.

867 Mbps - 2SS 5GHz 802.11ac (80MHz chan.),
400 Mbps - 2SS 2.4GHz 802.11n (40MHz chan., 256-QAM) = AC1300 class

Overview

  • "48SAQ5G1.0GA" (Wistron NeWeb) is silkscreened on the board.
  • "48SAQ5G5.0GAGUW" is silkscreened on the Ethernet port board.
  • "FAB NUMBER: 651-01091-02" is silkscreened on the main board.

Links of Interest

Google Store

Reviews

FCC internal photos show both a QCA8072 and a QCA8075
but the device will only contain one or the other.

Flashing

Flashing OpenWrt

Target: ipq40xx
Subtarget: chromium
Package architecture: arm_cortex-a7_neon-vfpv4
Supported Since Commit
Support started version: 23.05.0
Current supported version: 24.10.4
LAN Hardware: Qualcomm Atheros QCA8075
WLAN Hardware: Qualcomm Atheros IPQ4019
Installation method(s):
see devicepage
Recovery method(s):
see devicepage
Comment:
CSR1021 bluetooth chip (UART based, not known to function), Zigbee, TPM 1.2. The bootloader is coreboot + early version of 'depthcharge', 4GB eMMC
git • >>
ipq40xx: Add subtarget for Google WiFi (Gale)
Google WiFi (codename: Gale) is an IPQ4019-based AP, with 2 Ethernet
ports, 2x2 2.4+5GHz WiFi, 512 MB RAM, 4 GB eMMC, and a USB type C port.
In its stock configuration, it runs a Chromium OS-based system, but you
wouldn't know it, since you can only manage it via a "cloud" +
mobile-app system.

The "v2" label is coded into the bootloader, which prefers the
"google,gale-v2" compatible string. I believe "v1" must have been
pre-release hardware.

Note: this is *not* the Google Nest WiFi, released in 2019.

I include "factory.bin" support, where we generate a GPT-based disk
image with 2 partitions -- a kernel partition (using the custom "Chrome
OS kernel" GUID type) and a root filesystem partition. See below for
flashing instructions.

Sysupgrade is supported via recent emmc_do_upgrade() helper.

This is a subtarget because it enables different features
(FEATURES=boot-part rootfs-part) whose configurations don't make sense
in the "generic" target, and because it builds in a few USB drivers,
which are necessary for installation (installation is performed by
booting from USB storage, and so these drivers cannot be built as
modules, since we need to load modules from USB storage).

Flashing instructions
=====================

Documented here:
https://openwrt.org/inbox/toh/google/google_wifi

Note this requires booting from USB storage.

Features
========

I've tested:

 * Ethernet, both WAN and LAN ports
 * eMMC
 * USB-C (hub, power-delivery, peripherals)
 * LED0 (R/G/B)
 * WiFi (limited testing)
 * SPI flash
 * Serial console: once in developer mode, console can be accessed via
   the USB-C port with SuzyQable, or other similar "Closed Case
   Debugging" tools:
     https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/master/docs/ccd.md#suzyq-suzyqable
 * Sysupgrade

Not tested:

 * TPM

Known not working:

 * Reboot: this requires some additional TrustZone / SCM
   configuration to disable Qualcomm's SDI. I have a proposal upstream,
   and based on IRC chats, this might be acceptable with additional DT
   logic:
     [RFC PATCH] firmware: qcom_scm: disable SDI at boot
     https://lore.kernel.org/linux-arm-msm/20200721080054.2803881-1-computersforpeace@gmail.com/
 * SMP: enabling secondary CPUs doesn't currently work using the stock
   bootloader, as the qcom_scm driver assumes newer features than this
   TrustZone firmware has. I posted notes here:
     [RFC] qcom_scm: IPQ4019 firmware does not support atomic API?
     https://lore.kernel.org/linux-arm-msm/20200913201608.GA3162100@bDebian/
 * There's a single external button, and a few useful internal GPIO
   switches. I haven't hooked them up.

The first two are fixed with subsequent commits.

Additional notes
================

Much of the DTS is pulled from the Chrome OS kernel 3.18 branch, which
the manufacturer image uses.

Note: the manufacturer bootloader knows how to patch in calibration data
via the wifi{0,1} aliases in the DTB, so while these properties aren't
present in the DTS, they are available at runtime:

  # ls -l
/sys/firmware/devicetree/base/soc/wifi@a*/qcom,ath10k-pre-calibration-data
  -r--r--r--    1 root     root         12064 Jul 15 19:11 /sys/firmware/devicetree/base/soc/wifi@a000000/qcom,ath10k-pre-calibration-data
  -r--r--r--    1 root     root         12064 Jul 15 19:11 /sys/firmware/devicetree/base/soc/wifi@a800000/qcom,ath10k-pre-calibration-data

Ethernet MAC addresses are similarly patched in via the ethernet{0,1} aliases.

See also

List of Wireless Systems