Jump to content

CSC Armbian for RK3318/RK3328 TV box boards


jock

Recommended Posts

On 7/10/2023 at 10:43 PM, jock said:

it could be the 660 Mhz ddr that is causing a bit too many troubles around.

Where can I download a binary file using ddrbin with a frequency of 667 MHz?
My soc RK3318. Boot from SD Card   kernel 5.15.93-rockchip64

 

Edited by Energokom
Link to comment
Share on other sites

Just to make sure I have not messed up anything. For a long time I have not received any kernel update. Is the most recent kernel available via apt still linux-image-edge-rockchip64 23.02.2 corresponding to 6.1.11? Looks like the pre-built images get a much more recent kernel. Yet even if I switch the apt source lists for armbian to bookworm I still remain on 6.1.11...

Edited by callegar
Link to comment
Share on other sites

Does anyone have an idbloader.img with a DDR frequency of 666MHZ?  I reread the entire forum thread, but I didn't find it. 

If, I boot from an SD card, I need idbloader.img to upload to dd if=idbloader.img of=xxSDCARDxx seek=64  or on emmc?

Link to comment
Share on other sites

@callegar It looks like that the current kernel is still at 6.1.11

The prebuilt images will get the edge kernel, which is 6.3.x

 

You have to switch to edge kernel, for example with armbian-config, but beware that edge is... edge! and it means that it is not as tested and might not be as stable as current

Link to comment
Share on other sites

21 hours ago, jock said:

in armbian/rkbin repository

I created idbloader666.img , but my TV box RK3188 freezes literally a couple of minutes after loading with a frequency of 666MHz idbloader666.img

At a frequency of DDR 333MHZ, it works for months.

 

Using the HEX editor, I created rk3318_ddr_400Mhz_v1.16.bin and collected idbloader400.img with a DDR frequency of 400MHZ.idbloader400.img

The CPU operates at a frequency of 1.3 MHZ - it has been working stably for an hour.

Now I have launched memtester 512M

 

After a successful memory test, I continued experimenting with the HEX editor and increased the DDR frequency to 533MHZ and my TV Box started

Now I'm restarting the memory test

 

idbloader533.img

Edited by Energokom
Link to comment
Share on other sites

@Energokom good for you; by the way the operating points defined by rockchip are not the exact frequency of the ddr chips, but somehow they are just a bit below: 330 mhz, 528 mhz, 660 mhz are usually used in the device trees and that's what i replicated. I guess that's for some internal SoC synchronization reasons, but found no evidences of that.

 

Anyway, what works for you, may not work for others, as long as the 660Mhz ddrbin has been in use for a long time in the armbian images and some people reported issues right here, so I recently reverted back to 330Mhz ddrbin for broader compatibility, although it is also a performance hit.

 

There is another option so far, and it is the DDR Memory Controller driver, which works perfectly in the current mainline kernel, but requires the original Trust firmware that comes with rk3318 boards, which in turn, does not allow the chip to run above 1.1ghz, causing an artificial freeze. The DMC driver can switch the ddr frequency from 330 to 800mhz during runtime depending on the workload and would be perfect because does not involve the ddrbin manipulation, but the original Trust is a problem 😕

 

 

Link to comment
Share on other sites

Hello, all

Problem: WIFI and Bluetooth is not working on my board with Armbian installed on it

Details:

I have following TV Box(Photos in spoiler)

Spoiler

photo-2023-07-14-13-37-40.jpgphoto-2023-07-14-13-37-37.jpg

It has:

  • CPU - RK3328
  • WIFI + Bluetooth - AP6330
  • RAM - 1GB SKHynix
  • eMMC - 8Gb Samsung

Originally installed OS - Android 7.1

Managed to backup original firmware using rkdeveloptool(but image seems to be broken, anyway that was not an obstacle to extract original dtb,  also recovered a lot of files using testdisk utility)

I installed following Armbian image on it - Armbian_22.08.0-trunk_Rk3318-box_jammy_edge_5.18.14_kde-plasma_desktop.img. 

It boots, seems to work ok, but Wifi and Bluetooth is not working.

Things I tried that didn't work:

  1. Run rk3318-config and choose appropriate device specs
    Only thing that was fixed using this utility is LEDs
  2. Manually choosing overlay rockchip-rk3318-with-wlan-ap6330.dtbo
    Writing this overlay in armbianEnv.txt didn't help to detect my wifi chip.
    Folder /sys/bus/sdio stays empty

I didn't find anything useful in dmesg output because bcrmfmac kernel module is not loaded at all. When I load it manually only line in dmesg i get is 

[ 3.841829] usbcore: registered new interface driver brcmfmac

So seems that kernel doesn't know anything about WIFI chip.

Extracted dtb files in dts format are in attachments. They are almost the same except of two differences(but they where in original img so i decided to keep them)

Could please someone look if it worth efforts to do something with it or should i just leave this board as is?

 

 

rk3328.dts rk3328_1.dts

Edited by ANKH
Link to comment
Share on other sites

@ANKH According to your dtb, your board is similar to MXQ-RK3328-D4_A (led-conf3), but also has a different power-on GPIO pin for wireless, and that's probably the reason the wifi chip is not detected at all.

In general, the power-on GPIO is wired to bank #1 pin 18, but on your board it is wired to GPIO bank #3 pin 8.

 

It requires an adaptation of the device tree or a new overlay to properly support your specific board.

Link to comment
Share on other sites

On 7/13/2023 at 12:48 PM, jock said:

It looks like that the current kernel is still at 6.1.11

The prebuilt images will get the edge kernel, which is 6.3.x

 

You have to switch to edge kernel, for example with armbian-config, but beware that edge is... edge! and it means that it is not as tested and might not be as stable as current

 

This is actually my problem.

My kernel is an edge package (`linux-image-edge-rockchip64`). And if I start `armbian-config` and then go to System → Other (switch to other kernels), still I cannot find any kernel newer than 6.1.11. What should I look at?

 

My impression is that the newer kernel get to the pre-built images but do not get at all to the apt repos. At least I am unable to find them in apt.armbian.com (stable). I can find newer stuff in beta, but now that 23.05 has stabilized, I was expecting to see 23.05 kernels in apt.armbian.com.

Edited by callegar
Link to comment
Share on other sites

On 14.07.2023 at 11:51, jock said:

660 mhz are usually used in the device trees and that's what i replicated.

I tried the DDR 660MHZ frequency, the box started and worked fine, even the desktop started... but as soon as I connected the LAN cable, it immediately froze. And if I run without LAN it works fine. But as soon as I connect the LAN cable, it immediately freezes and an error comes out.

IMG_5909.JPG.f1e8199b2dc48876cc9d5be472cf7099.thumb.jpeg.771985205144e37a1f39049c25e5a868.jpeg

 

What other frequencies do you know in the range from 533 to 660 MHZ on which you can try?

 

 

My TV box H96 MAX+ looks the sameTV_BOX_02.jpg

Edited by Energokom
Link to comment
Share on other sites

@ANKH

 

I set up a couple of device tree overlays that you may wish to try.

Try first the led-conf5 overlay, if it does not work try the led-conf5-alt overlay.

 

Put the files in /boot/dtb/rockchip/overlay directory and then modify /boot/armbianEnv.txt to enable led-conf5/led-conf5-alt.

Please post a dmesg output or, even better, the URL given by armbianmonitor -u

 

 

rockchip-rk3318-box-led-conf5-alt.dtbo rockchip-rk3318-box-led-conf5.dtbo

Link to comment
Share on other sites

I overclocked the CPU to 1.4MHZ using the voltage 0x1437c8, governor = conservative.

opp-1200000000 {
	   opp-hz = <0x00 0x47868c00>;
	   opp-microvolt = <0x13d620>;
	   clock-latency-ns = <0x9c40>;
	   status = "okay";
		};

opp-1296000000 {
	   opp-hz = <0x00 0x4d3f6400>;
	   opp-microvolt = <0x137478>;
	   clock-latency-ns = <0x9c40>;
	   status = "okay";
		};

opp-1392000000 {
	   opp-hz = <0x00 0x52f83c00>;
	   opp-microvolt = <0x1437c8>;
	   clock-latency-ns = <0x9c40>;
	   status = "okay";
		};

The system has been working steadily for several hours and the browser is working faster.

Earlier I tried to overclock to 1.4 using the voltage 0x1312d0, but the system received errors almost immediately as soon as I started the browser.

My DDR is still 533MHZ. I want to raise the frequency to 600 - 660MHZ.

As I said earlier, I use a radiator with a fan

 

Just in case, a photo test point for RK3318 v.1.4 to launch a TV box in the maskrom mode

IMG_20201229_132709.jpg

Edited by Energokom
Link to comment
Share on other sites

The overclocked processor at a frequency of 1.4Mhz works stably - it ran stress tests and memory tests (DDR frequency 533 MHz). It works stably for 40 hours

@jock Can you advise which frequency between 533 and 666 can still be used? I tried 600MHz, but for some reason the TV box does not start at the DDR frequency of 600 MHz.

In order not to get a kernel panic when starting at a frequency of 666 MHz, do I need to reduce the CPU voltage?

Edited by Energokom
Link to comment
Share on other sites

@ANKH Ok, the logs report that led-conf5 (no alt) is actually doing something because the device mmc4 spawns up, tries to get probed, but an error occurs.

Try this other device tree overlay: I gave more strength to sdio pins, according to the original device tree.

Again, the feedback with logs is useful (even if the wifi works)!

rockchip-rk3318-box-led-conf5.dtbo

Link to comment
Share on other sites

2 hours ago, Energokom said:

Can you advise which frequency between 533 and 666 can still be used?

Nope, every board and every memory chip have their flaws, so you have to take your chances.

 

2 hours ago, Energokom said:

In order not to get a kernel panic when starting at a frequency of 666 MHz, do I need to reduce the CPU voltage?

Why? Of course not.

Perhaps you may need to increase the vdd_log voltage, which drives the memory controller, but don't expect great results... As you see, the board does not even arrive at booting the kernel when the wrong frequency is chosen, so the problem here is before the kernel takes control when tinkering with boot frequencies.

What I have seen is that, when the memory controller driver is engaged, it is perfectly able to reach 800Mhz on board that can't even boot at 660Mhz, so something is still missing in the equation.

Link to comment
Share on other sites

Hi everyone, hello @jock, and thank you very, very much for your Armbian builds, guides and tools, and for being a super helpful and productive member of the Armbian community!

 

I’m just another owner of the popular TV box known as H96 Max V11, 4/32GB (latest version with the RK3318_V1.4 blue PCB). I’m a longtime Windows power user who has only a passing acquaintance with Linux and wants to learn more. I also like to tinker with all kinds of electronics, so buying this TV box (for only 17 euros on Aliexpress with a coupon and coins) to use as a server on my (semi-)smart home network was a no-brainer.

 

I hope to give something back to the community by providing a slightly more detailed guide to installing Armbian on the H96 Max V11 for users like me.

 

A guide to installing Armbian on the H96 Max V11
moved to a topic of its own

Edited by Maxxim
Link to comment
Share on other sites

I'm trying to do that, but your forum software is giving me problems (Invision, you were at the forefront 20 years ago, but now you're way behind the curve). It can't copy its own formatting between Edit screens in different posts ("Press Ctrl+V to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.") I tried both Edge and Firefox, so two different engines. What does it want, Chrome? (Insert Cyberpunk reference here) I'll have to recreate the formatting from scratch. Anyway, I'm on it. ... Aaand done! :)

Edited by Maxxim
New topic created
Link to comment
Share on other sites

@jockneed your help.

 I used your experimental Armbian images (5.19.15 kernel and libreelec patch). Of all, it works best with frequency DDR frequency of 666MHZ, but it still freezes. The idbloader.img firmware with a frequency of 333MHZ does not allow the TV Box to boot, and the reverse firmware of idbloader.img with a frequency of 666MHZ does not work either. (apparently you used rk3328_miniloader of a different version when creating idbloader.img).

I saved the bootloader from the your experimental Armbian image (5.19.15 kernel and libreelec patch) and recorded the ROOFS from Diet pi - TV box got off to a great start (with your DDR 666MHZ bootloader) but as soon as I connect the LAN cable, the  box freezes. Tell me what could be the problem? Why do you think the LAN connection leads to a hang-up?

 I tried to increase the voltage of vdd_log - but it doesn't help.

My RAM = D9PQL

Which version of rk3328_miniloader did you use in your Armbian images (5.19.15 kernel and libreelec patch)? - it work best with my DDR 666MHZ box

I want to understand how these boxes can be made to work at a frequency of DDR 666MHZ. 

Can the LED control chip FD6551 affect the operation and cause it to hang?

IMG_20230722_014703_01-50-35.thumb.jpg.078b96ac72285e2fd96c0d8eb696b0a2.jpg

Edited by Energokom
Link to comment
Share on other sites

29 minutes ago, Energokom said:

Tell me what could be the problem? Why do you think the LAN connection leads to a hang-up?

Of course I don't know, perhaps a bad power supply? Perhaps your router/switch is faulty and it is feeding a current back to the board? I can't answer such question.

 

30 minutes ago, Energokom said:

Which version of rk3328_miniloader did you use in your Armbian images (5.19.15 kernel and libreelec patch)? - it work best with my DDR 666MHZ box

I want to understand how these boxes can be made to work at a frequency of DDR 666MHZ

miniloader has nothing to do with ddr frequency and armbian images are not using the miniloader at all. They use u-boot SPL for that boot stage.

About the 666 mhz ddr, I already explained it to you few posts ago.

 

35 minutes ago, Energokom said:

Can the LED control chip affect the operation and cause it to hang?

Who knows? Look, I am not the Oracle of Delphi that has answers to all questions; if you have the doubt, you have to find a way to check it yourself!

 

After all of this, you did not post not yet any serial log output from the board. I don't have a crystal ball to tell you what's happening on your board 🤷‍♂️

Link to comment
Share on other sites

10 hours ago, jock said:

Perhaps your router/switch is faulty and it is feeding a current back to the board?

With a DDR memory frequency of 533 MHz, I have no problems with LAN

 

10 hours ago, jock said:

miniloader has nothing to do with ddr frequency and armbian images are not using the miniloader at all.

I am using a script to create idbloader.img

../mkimage -n rk3328 -T rksd -d "rk3318_ddr_333Mhz_v1.16.bin" idbloader.img
cat "rk3328_miniloader_v2.50.bin" >> idbloader.img

 

My idbloader.img does not work with Armbian images (kernel update 5.19.15 and libreelec). But, with your other images, my idbloader.img works.

So I'm trying to ask you, maybe you used DDR_v1.19.bin?

 

My RAM = D9PQL 

Operating frequencies and memory timings:

800 MHZ (11-11-11-28) / 39-208-5-12-6-6-24

761 MHZ (10-10-10-27) / 37-199-5-12-6-6-23

685 MHZ (9-9-9-24) / 33-179-5-11-6-6-21

609 MHZ (8-8-8-22) / 30-159-4-10-5-5-19

533 MHZ (7-7-7-19) / 26-139-4-8-4-4-16 - At this frequency 533 MHZ, my TV box is now working flawlessly

457 MHZ (6-6-6-16) / 22-119-3-7-4-4-14

380 MHZ (5-5-5-14) / 19-100-3-6-3-3-12

 

 

Edited by Energokom
Link to comment
Share on other sites

12 hours ago, Energokom said:

With a DDR memory frequency of 533 MHz, I have no problems with LAN

Then use 533 Mhz! 🤷‍♂️

 

12 hours ago, Energokom said:

My idbloader.img does not work with Armbian images (kernel update 5.19.15 and libreelec). But, with your other images, my idbloader.img works.

So I'm trying to ask you, maybe you used DDR_v1.19.bin?

Of course it does not work, as I already said, images don't use the rockchip miniloader but u-boot spl. I know nothing about those "other images" you talk about

And no, the ddrbin is v1.16; I don't even know there is a v1.19 around

 

Link to comment
Share on other sites

14 hours ago, jock said:

After all of this, you did not post not yet any serial log output from the board.

[    3.261206] gpio-syscon ff100000.syscon:gpio: can't read the data register offset!
[    3.440357] lima ff300000.gpu: gp - mali450 version major 0 minor 0
[    3.440592] lima ff300000.gpu: pp0 - mali450 version major 0 minor 0
[    3.440803] lima ff300000.gpu: pp1 - mali450 version major 0 minor 0
[    3.440929] lima ff300000.gpu: l2 cache 8K, 4-way, 64byte cache line, 128bit external bus
[    3.440955] lima ff300000.gpu: l2 cache 64K, 4-way, 64byte cache line, 128bit external bus
[    3.462726] lima ff300000.gpu: bus rate = 491520000
[    3.462768] lima ff300000.gpu: mod rate = 491520000
[    3.469631] [drm] Initialized lima 1.1.0 20191231 for ff300000.gpu on minor 1
[    3.498567] rk_gmac-dwmac ff550000.ethernet: IRQ eth_wake_irq not found
[    3.500610] rk_gmac-dwmac ff550000.ethernet: IRQ eth_lpi not found
[    3.500853] rk_gmac-dwmac ff550000.ethernet: PTP uses main clock
[    3.502023] rk_gmac-dwmac ff550000.ethernet: clock input or output? (output).
[    3.502061] rk_gmac-dwmac ff550000.ethernet: TX delay(0x30).
[    3.502082] rk_gmac-dwmac ff550000.ethernet: RX delay(0x10).
[    3.502130] rk_gmac-dwmac ff550000.ethernet: integrated PHY? (yes).
[    3.502298] rk_gmac-dwmac ff550000.ethernet: cannot get clock clk_mac_refout
[    3.502324] rk_gmac-dwmac ff550000.ethernet: cannot get clock clk_mac_speed
[    3.508414] rk_gmac-dwmac ff550000.ethernet: init for RMII
[    3.551007] rk_gmac-dwmac ff550000.ethernet: User ID: 0x10, Synopsys ID: 0x35
[    3.551056] rk_gmac-dwmac ff550000.ethernet:     DWMAC1000
[    3.551071] rk_gmac-dwmac ff550000.ethernet: DMA HW capability register supported
[    3.551085] rk_gmac-dwmac ff550000.ethernet: RX Checksum Offload Engine supported
[    3.551098] rk_gmac-dwmac ff550000.ethernet: COE Type 2
[    3.551113] rk_gmac-dwmac ff550000.ethernet: TX Checksum insertion supported
[    3.551125] rk_gmac-dwmac ff550000.ethernet: Wake-Up On Lan supported
[    3.551339] rk_gmac-dwmac ff550000.ethernet: Normal descriptors
[    3.551363] rk_gmac-dwmac ff550000.ethernet: Ring mode enabled
[    3.551376] rk_gmac-dwmac ff550000.ethernet: Enable RX Mitigation via HW Watchdog Timer
 

Edited by Energokom
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines