Jump to content

tricolery

Members
  • Posts

    20
  • Joined

  • Last visited

Posts posted by tricolery

  1. Hello everyone. I'm experiencing some strange issue with my cubieboard and its connection to the internet.

     

    I boot it up and it works correctly, but after a day or two, I can't communicate with it using a ssh program, or vnc viewer. My other two servers that uses Linux Mint is working normally, so I think the problem is not my router. (I even swapped the Ethernet cables between my servers).

     

    If I connect a display on my cubieboard and try to ping my Windows computer, then I'm able to ssh my cubieboard using my computer.

    Sometimes I'm unable to connect to my cubieboard via ssh using my windows and my Android phone, but if I try using my Linux machine, I can connect with ssh with no problems.

     

    I thought I was facing that issue with memory clock an my cubieboard was turning off again, but when I connected a display on it, I found out that it was working ( and I was able to use the internet on it, so it still had a connection to the internet, but my three oder computers could not connect to it.

     

    Did someone experienced an issue like this one?

     

     

    Sent from my SM-G930F using Tapatalk

     

     

  2. BTW, even though non-legacy image starts ok, it don't see NAND on my Cubie2. I tried to run Android and Lubuntu Desk from NAND - anyway nand-sata-install (when then I boot Armbian from TF) tells "No target". What a disappointment!

     

    Tricolery, thanx, I have Debian Jessie on my Win7 (on VMWare). It must be usable for this. But could you be more specific in 7th chapter? Where I can get u-boot 5.23?

     

     

    Its on my second post of this thread. As I told you, you need any woking uboot just to boot the cubie board and roll back the uboot to 2.53 using your package manager. If you want especificaly the uboot 5.23, you will need to compile it.

  3. So long time same issue - bad bootloader in all legacy kernels! Dear Igor, please fix it at last!

    Member tricolery, pls write step-by-step manual to get board with legacy alive. I don't know how to flash u-boot and where to get v.5.23.

     

     

    Its very easy, dude.

     

    1. You will need a linux machine. (Don't know if it is possible to do it in windows). If you cant install  linux on your PC, just try a live version with a pendrive on your PC or you can even flash lubuntu or cubian on your cubieboard NAND.

    2. Insert your SD card on the machine you are using. 

    3. Discover de drive name linux has assigned to you SD card. (A veeery easy way to do it without any code, is to access /dev/ with your linux distro file manager, select all the devices there and leave it selected. Then you insert the memory card on your computer. The files that appeared and is not selected, is your memory card. As a example, mine appeared sdd and sdd1. I applied the uboot on sdd with out th "1". Other way you can do it is typing "lsblk" on your terminal and from the output of that command, find your SD card drive name.

    4. Download and extract the uboot. Extract it at any place. (With a simple name to asure we dont have any trouble here)

    5. Use the comand sudo dd if=/path_to_your_u-boot/u-boot-sunxi-with-spl.bin of=/dev/your_sdcard_drive_name bs=1024 seek=8   (use sudo for this command even on a live distro. The output of this command should be something like xxxxx bytes writen)

    6. Try boot the cubieboard

    7. Force version 5.23 of uboot to be installed. If you dont know how to do it with bash,  install synapitc (It's apt-get with a UI). (If I remember well, synapitc is not installed on igor image)

     

    Brotips: If you use a nand image on cubieboard to fix SD Card, your sd card drive name should be something like mmcblk0. On your PC, most of the linux distros will usualy mount your sdcard as sdx, for x a letter from a to z.

                 If you dont know what linux you can use on your PC, you can use Mint, a very lightweight and easy to use distro. Just go with the 32-bit version(It can use more than 4GB of RAM, but that's another story). Burn a disk with it or search how to use it on a pendrive.

  4. Are you sure about this? Which U-Boot repository are you using?

     

    If I build the mainline U-Boot for Cubieboard2 via

        git clone git://git.denx.de/u-boot.git
        cd u-boot
        make CROSS_COMPILE=arm-linux-gnueabihf- Cubieboard2_defconfig
        make CROSS_COMPILE=arm-linux-gnueabihf- -j8

    Then the ".config" file contains CONFIG_DRAM_MBUS_CLK=300. And everyone else seems to have 300MHz MBUS clock speed, based on the logs posted here.

     

    I'm using this repository: https://github.com/linux-sunxi/u-boot-sunxi

    Its the only one I managed to work on my cubie.

    Is it dangerous to run MBUS 400 MHz @ 1300 mV? Can this cause any damage on the board?

    Also, it looks like I dont understand what is mainline. Could you please explain to me?  I read mainline many times here, but I dont know if they are all the same thing.

     

     

    But yes, the DCDC3 voltage seems to be correctly set to 1.30V, so the high MBUS clock speed should be OK.

     

    The culprit is probably the SK Hynix DRAM chips. I think that Cubieboard2 was initially developed and tested with the DRAM chips from GT. But the change to a different DRAM chips vendor now may require some different and more conservative settings. Please try to run lima-memtester with 432, 456 and 480 clock speeds for DRAM and find the last clock speed where the test passes and the first clock speed where it starts failing.

     

    I will test this on the weekend. This week I have some tests at university and I will be very busy.

    I will only need to test 456, since 432 and 480 have already been tested.

  5. I see that the MBUS clock speed is set to 400MHz instead of 300MHz. This should work fine, as long as the DCDC3 voltage is set to 1.30V instead of 1.25V

    You can check the DCDC3 voltage information in the dmesg log. And there was a patch for the 3.4 kernel to ensure that the kernel does not try to change the DCDC3 voltage, previously configured by the bootloader - https://github.com/linux-sunxi/linux-sunxi/commit/5052b83aa44dc16d6662d8d9d936166c139ad8c5

     

    Please note that the mainline U-Boot currently uses 300MHz MBUS clock speed for Cubieboard2 / Cubietruck. There were so many broken 3.4 kernel forks that it was better be safe than sorry :)

     

    Regarding the DRAM performance with different DRAM / MBUS clock speeds, some information can be found here: https://linux-sunxi.org/A10_DRAM_Controller_Performance

     

     

    I think Igor took care of it:

    [    1.529300] axp20_ldo1: 1300 mV 
    [    1.534695] usb 2-1: new high-speed USB device number 2 using sw-ehci
    [    1.539955] axp20_ldo2: 1800 <--> 3300 mV at 3000 mV 
    [    1.545230] axp20_ldo3: 700 <--> 3500 mV at 2800 mV 
    [    1.550356] axp20_ldo4: 1250 <--> 3300 mV at 2800 mV 
    [    1.555716] axp20_buck2: 700 <--> 2275 mV at 1450 mV 
    [    1.571542] axp20_buck3: 700 <--> 3500 mV at 1300 mV 
    [    1.576398] axp20_ldoio0: 1800 <--> 3300 mV at 2800 mV 
    

    I used the mainline U-Boot to make my U-Boot. The only thing I changed was DRAM speed to 432 MHz.

    I wonder why MBUS is working at 400 MHz. 

  6.  

    50nvjq.jpg

     

     

    It's a SK Hynix chip H5TQ4G63AFR-PBC

    Above it is a i2c rtc module I use to sync the time.

     

    And here is the output of a10-meminfo (improved version):

     

     

     

     ./a10-meminfo
    dram_clk          = 432
    mbus_clk          = 400
    dram_type         = 3
    dram_rank_num     = 1
    dram_chip_density = 4096
    dram_io_width     = 16
    dram_bus_width    = 32
    dram_cas          = 9
    dram_zq           = 0x7f (0x5294a00)
    dram_odt_en       = 0
    dram_tpr0         = 0x42d899b7
    dram_tpr1         = 0xa090
    dram_tpr2         = 0x22a00
    dram_tpr3         = 0x0
    dram_emr1         = 0x4
    dram_emr2         = 0x10
    dram_emr3         = 0x0
    dqs_gating_delay  = 0x05050505
    active_windowing  = 0 

     

     

     

    And here is the output of tinymembrench:

     

     

    tinymembench v0.4.9 (simple benchmark for memory throughput and latency)
    
    ==========================================================================
    == Memory bandwidth tests                                               ==
    ==                                                                      ==
    == Note 1: 1MB = 1000000 bytes                                          ==
    == Note 2: Results for 'copy' tests show how many bytes can be          ==
    ==         copied per second (adding together read and writen           ==
    ==         bytes would have provided twice higher numbers)              ==
    == Note 3: 2-pass copy means that we are using a small temporary buffer ==
    ==         to first fetch data into it, and only then write it to the   ==
    ==         destination (source -> L1 cache, L1 cache -> destination)    ==
    == Note 4: If sample standard deviation exceeds 0.1%, it is shown in    ==
    ==         brackets                                                     ==
    ==========================================================================
    
     C copy backwards                                     :    238.4 MB/s (0.5%)
     C copy backwards (32 byte blocks)                    :    671.9 MB/s (1.1%)
     C copy backwards (64 byte blocks)                    :    681.0 MB/s (0.7%)
     C copy                                               :    535.3 MB/s (0.2%)
     C copy prefetched (32 bytes step)                    :    586.9 MB/s (0.7%)
     C copy prefetched (64 bytes step)                    :    601.3 MB/s (1.4%)
     C 2-pass copy                                        :    524.5 MB/s
     C 2-pass copy prefetched (32 bytes step)             :    529.4 MB/s (0.4%)
     C 2-pass copy prefetched (64 bytes step)             :    525.5 MB/s (0.3%)
     C fill                                               :   1655.1 MB/s (1.1%)
     C fill (shuffle within 16 byte blocks)               :   1659.7 MB/s (1.3%)
     C fill (shuffle within 32 byte blocks)               :    321.6 MB/s (1.9%)
     C fill (shuffle within 64 byte blocks)               :    345.3 MB/s (1.9%)
     ---
     standard memcpy                                      :    517.3 MB/s (1.0%)
     standard memset                                      :   1644.4 MB/s (0.6%)
     ---
     NEON read                                            :   1039.0 MB/s (1.4%)
     NEON read prefetched (32 bytes step)                 :   1087.6 MB/s (0.8%)
     NEON read prefetched (64 bytes step)                 :   1104.4 MB/s (1.1%)
     NEON read 2 data streams                             :    351.8 MB/s (0.8%)
     NEON read 2 data streams prefetched (32 bytes step)  :    666.7 MB/s (0.8%)
     NEON read 2 data streams prefetched (64 bytes step)  :    705.1 MB/s (0.4%)
     NEON copy                                            :    533.8 MB/s (0.4%)
     NEON copy prefetched (32 bytes step)                 :    578.8 MB/s (1.1%)
     NEON copy prefetched (64 bytes step)                 :    594.1 MB/s (1.3%)
     NEON unrolled copy                                   :    532.4 MB/s (0.7%)
     NEON unrolled copy prefetched (32 bytes step)        :    532.0 MB/s (0.4%)
     NEON unrolled copy prefetched (64 bytes step)        :    536.4 MB/s (0.6%)
     NEON copy backwards                                  :    693.6 MB/s (1.0%)
     NEON copy backwards prefetched (32 bytes step)       :    718.3 MB/s (0.9%)
     NEON copy backwards prefetched (64 bytes step)       :    744.9 MB/s (1.2%)
     NEON 2-pass copy                                     :    528.9 MB/s (0.7%)
     NEON 2-pass copy prefetched (32 bytes step)          :    532.0 MB/s (0.4%)
     NEON 2-pass copy prefetched (64 bytes step)          :    535.1 MB/s (0.9%)
     NEON unrolled 2-pass copy                            :    514.9 MB/s (0.2%)
     NEON unrolled 2-pass copy prefetched (32 bytes step) :    522.3 MB/s (0.8%)
     NEON unrolled 2-pass copy prefetched (64 bytes step) :    524.2 MB/s
     NEON fill                                            :   1660.5 MB/s (1.0%)
     NEON fill backwards                                  :   1726.6 MB/s (1.6%)
     VFP copy                                             :    534.7 MB/s (1.2%)
     VFP 2-pass copy                                      :    524.2 MB/s (0.9%)
     ARM fill (STRD)                                      :   1638.8 MB/s (1.4%)
     ARM fill (STM with 8 registers)                      :   1660.5 MB/s (0.7%)
     ARM fill (STM with 4 registers)                      :   1661.8 MB/s (0.3%)
     ARM copy prefetched (incr pld)                       :    567.5 MB/s (0.4%)
     ARM copy prefetched (wrap pld)                       :    594.5 MB/s (1.9%)
     ARM 2-pass copy prefetched (incr pld)                :    518.7 MB/s (0.3%)
     ARM 2-pass copy prefetched (wrap pld)                :    518.3 MB/s (0.3%)
    
    ==========================================================================
    == Framebuffer read tests.                                              ==
    ==                                                                      ==
    == Many ARM devices use a part of the system memory as the framebuffer, ==
    == typically mapped as uncached but with write-combining enabled.       ==
    == Writes to such framebuffers are quite fast, but reads are much       ==
    == slower and very sensitive to the alignment and the selection of      ==
    == CPU instructions which are used for accessing memory.                ==
    ==                                                                      ==
    == Many x86 systems allocate the framebuffer in the GPU memory,         ==
    == accessible for the CPU via a relatively slow PCI-E bus. Moreover,    ==
    == PCI-E is asymmetric and handles reads a lot worse than writes.       ==
    ==                                                                      ==
    == If uncached framebuffer reads are reasonably fast (at least 100 MB/s ==
    == or preferably >300 MB/s), then using the shadow framebuffer layer    ==
    == is not necessary in Xorg DDX drivers, resulting in a nice overall    ==
    == performance improvement. For example, the xf86-video-fbturbo DDX     ==
    == uses this trick.                                                     ==
    ==========================================================================
    
     NEON read (from framebuffer)                         :     49.1 MB/s (0.4%)
     NEON copy (from framebuffer)                         :     48.8 MB/s (1.4%)
     NEON 2-pass copy (from framebuffer)                  :     48.2 MB/s (0.5%)
     NEON unrolled copy (from framebuffer)                :     47.7 MB/s (0.3%)
     NEON 2-pass unrolled copy (from framebuffer)         :     47.6 MB/s (0.3%)
     VFP copy (from framebuffer)                          :    260.7 MB/s
     VFP 2-pass copy (from framebuffer)                   :    270.1 MB/s (0.3%)
     ARM copy (from framebuffer)                          :    178.1 MB/s (0.6%)
     ARM 2-pass copy (from framebuffer)                   :    163.8 MB/s
    
    ==========================================================================
    == Memory latency test                                                  ==
    ==                                                                      ==
    == Average time is measured for random memory accesses in the buffers   ==
    == of different sizes. The larger is the buffer, the more significant   ==
    == are relative contributions of TLB, L1/L2 cache misses and SDRAM      ==
    == accesses. For extremely large buffer sizes we are expecting to see   ==
    == page table walk with several requests to SDRAM for almost every      ==
    == memory access (though 64MiB is not nearly large enough to experience ==
    == this effect to its fullest).                                         ==
    ==                                                                      ==
    == Note 1: All the numbers are representing extra time, which needs to  ==
    ==         be added to L1 cache latency. The cycle timings for L1 cache ==
    ==         latency can be usually found in the processor documentation. ==
    == Note 2: Dual random read means that we are simultaneously performing ==
    ==         two independent memory accesses at a time. In the case if    ==
    ==         the memory subsystem can't handle multiple outstanding       ==
    ==         requests, dual random read has the same timings as two       ==
    ==         single reads performed one after another.                    ==
    ==========================================================================
    
    block size : single random read / dual random read
          1024 :    0.0 ns          /     0.0 ns
          2048 :    0.0 ns          /     0.5 ns
          4096 :    0.0 ns          /     0.0 ns
          8192 :    0.0 ns          /     0.5 ns
         16384 :    0.0 ns          /     0.0 ns
         32768 :    0.0 ns          /     0.5 ns
         65536 :    6.5 ns          /    11.4 ns
        131072 :   10.5 ns          /    16.2 ns
        262144 :   15.7 ns          /    24.7 ns
        524288 :  107.3 ns          /   166.7 ns
       1048576 :  156.1 ns          /   215.9 ns
       2097152 :  187.9 ns          /   240.9 ns
       4194304 :  204.3 ns          /   251.5 ns
       8388608 :  215.0 ns          /   259.8 ns
      16777216 :  228.0 ns          /   274.9 ns
      33554432 :  244.6 ns          /   305.7 ns
      67108864 :  272.7 ns          /   361.9 ns
    
    

     

     

  7. I will verify the DRAM chip when I arrive home today.

    When I used Cubian, there was an update that increased a voltage  due to some stability issues. See: http://cubian.org/2014/07/05/resolve-stability-issue-on-cb2/

    Maybe is the same issue we are facing here? I never had this problem with Cubian nor changed the u-boot.

    When I arrive home, I will test Cubian with tinymembench so we can check at what speed and voltages Cubian is running.

     

    Edit: I found this: https://github.com/maxnet/a10-meminfo

    Looks like it can dump DRAM settings and also works on a20 boards. (Found it re-reading the links linked to the link I posted above.)

  8. I'm using just memtester, because when I use lima-memtester I get the error:

     

    Please remove 'sunxi_no_mali_mem_reserve' option from
    your kernel command line. Otherwise the mali kernel
    driver may be non-functional and actually knock down
    your system with some old linux-sunxi kernels.
    Aborted
     
    The kernel I use is the one at armbian repository (5.20). I did not change the kernel.
    Strange, because I'm not using a CLI image. There should be memory reservation for GPU, right?
     
    For the benchmark I'm using:
    stress -c 2
    memtester 100M
    openssl speed -multi 5
     
    I will leave it running for today.
     
    Edit: It turns out that my boot.src had Mali memory reservation disabled. I dont know why tough. Running lima-memtester now. Tomorrow I'll come back and report.
  9. I can confirm that 432MHz is stable for Cubieboard 2.
    My cubieboard 2 is doing a stress test now and it's stable. The test is already running for 5 hours and I will leave it running for today.

    When it was 480 MHz, the stress test failed in 1 hour.
    I used 432 MHz instead of 384 MHz because of this topic: https://groups.google.com/forum/#!topic/cubieboard/9WMBFAL7JBE
    I will upload my u-boot here if anyone is interested.

     

    u-boot-sunxi-(432MHz).zip

  10. I have this same exact problem with cubieboard 2. The HDD that it's connected on its usb still spinning, the lan port leds are blinking and the red led from pmu is lit up, but the other two leds are turned off and I have no response from it. Tried to connect a monitor and a keybord but it did not work.

    This error occurs once/twice a week.

  11. Hello! I have a cubieboard 2 and I have the same problem. If I remove the 5VDC cable and wait a little while after inserting it again, my cubieboard 2 shutdown at starting kernel message. If I insert my cubianX sdcard, boot, shutdown the cubieboard2, remove the cubianX sdcard and insert armbian sdcard, my cubieboard2 boots normaly.

    I tried to use Phelum U-boot, but without success.

    Can anyone help me?

     

    Edit: I'm also using legacy kernel.

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines