Archive

Posts Tagged ‘router’

Xiaomi Mi WiFi 3 Router Unboxing, Teardown, and Serial Console

April 20th, 2016 41 comments

Mi WiFi 3 is the new low cost 802.11ac WiFi router by Xiaomi that sells for about $40. GearBest send my one sample for evaluation, and today, I’ve taken some photo of the device and board, and connected the UART pin to see if the serial console was accessible for people who want to try to port OpenWrt for example.

Xiaomi Mi WiFi 3 Unboxing

There’s some information on the package, but everything is in Chinese, except the part about AC1200 meaning it supports up to 867 Mbps with 802.11ac and 300 Mbps using 802.11n.

Xiaomi_Mi_WiFi_3_AC1200_Router_PackageThe router comes with a 12V/1A power supply, and a user’s manual in Chinese only. There’s also a QR code inside the box linking to the Android and iOS apps,  available both in English and Chinese, so actually that one of the few Xiaomi product that should be easy to use outside of China without some hacks.Xiaomi_Mi_WiFi_3_Router_Power_Supply_User_Manual

The router has four external antennas.

Xiaomi_Mi_WiFi_3_RouterThe rear panel features a reset pinhole, a USB port to connect storage, two LAN ports, one WAN port, and the DC jack.

Xiaomi_Mi_WiFi_3_Rear_Panel

Xiaomi Mi WiFi 3 Router Teardown

First it looks like I only had to pop the bottom of the case with some plastic tool, but then I noticed a screw in the middle was holding it together. So I had to pierce through the sticker with my screwdriver to completely open it.

Xiaomi_Mi_WiFi_3_Router_TeardownI was a bit surprised that they had used such as large enclosure for a small board, but maybe marketing is in play here with bigger is better? [Update: Actually, it’s for the router to avoid falling backward due to the weight of the antennas]

Click to Enlarge

Click to Enlarge

Beside the three GLGNET GSD16002LF 100Mbit magnetics, the main components include Mediatek MT7612EN 802.11a/b/g/n/ac Wi-Fi 2T2R chip, a chip under a small heatsink which must be MT7620A, and NANYA NT5TU64M16HG-AC DDR2 chip (64 MB). You’ll also notice the pin for the serial console are clearly marked on the right side, but more on that below. The two 5GHz antennas are on left, and the two 2.4GHz antennas on the right in the picture above.

Click to Enlarge

Click to Enlarge

The bottom of the board features Spansion S34ML01G100TF100 flash with 128 MB capacity.

Xiaomi MiWiFi 3 Serial Console

I’ve also soldered a 4-pin header on the right side of the board (GND, Tx, Rx, and 3.3V). to check if I could indeed access the serial console with a USB to TTL debugger adapter.

Xiaomi_Mi_WiFi_3_Router_Serial_Console

Then I started minicom with the usual settings (115200 8N1), powered up the board, and I could get the serial log:

Welcome to minicom 2.7OPTIONS: I18n
Compiled on Jan 1 2014, 17:13:19.
Port /dev/ttyUSB0, 16:21:43Press CTRL-A Z for help on special keys

U-Boot 1.1.3 (Mar 16 2016 – 14:15:12)

Board: Ralink APSoC DRAM: 128 MB
Power on memory test. Memory size= 128 MB…OK!
relocate_code Pointer at: 87fb8000
enable ephy clock…done. rf reg 29 = 5
SSC disabled.
!!! nand page size = 2048, addr len=4
..============================================
Ralink UBoot Version: 4.2.S.1
——————————————–
ASIC 7620_MP (Port5None)
DRAM_CONF_FROM: Auto-detection
DRAM_TYPE: DDR2
DRAM component: 1024 Mbits
DRAM bus: 16 bit
Total memory: 128 MBytes
Flash component: NAND Flash
Date:Mar 16 2016 Time:14:15:12
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

##### The CPU freq = 580 MHZ ####
estimate memory size =128 Mbytes

Please choose the operation:
1: Load system code to SDRAM via TFTP.
2: Load system code then write to Flash via TFTP.
3: Boot system code via Flash (default).
4: Entr boot command line interface.
9: Load Boot Loader code then write to Flash via TFTP.

3: System Boot system code via Flash.
Booting System 1
..Erasing NAND Flash…
Writing to NAND Flash…
done
## Booting image at bc200000 …
Image Name: MIPS OpenWrt Linux-2.6.36
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 2616754 Bytes = 2.5 MB
Load Address: 80000000
Entry Point: 80000000
…………………………………. Verifying Checksum … OK
Uncompressing Kernel Image … OK
commandline uart_en=0 factory_mode=0 mem=128m
No initrd
## Transferring control to Linux (at address 80000000) …
## Giving linux memsize in MB, 128

Starting kernel …

LINUX started…

THIS IS ASIC
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.36 ([email protected]) (gcc version 4.6.3 6
[ 0.000000]
[ 0.000000] The CPU feqenuce set to 580 MHz
[ 0.000000] PCIE: bypass PCIe DLL.
[ 0.000000] PCIE: Elastic buffer control: Addr:0x68 -> 0xB4
[ 0.000000] disable all power about PCIe
[ 0.000000] CPU revision is: 00019650 (MIPS 24Kc)
[ 0.000000] Software DMA cache coherency
[ 0.000000] Determined physical RAM map:
[ 0.000000] memory: 08000000 @ 00000000 (usable)
[ 0.000000] User-defined physical RAM map:
[ 0.000000] memory: 08000000 @ 00000000 (usable)
[ 0.000000] Initrd not found or empty – disabling initrd
[ 0.000000] Zone PFN ranges:
[ 0.000000] Normal 0x00000000 -> 0x00008000
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] early_node_map[1] active PFN ranges
[ 0.000000] 0: 0x00000000 -> 0x00008000
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pa2
[ 0.000000] Kernel command line: console=ttyS1,115200n8 root=/dev/ram0 uart_m
[ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Primary instruction cache 64kB, VIPT, , 4-waylinesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bys
[ 0.000000] Writing ErrCtl register=0004a6ba
[ 0.000000] Readback ErrCtl register=0004a6ba
[ 0.000000] allocated 655360 bytes of page_cgroup
[ 0.000000] please try ‘cgroup_disable=memory’ option if you don’t want memos
[ 0.000000] Memory: 123440k/131072k available (3347k kernel code, 7632k rese)
[ 0.000000] SLUB: Genslabs=7, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, N1
[ 0.000000] NR_IRQS:128
[ 0.000000] console [ttyS1] enabled
[ 0.010000] Calibrating delay loop… 385.84 BogoMIPS (lpj=1929216)
[ 0.220000] pid_max: default: 32768 minimum: 301
[ 0.220000] Mount-cache hash table entries: 512
[ 0.220000] Initializing cgroup subsys cpuacct
[ 0.230000] Initializing cgroup subsys memory
[ 0.230000] Initializing cgroup subsys net_cls
[ 0.230000] devtmpfs: initialized
[ 0.240000] NET: Registered protocol family 16
[ 0.240000] RALINK_GPIOMODE = 121b1c
[ 0.240000] RALINK_GPIOMODE = 101b1c
[ 0.440000] PPLL_CFG1=0xe44000
[ 0.450000] MT7620 PPLL lock
[ 0.450000] PPLL_DRV =0x80080504
[ 0.650000] Deassert the PCIE0 RESET.
[ 0.650000] start PCIe register access
[ 1.150000] RALINK_RSTCTRL = 2400000
[ 1.160000] RALINK_CLKCFG1 = 75afffc0
[ 1.160000]
[ 1.160000] *************** MT7620 PCIe RC mode *************
[ 1.660000] PCIE0 enabled
[ 1.670000] init_rt2880pci done
[ 1.670000] bio: create slab at 0
[ 1.680000] SCSI subsystem initialized
[ 1.680000] usbcore: registered new interface driver usbfs
[ 1.680000] usbcore: registered new interface driver hub
[ 1.690000] usbcore: registered new device driver usb
[ 1.690000] pci 0000:00:00.0: BAR 0: can’t assign mem (size 0x80000000)
[ 1.700000] pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x200fffff]
[ 1.700000] pci 0000:00:00.0: BAR 9: assigned [mem 0x20100000-0x201fffff pre]
[ 1.710000] pci 0000:00:00.0: BAR 1: assigned [mem 0x20200000-0x2020ffff]
[ 1.710000] pci 0000:00:00.0: BAR 1: set to [mem 0x20200000-0x2020ffff] (PCI]
[ 1.720000] pci 0000:01:00.0: BAR 0: assigned [mem 0x20000000-0x200fffff 64b]
[ 1.720000] pci 0000:01:00.0: BAR 0: set to [mem 0x20000000-0x200fffff 64bit]
[ 1.730000] pci 0000:01:00.0: BAR 6: assigned [mem 0x20100000-0x2010ffff pre]
[ 1.730000] pci 0000:00:00.0: PCI bridge to [bus 01-01]
[ 1.740000] pci 0000:00:00.0: bridge window [io disabled]
[ 1.740000] pci 0000:00:00.0: bridge window [mem 0x20000000-0x200fffff]
[ 1.750000] pci 0000:00:00.0: bridge window [mem 0x20100000-0x201fffff pre]
[ 1.750000] BAR0 at slot 0 = 0
[ 1.760000] bus=0x0, slot = 0x0
[ 1.760000] res[0]->start = 0
[ 1.760000] res[0]->end = 0
[ 1.760000] res[1]->start = 20200000
[ 1.770000] res[1]->end = 2020ffff
[ 1.770000] res[2]->start = 0
[ 1.770000] res[2]->end = 0
[ 1.770000] res[3]->start = 0
[ 1.780000] res[3]->end = 0
[ 1.780000] res[4]->start = 0
[ 1.780000] res[4]->end = 0
[ 1.780000] res[5]->start = 0
[ 1.790000] res[5]->end = 0
[ 1.790000] bus=0x1, slot = 0x0
[ 1.790000] res[0]->start = 20000000
[ 1.790000] res[0]->end = 200fffff
[ 1.800000] res[1]->start = 0
[ 1.800000] res[1]->end = 0
[ 1.800000] res[2]->start = 0
[ 1.800000] res[2]->end = 0
[ 1.810000] res[3]->start = 0
[ 1.810000] res[3]->end = 0
[ 1.810000] res[4]->start = 0
[ 1.810000] res[4]->end = 0
[ 1.820000] res[5]->start = 0
[ 1.820000] res[5]->end = 0
[ 1.820000] Switching to clocksource MIPS
[ 1.830000] NET: Registered protocol family 2
[ 1.830000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 1.840000] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[ 1.850000] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[ 1.850000] TCP: Hash tables configured (established 4096 bind 4096)
[ 1.860000] TCP reno registered
[ 1.860000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 1.870000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 1.870000] NET: Registered protocol family 1
[ 3.280000] RT3xxx EHCI/OHCI init.
[ 3.290000] msgmni has been set to 241
[ 3.290000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major )
[ 3.300000] io scheduler noop registered (default)
[ 3.310000] RALINK_REG_PIO7140DATA b0000670 = 0
[ 3.410000] RALINK_REG_PIO7140DATA b0000670 = 2000000
[ 3.420000] Ralink gpio driver initialized
[ 3.420000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[ 3.430000] serial8250: ttyS0 at MMIO 0x10000500 (irq = 37) is a 16550A
[ 3.430000] serial8250: ttyS1 at MMIO 0x10000c00 (irq = 12) is a 16550A
[ 3.440000] init reset module!
[ 3.450000] brd: module loaded
[ 3.450000] !!! nand page size = 2048, addr len=4
[ 3.460000] ra_nand_init: alloc 1350, at 87d90000 , btt(87d910c0, 100), ranf0
[ 3.470000] Creating 13 MTD partitions on “ra_nfc”:
[ 3.470000] 0x000000000000-0x000008000000 : “ALL”
[ 3.500000] 0x000000000000-0x000000040000 : “Bootloader”
[ 3.510000] 0x000000040000-0x000000080000 : “Config”
[ 3.510000] 0x000000080000-0x0000000c0000 : “Bdata”
[ 3.520000] 0x0000000c0000-0x000000100000 : “Factory”
[ 3.530000] 0x000000100000-0x000000140000 : “crash”
[ 3.530000] 0x000000140000-0x000000180000 : “crash_syslog”
[ 3.540000] 0x000000180000-0x000000200000 : “reserved0”
[ 3.540000] 0x000000200000-0x000000600000 : “kernel0”
[ 3.550000] 0x000000600000-0x000000a00000 : “kernel1”
[ 3.560000] 0x000000a00000-0x000002a00000 : “rootfs0”
[ 3.560000] 0x000002a00000-0x000004a00000 : “rootfs1”
[ 3.570000] 0x000004a00000-0x000008000000 : “overlay”
[ 3.570000] rdm_major = 253
[ 3.580000] SMACCR1 — : 0x0000f0b4
[ 3.580000] SMACCR0 — : 0x2985a41d
[ 3.580000] Ralink APSoC Ethernet Driver Initilization. v3.0 256 rx/tx desc!
[ 3.590000] SMACCR1 — : 0x0000f0b4
[ 3.600000] SMACCR0 — : 0x2985a41d
[ 3.600000] PROC INIT OK!
[ 3.610000] PPP generic driver version 2.4.2
[ 3.610000] PPP MPPE Compression module registered
[ 3.620000] NET: Registered protocol family 24
[ 3.620000] PPTP driver version 0.8.5
[ 3.630000] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
[ 3.750000] rt3xxx-ehci rt3xxx-ehci: Ralink EHCI Host Controller
[ 3.760000] rt3xxx-ehci rt3xxx-ehci: new USB bus registered, assigned bus nu1
[ 3.800000] rt3xxx-ehci rt3xxx-ehci: irq 18, io mem 0x101c0000
[ 3.820000] rt3xxx-ehci rt3xxx-ehci: USB 0.0 started, EHCI 1.00
[ 3.820000] hub 1-0:1.0: USB hub found
[ 3.830000] hub 1-0:1.0: 1 port detected
[ 3.830000] ohci_hcd: USB 1.1 ‘Open’ Host Controller (OHCI) Driver
[ 3.860000] rt3xxx-ohci rt3xxx-ohci: RT3xxx OHCI Controller
[ 3.860000] rt3xxx-ohci rt3xxx-ohci: new USB bus registered, assigned bus nu2
[ 3.870000] rt3xxx-ohci rt3xxx-ohci: irq 18, io mem 0x101c1000
[ 3.940000] hub 2-0:1.0: USB hub found
[ 3.940000] hub 2-0:1.0: 1 port detected
[ 3.950000] usbcore: registered new interface driver cdc_acm
[ 3.950000] cdc_acm: v0.26:USB Abstract Control Model driver for USB modems s
[ 3.960000] Initializing USB Mass Storage driver…
[ 3.970000] usbcore: registered new interface driver usb-storage
[ 3.970000] USB Mass Storage support registered.
[ 3.980000] usbcore: registered new interface driver usbserial
[ 3.980000] USB Serial support registered for generic
[ 3.990000] usbcore: registered new interface driver usbserial_generic
[ 4.000000] usbserial: USB Serial Driver core
[ 4.000000] USB Serial support registered for pl2303
[ 4.010000] usbcore: registered new interface driver pl2303
[ 4.010000] pl2303: Prolific PL2303 USB to serial adaptor driver
[ 4.020000] USB Serial support registered for TI USB 3410 1 port adapter
[ 4.030000] USB Serial support registered for TI USB 5052 2 port adapter
[ 4.030000] usbcore: registered new interface driver ti_usb_3410_5052
[ 4.040000] ti_usb_3410_5052: v0.10:TI USB 3410/5052 Serial Driver
[ 4.050000] Software Watchdog Timer: 0.07 initialized. soft_noboot=0 soft_ma)
[ 4.050000] u32 classifier
[ 4.060000] input device check on
[ 4.060000] Actions configured
[ 4.060000] Netfilter messages via NETLINK v0.30 with ipset netlink.patch.
[ 4.070000] nf_conntrack version 0.5.0 (1928 buckets, 7712 max)
[ 4.080000] xt_time: kernel timezone is -0000
[ 4.080000] GRE over IPv4 demultiplexor driver
[ 4.090000] ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Restricted Coe
[ 4.100000] TCP cubic registered
[ 4.100000] NET: Registered protocol family 10
[ 4.110000] NET: Registered protocol family 17
[ 4.110000] L2TP core driver, V2.0
[ 4.110000] PPPoL2TP kernel driver, V2.0
[ 4.120000] L2TP netlink interface
[ 4.120000] 802.1Q VLAN Support v1.8 Ben Greear <[email protected]>
[ 4.130000] All bugs added by David S. Miller <[email protected]>
[ 4.150000] Freeing unused kernel memory: 1188k freed
[ 4.240000] Loading essential drivers…
[ 4.250000] Press Ctrl+C to enter RAMFS…
[ 5.260000] Check for USB recovery…
[ 5.290000] Bringup the system…
[ 5.300000] flag_boot_rootfs=0 mounting /dev/mtd10
[ 5.310000] UBI: attaching mtd10 to ubi0
[ 5.310000] UBI: physical eraseblock size: 131072 bytes (128 KiB)
[ 5.320000] UBI: logical eraseblock size: 126976 bytes
[ 5.320000] UBI: smallest flash I/O unit: 2048
[ 5.330000] UBI: VID header offset: 2048 (aligned 2048)
[ 5.340000] UBI: data offset: 4096
[ 5.490000] UBI: max. sequence number: 2
[ 5.500000] UBI: attached mtd10 to ubi0
[ 5.500000] UBI: MTD device name: “rootfs0”
[ 5.510000] UBI: MTD device size: 32 MiB
[ 5.510000] UBI: number of good PEBs: 256
[ 5.520000] UBI: number of bad PEBs: 0
[ 5.520000] UBI: max. allowed volumes: 128
[ 5.530000] UBI: wear-leveling threshold: 4096
[ 5.530000] UBI: number of internal volumes: 1
[ 5.540000] UBI: number of user volumes: 1
[ 5.540000] UBI: available PEBs: 0
[ 5.550000] UBI: total number of reserved PEBs: 256
[ 5.550000] UBI: number of PEBs reserved for bad PEB handling: 4
[ 5.560000] UBI: max/mean erase counter: 1/0
[ 5.560000] UBI: image sequence number: 1026081047
[ 5.570000] UBI: background thread “ubi_bgt0d” started, PID 80
UBI device number 0, total 256 LEBs (32505856 bytes, 31.0 MiB), available 0 LEB)
[ 5.660000] UBIFS: mounted UBI device 0, volume 0, name “system”
[ 5.660000] UBIFS: mounted read-only
[ 5.670000] UBIFS: file system size: 30093312 bytes (29388 KiB, 28 MiB, 23)
[ 5.670000] UBIFS: journal size: 9023488 bytes (8812 KiB, 8 MiB, 72 LE)
[ 5.680000] UBIFS: media format: w4/r0 (latest is w4/r0)
[ 5.690000] UBIFS: default compressor: zlib
[ 5.690000] UBIFS: reserved for root: 0 bytes (0 KiB)
config core ‘version’
# ROM ver
option ROM ‘2.8.12’
# channel
option CHANNEL ‘release’
# hardware platform R1AC or R1N etc.
option HARDWARE ‘R3’
# CFE ver
option UBOOT ‘1.0.2’
# Linux Kernel ver
option LINUX ‘0.1.12’
# RAMFS ver
option RAMFS ‘0.1.12’
# SQUASHFS ver
option SQAFS ‘0.1.12’
# ROOTFS ver
option ROOTFS ‘0.1.12’
#build time
option BUILDTIME ‘Wed, 16 Mar 2016 14:13:36 +0800’
#build timestamp
option BUILDTS ‘1458108816’
#build git tag
option GTAG ‘commit 17f50389a144da43f3858d508d9de41885282406’
mount: mounting proc on /proc failed: Device or resource busy
mount: mounting sysfs on /sys failed: Device or resource busy
[ 6.460000] Raeth v3.0 (Tasklet,SkbRecycle)
[ 6.460000]
[ 6.460000] phy_tx_ring = 0x074c7000, tx_ring = 0xa74c7000
[ 6.460000]
[ 6.460000] phy_rx_ring0 = 0x07df0000, rx_ring0 = 0xa7df0000
[ 6.460000] SMACCR1 — : 0x0000f0b4
[ 6.460000] SMACCR0 — : 0x2985a41d
[ 6.490000] CDMA_CSG_CFG = 81000000
[ 6.490000] GDMA1_FWD_CFG = 20710000
– preinit –
Wed Mar 16 14:27:38 UTC 2016
– regular preinit –
[ 6.670000] UBI: attaching mtd12 to ubi1
[ 6.670000] UBI: physical eraseblock size: 131072 bytes (128 KiB)
[ 6.680000] UBI: logical eraseblock size: 126976 bytes
[ 6.680000] UBI: smallest flash I/O unit: 2048
[ 6.690000] UBI: VID header offset: 2048 (aligned 2048)
[ 6.690000] UBI: data offset: 4096
[ 6.940000] UBI: max. sequence number: 122
[ 6.960000] UBI: attached mtd12 to ubi1
[ 6.960000] UBI: MTD device name: “overlay”
[ 6.970000] UBI: MTD device size: 54 MiB
[ 6.970000] UBI: number of good PEBs: 432
[ 6.980000] UBI: number of bad PEBs: 0
[ 6.980000] UBI: max. allowed volumes: 128
[ 6.990000] UBI: wear-leveling threshold: 4096
[ 6.990000] UBI: number of internal volumes: 1
[ 7.000000] UBI: number of user volumes: 1
[ 7.000000] UBI: available PEBs: 0
[ 7.000000] UBI: total number of reserved PEBs: 432
[ 7.010000] UBI: number of PEBs reserved for bad PEB handling: 8
[ 7.020000] UBI: max/mean erase counter: 1/0
[ 7.020000] UBI: image sequence number: 35629411
[ 7.030000] UBI: background thread “ubi_bgt1d” started, PID 149
UBI device number 1, total 432 LEBs (54853632 bytes, 52.3 MiB), available 0 LEB)
[ 7.080000] UBIFS: recovery needed
[ 7.130000] UBIFS: recovery completed
[ 7.130000] UBIFS: mounted UBI device 1, volume 0, name “data”
[ 7.140000] UBIFS: file system size: 52187136 bytes (50964 KiB, 49 MiB, 41)
[ 7.140000] UBIFS: journal size: 2666496 bytes (2604 KiB, 2 MiB, 21 LE)
[ 7.150000] UBIFS: media format: w4/r0 (latest is w4/r0)
[ 7.160000] UBIFS: default compressor: lzo
[ 7.160000] UBIFS: reserved for root: 2464926 bytes (2407 KiB)
/lib/preinit.sh: line 1: jffs2_not_mounted: not found
– init –
[ 7.760000] ra2880stop()…Done
[ 7.780000] Free TX/RX Ring Memory!
init started: BusyBox v1.19.4 (2016-03-16 14:06:55 CST)

Please press Enter to activate this console. rcS S boot: INFO: rc script run ti.
[ 8.800000] tntfs: module license ‘Commercial. For support email ntfs-suppor.
[ 8.810000] Disabling lock debugging due to kernel taint
[ 8.850000] Tuxera NTFS driver 3015.1.29 [Flags: R/W MODULE].
[ 8.950000] Tuxera FAT 12/16/32 driver version 3014.1.24 [Flags: R/W MODULE].
[ 9.010000] tun: Universal TUN/TAP device driver, 1.6
[ 9.020000] tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
[ 9.040000] Mirror/redirect action on
[ 9.300000] GRE over IPv4 tunneling driver
[ 9.530000] ipt: xt_cgroup_MARK installed ok.
[ 9.600000] ip_set: protocol 6
[ 9.880000] sstack_init
[ 11.170000] [ 11.180000] [ 12.720000] [ 12.740000] CSRBaseAddress =0xc1100000, csr_addr=0xc1100000!
[ 12.750000] MAC_CSR0=1986146304, RtmpChipOpsHook
[ 12.760000] dev idx = 1!
[ 12.760000] get_dev_config_idx pAd->MACVersion = 76623000, pAd->ChipID4
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: INFO: loading exist /etc/config/ne.
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: #### Loopback configuration
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: config interface loopback
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option ifname lo
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option proto static
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option ipaddr 127.0.0.1
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option netmask 255.0.0.0
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: #### LAN configuration
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: config interface lan
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option ifname eth0.1
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option type bridge
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option proto static
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option ipaddr 192.168.31.1
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option netmask 255.255.255.0
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: #### WAN configuration
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: config interface wan
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option ifname eth0.2
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option proto dhcp
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: ### IFB interface for MiQoS
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: config interface ifb
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option ifname ifb0
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: #### READY configuration
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: config interface ready
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option proto static
Wed Mar 16 22:27:45 CST 2016 netconfig[405]: option ipaddr 169.254.29.1
Wed Mar 16 22:27:45 CST 2016 netconfig[405]: option netmask 255.255.255.0
[ 15.230000] Raeth v3.0 (Tasklet,SkbRecycle)
[ 15.230000]
[ 15.230000] phy_tx_ring = 0x05e6f000, tx_ring = 0xa5e6f000
[ 15.230000]
[ 15.230000] phy_rx_ring0 = 0x05e5d000, rx_ring0 = 0xa5e5d000
[ 15.230000] SMACCR1 — : 0x0000f0b4
[ 15.230000] SMACCR0 — : 0x2985a41d
[ 15.250000] CDMA_CSG_CFG = 81000000
[ 15.260000] GDMA1_FWD_CFG = 20710000
[ 15.280000] device eth0.1 entered promiscuous mode
[ 15.290000] device eth0 entered promiscuous mode
[ 15.310000] br-lan: port 1(eth0.1) entering learning state
[ 15.310000] br-lan: port 1(eth0.1) entering learning state
[ 16.020000] MAC_CSR0=1986146304, rtmp_asic_top_init
[ 16.150000] Set_Bsd_Proc 7114 Bsd 0
[ 17.310000] br-lan: port 1(eth0.1) entering forwarding state
[ 19.370000] <==== rt28xx_init, Status=0
[ 21.640000] device wl0 entered promiscuous mode
[ 21.640000] br-lan: port 2(wl0) entering learning state
[ 21.650000] br-lan: port 2(wl0) entering learning state
[ 22.250000] Set_Bsd_Proc 6786 Bsd 0
[ 23.650000] br-lan: port 2(wl0) entering forwarding state

For some reasons, I could not access the command line, as Rx did not seem to work. Not exactly sure why yet.

As mentioned in the introduction, GearBest sent the review sample, and you could purchase the router for $34.99 shipped from their website. The router is also sold for less than $40 on Aliexpress, GeekBuying, and probably other e-retailers.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Xiaomi Mi WiFi 3 AC1200 Router Gets 128 MB Storage, Sells for $40 Shipped

April 11th, 2016 26 comments

The first Xiaomi Mi WiFi router brought the cost of 802.11ac WiFi to the masses, and it is now selling for less than $30 including shipping, but the company has now launched Xiaomi Mi WiFi 3 router with some improvements, including a total of 4 antennas and more storage, and sold on e-retailer such as GearBest and GeekBuying for just under $40.

Xiaomi_Mi_WiFi_3Xiaomi Mi WiFi 3 router specifications:

  • Wi-Fi SoC – Mediatek MT7620A @ 580MHz
  • System Memory – 128 MB DDR2
  • Storage – 128 MB SLC NAND Flash
  • Wi-Fi
    • Protocols – IEEE 802.11a/b/g/n/ac
    • Transmission Rate – 300Mbps max @ 2.4GHz 2X2  MIMO, 867 Mbps max @ 5GHz 2X2  MIMO
    • Wireless Security – WPA-PSK/WPA2-PSK encryption, wireless access control (black and white list), SSID hiding
    • 2.4 GHz Channels: 1,2,3,4,5,6,7,8,9,10,11,12,13
    • 5 GHz Channels: 149,153,157,161,165
    • 5 GHz DFS (dynamic frequency selection) channels: 36,40,44,48,52,56,60,64;
    • 4x external antennas
  • Ethernet – 2x 10/100M Ethernet (LAN), 1x 10/100M Ethernet (WAN)
  • USB – 1x USB 2.0 host port for external mass storage or 3GB dongle
  • Misc – 3x LEDs, reset button
  • Power – 12V/1A
  • Dimensions – 195 x 131 x 23.5mm
  • Weight – 220 grams

Xiaomi_Mi_WiFi_Router_3

The router runs MiWiFi operating systems with configuration via its web interface, Android or  iOS apps. I understand that the router’s web interface is only in Chinese, but the apps also support English. However, the original router also supports OpenWrt, and considering there aren’t that many differences, the new version should already or soon be supported. You may find more details on the product page in Chinese.

Via AndroidPC.es

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

NXP Introduces QorIQ LS1046A Quad Cortex A72 Communication Processor with 10 GbE, SATA 3.0, PCIe 3.0, etc…

March 24th, 2016 11 comments

NXP has unveiled a new QorIQ communication processor with LS1046A based on quad ARM Cortex-A72 cores, and including 10GbE, PCIe Gen.3, SATA 3.0, and USB 3.0 interfaces. The processors targets CPE and vCPE (virtual Customer Premise Equipment), routers, NAS, and service provider gateways for the home and small office, as well as single board computers.

LS1046A Block Diagram

LS1046A Block Diagram

QorIQ LS1046A key specifications:

  • CPU – Four ARM Cortex -A72 cores with 2MB L2 cache; 32,000 CoreMarks.
  • Memory  – 32-/64-bit DDR4 memory controller
  • Storage – SATA 3.0 controller, quad SPI
  • Connectivity
    • 2x 10 Gigabit Ethernet controllers
    • 1x 2.5 Gigabit Ethernet controller
    • 4x Gigabit Ethernet controllers
  • Other peripherals
    • 3x PCIe 3.0 Controllers, x4, x2, x 1
    • 3x USB 3.0 with integrated PHY
    • 4x UART, 4x I2C, SPI, GPIO
    • JTAG
  • Support for hardware-based virtualization via ARM SMMU
  • Packet processing acceleration –  Packet classification and distribution; hardware work scheduling, shaping, and buffer management.
  • Integrated security engine – High-speed security protocol processing, including IPsec, SSL, DTLS, and IKE.  SEC also supports high speed XORing for RAID 5 acceleration
  • ARM TrustZone and NXP QorIQ trust architecture – Secure boot, secure debug, tamper detection, secure key storage
  • Power consumption – “Total power under 10 W at 1.2 GHz for convection cooled designs”; “7 watt power envelop”
  • Package – 23x23mm FCPBGA; pin-to-pin compatible with LS1023A, LS1043A, and LS1088A

The company also mentions LS1026A processor in the product page without much details, but it’s likely the dual core version of the processor.

NXP QorIQ LS1046A processor will become available in Q3 2016.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

GearBest 2nd Anniversary Promo Offers Cheap TV Boxes and Routers

March 21st, 2016 14 comments

GearBest has become fairly popular since it launched two years ago, mostly thanks to aggressive pricing, promotions, and coupons, and the company is celebrating its anniversary with some more discounts with recent TV boxes as low as $23, routers for $12 and up, and other accessories.

Cheap_Android_TV_BoxesSome potentially interesting deals include:

Please note that some are flash sales with 100 to 300 pieces, and discounted prices may not be active right now.

[Update: Finally, only the flash sales appears to offer a few dollars discount, others are pretty much standard prices]

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

The First Devices and Routers with WiFi 802.11ad Delivering Up 7Gbit/s Transfer Rates at 60 GHz Will Be Available This Year

March 7th, 2016 7 comments

802.11ad is the latest and fastest WiFi standard working in the 60 GHz band and delivering up to 7 Gbit per second data transmission rates. The 60 GHz  frequency band offers both advantages and disadvantages because it does not penetrate through walls nor water, meaning it can only be used within a room limiting the range, but at the same time it’s more secure since it cannot be snooped from the outside, and for people who worry about health effects it does not penetrate the human body. 802.11ad routers will also be able to switch to 2.4 and 5.0 GHz frequency bands in order to go through walls.

The table above nicely summarize the key features of 802.11ad over 802.11ac and 802.11n, however the throughput row shows the theoretical maximum throughput, but in practice, using 802.11ac as example, clients are often limited to 433 or 866 Mbps, and distance and obstacles will even lower the performance further.

Wikipedia also list the following key features for WiGig MAC and PHY Specification version 1.1:

  • Supports data transmission rates up to 7 Gbit/s – more than ten times faster than the highest 802.11n rate
  • Supplements and extends the 802.11 Media Access Control (MAC) layer and is backward compatible with the IEEE 802.11 standard
  • Physical layer enables low power and high performance WiGig devices, guaranteeing interoperability and communication at Gigabit rates
  • Protocol adaptation layers are being developed to support specific system interfaces including data buses for PC peripherals and display interfaces for HDTVs, monitors and projectors
  • Support for beamforming, enabling robust communication at distances beyond 10 meters. The beams can move within the coverage area through modification of the transmission phase of individual antenna elements, which is called phase array antenna beamforming.
  • Widely used advanced security and power management for WiGig devices

Applications for the higher bandwidth include faster download speeds, 4K wireless video, in-room gaming, etc…

60 GHz Frequency Bands for 802.11ac per Regions/Countries

60 GHz Frequency Bands for 802.11ac per Regions/Countries

If you want more technical details or/and finding how to test WiFi 802.11ad device, Agilent’s Wireless LAN at 60 GHz – IEEE 802.11ad Explained application note should be a good read.

TP-Link 802.11ad Router

TP-Link 802.11ad Router

So when will 802.11ad become available? Very soon, as TPLink unveiled Talon AD7200 Multi-band 802.11ad Wi-Fi Router at CES 2016, supporting up 7200Mbps Wi-Fi speeds over 2.4GHz (800Mbps), 5GHz (1733Mbps), and 60GHZ (4600Mbps) bands, and scheduled to be available in “U.S. stores in early 2016”, while LeEcho, previously known as LeTV, has just launched Le Max Pro (X900) smartphone featuring 802.11ad WiFi in China (also found in Aliexpress), and showcased in ARMDevices.net video where Qualcomm demonstrates 802.11ad with the phone by streaming a 4K video at 50 Mbps to a 802.11ad dock connected an UltraHD TV, and downloading data up to 2.6 Gbps with the phone.

Intrinsyc’s Snapdragon 820 Tablet Mobile Development Platform (MDP) also features 802.11ad, and according to a Qualcomm’s press release, Acer and Asus are working on 802.11ad notebooks, and USB adapter  reference designs and development kits will be offered by Sibeam and Peraso.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

DAB Embedded OpenWrt Router Board Combines Atmel SAMA5D3 SoC and Altera MAX 10 FPGA

February 16th, 2016 6 comments

DAB Embedded, a Belgian engineering company specialized in research and development of electronic products, has designed DAB-OWT-SAM5 router board powered by Atmel SAMA5D36 Cortex-A5 processor and Altera MAX 10 FPGA, which runs OpenWrt or Windows Embedded Compact 7, and targets IoT applications.

DAB-OWT-SAM5_openwrt_router

DAB-OWT-SAM5 board specifications:

  • SoC – Atmel SAMA5D36 ARM Cortex-A5 processor @ 536MHz with Floating-Point Unit.
  • FPGA – Altera MAX 10 FPGA with integrated ADC (Exact part number not disclosed)
  • System Memory – Up to 512MB DDR2
  • Storage – Up to 2GB NAND flash, 1Mbit SPI flash, micro SD slot
  • Connectivity – 2x Fast Ethernet ports, 802.11 b/g/n WiFi (Direct, station mode, and soft-AP) via Atmel ATWILC1000B module
  • Display Interface – LVDS connected to FPGA
  • USB – 1x USB 2.0 host, 1x USB 2.0 device
  • Expansion Connectors
    • Wired interfaces – RS232, CAN 2.0 A/B, KNX, RS-485/422, etc…
    • Wireless connectivity – Zigbee, Z-Wave, KNX RF, etc…
  • Power Supply – 5V DC power supply, external Li+ battery
  • Dimensions – N/A
Block Diagram - Click to Enlarge

Block Diagram – Click to Enlarge

The company can provide OpenWrt firmware with Linux 4.1 BSP, and/or Windows Embedded Compact 7, and NIOS II examples for the FPGA.

DAB Embedded did not release availability nor pricing information. A few more details may be available on DAB-OWT-SAM5 product page.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

$98 Geek Force Mediatek MT7623 Router Board Features 6 GbE Ports, 3 mPCIe Slots for WiFi, 3G, or LTE (Crowdfunding)

February 8th, 2016 20 comments

We’ve seen a few interesting and relatively powerful router board launched last year, with the likes of MQMaker WiTi or Turris Omnia, AsiaRF has now designed Geek Force board powered by Mediatek MT7623N/MT7623A quad core network processor combined with 2GB RAM, six Gigabit Ethernet ports, and optional 802.11ac and 3G connectivity via the three mPCIe slots available on the board. The board also features two HDMI ports, and supports multimedia capabilities such as H.264, MPEG-2, or VC-1 hardware video decoding.

Geek_Force_Board

Click to Enlarge

Geek Force board preliminary specifications:

  • SoC – MediaTek MT7623A or MT7623N quad-core ARM Cotex-A7 @ 1.3GHz with Mali-450MP GPU (MT7623N only)
  • System Memory – 2GB DDR3
  • Storage – 2GB eMMC or NAND Flash + SD card slot up to 128 GB, and maybe SATA via the mPCIe slots
  • Connectivity – 6 Gigabit Ethernet ports (WAN / LAN behavior defined by firmware), 802.11 b/g/n WiFi & Bluetooth 4.0 via MT6625L with IPEX antenna connector for WiFi and Bluetooth, and optional 802.11ac WiFi, 3G an/or 4G via mPCIe slots.
  • Video – 2x HDMI (one input, one output), 1x RCA video output, MIPI DSI
  • Audio – HDMI, and optical S/PDIF input and output ports
  • USB – 1x USB 3.0 port, 1x USB 2.0 host port, 1x micro USB OTG port
  • Expansion
    • 3x mini PCIe
    • 26-pin “Raspberry Pi” header,
    • 10-pin PCM header
    • 10-pin SPI0 header
    • 6-pin Apple Auth CP (I2C) connector
    • 10-pin I2C + I2S header
    • Power header
  • Debugging – 1x 20-pin JTAG connector, 4-pin UART1 connector for serial console
  • Misc – IR receiver, power switch, 1x user switch
  • Power – 12V
  • Dimensions – N/A

The board will support OpenWrt, Android, and Ubuntu Snappy operating systems, likely on top of Linux 3.10 kernel. The SoC also features hardware NAT, hardware QoS, and hard crypto engine, which should all be supported by the board. While the specs indicates either MT7623A or M7623N processor might be used, the pictures shows MT7623N used in combination with MT7530B Ethernet switch. MT7623A embeds the Ethernet switch on-chip, but lacks a GPU, and has less video interfaces.

Geek_Force_Board_BottomApart from the specifications however, the company has not shared much technical information so far, not shown any demos, but I’ve been told a video should come after Chinese New Year holidays. Some parts of the specs are also unclear, for example whether the video interfaces are only output, or if some are input, and it’s not 100% clear the mPCIe slots also support SATA.Potential applications include Internet router, enterprise access point, home security system, home automation gateway, NAS, switch control processor, etc…

AsiaRF has launched a flexible funding Indiegogo campaign to raise funds for production. A $98 pledge should get you a Geek Force board with a power adapter and a “pigtail plus” antenna. There are also various other rewards for 802.11ac, 3G or 4G LTE mini PCie cards add-ons with SIM card slot, up to $192 for a Geek Force board with 4G LTE worldwide, and 802.11ac WiFi. Shipping added $30 to the destinations I tried, and delivery is scheduled for June 2016.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Zsun Wifi Card Reader Can Now Run OpenWrt

January 25th, 2016 17 comments

Zsun Wifi card reader is a tiny micro SD card reader with WiFi connectivity, and while people managed to access the device serial console a few months ago, the plan was to eventually run OpenWrt since it’s based on the popular Atheros AR9331 WiSoC combined with 64MB RAM and 16MB SPI Flash. It would also be one the smallest OpenWrt capable device with dimensions of 30 x 33 mm.

Zsun_Wi-FI_Card_ReaderA team of Polish managed this feat, and have now posted instructions to install OpenWrt, as well as other documentation, for example a description of the board’s GPIOs.

There are four methods to flash OpenWrt:

  1. Solder on an Ethernet jack and flash from the original uboot (hard but safe)
  2. Reflash the bootloader from the original firmware to one that supports upload over serial (less soldering but fatal if you mess up)
  3. Reflash the firmware from the original firmware using mtd_write (easy but you have to do it right on the first try)
  4. Attach a programmer to the flash chip (impossible to mess up)

I’ll reproduce the method with mtd_write here, as although you may potentially brick your device, it’s the easiest (no hardware hack):

  1. Download OpenWrt for Zsun binary images
  2. Start a TFTP server on your computer. If you use a Linux computer, you can use dnsmasq as follows:
  3. Login to the board, and download the necessary files to zsun’s /tmp directory:

    You may also want to copy /sbin/mtd_write to /tmp, and kill all unnecessary process to be extra safe.
  4. Now you can flash the firmware to “uImage” and “rootfs” partitions:

    Bus error” looks like an error, but in this case it just indicates flashing is complete.
  5. Restart the device, and after a longer than usual very first boot, you should have access to OpenWrt. Have fun 🙂

Zsun_WiFi_Card_Reader_Pin_DescriptionsSo once you’re done, what you can do with the device? Some ideas of the developers include just serving files over WiFi, using it as a WiFi AP/client/repeater, as the brain for an IoT project, mesh networking, PirateBox, mini Tor server, and more.

Zsun WiFi card reader can be purchased for as low as $10.99 on Banggood, and can be found on others shops for $11+ to about $15 such as DealExtreme, GearBest or Aliexpress.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter