Armbian for Tanix TX3 Amlogic S905X3 with SP6330 WiFi/Bluetooth module


Recommended Posts

Hello @all

I Have a Tanix TX3 Amlogic S905X3 With 4GB RAM and 32GB ROM.
It has a SP6330 Wifi / bluetooth Chip.

High resolution PCB Pic: https://ibb.co/zbqW5HH

 

I want to get the Sound and BlueTooth Working.

 

I have used the Premade "Armbian_20.10_Arm-64_focal_current_5.9.0_desktop.img.xz" and Ethernet Works, Wifi Works (with small tweaks)

 

This link helped me to get wifi working.

Armbian Build for Nexbox A95X with AP6330.

My armbian info:

 

```

root@tx3:~# cat /etc/armbian-release
# PLEASE DO NOT EDIT THIS FILE
BOARD=arm-64
BOARD_NAME="ARM-64"
BOARDFAMILY=arm-64
BUILD_REPOSITORY_URL=https://github.com/150balbes/Build-Armbian.git
BUILD_REPOSITORY_COMMIT=62b8c07-dirty
DISTRIBUTION_CODENAME=focal
DISTRIBUTION_STATUS=supported
VERSION=20.10
LINUXFAMILY=arm-64
BRANCH=current
ARCH=arm64
IMAGE_TYPE=user-built
BOARD_TYPE=conf
INITRD_ARCH=arm64
KERNEL_IMAGE_TYPE=Image

```

1. u-boot used:

u-boot-s905x2-s922 > u-boot.ext

 

2. dtb used:

```

root@tx3:/etc/firmware# cat /boot/extlinux/extlinux.conf
LABEL Armbian
LINUX /zImage
INITRD /uInitrd

# aml s9xxx
FDT /dtb/amlogic/meson-g12a-x96-max.dtb
APPEND root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0

```

3. To get wifi working:

```
sudo mv /lib/firmware/brcm/brcmfmac4330-sdio.txt /lib/firmware/brcm/brcmfmac4330-sdio.txt.old
sudo ln -s  /lib/firmware/brcm/brcmfmac-ap6330-sdio.txt /lib/firmware/brcm/brcmfmac4330-sdio.txt
```

4. Sound is NOT working via HDMI.

 

Steps done:

```
root@tx3:~# sound.sh
G12AX96MAX
root@tx3:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: G12AX96MAX [G12A-X96-MAX], device 0: fe.dai-link-0 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: G12AX96MAX [G12A-X96-MAX], device 1: fe.dai-link-1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: G12AX96MAX [G12A-X96-MAX], device 2: fe.dai-link-2 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
```

5. Bluetooth is NOT Working.

 

Steps done:

 

dmesg output filtered for bluetooth:

 

```

root@tx3:~# dmesg | grep -i bluetooth
[    9.567673] Bluetooth: Core ver 2.22
[    9.567680] Bluetooth: Starting self testing
[    9.637375] Bluetooth: ECDH test passed in 68049 usecs
[    9.641395] Bluetooth: SMP test passed in 3868 usecs
[    9.641412] Bluetooth: Finished self testing
[    9.641503] Bluetooth: HCI device and connection manager initialized
[    9.641516] Bluetooth: HCI socket layer initialized
[    9.641523] Bluetooth: L2CAP socket layer initialized
[    9.641537] Bluetooth: SCO socket layer initialized
[    9.896146] Bluetooth: HCI UART driver ver 2.3
[    9.896155] Bluetooth: HCI UART protocol H4 registered
[    9.896157] Bluetooth: HCI UART protocol BCSP registered
[    9.896213] Bluetooth: HCI UART protocol LL registered
[    9.896215] Bluetooth: HCI UART protocol ATH3K registered
[    9.896240] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    9.896580] Bluetooth: HCI UART protocol Intel registered
[    9.897208] Bluetooth: HCI UART protocol Broadcom registered
[    9.897240] Bluetooth: HCI UART protocol QCA registered
[    9.897243] Bluetooth: HCI UART protocol AG6XX registered
[    9.897268] Bluetooth: HCI UART protocol Marvell registered
[   10.257607] Bluetooth: hci0: BCM: chip id 62
[   10.258093] Bluetooth: hci0: BCM: features 0x0f
[   10.259825] Bluetooth: hci0: BCM4330B1
[   10.259834] Bluetooth: hci0: BCM4330B1 (002.001.003) build 0000
[   10.781597] Bluetooth: hci0: BCM4330B1 'brcm/BCM4330B1.hcd' Patch
[   11.615360] Bluetooth: hci0: BCM4330B1 37.4 MHz Class 1 Ampak
[   11.615400] Bluetooth: hci0: BCM4330B1 (002.001.003) build 0000
[   11.616135] Bluetooth: hci0: BCM: Using default device address (43:30:b1:00:00:00)
[   17.792428] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   17.792435] Bluetooth: BNEP filters: protocol multicast
[   17.792448] Bluetooth: BNEP socket layer initialized

```

 

root@tx3:/tmp# mkdir -p /etc/firmware
root@tx3:/etc/firmware# ln -sf /lib/firmware/brcm/BCM4330B1.hcd /etc/firmware
root@tx3:/etc/firmware# ls -l
lrwxrwxrwx 1 root root 32 Jan  6 17:10 BCM4330B1.hcd -> /lib/firmware/brcm/BCM4330B1.hcd

 

root@tx3:/etc/firmware# hcitool scan
Device is not available: No such device

 

root@tx3:/etc/firmware# hciconfig -a
hci0:   Type: Primary  Bus: UART
        BD Address: 43:30:B1:00:00:00  ACL MTU: 0:0  SCO MTU: 0:0
        DOWN RAW
        RX bytes:2261 acl:0 sco:0 events:245 errors:0
        TX bytes:54895 acl:0 sco:0 commands:245 errors:0


root@tx3:/etc/firmware# /usr/bin/hciattach /dev/ttyAML0 bcm43xx 1500000
bcm43xx_init
Initialization timed out

 

root@tx3:/etc/firmware# hciattach -l | grep bcm
bcm2035   0x0a5c,0x2035
bcm43xx   0x0000,0x0000

 

Kindly guide me here.

 

Regards

Hannah

Edited by hannah
Link to post
Share on other sites
Donate and support the project!

Hello,

dmesg output here:

http://ix.io/2L6u

 

Re: NO Sound, I see this message in the dmesg:

 

root@tx3:/var/log# dmesg | grep sound -B1
[    4.375254] ALSA device list:
[    4.378276]   No soundcards found.

 

Re: NO Bluetooth, I try following:

 

```

root@tx3:/var/log# dmesg | grep Found
[    8.872902] systemd[1]: Found device /dev/ttyS2.
[    8.944830] systemd[1]: Found device /dev/ttyAML0.
[    9.386775] systemd[1]: Found device /dev/disk/by-label/BOOT.
[    9.612554] systemd[1]: Found device /sys/subsystem/net/devices/eth0.

 

root@tx3:/var/log# /usr/bin/hciattach /dev/ttyS2 bcm43xx 1500000
Can't get port settings: Input/output error
Can't initialize device: Input/output error

root@tx3:/var/log# /usr/bin/hciattach /dev/ttyAML0 bcm43xx 1500000
bcm43xx_init
Initialization timed out.

```

Please guide me to resolve the SOUND issue.

I am an advanced user of LINUX, so I assume I will be able to follow your instruction.

 

Kind regards

Hannah

 

Link to post
Share on other sites

Hello again:

Latest dmesg:

http://ix.io/2LdW

 

Issue: NO HDMI Audio

 

I now removed the pulseaudio and install alsa. I have followed this guide:

http://linuxg.net/how-to-properly-replace-pulseaudio-with-alsa-on-crunchbag-linux-and-debian-squeeze/

 

Commands run:

 

```

Remove pulseaudio

 

hannah@tx3:~$ sudo killall pulseaudio

hannah@tx3:~$ sudo apt-get purge pulseaudio pulseaudio-utils pavumeter pavucontrol
hannah@tx3:~$ sudo apt autoremove

 

Install alsa

 

hannah@tx3:~$ sudo apt-get install alsa-base alsa-tools alsa-tools-gui alsa-utils alsa-oss alsamixergui libalsaplayer0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
alsa-utils is already the newest version (1.2.2-1ubuntu2).
The following additional packages will be installed:
  libfltk1.1 linux-sound-base
Suggested packages:
  apmd oss-compat
The following NEW packages will be installed:
  alsa-base alsa-oss alsa-tools alsa-tools-gui alsamixergui libalsaplayer0 libfltk1.1 linux-sound-base

```

 

Clearly Sound is NOT working as alsa cannot find a sound card.

 

from dmesg:

 

```

[ 4.385344] kernel: ALSA device list:

[ 4.388320] kernel: No soundcards found.

```

 

Any help appreciated.

 

Kind regards

Hannah

 

Link to post
Share on other sites

@hannah You have a lot to learn about armbian on TV boxes and dtbs and kernels.  I plan to write a longer response this weekend when I have more time, but for now the short answer to your most specific question: no audio over hdmi is that you need to use a different dtb file.  Your box is s905x3 based (i.e. the sm1 architecture).  You are using based on what you reported a dtb for the s905x2 (g12a).  While much is the same, some things are also different.  Now what you may find is that if you use one of the very few available sm1 dtbs (I use and have only tested meson-sm1-sei610.dtb - the sei610 is the reference board for the s905x3 chip) that other things you have working on your current install (like wifi) will probably no longer work.

I believe you have likely already read the following: https://forum.armbian.com/topic/16407-please-read-first

as it was referenced in the last thread you started.  The current state for armbian on TV boxes is limited especially for amlogic cpus.  There are many reasons for this and that deserves a longer explaination of how dtbs and kernels interact and the overall goals of the armbian project.  (and how they differ from other projects out there like coreelec you reference above).

 

But I have already spent an hour of my day (we are all volunteers around here) setting up a test system to verify that audio does indeed work on a TX3 X3 box (as I thought it did, but because I don't normally run desktop environments as the current state of support really isn't working well yet, I didn't have an environment I could quickly test).  What I did just do is downloaded a clean copy of the 2020-10-14 balbes build of focal 5.9.0 desktop, used the meson-sm1-sei610.dtb and the u-boot-s905x2-s922 uboot file copied to u-boot.ext, booted and played the test.mp4 file and had correctly working audio via hdmi.  I then changed the dtb to meson-g12a-x96-max.dtb, which I believe you are using, rebooted and had no audio.

 

What I don't understand is that if you have read the Please Read First post, why you would post four posts in this thread within a day, seemingly demanding support for the 2 or 3 volunteers around here that monitor this forum?  Especially when you are asking about things like bluetooth, wifi, etc on the amlogic platform that we say you shouldn't expect to work, and if they do you are lucky.

Link to post
Share on other sites

Hello all,

 

At this time all issues resolved. Thanks for the pointer from @SteeMan

 

I am running from SD Card.

Image Used: Armbian_20.10_Arm-64_focal_current_5.9.0_desktop.img.xz

Uboot: u-boot-s905x2-s922 > u-boot.ext

dtb: /dtb/amlogic/meson-sm1-sei610.dtb - BlueTooth, HDMI Audio, WIFI Works, Ethernet does NOT work.

 

To get wifi working:

```
sudo mv /lib/firmware/brcm/brcmfmac4330-sdio.txt /lib/firmware/brcm/brcmfmac4330-sdio.txt.old
sudo ln -s  /lib/firmware/brcm/brcmfmac-ap6330-sdio.txt /lib/firmware/brcm/brcmfmac4330-sdio.txt
```

 

Additionally I have tested this dtb: meson-sm1-sei610-x96maxplus.dtb. Found from this below link.

 

BlueTooth, HDMI Audio, WIFI and Ethernet too work.

 

Admin you can mark this thread as SOLVED.

 

Thank you and kind regards

Hannah

 

 

 

Link to post
Share on other sites

Good News.

 

So I can stop searching my old HDD to find my Builds... ;)  Nice/Sweet/WhateverTheNewestBuzzwordIsNowadays

 

Could You please Post here some Information, about the BlueTooth-Config-Details? Please? (looking at the Screen like a cute Cat with big Eyes... :) )

 

 ...and Happy Armbianing <- Cool I found a new Buzzword, sweet!

 

 

 

Link to post
Share on other sites

Hello,

i have the Tanix TX3 with Armbian 20.10 focal, running from external case (with SSD inside). The system running about month or more like server (Home Assistant) without problems. Is it better to continue as it is, or to install in the emmc of TX3? How can install it in the emmc?

Thanks in advance.

Link to post
Share on other sites

@alexx  If I understand you correctly, you are currently running with the OS installed on an external drive connected via USB (no sd card and the original android still installed on the internal emmc storage).  There isn't any reason you need to change that setup.  As a general rule of thumb, SSD better than emmc which is better than SD card, in terms of quality and durability of the storage.  So you should be fine running your current setup. 

Link to post
Share on other sites
Am 10.1.2021 um 09:26 schrieb hannah:

@ZuiMelanieForno

 

I read this:

```

Could You please Post here some Information, about the BlueTooth-Config-Details?

```

What exactly are you after please? With those 2 above .dtbs it simply works. No extra configuration needed.

 

Ok. Simply Red... If it works, don´t touch it...  :D

 

I was assuming, it would need some manual config or such.

 

Good to know it works out of the Box.

 

greetings "again" from Hamburg. Zui

Link to post
Share on other sites

Hi,

I have a TX3 Mini with 1.6 motherboard. I've installed Armbian on emmc and it works great. I've also used the same method mentioned to get AP6330 wifi working.

 

I share this strange issue happening sometimes randomly. I power off the device by plug off directly, because it doesn't work the shutdown.

 

Sometimes when I plug off from power the device, next time I power on it doesn't boot, showing only a black screen (not showing the "hit any key to stop autoboot..." message). 

When this issue happen, I perform the following steps to solve:

1. Power off the device and plug a configured USB drive with Armbian. This is the same USB drive from where I installed initially Armbian.

2. Power on the device (without pressing any button) and the system starts OK from emmc.

3. Power off the device and unplug the USB drive.

4. Power on the device without nothing connected. It boots OK from emmc.

 

Anyone knows the reason about this issue and why it's solving by simply power with the USB drive a single time?

 

Thanks!

Link to post
Share on other sites
6 hours ago, lcapriotti said:

TX3 first version (BZ, 100Mb eth), no luck with eth with these DTBs.

I will keep on trying..

You need to provide more information if you wish to get help.  What to you mean by 'TX3 first version'?  What dtbs have you tried?  Are you able to boot and have everything working except ethernet or are you having issues getting armbian to boot at all?

Link to post
Share on other sites

Tanix TX3 comes in at least two versions, the QZ mentioned just above, and a BZ version. The name on the PCB is the only way to figure out.

Maybe because I pre-ordered the box, I unfortunately got an even earlier version, my PCB says CS_905X3_TX95_B4_V1.1. This variant has 100M eth.

 

On this box I followed Hannah's first post and got all working but the eth - no surprise :)

The excerpt from boot log is the following:

 

[    3.523773] meson8b-dwmac ff3f0000.ethernet: IRQ eth_wake_irq not found
[    3.528711] meson8b-dwmac ff3f0000.ethernet: IRQ eth_lpi not found
[    3.534944] meson8b-dwmac ff3f0000.ethernet: PTP uses main clock
[    3.540791] meson8b-dwmac ff3f0000.ethernet: no reset control found
[    3.548747] meson8b-dwmac ff3f0000.ethernet: User ID: 0x11, Synopsys ID: 0x37
[    3.554075] meson8b-dwmac ff3f0000.ethernet:         DWMAC1000
[    3.559232] meson8b-dwmac ff3f0000.ethernet: DMA HW capability register supported
[    3.566646] meson8b-dwmac ff3f0000.ethernet: RX Checksum Offload Engine supported
[    3.574061] meson8b-dwmac ff3f0000.ethernet: COE Type 2
[    3.579238] meson8b-dwmac ff3f0000.ethernet: TX Checksum insertion supported
[    3.586223] meson8b-dwmac ff3f0000.ethernet: Wake-Up On Lan supported
[    3.592664] meson8b-dwmac ff3f0000.ethernet: Normal descriptors
[    3.598473] meson8b-dwmac ff3f0000.ethernet: Ring mode enabled
[    3.604250] meson8b-dwmac ff3f0000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[   13.829376] meson8b-dwmac ff3f0000.ethernet eth0: PHY [0.1:08] driver [Meson G12A Internal PHY] (irq=34)
[   13.840836] meson8b-dwmac ff3f0000.ethernet eth0: No Safety Features support found
[   13.840849] meson8b-dwmac ff3f0000.ethernet eth0: PTP not supported by HW
[   13.840859] meson8b-dwmac ff3f0000.ethernet eth0: configuring for phy/rmii link mode

 

As I have built-in WiFi working (very poorly implemented) and also an external WiFi USB interface working great, eth is a low priority, yet it would be nice to figure it out.

 

Link to post
Share on other sites

@lcapriotti Very interesting.  My TX3 X3 is also the same board version as yours, which explains why I have never been successful in trying these alternate dtb files.  I never dug into what was going wrong, and this helps explain it.

I have been running my TX3 X3 (BZ version) using meson-sm1-sei610.dtb. I have 100mbit ethernet working but no internal wifi.  So since you mention you have an external usb wifi, this might be a path to consider, using this dtb and forgoing the internal wifi.

Link to post
Share on other sites

theoretically yes.  If you search the forum you will find some discussions on this.  I don't know how likely you will be to get something displayed.  I try to find boxes that don't have a display as from my perspective it is a waste of components that have very little practical value when running a linux distribution.

Link to post
Share on other sites
On 1/20/2021 at 3:26 AM, robertoenr said:

Hi,

I have a TX3 Mini with 1.6 motherboard. I've installed Armbian on emmc and it works great. I've also used the same method mentioned to get AP6330 wifi working.

 

I share this strange issue happening sometimes randomly. I power off the device by plug off directly, because it doesn't work the shutdown.

 

Sometimes when I plug off from power the device, next time I power on it doesn't boot, showing only a black screen (not showing the "hit any key to stop autoboot..." message). 

When this issue happen, I perform the following steps to solve:

1. Power off the device and plug a configured USB drive with Armbian. This is the same USB drive from where I installed initially Armbian.

2. Power on the device (without pressing any button) and the system starts OK from emmc.

3. Power off the device and unplug the USB drive.

4. Power on the device without nothing connected. It boots OK from emmc.

 

Anyone knows the reason about this issue and why it's solving by simply power with the USB drive a single time?

 

Thanks!

Sometimes I got exactly this issue with my X96+ box (S905X3).  Only one way to make it but from EMMC again is booting from SD card again then update the boot file from SD card to the EMMC.

Does anyone got this issue and found the solution?

 

Thank you.

Link to post
Share on other sites

Hi friends. Today my TX3 Failed to boot Armbian an i getting the error messege : "Alert! label=rootfs does not exist. dropping to a shell   Like in photo  https://i.ibb.co/qDX7jKw/dav.jpg

Does anyone know how can i fix this without to reinstall all? When i attached the ssd that i use as boot to my pc, in the file ethlinux  the dtb files was meson-sm1-x96-max and not the sm1-sei610 that i used in the installation.

Thanks in advance and i am waiting for your help

 

Link to post
Share on other sites

@Alexx That error message would point to an issue with your boot media.  Are you booting from an SD card or SSD?  The first thing I would check is if the root partition is actually named ROOTFS.  Since this is an ext4 partition I don't know if windows will tell you the partition name or not so you may need to attached to a linux system to verify.  But your boot media should have two partitions one named BOOT and the other named ROOTFS.

Link to post
Share on other sites