Allwinner G202 Dual Core Processor is Designed for Voice Activated Smart WiFi Speakers

Orange Pi Development Boards

Today I received Banana Pi BPI-M2 Ultra board together with Allwinner catalog. As I flicked through it, I discovered new Allwinner B-Series ARM Cortex A7 processors (B188 and B288) designed for e-readers, as well as Allwinner G-Series ARM Cortex A7 processors (G102 and G202) targeting the WiFi speaker market, now dominated by products like Amazon Echo or Google Home (in the US).

Allwinner G202 specifications:

  • CPU – Dual core ARM Cortex A7 processor
  • Memory I/F – DDR2/DDR3/DDR3L SDRAM
  • Storage I/F – eMMC 5.0, SD 2.0 compliant
  • Audio
    • 24-bit/192 Khz audio playback
    • 2x I2S/PCM interfaces up to 384 KHz sample rate, and 16 channel TDM with 32bit sample resolution
    • DSD (Direct Stream Digital) interface with 2 channels,64/128/256bit sample mode
    • DMIC (Digital Microphone) interface with 8 channels, maximum 48KHz sample rate
    • S/PDIF OUT interface
  • Connectivity – 802.11 b/g/n WiFi with WPS, WPA/WPA2 security
  • Other interfaces – USB 2.0 OTG, UART, SPI, TWI
  • Package – FBGA 236 balls, 11 x 11 mm,  0.65 pitch

The company provides Linux 3.10 and Android 4.4 operating systems for the processor. It has indeed all the interface you’d expect from a voice activated home assistant with support for microphone arrays, allegedly good quality audio output, and WiFi.

Block Diagram for Allwinner G202 – Click to Enlarge

I don’t have the full details for Allwinner G102 specifications, but based on the catalog, the main specifications are very similar, but it adds an RGB LCD display interface, resulting in a bigger FBGA 335 balls package.

Beside G-Series, Allwinner also recommend R16 processor for WiFi speakers, as well as older F-Series processor. Allwinner R16 is actually used in DingDong LLSS-A1 WiFi speaker shown in the top picture for illustration. You may find more details in Allwinner G202 product brief.

Support CNX Software - Donate via PayPal or become a Patron on Patreon

31
Leave a Reply

avatar
31 Comment threads
0 Thread replies
7 Followers
 
Most reacted comment
Hottest comment thread
7 Comment authors
roelJerrytkaisertheguyukdgp Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
tkaiser
Guest
tkaiser

Did you get the M2 Ultra directly from Allwinner? Wrt Wi-Fi fortunately speakers also receive mostly so XR819’s TX weakness doesn’t affect such product designs (still hoping we get documentation sometimes in the future for this chip).

tkaiser
Guest
tkaiser

@cnxsoft
Well, I would assume G202 is identical to XR923: http://www.xradiotech.com/product/XR923.php (sorry, should’ve talked about xradio and not XR819 in the first place)

Would be great if you come up with something to share. Community would be grateful 🙂

tkaiser
Guest
tkaiser

And xradio’s XR933 seems to be the ‘R16’ with integrated XR819 Wi-Fi. So let’s hope they improve on code quality and provide documentation…

tkaiser
Guest
tkaiser

@cnxsoft
Ah, you’re right G102 is the one with display output. Regarding Xradio I’ve no idea but maybe it’s the same as with their other ‘daughter’ X-Power (they do all the PMICs for Allwinner but sell them also to others eg. AXP288 is used pretty often with Atom designs).

BTW: Icenowy in linux-sunxi IRC confirmed that XR933 must be A33/R16 due to feature set.

Jon Smirl
Member

What music do people play using wifi speakers? I don’t think it is possible to access streaming services with them. So that leaves a NAS server and Internet feeds of radio station chock full of commercials? These don’t have BT so you can’t source the music from your phone.

tkaiser
Guest
tkaiser

Jon Smirl :
What music do people play using wifi speakers?

At least I play every music: github.com/mikebrady/shairport-sync — BTW: Allwinner’s XR829 features also Bluetooth (v2.1+EDR/4.0).

dgp
Guest
dgp

@tkaiser

The XR819 is affected by the fact that it messes up frames going out and can’t properly receive ones coming in..
I suspect it might be we are missing some specific setting to get the PLL or whatever settings right or the chip is just total crap.

Jon Smirl
Member

Can you make the music from your phone xmit as wifi? I thought you can only do that with BT. how do I do that with Android?

tkaiser
Guest
tkaiser

@Jon Smirl
I stream with all my macOS/iOS devices simultaneously to a couple of sound systems in different rooms (AirPlay is both name of the protocol and most probably also what you’re searching for in Google Play Store for Android?)

Jon Smirl
Member

@tkaiser

There is no Airplay for Android. There is Miracast but it sends video too so it breaks up all of the time. Maybe there is way to Miracast audio only?

tkaiser
Guest
tkaiser

@Jon Smirl
Let me elaborate: In my home in most rooms there’s a Teufel sound system connected to dirt cheap H3 SBC with Linux+shairport-sync running on it (I used Airport Express and AppleTV before). For macOS/iOS users it’s as easy as choosing one or many of those AirPlay devices but friends using Android I just tell since years ‘Play Store –> AirPlay’ and they’re also in and can stream their music through wifi. No idea what they do but it works. DLNA should work too but I failed to find a solution that streams to a couple of speakers in sync.

theguyuk
Guest
theguyuk

Technology is odd. We use to call speakers that play music a Radio or Tape Deck, then a MP3 player. Now we have Computers of considerable power in the speakers themself.

Jon Smirl
Member

@tkaiser

This is the problem bit: ‘Play Store –> AirPlay’ Those apps rely unlicensed use of AirPlay. AirPlay encryption was broken a while ago. I don’t know a of a legal way to do this.

tkaiser
Guest
tkaiser

@dgp
Well, I don’t get it since XR819 driver/frmware we added to Armbian’s ‘legacy’ kernel is exactly what’s in the H2 Android SDK. Your driver variant is based on this and everyone knowledgeable notices missed frames with both variants.

On the other hand there are a lot of people claiming to be really happy using Wi-Fi with legacy kernel especially those stating that it works quite well with OpenWRT while not with Armbian (IMO solely based on insufficient default wifi power management settings Armbian used half a year ago). Unfortunately I can’t test myself anymore (Wi-Fi broken on my Zero for whatever reasons) and all the people I asked for real performance numbers with OpenWRT on Armbian forum never answered but simply disappeared.

In case you’ve a spare Zero around you could do a quick check: http://pulpstone.pw/sbc/ (uses Armbian’s legacy kernel/firmware as far as I know and that’s Allwinner’s Android stuff anyway)

tkaiser
Guest
tkaiser

@Jon Smirl
Oh, that explains it. But then I start to wonder whether there isn’t an audio only variant of Miracast or Google Cast available? Strange.

tkaiser
Guest
tkaiser

@dgp
As a reference: there’s a ‘recipe’ how to transform a legacy Armbian image for OPi Zero to OpenWRT and I believe this pulpstone image is based on that: https://forum.armbian.com/index.php?/topic/3025-building-openwrt-images-for-orange-pi-zero-with-the-armbian-kernel/&page=4 (though I fail to understand most what happens there: why choosing an Android and not mainline kernel, why bridging devices and so on)

Anyway: If for whatever reasons performance doesn’t suck here it would be worth a look to further explore?

Jon Smirl
Member

@tkaiser

Google Cast and Airplay are not free technologies. You have to pay significant royalties to use them. The royalty rate for Airplay is 7% of your revenue. I can’t get a number out of Google for a license to be a Cast Receiver. So far only huge multinationals have a license. The smaller players are buying modules from the big guys.

My personal view is that there is not a lot of “technology” here. Instead both firms are using access to encryption keys to extract revenue streams. They are basically selling “access” to the IOS/Android world.

Paying royalties for Google Cast gets you a single thing – an encryption key. All of the code is open source. But without that key the Cast servers won’t talk to your device. Airplay was not cloud based. Someone got the key out of an Airport and passed it around. Apple can’t revoke the key without also revoking their own Airports. Google has fixed that setup and can revoke compromised keys.

So the problem comes back around to what good are wifi speakers if you can’t get any streaming service to talk to them?

Jon Smirl
Member

If you want to see how certificates can be used to control access to technology this explains the procedure.
https://aws.amazon.com/blogs/iot/just-in-time-registration-of-device-certificates-on-aws-iot/

The key bit is this line “aws iot register-ca-certificate” that’s the choke point. When someone gets to that point your can force the extraction of money from them or they can’t continue. Amazon does not charge at this point.

Each license sold corresponds to a “CA certificate” registered. Then as each device is JIT registered you get an exact count of device royalties that need to be paid by that OEM.

There is no way to break this unless you can break public key encryption. Since this process is non-real time you can use huge 4K keys which are impossible to crack.

Everything in this scheme is securely revokable. You can revoke individual device key or entire OEMs and all of their devices. So no payment, just cut them off. Nothing the OEM can do about it. Someone gets a key out of a device revoke it. Also the keys only have six month lives and have to be renewed. So stolen key dies after six months.

Jerry
Guest
Jerry

Pulseaudio supports remote audio.

tkaiser
Guest
tkaiser

@cnxsoft
Nice 😉

I think I’ve already the same (zero information so not even uploaded to linux-sunxi wiki):

tkaiser
Guest
tkaiser

@cnxsoft
Maybe Xradio vs. Allwinner version of the same document: https://transfer.sh/qFi8E/XR819%20Brief.pdf

theguyuk
Guest
theguyuk

You could try emailing Allwinner service [at] allwinnertech [dot] com

roel
Guest
roel

@Jerry
I’m fiddling with pulseaudio remote music for the moment, but I didn’t find a way to send the audio to different clients at the same time (multi room). I tried pulseaudio-DLNA, It works great finding the DLNA devices, but you can also only select one client and there is a lot of lag.
Maybe this is a good multiroom linux solution: https://github.com/badaix/snapcast
I didn’t tried it yet but as read it, maybe it’s possible to set the /tmp/snapfifo as a sink and then it should broadcast the stream to the clients.