• Content count

  • Joined

  • Last visited

Reputation Activity

  1. Like
    chwe reacted to mindee in NanoPI M4   
    Working on NanoPi M4 these days,  almost done, Here is the other side(not final version), would be available  in August, price is $79/99 (2GB/4GB RAM).


  2. Like
    chwe got a reaction from gounthar in OrangePi One Plus/Lite2, using H6 BSP 4.9 Allwinner BETA Kernel possible?   
    Learning by doing...  Nobody starts as a 'perfect' contributor doing everything right from the beginning. Read through this:
    and probably this one:
    H6 boards have plenty of stuff to step in. Try to fix something and then start to send patches. If you struggle somewhere report what you've tried, where you failed and maybe someone can give you some hints to solve it and maybe not, in case 42 isn't a sufficient answer.   The great thing armbian provides is the build-script which everybody can use, not only @Igor when he provides Images for a *random board*. It saves you in the beginning a lot of headache cause you don't have to deal with patch creation, applying those patches and choose a proper compiler for your tests (you'll understand the scirpt better and better as soon as you start to use it).  
  3. Like
    chwe got a reaction from gounthar in OrangePi One Plus/Lite2, using H6 BSP 4.9 Allwinner BETA Kernel possible?   
    Learning by doing...  Nobody starts as a 'perfect' contributor doing everything right from the beginning. Read through this:
    and probably this one:
    H6 boards have plenty of stuff to step in. Try to fix something and then start to send patches. If you struggle somewhere report what you've tried, where you failed and maybe someone can give you some hints to solve it and maybe not, in case 42 isn't a sufficient answer.   The great thing armbian provides is the build-script which everybody can use, not only @Igor when he provides Images for a *random board*. It saves you in the beginning a lot of headache cause you don't have to deal with patch creation, applying those patches and choose a proper compiler for your tests (you'll understand the scirpt better and better as soon as you start to use it).  
  4. Like
    chwe reacted to tkaiser in RockPro64   
    Already available: The official NAS enclosure which opens up plenty of opportunities for specific server and NAS use cases:

    Please check the product page for details (e.g. what's included and what you need to purchase separately)
    My understanding is that the drive cage can accomodate 2 x 3.5" disks and 2 x 2.5" disks though you can only use 2 of them at the same time with Pine's own SATA card (relying on an ASM1061 -- check performance numbers here, the tests were made on an ODROID-N1 which uses same SoC and SATA chip). The ASM1061 only provides 2 SATA ports (so eSATA and SATA can't be used at the same time) and is attached with just a single PCIe lane which is fine when connecting spinning rust but will already bottleneck two SSDs since PCIe will limit overall bandwidth then.
    Performance fanatics might skip Pine's cheap ASM1061 card and search for a PCIe card based on either ASM1062 or Marvell's 88SE9230 (both using 2 PCIe 2.x lanes, the latter providing 4 SATA ports). If it's just about attaching 4 SATA devices cards based on Marvell 88SE9215 will also do it (for performance numbers see here)
    External powering with one single 12V PSU (it's the common barrel plug with 5.5/2.1mm, centre positive) is sufficient. For 2 3.5" disks you should choose 5A.
    If you want to add Wi-Fi to this setup you most probably need to drill 2 holes to attach good external antennas (recommended since Pine's Wi-Fi module is a pretty decent one: AP6359SA is dual-band and dual-antenna and even RSDB capable which allows to use both bands at the same time so providing more bandwidth but especially lower latency if the AP also supports it)
  5. Like
    chwe reacted to martinayotte in 4MB sectors - aka "Optimizing Linux with cheap flash drives"   
    The "bs=" means "block size", it has nothing to do with "sector size" of a file system.
    It is only the size of the buffer used between reading the source and writing destination.
    Of course, a bs=4M will do the transfers faster than a bs=4096, which is not the same since the later means 4096 bytes.
  6. Like
    chwe got a reaction from gounthar in H6 boards: Orange Pi One Plus, Orange Pi 3 Plus and Pine H64   
    my fault..  
    Didn't have the 4.17 branch in mind (didn't know that you started with a 4.18 branch). So the statement is true for the masters branch where next is 4.14 and h6 boards only live in the dev branch. This is different for the 4.17/4.18 branch. So you might build your branch on top of them and then send PRs against those and not master.  @Igor will it make more sense to buid against 4.17 or 4.18?
    IMO it actually makes sense to name it different than armbians default names in case your git-fu is on a similar level than mine (in case a PR gets rejected it's just less work to sort this stuff out than to revert the git-history from the working branch and sync it properly with armbians branchnames, I can, but it takes me more time than just kill a dedicated branch for my idea).
  7. Like
    chwe got a reaction from gounthar in H6 boards: Orange Pi One Plus, Orange Pi 3 Plus and Pine H64   
    dev image only.. so you need a EXPERT="yes" tag set. Background: All sunxi boards share mostly the same kernel. Due to H6 initial support is based somewhere on top of 4.17 (probably partly 4.16), armbians "next" kernel (4.14) isn't an option for this board. 
  8. Like
    chwe reacted to frank-w in BananaPi R2 (.csc mt7623 as new boardfamily)   
    i changed Uart (Uart2=>ttyS0) and MMC (SD=0,emmc=1) from mainline to make my kernels compatible with official images (defined my images same way).
    i see some definitions...maybe they can be used to define which uart is used for debug-uart without changing the order in dts(i)
    aliases { serial2 = &uart2; }; chosen { stdout-path = "serial2:115200n8"; }; btw. 2nd gmac, hdmi, poweroff and some other stuff is working now in (my) 4.14...hnat is ported, but i don't know if it is working due to a "strange" test (cpu-interrupts increasing)
  9. Like
    chwe got a reaction from gounthar in Where to build Armbian in the cloud?   
    doesn't need to be an i7..  i5-2500k, 8GB DDR3 ram and a decent SSD (samsung evo).. besides the SSD, this system is around 6-7 years old and builds images in 10-20mins (depending on 'cachelevel'). Even on my 5 years old i5 notebook (i5-3317U with 4gb ram) I'm able to build an image in 20-30min. Both machines work obviously with native ubuntu without doker etc. (not recommended)
    Edit: the first build on my shitty notebook will take a way longer... probably 2 hours.. 
  10. Like
    chwe got a reaction from JMCC in v5.51 (desktop on top of cli, xu4 next upgrade, ...)   
    Fork it now and then stabilize it..  
    Actually I would prefer to get all RK SoCs under one hood. So, when we're able to get RK3399/RK3328 and RK3288 properly working with Ayufans kernel. Well then there's simply no reason to stay with the RK kernel. Okay there's no ISP1 driver  but this thingie doesn't work properly anyway (as soon as we think about DTBOs , I keep my rk default branch 'as is' in case we try it once again to get the ISP working without break everything else). 
    Reducing 'supported kernels' without dropping boards sounds good.  Might make sense to move this discussion to here? 
    Let me know when you want things from here moved to it.  
  11. Like
    chwe got a reaction from gounthar in What about Google Home   
    So the easiest way for me (others might do it differently) is:
    Fork the project on github clone your fork create a new branch on top of master for the stuff you want change switch to your branch in config-default.conf e.g. for my BPi R2 development  LIB_TAG="bpi"  
    Set create patches to yes:  CREATE_PATCHES="yes"  
    During build the buildscript says you when you've to make the changes. Test your new image and when it works as expected copy the generated patch to the corresponding patchfolder and rename it meaningful Test if it still works there and doesn't break any other patch (for your patch this will be unlikely but just make sure to follow 'good practices' from the beginning, it saves you and the maintainers time as soon as you create patches which may have the potential to break something). Push your new branch to your fork and create a Pullrequest against Armbians master branch where you describe what your patch does, the output of armbianmonitor -u (they may see stuff errors which came up with your patch which you didn't recognize). Why do I create branches on top of master and don't change things directly in master?
    Simply due to lazyness... In case my PR doesn't get accepted I don't have to play the git-ninja  I just remove the branch and sync my masters branch with armbians repo. As long as my master doesn't have any changes to armbians, sync is everytime fast forward means I don't create useless 'sync commits' which then confuse the armbian maintainers when I create a PR. For sure, when I'need longer for patching something (e.g. the BPi branch), I may have some sync commits in it but not for 'the short ones'.
    Why test two times?
    Just to make sure it doesn't break things. Armbian for sunxi has a bunch of patches this enhances the chance that your patch can break something, so better try your best to avoid it. You can't test everything, but test what you can test.
    Why use "create patch"?:
    You could also create patches in a different way.. But this way is known to work mostly without issues. Armbians current patches are applied before yours get applied so you work 'on top' of armbians patched kernel. So if you've to find a proper name for your patch you might check which patches touch the files you touch with your patch and make sure that your patch gets applied after them. Sometimes it also works the other way around but it's IMO not 'good practices'. 
    FYI: You may also switch to EXPERT="yes"  in default-config cause you'll build a dev image.  It may be also worth to just build an image without any changes before you start. Just to ensure that the build works as expected on the board. Saves you some headache if your changes don't boot anymore and you realize after its that the build was anyway broken at the moment... 
  12. Like
    chwe got a reaction from gounthar in Burn ISO Image to Micro SD Card   
    That's why the four (five) questions:
    Did you test the SD-Card with h2testw/f3? Did you use etcher? Describe us the powering situation? please report 'sudo armbianmonitor -u'? (show us the serial output during boot) come up on more or less every question which sounds a bit fishy. 
    Feelings and beliefs is the way people solve ~90% of their problems (90% was randomly chosen by feelings )... Similar to 'works for me' and 'I do *random thing* since 20 years so don't say that my approach is outdated since 19 years!!!' 
    I would suggest it with every hardware. It's just a question of time. Do you figure out immediately that your problem is related to 'faulty SD-Card' when it happens? When not, what needs more time? The few seconds each time to start up etcher for burning an image or the time to figure out that your card was corrupted since beginning (including the time you wasted to set up your system on top of an error you could avoid by using an appropriate tool)? If yes, fine do it. But don't expect that others are willing to look into problems you have when you don't follow the recommendations. 
    My SD-Cards for development aren't perfect (e.g. I use some old slow 4GB cards during testing). Mostly cause my best SD-Cards (SanDisk A1, known fast EVOs) are in the SBCs which run productive. My 'feelings' say that the BPi-R2 isn't that picky when it comes to SD-Cards. It 'seems' that the board works fine with them. Obviously, this can go wrong and then I have to blame my self for wasting my time. But cause this is during development and it would mostly waste my time and not others I'm fine with. During development, I burn a bunch of images but even then it's IMO not worth to switch to an alternative writer than Etcher (even when it uses more time due to crappy old SD-Cards), simply cause my development is also driven by 'feelings'. So, when a test-image doesn't work due to 'burn image went wrong' I may come to the wrong conclusion. This might drive my development in the wrong direction only cause I saved 2-3mins by burning an Image. Armbian shrinks the image to an appropriate size, you don't have those 8GB garbage Images as other 'distributions' have. So burning and validating took anyway less time. Is it worth to save some minutes more by use a 'dumb' image writer? IMO no. 
    I've a dumb bash script which checks my SD-Cards on a OPi Zero connected via a USB card reader. What it does is simple: It mounts my card, formates it, tests it with F3 and when it succeeds the GPIO with the green LED is toggled if it fails, the GPIO with the red LED is toggled. So I don't even need 'a real computer' during development to check my SD cards regularly to 'ensure' they're still okay... 
    'Everybody' believes that he doesn't use crappy hardware...   Read through this one:
    Most of them thought in the beginning their hardware was appropriate.. Sometimes hours of nailing down the problem showed that they were wrong. 
    That's what bug reports are for.  I don't know how the team reacts (simply cause I never had a reason to report a bug in their repo). But if you can show them that the same setup (e.g. same Image, same SD-Card, same card writer etc.) writes a working Image with win32DiskImager but not with etcher, they may be interested in knowing that.
    BTW @tkaiser etcher also provides a CLI tool, at the moment marked as experimental ( Do you have any experience with it? Is it worth a try? I've some automated buildstuff in mind (e.g. that my freshly compiled image gets written to an SD-Card automatically after build and I can go for a coffee and everything is prepared to test when I come back). 
  13. Like
    chwe got a reaction from gounthar in What about Google Home   
    the router is still questionable..  Due to shitty performance. There are some ideas to 'solve it' but all of them seems to be hacky... and not really wanted. But when you're driven by a need, this board might be fun.. 
    Why not? The board is basically here:
    E.g. The OPi One Plus has the same RTL8211E PHY attached as the PineH64. @Icenowy added support for this PHY for the pineH64:
    I'm not sure if just adding the DT-Nodes in 'sun50i-h6-orangepi-one-plus.dts' is sufficient to get it working.. But could be fun to get Ethernet working on this board, would make the board a way more usable. 
    FYI: this patch was added for the pine H64, but I don't know if and how well it works there (as said, I don't follow H6 development close enough):
  14. Like
    chwe got a reaction from gounthar in What about Google Home   
    Now you've to decide which 'pet project' you choose.  
    Personally, I don't think you should buy the SBC which needs most testing.. You should buy one in which you're interested. Debug & testing can be boring so at least the product you test should be interesting (for you). Therefore I don't recommend a specific SBC, maybe SoCs which (I think) are interesting makes more sense.
    RK3399, a bunch of boards are coming up, armbian just starts to support those boards. The 'overall' sources situation seems to be good in terms of documentation for the SoC and kernel sources. I'm not fully familiar how evolved u-boot (e.g. ram initialization, spl etc.) is. Drawback, they aren't that cheap (you've probably add a bit of money to the money you get from your colleague). RK3328, relatively cheap and powerful IO (e.g. USB3). Overall more evolved as the rk3399 but for sure still work to do. Just for fun: MT7623 - only cause I'm working on it . Only me works (sometimes) on this SoC, at the moment, only one board is widely available (BPi-R2) rumors are ongoing that other boards will show up, but I don't have much information here. Kernel is pure mainline and u-boot is very outdated (v2014). But as @tkaiser pointed out, this might also be one of these boards which don 't make that much sense, mostly cause there's only one board with the SoC available at the moment. In case more boards show up, it might get more interesting due to its decent mainline support.  Allwinner H6. Bloody edge, seems that after @Igors first commits there aren't many people interested in contribute to the related boards (I don't follow it close enough for a proper statement here).  
    It probably makes more sense when a developer presents one of his ideas/projects for armbian and you decide if this is interesting for you and if you want to join it. Some of these projects might be hardware depended others might be more generic. Your skills and/or topics you might want to dive in should also be considered (when I started with the MT7623 I had neither 'much' knowledge in the buildscript, kernel and u-boot but you'll learn things partly on the fly as long as you've a high frustration barrier  don't expect that you make everything right in the beginning ).
    Not to forget, documentation and/or tutorials are also always welcome. Show one of your project you deployed on top of armbian. 
  15. Like
    chwe got a reaction from gounthar in What about Google Home   
    I agree that the board is boring.. Most thingies with only one dedicated job are boring. They need to do one job good but not more. In this case, get more information from the user for googles databases.. 
    I partly disagree on your second point due the following reasons:
    Starting motivation is mostly driven by personal needs/abilities. I want to achieve something or I have this hardware and want to step into this 'low level stuff'. Starting with a boring board may save you from 'pressure to deliver'. Nobody cares when you fail with a 'boring board' whereas people can be really annoying when it's a board of interest. Why, why, why does *random feature* not work. From my own experience: The BPi R2 was/is mostly fun cause nobody cares.  The tinkercam was/is annoying cause people ask on a monthly base why this shitty thing doesn't work (in fact it would work but it breaks to much stuff to implement it at the moment).  'We' horrible fail in giving 'easy tasks' to beginners. There's a bunch of stuff which can be enhanced in armbian but a beginner may need some 'guidance' either to identify such a task nor guide/help them during this problem solving of such a task. I think this is mostly related to lack of time. Guide someone in the beginning will cost more time than do it on your own. Sometimes it's worth the efforts cause the one you guide will contribute after its on his own, sometimes it's not worth the efforts cause she/he will disappear after one 'sub-project' and you have to deal with code you've only reviewed, not written on your own.  Funnily we help a lot of people building their own 'pet project' or solve issues they have 'on top of Armbian'. But in the gray area between maintainers and end-users we somehow suck in supporting those people which may contribute more than one PR in the future. That's why I encourage people to try things even on 'boring board'. It may not help armbian in the beginning but hopefully the one or the other will learn some stuff to contribute after its to more interesting boards and/or more important tasks. Will it work? Is it worth? I've no idea...  Fact is, we support to many platforms/SoCs/boards for the current 'team of devs'. So we can either step down and support less boards or we try to encourage more people to contribute to the project. I'm not sure if this approach will work, but at least @JMCC could benefit from my experience with u-boot when he started to play with the renegade, wasn't IMO that a bad deal for the armbian project to help him with some basics in the beginning (u-boot is painful when you deal with it the first time). 
  16. Like
    chwe got a reaction from gounthar in What about Google Home   
    It was clear enough..  I just see it more from a use-case side. Those 'google home boards' have IMO one interesting feature, microphone arrays. The interesting feature of a microphone array is voice to text applications. From what I know, such voice to text stuff is a way harder than things like image detection stuff. Mozilla has an opensource project ( and in this field but most others are closed. IMO, I don't see a reason to support google by buying their thingie just to put something opensource on it. But everyone is free to decide if it's worth or not. We don't live in an opinion dictatorship. 
    If you see it as a learning experience, why not? It can be fun (and pain) to get things working on a new platform. You learn a lot of stuff during such a 'pet project'. But as @tkaiser said, the Armada 1500 family is spread on a bunch of different SoCs, so the next problem you'll run into it will be to educate 'your testers/users' on which google thingie your Image will work and on which it doesn't. And the same that Armbian suffers from: why does *random feature* not work properly? Try it, write about your progress and your questions. I'm sure there are people here who will give you some hints when you fail.  
  17. Like
    chwe reacted to trebor in Nanopi K2 and a Waveshare 7 LCD HDMI (C) display   
    Thank you for your help. It will take a lot of time. But I'm not giving up yet.
  18. Like
    chwe reacted to tkaiser in Librecomputer Renegade RK3328   
    The latter. That's the main difference between @ayufan's attempt and mine. And no, haven't had a look at the patch failures and am currently away from any build host... or to be more precise from the SSD carrying the VM and all the cached stuff:

  19. Like
    chwe got a reaction from WarHawk_AVG in Powering through micro USB   
    Since there are a lot of issiues with underpowered boards, this ‘White Paper’ should explain why it’s recommendet to think about the powering situation of your board (especially if it’s powered throught micro USB).
    It’s all about Ohm’s Law (eq. 1), your SBC needs a defined voltage (U) and current (I). So the only variable that we can influence is the resistance (R)!

    The micro USB cable which powers our board acts as resistor between the output of the power source and the input of our board. For the moment, let’s assume our power source delivers a stable Voltage (what isn’t true, depends on current needed) and our cable has fixed resistance (what’s more or less correct). It’s clear that the more current is needed, the more drops the voltage (fig. 1).

    Figure 1: Voltage droping (cable ressistance was assumed to 0.5 Ohm)
    Depending on your SBC, it’s more or less tolerant to such a voltage drop. But the result is mostly the same à software instability.
    How can we influence the resistance of our cable, this is simple à Use the thickest and shortest cable that you can find. The resistance of a round coper wire is defined by eq. 2.

    Cause ρ is a material constant, only length and thickness could be changed. The length can easily be checked. Whereas for the thickness you have to cut the cable and check it, or trust the vendor that he doesn't cheat you (the more copper inside a cable, the higher the production cost). The American wire gauge (AWG) classifys the thickness of your copper wires inside your cable. Its often written on your cable. Micro USB cables have mostly a AWG number between 30 (d=0.255mm) to 20 (d=0.812mm) for realy good ones (Illustration 1).

    Illustration 1: AWG print on cable
    If we assume that there’s no voltage drop from the connector (which is not true) and the power source has an output of 5.1 V @ 2.0 A and our SBC needs >4.8 V to run properly*. How long can a copper-cable with a defined diameter be before the SBC crashes?
    *this numbers are chosen randomly, since I don’t have any validatet numbers when a specific board runs into instability.
    Using eq. 2 for cables between EWG 20 and EWG 30 gives us the following results (fig. 2).

    Figure 2: Voltage drop of a copper cable at various thiknesses
    If we only had a voltage drop due to the cable length (no resistance from the USB connectors nor inside the SBC) we could have cable lenghts between 40cm (AWG30) up to 4.8m (AWG 20). But that’s not the reallity! To illustrate this, some measurements on a real issue were done.
    Case Study:
    Three different USB-Chargers and four different micro USB cables were used to charge a ‘xtorm’ powerbank (from the powerbank spec, it should be possible to charge it with 2.0A @5V). This powerbank has to possibilities for charging. With the ‘onboard’ USB-cable or with a micro-USB input. With a ‘Keweisi’ USB-Powermeter on one side and a multimeter on the other side current, and voltage drop during charging was measured (Illustration 2).

    Illustration 2: Setup vor measurement
    FYI: These measurements weren't made under laboratory conditions nor with high precision equipment. All chargers are listed in Table 1.
    Table 1: Specification of the tested chargers

    Table 2 displays the tested micro-USB cables, they came mostly from buyed usb devices and were not especially buyed to power a SBC!
    Table 2: Tested micro USB cables

    After all this theory, lets have a look how much the voltage drops at delivered current. All resulsts are sumarized in Fig. 3.

    Figure 3: Voltage drop at delivered current of all chargers
    Firstly, we see that the noname USB charger from aliexpress couldn’t deliver the claimed 2A, it seems like that it is more or less a 1A charger sold as 2A charger. The short USB-cable and the one deliverd to power a tablet (cable 1&2) performe well, with only a small voltage drop and the highest current. Even at arround 1A the thin cables (cable 3&4) have a realy hight voltage drop of around 0.5-0.7V! This is similar on the iPhone charger.  If we go to high current, the situation becomes interesting. Even if the charger can deliver such a high current (cable 1&2), thin long cables (cable 3&4) can't deliver it and the voltage drops more than 0.8V! That’s definitely not a recommended setting for a SBC.
    All these chargers are a little bit above the 5.0V at its output so no problem, right? ‘If I use a short cable this small voltage-drop of around 0.3-0.5V wouldn’t be a problem. That’s not true! As soon as the charger must deliver higher current the voltage drops at its output (Fig 4)

    Figure 4: Voltage without load, with load and on output and @powerbank
    Worst in class here to is also the noname cell phone charger. It delivers around 4.1V on the powerbank side.  The iPhone charger doesn’t perfome much better. Even the Trekstore charger, which is able to deliver 2.0A couldn’t do this at 5V. With a short cable, it’s around 4.6V. I wouldn’t recommend one of these chargers to power a SBC with some peripherals attached to it.
    What's next? Should we never buy again a micro USB powered SBC?  IMO no! A micro USB powered board is not a no go. But we should keep the powering situation in mind when we have such a device. Long thin cables are definitely not recommended for powering such a device. Even short cables with a bad power source will end in touble. It stands and falls with your setup (e. g. powerconsumption of your SBC, perepherials attachted to it) and the choosing of the right charger. For example, I use a charger (2A @5V) with a fix attached AWG 22 cable (Ill. 2). Doing the same test with it (current and voltage under load at its output could not been mesured since there is no USB for the powermeter) showed 4.84V on the output of the powerbank and 5.20V without load.  Which is about 0.2V more than the Trekstore charger with the best cable attached to it. Spend a little bit more money on your powersource and you eliminate one of the possibilities to frustrate you!

    Illustration 3: Recommended powersource
  20. Like
    chwe reacted to mboehmer in Thanks for the fish!   
    Hi guys,
    some months ago I implemented an Odroid C2 as readout controller for a scientific instrument.
    Lot of people were kind and helped me with some problems with Armbian, especially eMMC and PWM.
    Today, finally, we managed to have our instrument (two strings with several Odroid C2 and other stuff) deployed.
    It is sitting now at 2628m depth in the Pacific Ocean, and will go operational the next days.
    Here we are... I think I can announce the deepest Odroid so far (cry loud if I'm wrong :) )
    In the picture you just can see the Titanium housing with two glass covers attached to the string.
    Again, thanks for the fish :)

  21. Like
    chwe reacted to tkaiser in ODROID N1 -- not a review (yet)   
    Today nobody (outside Hardkernel) knows for sure whether they use S922 (other SoC vendors like HiSilicon exist also) and nobody (outside Amlogic) knows for sure which CPU cores are inside S922
  22. Like
    chwe reacted to jernej in NanoPi K1 Plus + Armbian   
    I just tested 1080p on my development linux branch which consist of linux-next at next-20180515 tag and R40 HDMI patches and it works fine (startx gives normal xfce desktop). However, rootfs is pretty old (year or so old Armbian), so it might not be representative.
    I don't have 4K screen...
    Coincidentaly, I just received a notification 5 minutes back, that WIP A64 HDMI patches breaks HDMI on H3. Please note that those patches miss some important things and please don't consider them if you don't want complaints from users (it works in some cases). I know what needs to be fixed, but since Jagan started on that, I will just provide reviews.
  23. Like
    chwe reacted to hjc in RockPro64   
    RK3399 is supported by mainline u-boot.
    I changed BOOTSOURCE to and checked it on Firefly-RK3399. It runs pretty well, even better than Rockchip u-boot (2017.x). It's running with good USB & ethernet support, booting OS flawlessly.
    I'm already running some heavy services on NanoPC-T4 so not rebooting them, but I assume it works basically the same.
    Playing around with u-boot:
    DDR Version 1.12 20180518 In Channel 0: DDR3, 800MHz Bus Width=32 Col=10 Bank=8 Row=15/15 CS=2 Die Bus-Width=16 Size=2048MB Channel 1: DDR3, 800MHz Bus Width=32 Col=10 Bank=8 Row=15/15 CS=2 Die Bus-Width=16 Size=2048MB 256B stride ch 0 ddrconfig = 0x101, ddrsize = 0x2020 ch 1 ddrconfig = 0x101, ddrsize = 0x2020 pmugrf_os_reg[2] = 0x3AA17AA1, stride = 0xD OUT Boot1: 2018-04-08, version: 1.12 CPUId = 0x0 ChipType = 0x10, 217 SdmmcInit=2 0 BootCapSize=100000 UserCapSize=29820MB FwPartOffset=2000 , 100000 mmc0:cmd5,32 SdmmcInit=0 0 BootCapSize=0 UserCapSize=15193MB FwPartOffset=2000 , 0 StorageInit ok = 80087 LoadTrustBL No find bl30.bin No find bl32.bin Load uboot, ReadLba = 2000 Load OK, addr=0x200000, size=0x90f40 RunBL31 0x10000 NOTICE: BL31: v1.3(debug):f947c7e NOTICE: BL31: Built : 19:40:58, Jun 11 2018 NOTICE: BL31: Rockchip release version: v1.1 INFO: GICv3 with legacy support detected. ARM GICV3 driver initialized in EL3 INFO: plat_rockchip_pmu_init(1089): pd status 3e INFO: BL31: Initializing runtime services INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0x200000 INFO: SPSR = 0x3c9 U-Boot 2018.07-rc1-armbian (Jun 19 2018 - 00:14:04 +0800) Model: Firefly-RK3399 Board DRAM: 3.9 GiB MMC: dwmmc@fe320000: 1, sdhci@fe330000: 0 Loading Environment from MMC... OK In: serial@ff1a0000 Out: serial@ff1a0000 Err: serial@ff1a0000 Model: Firefly-RK3399 Board Net: eth0: ethernet@fe300000 Hit any key to stop autoboot: 0 => => => usb start starting USB... USB0: USB EHCI 1.00 USB1: USB EHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found scanning bus 1 for devices... 3 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found => usb info 1: Hub, USB Revision 2.0 - u-boot EHCI Host Controller - Class: Hub - PacketSize: 64 Configurations: 1 - Vendor: 0x0000 Product 0x0000 Version 1.0 Configuration: 1 - Interfaces: 1 Self Powered 0mA Interface: 0 - Alternate Setting 0, Endpoints: 1 - Class Hub - Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms 1: Hub, USB Revision 2.0 - u-boot EHCI Host Controller - Class: Hub - PacketSize: 64 Configurations: 1 - Vendor: 0x0000 Product 0x0000 Version 1.0 Configuration: 1 - Interfaces: 1 Self Powered 0mA Interface: 0 - Alternate Setting 0, Endpoints: 1 - Class Hub - Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms 2: Hub, USB Revision 2.0 - USB 2.0 Hub [MTT] - Class: Hub - PacketSize: 64 Configurations: 1 - Vendor: 0x1a40 Product 0x0201 Version 1.0 Configuration: 1 - Interfaces: 1 Self Powered Remote Wakeup 100mA Interface: 0 - Alternate Setting 0, Endpoints: 1 - Class Hub - Endpoint 1 In Interrupt MaxPacket 1 Interval 12ms - Endpoint 1 In Interrupt MaxPacket 1 Interval 12ms 3: Mass Storage, USB Revision 2.10 - SanDisk Ultra USB 3.0 4C530001240422114145 - Class: (from Interface) Mass Storage - PacketSize: 64 Configurations: 1 - Vendor: 0x0781 Product 0x5595 Version 1.0 Configuration: 1 - Interfaces: 1 Bus Powered 224mA Interface: 0 - Alternate Setting 0, Endpoints: 2 - Class Mass Storage, Transp. SCSI, Bulk only - Endpoint 1 In Bulk MaxPacket 512 - Endpoint 2 Out Bulk MaxPacket 512 => dhcp ethernet@fe300000 Waiting for PHY auto negotiation to complete........ done Speed: 1000, full duplex BOOTP broadcast 1 BOOTP broadcast 2 BOOTP broadcast 3 BOOTP broadcast 4 BOOTP broadcast 5 Abort =>  
  24. Like
    chwe reacted to gprovost in Helios4 Support   
    @nemo19 Ok no need to look any further, you found the issue. There should be a thermal pad between the CPU and the Heatsink as shown below. Without the thermal pad no proper heat transfer can happen, therefore the CPU might have reached above Maximum Junction Temperature (115C) resulting by it to get unstable and crash. I'm really sorry about this missing thermal pad, this should definitively not have happened, I will report / complain to the company that handled the board assembly for us.
    FYI the thermal pad dimension we are using is 20x20x1mm.
    Please provide me by private message your complete shipping address. I will send you this missing thermal pad. In the meantime you can try using thermal paste, even though the gap between CPU and Heatsink is a bit too big for thermal paste.

  25. Like
    chwe got a reaction from hjc in Firefly RK3399 support efforts (potential csc board?)   
    small hint:
    by disable
    you should get rid of the 'g42568f34-dirty' in your kernel naming.