Posts by bumerc

    gulp79

    It is not strange, it is normal. Saved on hardware and programming, typical "Made in Chi ....":) I do not think your device supports the real 1067 Mhz.

    Please wait, I will compile another u-boot for you.

    Download u-boot.bin.sd.bin DDR4

    - Get an extra sd card for testing

    - Format this sd card in FAT 32

    #Install

    Code
    sudo dd if=u-boot.bin.sd.bin of=/dev/sdX bs=1 count=442 && sync
    sudo dd if=u-boot.bin.sd.bin of=/dev/sdX bs=512 skip=1 seek=1 && sync

    boot from sdcard

    short pin 29 and 30 (see 8mQwqj9s3TrgBe) then plug the power adapter into the socket, after ~2 sec. release the pins.

    Sorry to be a pain but never done this before. Managed to connect to the box using WinSCP as per your instructions. To enter the command, presumably I have to start the Console (?) When I enter the command there, however, I get the following error: "Command ... failed with return code 0 and error msg 1+0 records in, 1+0 records out, 8MB copied." I guess that is not what should be happening?

    copy the complete output from the console and post it here

    use putty instead of winspc

    Ok, i think i can find correct pins for Gnd TX Rx and Vcc and connect to UART (Pins on board are not marked, but with a multimeter i can find them).

    Numbering of the contact holes from 1 to 4, starting from GND -> the only contact with a square

    Pin-out:

    1. GND

    2. TX

    3. RX

    4. 3.3V VCC (He's not needed)

    Quote

    Bwt, if something goes bad, there is a procedure to revert to backupped u-boot?

    Backup

    Code
    dd if=/dev/bootloader bs=64k conv=sync,noerror | gzip > /flash/u-boot_orig.bin.gz

    Restore

    Code
    gunzip > /flash/u-boot_orig.bin.gz | dd of=/dev/bootloader bs=4M count=1 conv=sync,noerror

    How To installing u-boot.bin to internal memory (eMMC)

    For better understanding:

    sdcard1 = external storage, contains the LE firmware that you are currently using

    sdcard2 = external storage, used to install the emergency firmware LE and write the bootloader to emmc

    PART I

    Installing the emergency system LE to sdcard2

    # Linux

    Code
    gunzip -c LibreELEC-S912.arm-8.90.6-h96pp-emergency-sdcard.img.tar.gz | dd of=/dev/sdX bs=4M conv=sync,noerror

    # Windows

    try this guide

    Download LibreELEC-S912.arm-8.90.6-h96pp-emergency-sdcard.img.tar.gz

    PART II

    1.

    Run the system with sdcard1 or emmc.

    Connect to your Box with SSH.

    2.

    In order to run the emergency system LE (u-boot.bin.sd.bin -> kernel LE -> SYSTEM) from the SD card, you need to change the boot sequence.

    You can do this in many ways - destroy the eMMC-MBR + Bootloader, make a short circuit while holding the DAT0 <=> DAT1 pins directly on the eMMC chip, etc.

    I will consider the first option, since it is available for less experienced users.

    We execute commands one by one, please do not confuse the order of execution!

    # set default environment

    Code
    dd if=/dev/zero of=/dev/env bs=8M count=1 && sync

    # destruction of the original bootloader

    Code
    dd if=/dev/zero of=/dev/bootloader

    # At this point your box will hang, do not be afraid -> unplug the power adapter from the socket -> remove the SD card1 and insert the SD card2 -> plug the power adapter into the socket and wait until the booting process of the emergency system is completed.

    3.

    (This step is optional and only necessary for a backup) Connect To Your Box with SSH

    # Set Permission to write into /flash

    Code
    mount -o rw,remount /flash

    # (optional) We make a backup copy of the android system -> recovery.img + dtb.img

    Code
    dd if=/dev/dtb | gzip > /flash/dtb_orig.img.gz
    dd if=/dev/recovery bs=64k conv=sync,noerror | gzip > /flash/recovery_orig.img.gz

    4.

    # write new u-boot.bin to eMMC

    Code
    dd if=/flash/u-boot.bin of=/dev/bootloader bs=512 seek=1 && sync

    5.

    Turn off the box, remove sdcard2 from the card reader and insert sdcard1 again.

    Turn on and enjoy!

    EDIT:

    I have updated the u-boot binary

    -Added support for RGMII interface, since all versions of the X96Pro + boards use the H5007NL 1000BASE-T module

    -For the correct functioning of the network connection, you must use the gxm_q201_3g_gbit_phy.dtb or gxm_q200_3g.dtb file

    u-boot update guide

    1. Go through the installation instructions

    2. Before you write u-boot.bin to the emmc memory, replace the dtb.img file with gxm_q201_3g_gbit_phy.dtb or gxm_q200_3g.dtb in the / flash directory and rename it dtb.img again. Then replace existing u-boot.bin by updating version and follow the installation instructions.

    download

    updated u-boot.bin@LPDDR3-792Mhz

    gulp79

    I will compile the test version, you will need to test with the SD card, connecting your device to the computer through uart and serial console

    tyrol_gangster

    It is a permanent fix.

    I updated u-boot binary, added support for gxm_q201_3g in multi_dtb format, otherwise the original Android OS firmware will not boot. I will make a special LE image for installation on a separate SD card (2), then you need to start the system from the SD card (1) or emmc, execute the command to destroy the original bootloader, pull out the SD card (1) and insert the SD card (2) , after reboot your device will automatically start from the bootloader installed on the cd card (2) (u-boot.bin.sd.bin) and you can easily install the new u-boot.bin

    (I integrate it into the LE image) to emmc. Details later.

    This installation instruction applies to both methods. U-boot.bin.sd.bin is mostly used for testing purposes only, so you do not have to delete the internal bootloader.

    Also it can be used if you have broken internal emmc or nand.. етс.

    u-boot.bin.sd.bin is installed starting with a zero offset in the memory space of the SD card that is not visible in userspace.

    You do not need to install it.

    At the moment, you still use the bootloader installed by the manufacturer of your device into the internal flash. When starting from a sd card or usb, this bootloader reads aml_autoscript from the first partition (mounted as /flash) and executes it. Having received the necessary data to start the kernel + dtb, the loader starts the LE kernel and passes control to it. The kernel in turn launches the LE system.

    turn on is now fixed:)

    h96pro+_remote_power_on_log.txt

    Small installation instructions directly from the Linux LE

    Download u-boot.bin and put it in the root directory ( /flasch ).

    Make an ssh connection and enter the following commands one after the other:

    1. Permission to write to this directory

    Code
    mount -o rw,remount /flash

    2. We make a backup copy of the android system -> recovery.img + dtb.img + bootloader (u-boot)

    Code
    dd if=/dev/recovery bs=64k conv=sync,noerror | gzip > /flash/recovery_orig.img.gz
    dd if=/dev/dtb | gzip > /flash/dtb_orig.img.gz
    dd if=/dev/bootloader bs=64k conv=sync,noerror | gzip > /flash/u-boot_orig.bin.gz

    3.Emptying the old bootloader from emmc and writing a new one

    4. full system reboot

    Code
    reboot

    enjoy


    Download

    Display Spoiler

    EDIT: I ask you to wait a little while installing the bootloader, I'll write another guide to installing it.

    skybluega

    When I turn off I get the following error:

    gxm_q201_turn_off_log

    LibreELEC:~ # [ 40.982632@0] reboot: Power down

    bl31 reboot reason: 0x108

    bl31 reboot reason: 0x108

    system cmd 0.

    bl30 get wakeup sources!

    process command 00000006

    bl30 enter suspend!

    cpu clk suspend rate 1000000000

    suspend_counter: 1

    Enter ddr suspend

    first time suspend

    ddr suspend time: 1877us

    store restore gp0 pll

    process command 00000001

    CEC cfg:0x0000

    set vddee to 0x035cmv

    === PROCESS EXCEPTION: 04 ====== xPSR: 20000000 ===

    r0 :00000000 r1 :02a5f26b r2 :00000000 r3 :c883c298

    r4 :c883c294 r5 :1000c068 r6 :c883c1bc r7 :c883c2e0

    r8 :c883c2a0 r9 :c883c29c r10:00000000 r11:1000c022

    r12:00000000 sp :1000d320 lr :1000b5e3 pc :00000000

    Instruction access violation

    mmfs = 1, shcsr = 70001, hfsr = 0, dfsr = 0

    =========== Process Stack Contents ===========

    1000d340: 00000000 c883c298 0000000a 1000d400

    1000d350: 00000001 1000d600 00000000 00000000

    1000d360: 00000000 00000000 00000000 1000a071

    1000d370: 00000000 00000000 00000000 10000ac9

    GXM:oting...

    one of the reasons for an exception could be MPU mismatch

    see also here, starting with CFSR..

    Interesting is the state of the MMFSR (see Table 4.25), in our case:

    Code
    Instruction access violation
    mmfs = 1, shcsr = 70001, hfsr = 0, dfsr = 0

    The bit assignment of the MMFS register is as follows:

    [1] DACCVIOL -> Data access violation flag..

    I have another idea, in a couple of hours I will report the results.

    regards

    Hello guys, I have good news.:)

    I have compiled a new version of u-boot - adapted for the following board:

    H96 Pro +

    PCB: blue

    3G + 32G + 9377

    S32-V6 (LPDDR3), clock rate 800MHz

    Installation instructions and photos follow a little later.

    For other RAM memory types please use the links above.

    My test results (power off / on not yet tested).

    To test the bl301 firmware of this github I compiled a version for gxl_p212 devices (S905X) and successfully tested it on my mini m8s II board. Then I compiled a version for Q200 / 201 devices, you should test yourself.:)

    I would like to test it on my sd-card, but I don't know what I have to do?

    In which folder or where on the sd-card I have to copy the "u-boot.bin.sd.bin"?

    Paul

    I will soon provide a complete image (u-boot + LE) for testing purposes. To boot your box from the sd card, the bootloader in the internal memory must be deleted or you know exactly how you put your box in upgrade mode (eg by shorting the pins -> change bootsequence ..) I have no time at the moment to test it yourself and no h96pro + box.