H96 Max X3 Specifics only


Albert Barcelona
 Share

4 4

Recommended Posts

Hi, a quick start for this TV Box. There are several comments on the 905x3 thread but, for the sake of easiness, I've created this blank new thread.

 

My experience with H96 Max X3:

 

(1) Downloaded (from yandex) and burned Armbian Armbian_20.05.3_Arm-64_buster_dev_5.7.0-rc2-next-20200424_desktop.img 

(2) Copied the /dtb/meson-sm1-sei610-ethfix.dtb into the SD card and modifed uEnv.txt to load that dtb and uncommented the 'APPEND' entry on aml s9xxx section

(3) Made a copy of u-boot.sd into u-boot.ext

(4) Booted with 'the toothpick method', armbian started, basic setup, there you go... perfect armbian desktop 

(5) I did a copy of both the emmc and the working SD into a remote ssh server. (I used a $sudo dd if=/dev/mcblk2 | gzip -1 - | ssh <myuser@myhost> dd of=emmc_backup.gz) and something similar for the SD card

(6) I ran the emmc install script ($sudo /root/install-aml.sh (A warning here: first run I did it from within /boot and it didn't work. On a second run I did it from user home and worked just fine)

(7) SD card removed, clean armbian desktop boot. I did some 'package cleaning' like removing Open Office and some other junk

(8) Made a few configuration changes through armbian-config tool 

(9) I installed tightvnc server, plenty of manuals out there (little warning; I struggled enabling it as a service because of an 'old guide'. Make sure you use systemctl and create the .service file)

 

Not working, for now:

- Wired ethernet negotiated speed at 100Mbps only (It worked at 1 Gbps in Android). 

- No sound: I've read some potential workaround on the 905x3 thread. I'll try to fix it and will edit this.

- No led display on. I've read is kind of tricky but I believe there's a workaround

- Bluetooth: Need additional testing. Linux says it is ok but pairing didn't work.

 

All in all, a quite straight forward install. Please add your comments if you know how to fix the non working stuff or about improving the process.

 

Best of luck!

 

[New findings added on May 11th]

 

- I followed the following bluetooth firmware procedure from @ramoncio and @root-stas:

 

put to folder "/lib/firmware/brcm" file bcm4335c0.hcd from:

https://github.com/kszaq/brcmfmac_sdio-firmware-aml/blob/master/firmware/brcm/bcm4335c0.hcd

with name "BCM4335C0.hcd" and reboot.

 

But while system seems to load the firmware, bluetooth isn't visible or capable to find any discoverable devices so.. I don't think it is really working for me.

 

- I replaced dtb with h96max-x3.dts from @root-stas:

 

It fixed the wired Ethernet and set it to 1Gbps. 

HDMI sound continues not to work. If I plug an USB headset, though, sound will play through headphones.

Tried Lirc to test the remote but service failed to start

  

----------------------------

 

 

 

Edited by Albert Barcelona
Link to post
Share on other sites

Donate and support the project!

Doing some testing....

 

- While theoretically this box moves 8k video on Android, 1080p does not play smooth (far from it). 720p works fine.

- Ethernet speed is a little erratic, but definitely under 100Mbps

 

So... first impression.. ok for a headless server, but definitely to stay away for multimedia purposes. (IMO)

For multimedia, a custom Android ROM is a much better option.

 

Link to post
Share on other sites

dmesg output about the Ethernet and Audio conflict:

 

[    7.370746] meson-g12a-pinctrl ff634400.bus:pinctrl@40: pin GPIOZ_2 already requested by ff3f0000.ethernet; cannot claim for ff661000.audio-controller

[    7.370754] meson-g12a-pinctrl ff634400.bus:pinctrl@40: pin-2 (ff661000.audio-controller) status -22

[    7.370759] meson-g12a-pinctrl ff634400.bus:pinctrl@40: could not request pin 2 (GPIOZ_2) from group pdm_din0_z  on device pinctrl-meson

[    7.370762] axg-pdm ff661000.audio-controller: Error applying setting, reverse things back

[    7.370782] axg-pdm: probe of ff661000.audio-controller failed with error -22

 

dmesg output on Bluetooth:

[    8.017748] Bluetooth: hci1: BCM: chip id 86

[    8.018248] Bluetooth: hci1: BCM: features 0x2f

[    8.019987] Bluetooth: hci1: BCM4335C0

[    8.019994] Bluetooth: hci1: BCM4335C0 (003.001.009) build 0000

[    8.020093] Bluetooth: hci1: BCM: firmware Patch file not found, tried:

[    8.020096] Bluetooth: hci1: BCM: 'brcm/BCM4335C0.hcd'

[    8.020098] Bluetooth: hci1: BCM: 'brcm/BCM.hcd'

 

dmesg output on Wifi (works.. but warnings):

[    9.828895] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4339-sdio for chip BCM4339/2

[    9.829023] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available

[    9.832897] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4339/2 wl0: Aug 11 2018 06:13:33 version 6.37.39.99 (r694622 CY)

 

 

DTB needs definitely some adjustment; we need a hero! :)

Link to post
Share on other sites

Hello. I have the same box and I think it's a good idea to reserve a separate thread for it.

I use armbian on an SD card with meson-sm1-H96max-X3.dtb and it works flawlessly except native WiFi and Bluetooth for which I have not yet found solutions.

I did not want to install armbian on emmc, expressly to take full advantage of the 2 systems - android and linux.

My 1st question: apart from maybe the speed of execution, are there other advantages to using emmc instead of the SD card?

My 2d question : Is that why i get different info from yours with dmesg? 

[    8.737821] Bluetooth: hci0: BCM: chip id 62
[    8.738334] Bluetooth: hci0: BCM: features 0x0f
[    8.740495] Bluetooth: hci0: BCM4330B1
[    8.740510] Bluetooth: hci0: BCM4330B1 (002.001.003) build 0000
[    8.765626] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4330-sdio for chip BCM4330/4
[    8.765696] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[    8.769017] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4330/4 wl0: Oct 25 2011 19:34:12 version 5.90.125.104

 

Link to post
Share on other sites

8 hours ago, medmouncef said:

Hello. I have the same box and I think it's a good idea to reserve a separate thread for it.

I use armbian on an SD card with meson-sm1-H96max-X3.dtb and it works flawlessly except native WiFi and Bluetooth for which I have not yet found solutions.

I did not want to install armbian on emmc, expressly to take full advantage of the 2 systems - android and linux.

My 1st question: apart from maybe the speed of execution, are there other advantages to using emmc instead of the SD card?

My 2d question : Is that why i get different info from yours with dmesg? 

[    8.737821] Bluetooth: hci0: BCM: chip id 62
[    8.738334] Bluetooth: hci0: BCM: features 0x0f
[    8.740495] Bluetooth: hci0: BCM4330B1
[    8.740510] Bluetooth: hci0: BCM4330B1 (002.001.003) build 0000
[    8.765626] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4330-sdio for chip BCM4330/4
[    8.765696] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[    8.769017] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4330/4 wl0: Oct 25 2011 19:34:12 version 5.90.125.104

 

 

(1)

My experience with SD cards aren't any good. Besides lower speed, SD cards tend to degrade and are more likely to failures.

If I was you,  I'd partition the emmc (you've got a lot with the 128Gb) and try to build a dual boot although I have no clue whether that is possible under this architecture..

 

(2)

I suppose the reason why we're getting different messages is because we used different DTBs, and that's the key.

I am testing a different one now that fixed the Ethernet to 1Gbps, Wifi works and theoretically bluetooth (but still no luck with the BT).

 

 

 

 

Link to post
Share on other sites

Hello, I have too this box and working on getting good clear DTB file for them.

 

My results after compare DTB from VIM3L / Odroid-C4 / H96 Max X3 Android 9:

 

1. BT now is working, for get this - put to folder "/lib/firmware/brcm" file bcm4335c0.hcd from:

https://github.com/kszaq/brcmfmac_sdio-firmware-aml/blob/master/firmware/brcm/bcm4335c0.hcd

with name "BCM4335C0.hcd" and reboot.

PS: if you have records in dmesg for different BT, download your own file from presented source. Chines like put different hardware for same box's :D

19 hours ago, medmouncef said:

[    8.740495] Bluetooth: hci0: BCM4330B1

 

2. IR works and gat messages from remote.

PS: I don't know how to use that, but if you try exec:

cat /sys/class/input/eventX 

eventX- rc mounted pointer, check your dmesg for know that. Lirc work, if kernel put that pointer to lirc folder, to do that, I think, need add that instruction to DTB file :rolleyes:

 

3. System LED working and ready to configure.

PS: heartbeat mode set by default, but you can change that:

echo timer > /sys/class/leds/sys_led/trigger 

 

4. VFD need proper configuration on bus@40 but that is real.

 

Don't get working yet 3D acceleration in X11 but dmesg tell me about proper loading wifi, eth, bt, vpu, gpu and fb.

 

My files:

https://drive.google.com/drive/folders/1FToRIJFOjJudNKrRr7S_GgNX0Q-3DmmF?usp=sharing

 

Use ...test8.dtb file for get sound work :D

 

 

If someone get GPU work, tell here please.

Link to post
Share on other sites

Upload to GDrive new one h96max-x2-test-bus80-gpu-volt.dtb:

- fix vpu wrong link to gpio, proper link is power domain as kernel tell;

- add power records in gpu section to fix error from panfrost in 5.7.0-rc4 kernel, but X11 don't get 3D yet. 

Link to post
Share on other sites

6 hours ago, root-stas said:

Upload to GDrive new one h96max-x2-test-bus80-gpu-volt.dtb:

- fix vpu wrong link to gpio, proper link is power domain as kernel tell;

- add power records in gpu section to fix error from panfrost in 5.7.0-rc4 kernel, but X11 don't get 3D yet. 

 

Hey @root-stas: I've installed focal from scratch and tried your new dtb file.

 

Ethernet works fine both wired (1Gbps) and wireless.

Weirdly enough; HDMI audio works now when booting from SDCard but after burning to emmc, something happens and:

I get audio when booting from SD but when booting from emmc, the issue appears again!!

 

Here are the two dmesgs:

 

Booting from SD:

https://paste.ubuntu.com/p/xH5JXP8MmV/

Booting from emmc:

https://paste.ubuntu.com/p/Yw7myxWj2B/

 

How is that possible? Any clue?

 

Edited by Albert Barcelona
Link to post
Share on other sites

@Albert Barcelona how BT, it is working?

In your log:

[   21.176070] hdmi-audio-codec hdmi-audio-codec.1.auto: Not able to map channels to speakers (-22)
[   21.176084] hdmi-audio-codec hdmi-audio-codec.1.auto: ASoC: can't set i2s-hifi hw params: -22
[   21.176096] axg-sound-card sound: ASoC: PRE_PMU: be.dai-link-4-playback event failed: -22
[   21.201640] hdmi-audio-codec hdmi-audio-codec.1.auto: Not able to map channels to speakers (-22)
[   21.201651] hdmi-audio-codec hdmi-audio-codec.1.auto: ASoC: can't set i2s-hifi hw params: -22
[   21.201658] axg-sound-card sound: ASoC: PRE_PMU: be.dai-link-4-playback event failed: -22

Sound card don't connected to hdmi, why - I don't know :D

Looks like magic chip communication broken.

 

I install my set from SD to eMMC and all working same.

 

We need wait 2-3 week to new mesa/kernel released, after that main Armbian team add full support for Odroid-C4 and we have place to check haw proper S905X3 work and DTB need to be.

 

Try use khadas vim3l or sei610 DTB, or if you found in internet DTB for odroid-c4 that too.

Or get in my GDrive folder "misc".

Edited by root-stas
Link to post
Share on other sites

10 hours ago, root-stas said:

@Albert Barcelona how BT, it is working?

In your log:


[   21.176070] hdmi-audio-codec hdmi-audio-codec.1.auto: Not able to map channels to speakers (-22)
[   21.176084] hdmi-audio-codec hdmi-audio-codec.1.auto: ASoC: can't set i2s-hifi hw params: -22
[   21.176096] axg-sound-card sound: ASoC: PRE_PMU: be.dai-link-4-playback event failed: -22
[   21.201640] hdmi-audio-codec hdmi-audio-codec.1.auto: Not able to map channels to speakers (-22)
[   21.201651] hdmi-audio-codec hdmi-audio-codec.1.auto: ASoC: can't set i2s-hifi hw params: -22
[   21.201658] axg-sound-card sound: ASoC: PRE_PMU: be.dai-link-4-playback event failed: -22

Sound card don't connected to hdmi, why - I don't know :D

Looks like magic chip communication broken.

 

I install my set from SD to eMMC and all working same.

 

We need wait 2-3 week to new mesa/kernel released, after that main Armbian team add full support for Odroid-C4 and we have place to check haw proper S905X3 work and DTB need to be.

 

Try use khadas vim3l or sei610 DTB, or if you found in internet DTB for odroid-c4 that too.

Or get in my GDrive folder "misc".

 

@root-stas thanks. Your dtb works very well!

 

I couldn't figure out what was wrong. Also, focal isn't my preferred choice as of today because of some packages limitations.

Great news, however. I installed today's Buster image with 5.7.0-rc5 and HDMI audio works!

Ethernet speed is 3x faster.!!

I am not sure whether Bluetooth works.  I will test and update.  

There are a few errors on dmesg about wifi and HDMI audio but both work. 

 

Link to post
Share on other sites

Now that almost everything seems to work.. I'd like to run some performance benchmarking tests.

I am curious about the Mali G31 MP2 performance as the dtb evolves together with the lima / meson driver.

This is a cheap SoC but graphic performance should definitely do better than what I can see now.

Link to post
Share on other sites

3 hours ago, Albert Barcelona said:

Now that almost everything seems to work.. I'd like to run some performance benchmarking tests.

I am curious about the Mali G31 MP2 performance as the dtb evolves together with the lima / meson driver.

This is a cheap SoC but graphic performance should definitely do better than what I can see now.

GPU not working yet, if you want see EGL/GLES - try vendor driver mali-bifrost-wayland & mali-bifrost-fbdev from hardkernel repos.

Read more there:

https://forum.odroid.com/viewtopic.php?t=33993&start=550

 

Edited by root-stas
Link to post
Share on other sites

3 hours ago, root-stas said:

GPU not working yet, if you want see EGL/GLES - try vendor driver mali-bifrost-wayland & mali-bifrost-fbdev from hardkernel repos.

Read more there:

https://forum.odroid.com/viewtopic.php?t=33993&start=550

 

 

@root-stas

I don't even know how to start with that but.. anything we can learn from ODROID c4 hardkernel's own dts? (same SOC)

https://paste.ubuntu.com/p/HQ5Wfz7mZp/

Link to post
Share on other sites

@Albert Barcelona same SoC give ass hope to same CPU, GPU, VPU (thinks give you image/sound on display and work with audio/video decoder/encoder and hold frame buffer where gpu draw own output result) configurations, and obviously same ethernet and hdmi place connected.

USB have few different way to integrate, but USB2/3 is same, USB hub easy to fix.

For WiFi/BT and VFD (front screen) we have own way to configure :rolleyes: 

Power supply not same and we don't have usb hub.

Maybe power regulators not same. 

Our TV Box have only few external chips and controllers, that's make work easier. 

Edited by root-stas
Link to post
Share on other sites

On 5/15/2020 at 7:28 PM, root-stas said:

@Albert Barcelona same SoC give ass hope to same CPU, GPU, VPU (thinks give you image/sound on display and work with audio/video decoder/encoder and hold frame buffer where gpu draw own output result) configurations, and obviously same ethernet and hdmi place connected.

USB have few different way to integrate, but USB2/3 is same, USB hub easy to fix.

For WiFi/BT and VFD (front screen) we have own way to configure :rolleyes: 

Power supply not same and we don't have usb hub.

Maybe power regulators not same. 

Our TV Box have only few external chips and controllers, that's make work easier. 

 

For now, I'll leave the box 'as is'. It works fine with your .dtb even GPU acceleration isn't working.

I am not using it for video or even desktop. I've installed some server stuff and I'm happy as long as it is stable.

I shall keep an eye on this thread to see if progress is being made or if somebody needs help.

 

Thanks a lot @root-stas. Can't wait to see your .dtb progress!

Link to post
Share on other sites

Hi guys!
People on 4pda say that H96 Max x3, Vontar x3, HK1 Box and Transpeed X3 Air are the same hardware (last three even look the same :D). I tried using @root-stas dtb file and it worked on Vontar x3. So I suggest to change topic name to include other boxes names - maybe that will gather more people in this thread. As of me expect known bugs my device can not detect all resolutions over HDMI. I have 1440p 75 Hz monitor and Armbian can detect only resolutions up to 1080p at 60 Hz. I'm experiencing color shifts as well. Most looks about right but grays are shifted towards yellowish red. If somebody is competent here enough to tell if these are device specific bugs or SoC/Armbian related please tell me so I can report it in right thread.


Here are modes detected on TV Box:
20y5r7k.png

 

And here are modes detected on my laptop with Intel graphics running Ubuntu:

3A95smR.png

Here is color shift example:

opXER59.jpggrey

Link to post
Share on other sites

@Albert Barcelona you welcome! :D

I take a time to rest for week or month, after that I hope mesa start working on G31 :rolleyes:

I don't know where is better place to left dtsi file - armbian or mainline kernel repos...

@mradalbert that is looks like EDID part broken in s905x3/s905d3, khadas have workaround on their build pipeline, but armbian use newer u-boot.  Edit xorg.conf and add your resolution in "Screen" section.

And yet you don't have GPU, all image rendered on CPU, don't make him pain :D 

Edited by root-stas
Link to post
Share on other sites

About 1440p HDMI issue I tried do manually decode EDID and I found unlisted resolutions there. Whats more in Xorg logs I saw them as well. Anyway when I tried to set res manually (params taken from EDID and Xorg) from xrandr I got error: "Configure crtc 0 failed" and "failed to set mode: Invalid argument" in Xorg logs. This is the case to for all resolutions unlisted in xrandr that I tried (1080p75Hz doesn't work so it's not HDMI bandwidth fault or somerhing). @root-stas I can't locate Xorg.conf, some net sources say it's depreciated and must be created manually. At this point I don't know if adding anything in Xorg.conf can help. I'm not specialist so If you think I should try it tell me.

hiDyTpA.png

 

After fresh install I got Bluetooth working. I have successfully paired my phone with box. Unfortunately XBone controller throws errors but I didn't install drivers for it so that can be the cause. Anyway, to get bluetooth working I have copied more files from git repo provided. by @root-stas. List of files and logs can be obtained from link below. I don't know now which files are needed I have limited time right now. Some analogue files can be found in /lib/firmware directory. For people having trouble with adding bcm4335c0.hcd file make sure name is "BCM4335C0.hcd" (including this sneaky "c").

HZ2qEaR.pngmL9AfJP.pngGtoJ2I6.png

 

Logs w/ display issue, bluetooth working and HDMI audio issue

 

In previous installation I have experienced HDMI audio going down (sink device disappeared), in link above Is a dmesg supposedly from previous installation, but I'm not sure, may be worth checking tho.

 

When looking at screenshots color issue became more clear to me, Image looks like sheet (unfortunately not white one ;)).  If there is an issue with extracting resolution from EDID maybe there is issue with reading color management info as well.

 

I have extracted DTB ftom my device boot.img using this tool. It can be obtained here: https://drive.google.com/open?id=12DJoBFrRRP1v2r0ntPCz5LYXP4DRZL1A

 

And las but not least this "post after next 24h" rule is pain in the heart. :D

Edited by mradalbert
additional info for BT
Link to post
Share on other sites

On 5/18/2020 at 7:45 PM, root-stas said:

@Albert Barcelona you welcome! :D

I take a time to rest for week or month, after that I hope mesa start working on G31 :rolleyes:

I don't know where is better place to left dtsi file - armbian or mainline kernel repos...

 

 

@root-stas I hope your had a great resting time :D

 

Have you checked about the GPU progress?

Link to post
Share on other sites

Hello, this is to report that I just tested the latest version of Armbian Focal 20.04 on H96 MAX X3

Armbian_20.07_Arm-64_focal_current_5.7.8_desktop.img.xz

 

together with the DTB from @root-stas  h96max-x2-test-bus80-gpu-volt.dtb (question, why the "x2" in the filename? Is it derived from/common to the S905X2 DTB or is a typo?)


It seems to work great: so far I tested WiFi, HDMI audio, Ethernet. I could connect an USB webcam and use it for videoconferencing (Vidyo web-based client).
I just noticed some instability in chromium (it rarely crashes when loading a new page), but this could be an issue with chromium itself.
I have't yet flashed to eMMC and when I do so I'll check if I experience the issue with HDMI audio as well.

Thanks to all for the great work!
Luigi

Link to post
Share on other sites

So, I confirm that on Focal with Kernel 5.7.8 HDMI audio works out of the box (even with eMMC installs).

While backing up the (unmounted and not in use) original eMMC prior to flashing I noticed the entire system would freeze for many seconds, to the point it would cease to respond to pings. I would expect this to happen to the dd process trying to access the eMMC for reading, but having it happening to the entire system is a surprise. Any idea?

I learned the hard way (I bricked the eMMC install and had to re-install from SD card) that updating the kernel to a new stable version via apt-get will break the system (frozen on green screen before even seeing the kernel log). Which is the recommended way to do so? Is this a known issue or should it be subject to more study? If it is a known issue, what is failing there?

Link to post
Share on other sites

Hello!
Help me please, I do not know which image of Armbian to download.
When i ran the image of Manjaro on the TV box, everything was simple - there are two sections on the SD card, in the first (vfat) I put dtb.img, and in the second (ext) there is Linux.
And I don't understand with Armbian, there is only ext4 linux partition. How will it start and where to put dtb.img?

tPUflSJ.png

 

I could myself somehow assemble a boot image from parts of the Mandjaro and Armbian, but I would like a complete system ...

 

Link to post
Share on other sites

8 hours ago, valik228 said:

Hello!
Help me please, I do not know which image of Armbian to download.

You don't indicate what image you are trying that has these characteristics.  But if you use the balbes150 builds and instructions from the first post of this thread: 

 

 

then you should have two partitions (vfat for /boot and ext for /).

Link to post
Share on other sites

I just installed Armbian_20.08_Arm-64_bionic_current_5.7.16.img on my box and it works great.  I'm trying to switch off a few hardware features that I don't need but when I run armbian-config I don't see system > hardware. Any idea why?

Link to post
Share on other sites

  • Werner locked this topic
Guest
This topic is now closed to further replies.
 Share

4 4