Jump to content

tkaiser

Members
  • Posts

    5462
  • Joined

Reputation Activity

  1. Like
    tkaiser got a reaction from Jens Bauer in Quick review of Solidrun's Clearfog   
    The write speed must be limited by the SSD (small capacity --> less parallelism --> slow write speeds). I hope these little beasts arrive soon:
     

    Will then try to do some tests with some SSDs in parallel. BTW: 15 minutes ago a packet from Solid-Run arrived:
     

     
    Wow, up and running within 10 minutes including download of your Armbian image: http://pastebin.com/Y3vJmX3H
     
    Great first experience. Everything already provided to start through (onboard UART-to-USB adapter, PSU adapter, TF card).
  2. Like
    tkaiser got a reaction from Jens Bauer in Quick review of Solidrun's Clearfog   
    I will give it a try even if it almost hurts to combine such a quality board with cheap JMB321 crap
     
    But it will take some weeks for the mechanical adapters to arrive to be able to use 'plain SATA' together with the Clearfog.
     
    Thx for the update regarding kernel. Then let's see how far we get with 4.1.x (when I start testing I want to rely on btrfs to detect possible corruptions and there the kernel version matters)
  3. Like
    tkaiser got a reaction from Jens Bauer in Banana Pi M3   
    Update 3 days later: SinoVoip's software/support is worse than ever before:
     
    They're still busy fixing essential things long after sales have started: https://github.com/BPI-SINOVOIP/BPI-M3-bsp/commits/master They close Github issues without investigation: https://github.com/BPI-SINOVOIP/BPI-M3-bsp/issues/3 They close Github issues without even reading/understanding them and answer pure nonsense to questions: https://github.com/BPI-SINOVOIP/BPI-M3-bsp/issues/4 They provide a faked Armbian image: http://forum.banana-pi.org/t/bpi-m3-new-image-armbian-v4-70-30-11-2015-for-bpi-m3/ Their own images don't boot: http://forum.banana-pi.org/t/bpi-m3-new-image-ubuntu-mate-15-10-for-bpi-m3-20151203/817 Still no MD5/SHA1 checksums to verify download integrity. But it wouldn't help if there were any since even if they provide an MD5 hash, they upload corrupted images at the same time but don't care about. They simply don't give a sh*t about anything else than selling hardware.  
    If you buy any product from this vendor be prepared that software/support will be catastrophic.
  4. Like
    tkaiser got a reaction from _r9 in Banana Pi M3   
    Overview
     
    (Disclaimer: The following is for techies only that like to dig a bit deeper. And if you're not interested in energy-efficient servers then probably this is just a waste of time  ) 
     
    EDIT: Half a year after this poorly designed SBC has been released just one of the many design flaws has been fixed: Micro USB for DC-IN has been replaced by the barrel jack that was present on the pre-production batches. If you were unfortunate to get a Micro USB equipped M3 please have a look here how to fix this. Apart from that check the Banana forums what to expect regarding software/support first since this is your only source)
     

     
    SinoVoip sent me a review sample of the recently shipped so called "Banana Pi M3" yesterday. It's a SBC sharing name and form factor of older "Banana Pi" models but is of course completely incompatible to them due to a different SoC, an A83T (octa-core Cortex-A7 combined with a PowerVR SGX544 GPU). For detailed and up-to-date informations please always refer to the linux-sunxi wiki.
     
    This new model distinguishes itself from the Banana Pi M2 with twice as much CPU cores and DRAM (LPDDR3), 8 GB eMMC onboard and BT4.0. And compared to the "M1" (the original Banana Pi) it features also 802.11 b/g/n Wi-Fi. Unlike the M2 the M3 is advertised as being SATA capable. But that's not true, it's just an onboard GL830 USB-to-SATA bridge responsible for horribly slow disk access. Unfortunately the GL830 and both externally available USB ports are behind an internal USB hub therefore all ports have to share bandwidth this way and use just one single USB connection to the SoC.
     
    Since my use cases for ARM boards are rather limited you won't find a single word about GPIO stuff (should work if pin mappings are defined correctly), GPU performance, BT, Wi-Fi or Android. Simply because I don't care 
     
    Getting Started:
     
    The board arrived without additional peripherals (no PSU) therefore you need an USB cable using a Micro-USB connector to power the board. Both DC-IN and USB-OTG feature an Micro-USB connector which is bad news since pre-production samples had a real DC-In connector (4.0mm/1.7mm barrel plug, centre positive like the M2). I suffered from several sudden shutdowns under slight load until I realized that I used a crappy cable. Many (most?) USB cables lead to voltage drops and when the board demands more power it gets in an undervoltage situation and the PMU shuts off.
     
    Same will happen to you unless you can verify that you've a good cable. I did not succeed querying the M3's powermanagement unit (PMU) regarding available voltage (/sys/devices/platform/axp81x_board/axp81x-supplyer.47/power_supply/ac/voltage_now shows always 0). This was a lot easier with the older Banana Pi M1: Here you can watch my cable being responsible for voltage drops under high load (I accidentally used this again with the M3).
     
    To avoid the crappy Micro-USB connector (limited to 1.8A maximum by specs and tiny contacts) you can desolder it and solder a cable or a barrel plug -- the PCB is already prepared for the latter. Or ask SinoVoip if they can fix this mistake with the next batch of PCBs. On the bottom side of the PCB there are also solder pads for a Li-Ion battery. It has to be confirmed whether the AXP813 PMU can also be fed with 5V through the Li-Ion connector since this is the preferred way to fix the faulty power design other SinoVoip products show.
     
    One final word regarding power: It seems currently something's wrong with power initialisation in the early boot stages (u-boot). With a connected bus-powered USB disk the board won't start or immediately shut down when the disk is connected within the first 10 seconds. I didn't verify when exactly because if you've a look at SinoVoip's commit log it seems they began to fix many obvious bugs just right now after they already started shipping the board (we've seen that with the M2 also).
     
    First Showstoppers:
     
    Since the board came with an unpopulated eMMC (why the heck?) I had to try out the available OS images from the banana-pi.org download site. Unlike everyone else on this planet they don't provide MD5/SHA1 checksums to be able to check integrity of downloads and even if you tell them that they've uploaded corrupted images they don't care. From 4 OS images 3 are corrupted (according to unzip) and all failed soon after boot with kernel panics. I tried the Android image to verify FEL mode works.
     
    But since Android is of zero use for me, I decided to build an own OS image from an Ubuntu distro running on the Orange Pi where I had the SD-card inserted. Since details are boring just as a reference. From then on I used this Ubuntu image and exchanged only the freshly built stuff from SinoVoip's BSP Github repo (3.4.39 kernel, modules, bootloader and also simple things like hardware initialisation since kernel/u-boot they prefer does NOT support script.bin)
     
    First Impressions:
     
    Heat (dissipation):
     
    The A83T needs a heatsink otherwise you won't be able to benefit from its performance. Allwinner's 3.4.39 kernel provides 'budget cooling' using 2 techniques: thermal throttling and shutting down CPU cores. You can define this 'thermal configuration' in sysconfig.fex and have to take care that you understand what you're doing since if throttling doesn't help your CPU cores will be deactivated and you have to can't bring them back online manually the usual way since Allwinner's kernel doesn't allow so:
    echo 1 >/sys/devices/system/cpu/cpuX/online Therefore it's better to stay with the thermal defaults to allow throttling and improve heat dissipation instead. I used a $0.5 heatsink that performs ok. Without heatsink when running CPU intensive jobs throttling limited clockspeed to 1.2 GHz but with the heatsink I was able to run most of the times at ~1.6Ghz under full load. With heatsink and an annoying fan I managed to let the SoC run constantly at 1.8GHz and achieved a 7-zip score close to 6000 and finished "sysbench --test=cpu --cpu-max-prime=20000 run --num-threads=8" in less than 53 seconds.
     
    This is an example for wrong throttling values (too high) so that the kernel driver does not limit clockspeeds but starts to drop CPU cores instead:
     

     
    CPU performance:
     
    Since the H3 (used on the more recent Orange Pis) and the A83T seem to use much of the same kernel sources (especially the 'thermal stuff') I did a few short tests. When running with identical clockspeed and the same amount of cores they perform identical (that means they're slower than older Cortex-A7 SoCs like eg. the A20 when running at identical clockspeed -- a bit strange). Obviously the difference between H3 and A83T is the process. Both already made in 28nm but the A83T as 'tablet SoC' in the more energy efficient HPC process allowing less voltage and higher clockspeeds. According to sysconfig.fex the SoC should be able to clock above 2.1 GHz but since exceeding 1.6 Ghz already needs a fan this is pretty useless on a SBC (might be different inside a tablet where the back cover could be used as a large heatsink).
     
    Network throughput:
     
    I used my usual set of iperf testings and tried GBit Ethernet performance (with and without network tunables it remains the same -- reason below):
     
    BPi-M3 --> Client:
    [ 4] 0.0-10.0 sec 671 MBytes 563 Mbits/sec [ 4] 0.0-10.0 sec 673 MBytes 564 Mbits/sec [ 4] 0.0-10.0 sec 870 MBytes 729 Mbits/sec [ 4] 0.0-10.0 sec 672 MBytes 564 Mbits/sec [ 4] 0.0-10.0 sec 675 MBytes 566 Mbits/sec Client --> BPi-M3: [ 4] 0.0-10.0 sec 714 MBytes 599 Mbits/sec [ 5] 0.0-10.0 sec 876 MBytes 734 Mbits/sec [ 4] 0.0-10.0 sec 598 MBytes 501 Mbits/sec [ 5] 0.0-10.0 sec 690 MBytes 578 Mbits/sec [ 4] 0.0-10.0 sec 604 MBytes 506 Mbits/sec When I used longer test periods (-t 120) then the "Client --> BPi-M3" performance increased up to the theoretical limit: 940 Mbits/s. Then a second iperf thread jumped in, both utilising a single CPU core fully. And that's the problem: Networking is CPU bound, a single client-server connection will not exceed 500-600 Mbits/sec as it was the case when I started with A20 based boards 2 years ago. Since all we have now with the A83T is an outdated 3.4.39 kernel and since I/O bandwidth on the M3 is so low, I stopped here since it's way too boring to try to improve network throughput and also useless (disk access is so slow that it simply doesn't matter when Ethernet is limited to half of the theoretical GBit Ethernet speed... at least for me  )
     
    Accessing disks:
     
    Since there's a SATA connector on the board I gave it a try.
     
    Important: the SATA-power connector uses the same polarity as older Banana Pis and Orange Pis (keep that in mind since combined SATA data/power cables from LinkSprite and Cubietech that share exactly the same connector use inverted polarity!).
     
    I started with the Samsung EVO I always use for tests (but due to the old 3.4 kernel using ext4 instead of btrfs) and was shocked: 13.5/23 MB/s is the worst result I ever measured. I then realised that I limited maximum cpufreq to 480 MHz and tried with 1800 MHz again. A bit better but far away from acceptable:
    GL830 USB-to-SATA performance: 480 MHz: kB reclen write rewrite read reread 4096000 4 13529 13466 22393 22516 4096000 1024 13588 13411 22717 26115 1.8 GHz: 4096000 4 15090 15082 30968 30316 4096000 1024 15174 15131 30858 29441 I disconnected the SSD from the 'SATA port' and put it in an enclosure with a JMicron JMS567 USB-to-SATA bridge and measured again: Now sequential transfer speeds @ 1800 MHz exceeded 35/34 MB/s. The GL830 is responsible for low throughput -- especially writes are slow as hell.
     
    I made then a RAID-1 through mdadm consisting of an external 3TB HDD (good news: the GL830 can deal with partitions larger than 2 TB) and the SSD. First test with the HDD connected to the M3's GL830 bridge (GL) and the SSD connected to the JMS567 (JM). Then I disconnected the HDD from the GL830 and put it in another external enclosure with an ASMedia 1053 (ASM). 
     
    Obviously SinoVoip's decision to use an internal USB hub and only one host port of the SoC leads in both situations to limited (shared) bandwidth. But in case the internal USB-to-SATA bridge is involved performance is even worse:
    GL/JM: kB reclen write rewrite read reread 4096000 4 17800 17140 14382 16807 4096000 1024 17741 17258 14493 14368 JM/ASM: 4096000 4 19307 18458 22855 26241 4096000 1024 19231 18518 21995 22362 If SinoVoip would've saved the GL830 USB-to-SATA bridge and wired both SoC's host ports to the 2 type-A USB ports directly without the internal hub in between overall performance would be twice as good. And obviously the M3's 'SATA port' is the worst choice to connect a disk to. Any dirt-cheap external USB enclosure will perform better.
     
    SD-card and eMMC:
     
    Just a quick check with the usual iozone settings running @ 1.8 GHz:
    kB reclen write rewrite read reread eMMC: 4096000 4 26572 27014 59187 59239 4096000 1024 25875 26614 56587 56667 SD-card: 4096000 4 20483 20855 22473 22892 4096000 1024 20526 19948 22285 22660 LOL, eMMC twice as fast as 'SATA'. The performance numbers of the SD-card (SanDisk "Extreme Pro") are irrelevant since I can not provide performance numbers from a known fast reference implementation. But since I might be able to provide this the next few days, I decided to give it a try. On older Allwinner SoCs there's a hard limitation regarding SDIO/SD-card speed. Maybe this applies here too.
     
    EDIT: Yes, it's a board/SoC limitation. When reading/writing the SD-card on a MacBook Pro I achieve ~80 MB/s. It seems SDIO on A83T is limited to ~20MB/s
     
    Other issues:
     
    If you want to try out the M3 you'll have to stay on the bleeding edge. Don't expect that any of the available OS images are close to useable. They just recently started to fix a lot of essential bugs in code and hardware initialisation. If you want to test the M3 be prepared to compile the BSP daily and exchange the bootloader/kernel/initialisation stuff on your SD-card/eMMC Currently average load is always 1 or above. When we started over 2 years ago with Cubieboards (and an outdated kernel 3.4.x) there was a similar issue. Maybe it's related. I just opened a Github issue Mainline kernel support in very early stage. Don't count on this that soon (situation with Banana Pi M2 was a bit different. All the OS images from SinoVoip based on kernel 3.3 weren't useable but the community provided working distros backed by the work of the linux-sunxi community and existing mainline kernel support for the M2's A31s) Always keep in mind that hardware without appropriate software is somewhat useless. SinoVoip has a long history of providing essential parts of software way too late or not at all (still applies to the M2 -- before you buy any SinoVoip product better have a look into their forums to get the idea which level of support you can expect: zero). Even worse: For the M2 and its A31s SoC there exists mainline kernel support (everything developed by the community while the vendor held back necessary informations). This does not apply to the A83T used on the M3. At the moment you're somewhat lost since you've to rely on the manufacturer's OS images (all of them currently being broken)  
    Conclusion:
     
    Still no idea what to do with such a device.
     
    Integer performance is great when you use a heatsink and even greater with an annoying fan. But where's the use case? If I would use the M3 with Android then everything that's relevant for performance does not depend on CPU (but instead CedarX for HW accelerated video decoding and GPU for 2D/3D acceleration -- BTW: the A83T is said to contain only a single core SGX544MP1 but the fex file's contents let me believe it's a faster MP2 instead).
     
    Due to limited I/O and network bandwidth the integer performance is also irrelevant for nearly all kinds of server tasks. If it's just about 'SBC stuff' why wasting so much money? Triggering GPIO pins works also with cheap H3 based boards like Orange Pi PC or Orange Pi One that also have 4 times more I/O bandwidth compared to the M3 (due to 4 available USB ports instead of one).
     
    And if I would really need a performant ARM SoC then I would buy such a thing and not an outdated Cortex-A7 design. I still have no idea what the M3 is made for. Except of selling something under the "Banana" brand to clueless people. Don't know. For my use cases the Banana Pi M1 outperforms the M3 easily -- both regarding price and performance (sufficient CPU power, 3 x USB and real SATA not 'worst USB-to-SATA implementation ever'). As usual: YMMV 
     
    Maybe the worst design decision (next to choosing the crappy Micro-USB connector for DC-IN) on the M3 is the 'SATA port'. If they would've saved both internal USB hub and GL830 and instead use the two available USB host ports then achievable I/O bandwidth would be way higher. Now both USB ports and the 'SATA port' have to share the bandwidth of a single USB 2.0 connection. Almost as bad as with the Raspberry Pis.
     
    But most importantly: Check software und support situation first and don't rely on 'hardware features'. Remember: SinoVoip shipped the M2 with OS images where not a single GPIO pin was defined and Ethernet worked only with 100Mb/s since they 'forgot' to define GMAC pins. They fixed that months later but still not for every OS image (the Android image they provide is corrupted since months but they don't care even if users complain several times). Visit their forums first to get an idea what to expect. It's important!
     
    Armbian support:
     
    Not to be expected soon. It's worthless when having to rely on Allwinner's old 3.4.39 kernel. I combined loboris' H3 Debian image with kernel/bootloader stuff for the A83T and it worked as expected (even my RPi-Monitor setup matched almost perfectly).
     
    Unless the linux-sunxi community improves mainline support for the A83T this situation won't change. But maybe someone interested in M3 (definitely not me) teaches SinoVoip how to escape from u-boot/kernel without support for script.bin in the meantime. Would be a first step.
  5. Like
    tkaiser got a reaction from Jens Bauer in Cubietruck sata speed   
    Which fix? It's easy to improve performance when you do it step by step, start from bottom to top and identify every single factor that affects performance (and there are a lot when it's about slow ARM boards). Everything outlined here, if not feel free to impove the wiki: http://linux-sunxi.org/Sunxi_devices_as_NAS
     
    And at the moment you can try what you want but there seems to be a limitation that prevents A20 being capable of exceeding 45 MB/s write speed. But since it's still SATA it's superiour compared to USB (especially when you can't use UASP) since random I/O is way better (that's more important for other workloads -- eg. running databases -- than sequential transfer speeds mostly used in braindead benchmarks)
  6. Like
    tkaiser reacted to chradev in Armbian customization   
    Hi candratech,
     
    It is good idea in case of having specifics you describe. Choosing Armbian was in competition with Yocto project which is on the other side as complexity and flexibility. It support own repositories for all packages and images built but it is quite complex for my needs.
     
    Fortunately or not my use case is slightly different:
    single board (could be more in future but limited as number and close as HW) FW update will be based on complete SD image (not on packages) Armbian basically fits my needs as staff, configuration and supported boards customization needed is mainly in package set and configuration a set of data files have to be embedded in final images That is why I prefer the simplest solution giving me the flexibility to produce final image(s) on demand using only third party packages (from Debian repositories) and produced on place once thanks to Armbian. If I heed of package to compile in future Armbian will make it possible as external one.
     
    Of course, if the proposed change is not acceptable a fork is possible as exception but the feature offered is quite general and will make Armbian better as flexibility.
     
    Should I issue it as a feature request?
  7. Like
    tkaiser got a reaction from Jens Bauer in Problems with Gigabit   
    Well, I doubt that TX DELAY is related to the problems you experience (these delay settings should only matter when you compare different boards or board revisions).
     
    But anyway. Now I have a patchset to create 64 u-boot variants with all possible TX/RX delay variations and will give them later a try (with Lamobo-R1 first, will try the very same stuff with my Lime2 if I suceed with testing and this brute-force approach shows good results). I just added two more lines to gmac.c and hope that they will work:
    diff --git a/board/sunxi/gmac.c b/board/sunxi/gmac.c index 8849132..1bce3ce 100644 --- a/board/sunxi/gmac.c +++ b/board/sunxi/gmac.c @@ -26,6 +26,8 @@ int sunxi_gmac_initialize(bd_t *bis) CCM_GMAC_CTRL_GPIT_RGMII); setbits_le32(&ccm->gmac_clk_cfg, CCM_GMAC_CTRL_TX_CLK_DELAY(CONFIG_GMAC_TX_DELAY)); + setbits_le32(&ccm->gmac_clk_cfg, + CCM_GMAC_CTRL_RX_CLK_DELAY(CONFIG_GMAC_RX_DELAY)); #else setbits_le32(&ccm->gmac_clk_cfg, CCM_GMAC_CTRL_TX_CLK_SRC_MII | CCM_GMAC_CTRL_GPIT_MII); The diff for modifications of Igor's scripts are here: http://pastebin.com/ZMF89Y57 and you still would need to define 'GMAC_DELAY_TEST="yes"' in compile.sh
  8. Like
    tkaiser got a reaction from Jens Bauer in Problems with Gigabit   
    BTW: Since I want to play around with both TX and RX delay parameters I started to modify Igor's build scripts for this purpose. Since the build system creates a .deb package for u-boot that overwrites the SPL/u-boot on SD card my idea was to let create all 64 variants of possible TX/RX delay values and then let a script automatically install the different u-boot variants, reboot afterwards, test network performance using ping/iperf, tries the next u-boot.deb until all combinations are tested.
      Currently I got the first step finished: Automatically creating 8 different u-boot .deb packages by adjusting Igor's script.   1) Add  GMAC_DELAY_TEST="yes" to compile.sh   2) Modify one line in lib/common.sh. Exchange  CHOOSEN_UBOOT="linux-u-boot-$VER-"$BOARD"_"$REVISION"_armhf" with  CHOOSEN_UBOOT="linux-u-boot-${VER}-${BOARD}_${REVISION}_${TX}_${RX}_armhf" 3) Add the following lines in lib/main.sh after "grab_kernel_version" # check whether we should just build a bunch of u-boot versions to # brute-force all available GMAC TX/RX delay variations. if [ "X${GMAC_DELAY_TEST}" == "Xyes" ]; then         for TX in 0 1 2 3 4 5 6 7 ; do                 for RX in 0 ; do                         CHOOSEN_UBOOT="linux-u-boot-${VER}-${BOARD}_${REVISION}_${TX}_${RX}_armhf"                         UBOOT_PCK="linux-u-boot-$VER-"$BOARD                         # search defconfig file for $BOARD                         Defconfig="$(grep -i -- "-${BOARD}.dtb" ${DEST}/u-boot/configs/*_defconfig | cut -d: -f1)"                         if [ ! -f "${Defconfig}" ]; then                                 case ${BOARD} in                                         aw-som-a20)                                                 Defconfig="${DEST}/u-boot/configs/Awsom_defconfig"                                                 ;;                                         cubieboard2)                                                 Defconfig="${DEST}/u-boot/configs/Cubieboard2_defconfig"                                                 ;;                                         lime)                                                 Defconfig="${DEST}/u-boot/configs/A20-OLinuXino-Lime_defconfig"                                                 ;;                                         micro)                                                 Defconfig="${DEST}/u-boot/configs/A20-OLinuXino_MICRO_defconfig"                                                 ;;                                         bananapipro)                                                 Defconfig="${DEST}/u-boot/configs/Bananapro_defconfig"                                                 ;;                                         udoo*)                                                 Defconfig="${DEST}/u-boot/configs/udoo_quad_defconfig"                                                 ;;                                 esac                         fi                         # patch defconfig with appropriate tx/rx values                         MyTmpFile="$(mktemp /tmp/gmac_test.XXXXXX || exit 1)"                         trap "cd /tmp; rm -f \"${MyTmpFile}\"; exit 0" 0 1 2 3 15                         grep -v CONFIG_GMAC_TX_DELAY "${Defconfig}" | grep -v CONFIG_GMAC_RX_DELAY >"${MyTmpFile}"                         cat "${MyTmpFile}" >"${Defconfig}"                         echo -e "CONFIG_GMAC_TX_DELAY=${TX}\nCONFIG_GMAC_RX_DELAY=${RX}" >>"${Defconfig}"                         compile_uboot                 done         done         exit 0 fi Step 2) and 3) as patch: http://pastebin.com/RC5WptYB
     
    After execution of compile.sh you will end up with 8 different u-boot.debs in output/output/u-boot containing different GMAC TX DELAY settings that can be installed using "dpkg -i".  Execution will stop afterwards.   Next step is to patch gmac.c so that different definitions of "CONFIG_GMAC_RX_DELAY" might lead to different results.
  9. Like
    tkaiser got a reaction from Jens Bauer in Problems with Gigabit   
    You can set the register values from within u-boot directly if you've a serial connection and stop autoboot: https://groups.google.com/d/msg/linux-sunxi/Y_Zh5juEJG4/egjJojeTgS8J
     
    (but I've no clue why he just tried 0x006, 0x406, 0x806 and 0xc06 and how this should 'translate' to 0, 1, 2 and 3? If we're speaking about 3 bits then 8 -- 0 to 7 -- different values should be possible?)
  10. Like
    tkaiser reacted to rodolfo in OrangePi PC - SD Corruption on shutdown   
    Strange indeed. I've just successfully tested OrangePiOne with Armbian_5.05 on any old crappy sdcards ( "class" 4,6,10 4G ). Cards were prepared on a linux host ( dd ), installed on OrangePiOne  and heavily used ( actually misused ) with random reboots, shutdowns, disconnecting power. Despite some (probably erroneous) error messages (mmc) the boards booted without any problems and even heavy abuse did not corrupt the sdcards.
     
    I've noticed some other phenomena which are HW-related. Crappy power cables or crappy power supplies lead to erratic boot behaviour. Attach the serial console and run the board power cable through a voltmeter/ammeter. During a normal boot you'll notice current going up from <100mA to >200mA. I've traced all boot failures to problems with power supply. Practical jokes like powering an USB-attached disk from the USB connection yield rather strange results too
     
    By the way - use a cheap working any-old-class 4G sdcard for testing until you are satisfied with a working basic image. Create a backup image and use this as a basis for copying to a "high class zillion-G"  sdcard. Expanding is so much more fun than shrinking.
  11. Like
    tkaiser got a reaction from Marc Draco in Orange Pi One - adding USB, analog audio out, TV out, mic and IR receiver   
    Amazing. You looked at an image where a chip is shown that is 14x14mm in size and don't get the idea that these solder points nearby have to be rather tiny?
     
    And now you're searching in a software forum (Armbian you know) for tutorials how to improve your soldering skills since you tried to save $5 and ended up with the wrong device for your use cases? Really?
  12. Like
    tkaiser got a reaction from Nick in Best budget device as torrent box?   
    I've never used transmission but if you're still talking about torrent stuff then please start to think about what's that all about: collecting small pieces of large files from others and then starting to insert these chunks into large files somewhere on disk. If this is not the definition of 'random I/O' I don't know what should it describe better.
     
    Since you're not interested in active benchmarking it's not possible to help you. But I hope you understand that your problems are neither related to the board you use nor the OS distro?
  13. Like
    tkaiser got a reaction from Nick in Tethering on Orange pi pc   
    Please stop using Armbian or at least write wrong 'articles' here and there. If you're writing about 'network manager' then you're still using an old build based on Ubuntu trusty?
     
    The most recent image is based on Debian Jessie and enables all the stuff you tell others that would miss (GPU and video acceleration). You should also consider that the whole "Armbian for Orange Pi" approach is still work in progress and images for end users are considered test versions. We had to learn that we now have partially a whole new user base that seems to lack reading skills.
     
    If you click on any of the download links eg http://www.armbian.com/orange-pi-pc/  then there is a link to the relevant forum thread where you can get an idea what 'work in progress' might mean, there is also a link to a special FAQ we maintain for you Orange Pi users (with an extra verbose changelog!) and on the top a link to our normal user documentation 'Getting Started --> Basics'.
     
    But fortunately you already found the solution to all your problems: "android is  the only way". Have fun with it... or start to read and understand, use Armbian 5.05 (desktop version -- you get GUI acceleration currently only with this) or just wait until we release a version that is labeled as "stable for end users" (no release data available). Thank you a lot!
  14. Like
    tkaiser got a reaction from Jens Bauer in How can i disable from kernel in Sunxi the HDMI, Audio, etc   
    And why don't you start removing the few thousand other drivers from the kernel for hardware that is not even present on your board before? What do you fear?
  15. Like
    tkaiser got a reaction from Jens Bauer in How can i disable from kernel in Sunxi the HDMI, Audio, etc   
    If you really care about performance you have to tweak other settings first. As a starting point: http://linux-sunxi.org/Sunxi_devices_as_NAS#Influence_of_the_chosen_OS_image_on_NAS_performance(follow the links there especially if you have an A10 device since there memory bandwidth might suffer from graphics settings)
  16. Like
    tkaiser got a reaction from wildcat_paris in Quick review of LeMaker's Guitar   
    I meant what I wrote: SoC. It's basically the same crappy SoC than on the first SBC they sold, the only thing that changed are count and type of the contained ARM cores. Why should I comment on the weird sentences that followed your question? You do not even understand 8b10b, confuse Mbps with Mbits/sec, think that a specific ARM generation dictates maximum RAM (it's the VideoCore GPU/VPU that is not able to initialise more than 1 GB) and so on...
     
    Let's see whether the RPi's boot process (again: VideoCore brings up the hardware and initialises everything) ever will be able to bring up the Cortex-A53 cores in Aarch64 state on the RPi 3.
  17. Like
    tkaiser got a reaction from wildcat_paris in Quick review of LeMaker's Guitar   
    Raspberry 3? Pretty easy: It's the same SoC as on the 1st RPis from 4 years ago (max. 1 GB slow DDR2 DRAM, only one USB2.0 port to the outside) but now with Cortex-A53 cores you can't benefit from (at the moment) since the RPi foundation lets you run code that was written for ARMv6 on it.
     
    We're currently discussing how to test dvfs/cpufreq settings for Pine64+ (concerned first about reliability and then about performance) and it seems obvious that not being able to use ARMv8 optimised code is bad. Same applies to slow I/O and network bandwidth (what is more important to my use cases) or for many average users the inability to decode HEVC video (works smoothly and HW accelerated on H3/A64 Allwinner SoCs).
     
    For my use cases a RPi 3 is as useless as a LeMaker Guitar. YMMV as usual
  18. Like
    tkaiser reacted to zador.blood.stained in [WiP / Orange Pi One] Support for the upcoming Orange Pi One?   
    1. "Dumb" USB/2.5" IDE adapter that doesn't provide any S.M.A.R.T. data:
    http://sprunge.us/MJWH
     
     
     
    2. JMicron based USB/2.5" IDE + 3.5" IDE + SATA bridge, SATA drive attached
    http://sprunge.us/KRLA
     
     
     
    3. Same bridge, 2.5" IDE drive attached
    http://sprunge.us/PaQU
     
     
     
    4. Same bridge, 2.5" SATA drive attached
    http://sprunge.us/caSO
     
     
     
    5. JMicron based USB 3.0/SATA bridge
    http://sprunge.us/BIhH
     
     
  19. Like
    tkaiser got a reaction from manuti in Breaking News: Choosing Armbian speeds up your Orange Pi multiple times!   
    Nice try but still insufficient.
     
    Using passive benchmarking is only great if you want to collect meaningless numbers. When you use those tests for active benchmarking purposes then it will be way more time consuming and the one thing you will do most often will be... throwing results away since they're completely irrelevant.
     
    Regarding 'sysbench --cpu' and trying to compare ARMv7 and ARMv8 (applies to RPi 3 also if RPi foundation will sometimes in the future switch Raspbian's codebase to ARMv8) everything is outlined here already: http://forum.odroid.com/viewtopic.php?f=136&t=19158#p127223
     
    Running sysbench storage tests on an SD card... c'mon what are yout trying to achieve? Producing numbers without meaning or just the insight that if you want to run anything storage intensive then you should avoid using SD cards at all (using eMMC when available or moving both rootfs and database storage location to USB or SATA where available).
     
    This is the only lesson you can learn from any storage bench when used on SBCs! And what do people do instead? Create graphs that are based on meaningless numbers.
     
    Please don't get me wrong. Synthetic benchmarks can be very useful. A storage benchmark that is done correctly might provide the insight that on an Orange Pi Plus (eMMC and an ultra slow USB-to-SATA bridge onboard) it's braindead to move the rootfs to USB (some people still call it SATA for reasons unknown to me) but instead use the eMMC since it's faster. But measuring SD card speeds on an Orange Pi Plus is just a waste of time.
  20. Like
    tkaiser got a reaction from manuti in Breaking News: Choosing Armbian speeds up your Orange Pi multiple times!   
    It's important to believe blindly in numbers! At least when you try to be mislead as much as possible!
     
    Yesterday Michael Larabel from Phoronix fired up his usual set of passive benchmarking tests for the new Raspberry Pi 3 and he still uses rather questionable results for other boards to compare with (he claims that it would be sufficient to use a board with 'factory settings', run a set of synthetic benchmarks, don't analyse the results or even think about whether they could be wrong and treat the results as the truth)
     

     
    RPi 3 is 4 times faster than OPi PC and 6 times faster than OPi Plus? Really?
     
    If you just try to think about these graphs for a second it's obvious that there must be something wrong: Testing Orange Pi PC and Plus individually already makes no sense at all (same SoC, same settings --> same performance results to be expected) and publishing results that vary that much is alarming: either your benchmark must be wrong or the conditions or the tester. If you just think a second it's obvious that Orange Pi PC and Plus have to be faster than Banana Pi M2 (also an Allwinner ARMv7 SoC clocked a bit slower) and that you should drop any results if you experience a difference of more than 10% between both boards that must perform identical.
     
    So I took our Armbian 5.05 release candidate and tested 2 of Phoronix' benchmarks on an H3 based Orange Pi (and then stopped this waste of time):
     
    C-Ray: 340 with Armbian vs. 1425 according to Phoronix. Using Armbian increased the performance by over 400% (if you're dumb enough to rely on 'benchmarking gone wrong')
    John the Ripper: 558 with Armbian vs. 315 according to Phoronix. Using Armbian increased the performance by 77% (if you're dumb enough to rely on 'benchmarking gone wrong')
     
    Confusing! Why is Armbian way faster?! And why does choosing Armbian speeds up your Orange Pi in one case over 4 times and in the other case just by 77%? Let's have a closer look:
     
    How does Armbian differ:
    We are able to use 1.3GHz as CPU clockspeed (might speed things up) For reliability reasons we clock the DRAM lower (might slow things down) Most importantly: We don't use braindead thermal throttling settings (and I used a heatsink/fan) And the latter is the most important issue that Michael Larabel seems to miss at all when he uses the 'benchmark' results he collected sometimes ago to compare between different hardware. It's 2016 now! Each and every more recent SoC is a throttling candidate. This has to be taken into account if you want to benchmark a SoC or a board. If you ignore this your results are plain bullshit (just like Michael's).
     
    When he tried to 'benchmark' Orange Pi PC and Plus he obviously ran into the problem that the vendor's budget cooling settings favoured killing CPU cores instead of thermal throttling so he obviously ended up with just one active CPU core left after some time of testing. And while this was an important finding (OS images for Orange Pis all crap more or less back then and negatively influencing performance) it's also important that this is nothing the hardware has to be blamed for.
     
    The very same board running with Armbian performs more than four times faster! Think about. So obviously the benchmarks Phoronix recommends do not test the hardware but something else instead.
     
    To be clear: the Phoronix test suite is fantastic when used correctly. That means ACTIVE BENCHMARKING and not collecting meaningless numbers and then relying on these worthless numbers to draw the wrong conclusions. When using the Phoronix test suite correctly you can identify performance bottlenecks and boundary conditions that affect performance easily (wrong cpufreq governor, killed CPU cores, thermal throttling, wrong settings, whatever). And also what to do to increase performance (tweaking compiler/scheduler settings, constantly trying out to optimise things until it works better).
     
    The worst thing you could do with the Phoronix test suite is to collect numbers without meaning (passive benchmarking) and then use them to draw the wrong conclusions (that's what most of Phoronix' users including the author of the test suite do all the times).
     
    Back to the origin again: We started with the Raspberry Pi 3 and 'benchmarking gone wrong' the Phoronix way. You really should take the numbers Michael/Phoronix published with a grain of salt since he neither mentioned whether throttling happened nor he commented on the consequences for the RPi 3 if the RPi foundation understands that it's necessary to provide a Raspbian version that is ARMv8 optimised.
     
    The RPi foundation claimed the new RPi 3 would outperform the RPi 2 by 50% using questionable sysbench results. If they would've optimised their Raspbian code base for ARMv8 they could claim the RPi 3 would be at least 15 times faster. Why? Because benchmarks are always wrong and using sysbench (that calculates prime numbers) can't be used any more to compare between different ARM architectures (or architectures in general): http://forum.odroid.com/viewtopic.php?f=136&t=19158(I'm really curious whether Phoronix gets that when 'benchmarking' ODROID C2)
     
    TL;DR: Benchmarking is fine as long as you use it to optimise software and to rule out insufficient hardware. When used wrong it's misleading (unfortunately that happens most of the time)
  21. Like
    tkaiser got a reaction from Avinash Ga in [RFC] Support Cortex-A53/arm64?   
    Might not happen that soon. While we're preparing the new 64-bit architecture (which will take some time) the current state of Linux on A64 permits building OS images for end users
     
    BTW: Since people started to take the silly sysbench result above (3.25 seconds on Pine64 vs. 49 on RPi 3 -- only possible conclusion: forget about this 'benchmark' from now on) to compare with the ODROID-C2 I simply unlocked the higher CPU frequencies and measured again: now 2.8 seconds or ~15% better -- all just by modifying thermal throttling behaviour). It should be obvious that any kind of benchmarking for A64 now is plain nonsense. The aforementioned tests are only suited to demonstrate how misleading this sort of pseudo benchmarking is.
  22. Like
    tkaiser reacted to jernej in [WiP / Orange Pi One] Support for the upcoming Orange Pi One?   
    @tkaiser,
    I can confirm that booting from eMMC already works. Only one option is needed to be turned on in U-Boot (check my github).
     
    There is one interesting detail, though. /dev/mmcblk0 and /dev/mmcblk1 have reversed meaning for Plus, at least in OpenELEC. Usually, /dev/mmcblk0 is SD card, but for Plus this means eMMC.
  23. Like
    tkaiser reacted to kevinheb in Moving to Harddisk?   
    Yes, I can confirm that the nand-sata-install worked perfectly with my Orange Pi PC and an USB external hard drive
  24. Like
    tkaiser got a reaction from cbm801 in Breaking News: Choosing Armbian speeds up your Orange Pi multiple times!   
    Wow, thanks for bringing that to my attention. They recommend a heatsink for what they call "heavy processing (and H.265 is probably the heaviest use case there is, with use of multi-core NEON, plus vector GPU and QPU code running)". Ok, this is H.265 with Armbian 5.05 running on a cheap Orange Pi PC:
    tk@orangepipc:~$ sudo armbianmonitor -m [sudo] password for tk: Stop monitoring using [ctrl]-[c] Time CPU load %cpu %sys %usr %nice %io %irq CPU 19:25:34: 1200MHz 1.55 34% 5% 25% 0% 0% 2% 48°C 19:25:39: 1008MHz 1.43 13% 2% 6% 0% 3% 0% 47°C 19:25:44: 480MHz 1.31 1% 0% 0% 0% 0% 0% 46°C 19:25:49: 480MHz 1.21 1% 0% 0% 0% 0% 0% 46°C 19:25:55: 1008MHz 1.11 4% 1% 2% 0% 0% 0% 50°C 19:26:00: 1008MHz 1.10 4% 1% 2% 0% 0% 0% 50°C 19:26:05: 1008MHz 1.18 4% 1% 2% 0% 0% 0% 49°C 19:26:10: 480MHz 1.16 24% 6% 16% 0% 0% 0% 48°C 19:26:15: 480MHz 1.15 18% 4% 13% 0% 0% 0% 48°C 19:26:20: 1008MHz 1.14 18% 4% 13% 0% 0% 0% 48°C 19:26:25: 480MHz 1.21 15% 5% 9% 0% 0% 0% 49°C 19:26:30: 480MHz 1.11 15% 5% 9% 0% 0% 0% 46°C 19:26:35: 480MHz 1.02 15% 5% 9% 0% 0% 0% 46°C^C Playing jellyfish-90-mbps-hd-hevc.mkv (324MB in size, 90 Mbps bitrate, 1920x1080, HEVC, Main profile, Level 5.0, Tier: high). I'm an absolute video NOOB so can anyone please confirm that we on our H3 boards can play H.265 HW accelerated while CPU utilisation is increasing just slightly while RPi 3 users have to think about overclocking and buying an heatsink already?! Really?
  25. Like
    tkaiser got a reaction from Rui Ribeiro in Breaking News: Choosing Armbian speeds up your Orange Pi multiple times!   
    The numbers the Pi foundation produced are fine. They show that RPi 3 is faster than RPi 2 even when running their slow ARMv6 code. So by comparing the RPi 3 numbers with other boards that are able to run code already optimised for ARMv8 you get the idea how performance might improve when they switch their software foundation to Aarch64/ARMv8 (both Pine64 and C2 are 10 to 15 times faster than RPi 3 in this 'benchmark test' since they're able to run optimised code)
     
    What really scares me is how one can test different SD cards and cpufreq governors in reality and then conclude he has tested two boards instead: http://openbenchmarking.org/result/1603051-GA-ODROIDPI362
     
    ODROID-C2 finished in 13 seconds and RPi 3 in 219. Is the C2 over 16 times faster when running SQLite workloads? Nope, it's just the difference a fast SD card with high IOPS and ondemand vs. performance cpufreq governor might make. And when this benchmark should be of any use then not to draw conclusions about "ODROID vs. RPi" but to check what's the most important factor for this sort of SQLite workload (disk intensive) and then either choose the storage that meets these requirements (C2 with an expensive eMMC 5.0 module or even better a Banana Pi with connected SATA SSD) or choose an appropriate platform (I wouldn't run databases on systems without ECC RAM except for read-only stuff like eg. CMS or something like this where the contained data can be reconstructed in case of failures)
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines