• 0

RK3328 Kernel


Peba
 Share

10 10

Question

Recommended Posts

  • 0

In case you want to skip the entire review just look at 2:19: https://www.youtube.com/watch?v=y4EIhh0VT5g#t=2m19s

 

There's explained why you shouldn't buy this board unless you have a bench power supply and can increase input voltage to 5.3V or even more. Since Micro USB sucks and makes this board just another support nightmare (people will combine crappy chargers with crappy cables leading to all sorts of instabilities and freezes and blame the software/distro instead of the hardware 'engineers' putting this Micro USB crap on such a powerful board)

 

Link to post
Share on other sites

Donate and support the project!

  • 0

@tkaiser if you wish, feel free to re-read my earlier post, I've added my use-case, so I have exactly the opposite position. :) As I understand you're up to using SBC as a desktop replacement. In my case it's combined router / nas / mini-server with no GUI at all, and only using CLI. And for this task I really like Armbian support and the discussions which take place here :)

 

And my statement was not offensive :)

 

@Orange Guy thank you for sharing this informative video!

Link to post
Share on other sites

  • 0

That is exactly the test I performed and mentioned in the other thread, I saw significant voltage drops on the 5V directly related to CPU load.  Now, I have a 5.25 Volt 2.4 amp usb supply, so I think that is adequate.  ("Adequate", not "optimal").   

 

The USB codec was a mistake, the hub was a judgement error, the micro-usb power is obviously not a great call, and the documentation kind of stinks.  

 

 

Link to post
Share on other sites

  • 0
1 hour ago, tkaiser said:

This is Rock64 with an I2S companion board sitting on it: https://drive.google.com/file/d/0B0KJDZUkcqOqUnBYNU9JN0EwV2c/view (details will be available soon so I won't share more information now since there isn't much more I know anyway ;) )

Interesting, the I2S Board is for the early Raspberry Pis; the ones without the "+".  So we will have one I2s Lane (two channels) and the cheap IS2 Boards with Sabre ES9023 and TI PCM5102A could be used. Looking forward to it.

 

Regards

 

 

Link to post
Share on other sites

  • 0
23 hours ago, Ruslan Dzanmahmudov said:

As I understand you're up to using SBC as a desktop replacement.

 

Absolutely not. That's the last thing I would think about. My use cases are 'combined router / nas / mini-server with no GUI at all, and only using CLI' + IoT stuff in the meantime. For these use cases the Tinkerboard is just an absolutely overpriced fail and the only use case I could think of is such a desktop replacement since CPU performance is superiour (Cortex-A17 are still the only ARM cores available that can compete with x86 when thinking of both performance and price) and VPU/GPU situation looks also promising (so unlike most if not all other SBC out there HW accelerated video and 2D/3D stuff will work even with mainline kernel now or pretty soon).

 

That being said: Combining such a powerful hardware with the most stupid choice ever to provide power to the board (something unreliable called Micro USB) makes it a double fail and a support nightmare too. The Tinkerboard is a nice example for 2 big brands focusing on marketing and they attract the same kind of people that buy Raspberries. The majority of these people has no clue about Ohm's law, voltage drops and instability caused by one single reason: the crappy Micro USB jack encouraging people to use crappy chargers instead of power supplies and crappy cables instead of short ones with low resistance (at least 20AWG rated -- always remember: If you buy cheap you buy twice)

 

A lot of Tinkerboard users will run in underpowering problems causing all sorts of weird symptoms and they will not understand that this is only related to the hardware vendor having finished the Tinkerboard's hardware design driven by marketing and maximizing profit only instead of responsible choices (instead of Micro USB using a barrel plug for DC-IN and selling only Tinkerboard kits with a good 5.2V/3A PSU using a fixed cable with low resistance). Of course Tinkerboard users will blame the software for the stability issues they run into and when you ask them to replace PSU/cable they will answer: 'Can't be the reason since with my RPi 3 same combination works perfectly'.

 

Which is NOT the case since Micro USB with SBC is the same sh*t show everywhere. The Raspberry folks just added under-voltage detection circuitry starting with 2nd generation Raspberries triggering a GPIO state change to let the 'firmware' downclock CPU, VPU and GPU cores so instead of solving the problem they simply masquerade it. You find all details RPi users are plagued with since years and Tinkerboard users suffer from in a more severe way due to choosing shitty Micro USB here: http://www.cnx-software.com/2017/04/27/selecting-a-micro-usb-cable-to-power-development-boards-or-charge-phones/ (reading through the comments too is recommended).

 

TL;DR: Tinkerboard's powering scheme is a fail targeting clueless people (letting them think Tinkerboard would be an easy replacement for their already existing Raspberry 2 or 3) which will lead to stability issues in most installations while always software will be blamed for.

Link to post
Share on other sites

  • 0

@tkaiser Thank you for sharing your thoughts. I've edited my last post, where I was joking, providing explanation and my own use-case for the device. I must say we do not differ when it comes up to that.

 

I also agree with you on those two mentioned design failures ASUS did.

 

But for an end-user the whole business with SBC is not transparent enough. It took hours and days, till you figure out basic things *between* SBCs, e.g.: the busses, etc. 

 

And when the device is ready to be bought, you realize that your domestic retailer does not offer that product.

 

Still, I think I will keep that board and won't return it back. :) And again, thank you, folks.

 

Setup is in the closet, no sun light in that room. Idle 30° last ~60°C

 

Silent Titan fan (12V) on 5V rail) from back old days :)

 

UPDATE: forgot to mention that I had issues with 5v/2a power supply when two 2,5" HDD drives were connected. System did not became unstable! But one of the driver had spin-up problems due to insufficient power.

 

I had to use more powerful power supply to be able to test the USB-ethernet and USB-USB  transfer rate presented some posts ago.

Beard Revision is 1.2

IMG-20170514-WA0003.thumb.jpeg.16bf3b5f53617c4681469cb281cb4269.jpeg

Link to post
Share on other sites

  • 0

@tkaiserYou are absolutely right and ofcourse i can tell you have much more experience with SBC here. I used an Aukey QC 3.0 brick with Samsung USB cable and it hasn't died on me yet. Before those two, it used to get stuck once in a while. Also did a small video of that.  I set the trigger for heartbeat on LED1 (yellow) to see the load. As you will see in the video, the power brick provides 5.1 V and it doesnt move below 4.9x . I ran "7zr b" to check the voltage drop. 

 

Link to post
Share on other sites

  • 0

I'm really not sure why anyone would poop on this board because it needs extra power, that's like pooping on your gaming rig because you need an 800w+ psu...

 

In any case, I'm running this using a gigabit 10W PoE to micro-usb adapter and I can't say I've noticed any issues. If it's of any interest to anyone then I'll be more than willing to take voltage read outs while the system is under load. Until the reboot issue is fixed, at least I can remotely power-cycle the unit via PoE, so that's good too.

Link to post
Share on other sites

  • 0

@cyberk, it's not it's power needs, it's the power connector.  Micro USB is not up to the task of supplying large currents without significant voltage drops.  I use AWG 20 cables for my setup, and still get a voltage drop.  My 400 mV drop was measured with a fixed cable  5.25 V 2.4 amp supply.  That is the issue.  

 

The cooling is also sub-par, that tiny heat sink is not good enough, I've done what you see below (I'm sorry tkaiser, I know little fans anger and sicken you.  It is at least optional. ;-) ). I also noticed the RK808 getting hot, so it got a tiny little heatsink out of habit (I work on automotive manufacturing and test equipment professionally)

DSC_0748.JPG

Link to post
Share on other sites

  • 0
7 hours ago, cyberk said:

In any case, I'm running this using a gigabit 10W PoE to micro-usb adapter and I can't say I've noticed any issues.

 

And that's due to to these PoE splitters using USB cables as short as 20cm so you don't run into the normal issues related to Micro USB (huge voltage drop even preventing this powerful board to boot): https://www.youtube.com/watch?v=y4EIhh0VT5g#t=2m19s

 

@MickMakereported 1.7A peak current while booting (Micro USB maximum current rating is 1.8A!). In case this Tinkerboard has been designed by 'engineers' then at this point they had to stop, pull the Micro USB crap off the board, replace it with a barrel jack and convince their management to ship this only bundled with a good 5.2V/3A PSU.

 

This obvisouly hasn't happened, now people get this thing not even to boot, then users fool themselves and others by recommending PSUs with higher amperage ratings (helps against voltage drops only by accident if the more powerful PSU uses an own cable that doesn't suck that much as usual) and have then a board that seems to run fine until something needs a bit more juice since then it freezes/reboots (and the more freezes/reboots happen the larger the chance that the filesystem on the SD card gets corrupted so even if the user manages to fix insufficient powering later his Tinkerboard will still crash since now installation is broken). That's all just caused by a greedy management forcing engineers to use an absolutely insufficient power connector so they can advertise this Tinkerthing as direct replacement for Raspberries.

 

Are you able to run 'stress -c 4' or 'stress -c 2 -m 2' or 'sysbench --test=cpu --cpu-max-prime=20000 run --num-threads=$(grep -c '^processor' /proc/cpuinfo)'?

 

Link to post
Share on other sites

  • 0

@tkaiser : Yes, I just tryed out, using my 5V/2A power supply. The board has the 2.5" HDD connected to it, and a 80x80 cooler to its +5V rail and ground. Unfornatelty, I don't have any devices to measure the current, but using 4 threads of sysbench, it did not freeze nor rebooted itself. :)

 

@cyberk : I see you're also using the 4.11.0 kernel. Apart of the reboot-bug have you notices other problems / misbehaviour with this kernel? As to me, I think it's pretty stable :)

Tinkerboard-sysbench4times.thumb.jpg.985decc8b5e5eb8660ad3041b444f79e.jpg

Link to post
Share on other sites

  • 0
1 hour ago, Ruslan Dzanmahmudov said:

using 4 threads of sysbench, it did not freeze nor rebooted itself.

 

That's nice but your hardware setup is not an average one (good PSU and good USB cable) and sysbench as well as stress are both rather light workloads. IIRC @wtarreauuses OpenSSL to stresstest his boards. His Micro USB adventures with another RK3288 device can be followed over there: https://forum.mqmaker.com/t/miqi-based-build-farm-finally-up-and-running/605/10

 

Anyway: a board that exceeds already 1.6A peak consumption just by booting equipped with Micro USB is simply asking for trouble or even fire. Please read the last paragraph here: https://www.loverpi.com/blogs/news/93532993-canakit-2-5a-vs-loverpi-2a-power-adapter-comparison

Link to post
Share on other sites

  • 0

Status update on power usage:

 

@tkaiser suggested to test power supply stability by sysbench and stress commands. My power supply seems to be the same as @cyberks because hes data for the power source is following: 5V and 10W, what gives us

 

P = U*I --> I=P/U --> I=10/5 --> 2A

 

My power supply unit is also 5V/2A. Well, here comes the testing:

Temperature in idle state: 34°C

 

Test #1: sysbench, ran once, 2 Threads: passed

Test #2: sysbench, ran once, 4 Threads: passed

 

More interesting is the stress command:

 

Test #3: stress, 2 Threads, 15Min execution time (measured by CPU Time in top): passed, Temp from 34°C to 50°C

Test #4: stress, 4 Threads, 15Min execution time (measured by CPU Time in top): failed after 3Mins, reboot followed

 

Conclusion: During the benchmark my 2,5" HDD drive and a 80mmx80mm FAN were attached. It is clear, supply rated 5V/2A is not enough (what was told many times :))

After, I replaced the power supply by RPi3 official supply 5V/2,5A and ran the test again:

 

Test #5: stress, 4 Threads, 15Min execution time (measured by CPU Time in top): passed, Temp from 34°C to ~61°C

 

I would suggest using at least 5V/2,5A power supply. My RPi3 won't get it back :P

And in terms of USB cable, use one, which can also establish a data link between a device and computer, because they have better quality as those cheap-ones with charging-only function.

Link to post
Share on other sites

  • 0

There are a few 5.3 Volt 2 Amp supplies available cheaply on Amazon (for Samsung Cell Phones), which would work for most people working with a streaming media player type setup or with a solid-state USB storage option.

 

How much is that 80mm fan pulling at 5V?  

 

The USB attached peripherals will be the first thing to fail, nothing else on the board actually uses 5V directly, and all of the regulators are buck or LDO to 3.3 V or lower.

 

Otherwise this adapter, or one like it (notice the cabling reads "20 AWG" and it is 5.25 Volts, 3 Amp) would be ideal.  This way, it takes a 500 mV drop before you start really digging yourself a hole.

Link to post
Share on other sites

  • 0

@Ruslan Dzanmahmudov I ran stress -c 4 for 15 minutes, no failures, temperature got to about 67C. I'm not running a fan, I'm using a 64gb Samsung Evo Select card, and I'm powering an Aotec zstick. I think this is in line with what you're seeing power-wise. Other than the reboot bug, I agree, the system seems pretty stable, but I'm only running home-assistant and homebridge on this thing, it's not being taxed. 

 

@tkaiser

root@hass:~# sysbench --test=cpu --cpu-max-prime=20000 run --num-threads=$(grep -c '^processor' /proc/cpuinfo)
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 4

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          81.8920s
    total number of events:              10000
    total time taken by event execution: 327.4972
    per-request statistics:
         min:                                 25.50ms
         avg:                                 32.75ms
         max:                                 90.81ms
         approx.  95 percentile:              44.39ms

Threads fairness:
    events (avg/stddev):           2500.0000/31.93
    execution time (avg/stddev):   81.8743/0.01

 

Link to post
Share on other sites

  • 0

@cyberk What kernel are you running?  I have 4.4.66 with 1.8 GHz enabled, a larger heat sink and a small (25mm square) fan attached to the 5V:

 

sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 4

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          64.4817s
    total number of events:              10000
    total time taken by event execution: 257.8760
    per-request statistics:
         min:                                 25.37ms
         avg:                                 25.79ms
         max:                                 66.93ms
         approx.  95 percentile:              26.48ms

Threads fairness:
    events (avg/stddev):           2500.0000/43.31
    execution time (avg/stddev):   64.4690/0.01

 

Link to post
Share on other sites

  • 0

I still have to get the patches submitted, but:

 

|_   _(_)_ __ | | _____ _ __| |__   ___   __ _ _ __ __| |
  | | | | '_ \| |/ / _ \ '__| '_ \ / _ \ / _` | '__/ _` |
  | | | | | | |   <  __/ |  | |_) | (_) | (_| | | | (_| |
  |_| |_|_| |_|_|\_\___|_|  |_.__/ \___/ \__,_|_|  \__,_|


Welcome to ARMBIAN 5.27 stable Ubuntu 16.04.2 LTS 4.12.0-rockchip
System load:   0.48 0.14 0.05   Up time:       0 min
Memory usage:  2 % of 2007MB    IP:            10.0.0.46,10.0.0.54
CPU temp:      32°C
Usage of /:    8% of 29G

 

Link to post
Share on other sites

  • 0
On 15.5.2017 at 7:38 PM, Ruslan Dzanmahmudov said:

@tkaiser suggested to test power supply stability by sysbench and stress commands.

 

No. I asked whether people who claim their Tinkerboards would 'run without any problems' (impossible BTW without hardware modifications) are able to run these two lightweight test tools. If you want to test power supply stability then you have to eliminate throttling first (!!!) and then use other tools instead: openssl, 7z and cpuminer for example (in Armbian it's 'sudo armbianmonitor -p' and 'sudo apt install p7zip' to get all prerequisits).

 

Then it's

  • openssl speed rsa2048 -multi 4
  • 7zr b
  • minerd --benchmark
On 16.5.2017 at 5:02 AM, cyberk said:

total time: 81.8920s

You're running throttled, that saves you from freezes/reboots. What's the purpose of this 'test' apart from demonstrating that ASUS' heatsink is insufficient?

 

On 16.5.2017 at 5:09 AM, TonyMac32 said:

total time: 64.4817s

Looks still a bit like throttling (since my ODROID-XU4 running at 1.8 GHz 90% of the time scores 62 seconds here but with Debian and Ubuntu Xenial numbers have to be 30 percent better). It's always advisable to switch to performance governor before, then to let 'sudo armbianmonitor -m' run in another shell while testing and check /sys/devices/system/cpu/cpu0/cpufreq/stats/total_trans before and after (since if numbers are different throttling occured and you fooled yourself -- for details check /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state). If you see cpufreq going below 1.8 GHz you're testing only for insufficient heat dissipation and not 'power supply' any more.

 

It's useless to continue here since around Tinkerboard there's just another micro community infected by the believe Micro USB would be ok for powering anything that needs more than a few 100 mA. It's not, it's the same sh*t show as on every other SBC, it's not relevant if some people with some understanding and able to buy approriate PSUs and cables won't fail since the majority of users gets a Tinkerboard that becomes unstable under load just due to the manufacturer's stupid choice of using Micro USB for DC-IN.

 

On 15.5.2017 at 7:38 PM, Ruslan Dzanmahmudov said:

I would suggest using at least 5V/2,5A power supply.

 

Why? Do you want things catching fire? Again:

Quote

Please note that the MicroUSB connector specifies a maximum current rating of 1.8A. Use of higher current levels is considered out of spec and should not be used for prolonged duration due to the MicroUSB connector being a fire hazard. We recommend only short bursts of current levels exceeding 2A.

 

Either take your solder iron and replace the crappy Micro USB connector with a sane burrel plug (and only then use a PSU exceeding 2A) or simply remove the heatsink and accept that you bought an overpriced fail limited to maybe 1.2GHz and let throttling or even adjusting /etc/defaults/cpufrequtils help 'solving' your underpowering problems.

 

BTW: I would recommend testing with cpuminer (minerd --benchmark) since this tool provides a khash/sec output so you're able to detect throttling pretty easy. On my XU4 running only on the 4 Cortex-A15 cores it starts with 8.5 khash/s (that's what the Tinkerboard must also show) and will drop almost immediately down to 6 khash/s or even below since load is too heavy and ODROID's fansink is a joke. If you Tinkerboard owners are able to improve heat dissipation that much that you get a constant +8 khash/sec value then you start to test for powering problems on this board.

Link to post
Share on other sites

  • 0
9 hours ago, mcerveny said:

 

Excellent work! So decreasing minimum cpufreq has a massive impact on storage performance without any significant consumption savings (TBC but why should RK3288 be any different here than all the other ARM SoCs out there?). If time allows you could have a second look how ondemand performs with and without these tweaks (that are IMO necessary)

Link to post
Share on other sites

  • 0
21 hours ago, TonyMac32 said:

How much is that 80mm fan pulling at 5V?  

The fan has following specs: 12V, 0,16A and it's connected to 5V rail, so it's kind of silent, maybe 1/5th of its actual max rpm. I can not tell you how much A he's pulling, because I have nothing to measure with.

 

9 hours ago, tkaiser said:

No. I asked whether people who claim their Tinkerboards would 'run without any problems' (impossible BTW without hardware modifications) are able to run these two lightweight test tools. If you want to test power supply stability then you have to eliminate throttling first (!!!)

Oh, yea right. Don't get me wrong, in my case it didn't throll(?) the frequency.

I've posted the screenshots above also with ~64,xx sec to complete the test. And just now ran it again 3 times, got CPU Temp about 60°C and three times about the same result ~64,xx sec. I guess I can continue with "stronger" benchmarks.

 

 

I've downloaded minderd using "sudo armbianmonitor -p", and watched the frequency using "sudo armbianmonitor -m".

In this case, throlling does occur, as soon as the CPU is going to reach about 66-70°C.

I've attached a PDF file with two tables result/temp put to eachother.

 

I don't want to offend anyone, I'm just thinking the whole time, why should our USB be limited to 1,8A, I mean, in Raspeberry's power supply they are officially speaking of 2,5A. I know, and understand, that LoveRPi is trying to show how efficient their power supply is, what ever, I just cannot find max. 1.8A ratings for USB mini. (Except the LoveRPi)

Whatever.

 

My cooling solution ist not optimal. About one minute I can run @full load, but then it begins to slow down.

cpu-miningtemp.pdf

 

But then again, for ntfs-3g driver and a bit of private http requests this cooling solution could be just fine :)

Edit: Altough, I agree, when I could get my hands on 5.3V / ~2A power adapter, I would prefer to use this, when there is a voltage drop, which we can avoid by doing so.

 

I have to abort my test of the power supply because of thermal conditions. But with throlling the system ran fine (hahah). Maybe I'll try that 12V FAN to connect to true 12V, so it can blow as much as it can :)

Link to post
Share on other sites

  • 0

Dev (4.12-rc1) will build now.  Note that I changed only what was needed to make it build, so some of the patches may not be needed/may not help/etc.

 

@Myy I had to take out the post-mali UMP patch, UMP is failing to build for some reason or another on 4.12 using this build system. 

 

Otherwise it appears to be at the same level of functionality as 4.11, although I did notice a marked improvement in USB audio (external cards, not the built-in codec), even though it does still try to blow my eardrums out of my head using the browser with certain source materials.  (I haven't tried to mess with PA yet).

 

I am building a "Hat" or "Shield" or (more likely) "tombstone" for the board to see if I can power it via the gpio pins and avoid the micro USB.  If it powers on with a smaller supply, I'll build to suit the Odroid XU4 4A adapter.  (Obviously this board is going to be trouble power wise, however, since I've already got one I'm going to make it work for me)

 

OK, back to the job that pays me.  ;-)

Link to post
Share on other sites

  • 0
3 hours ago, Ruslan Dzanmahmudov said:

I'm just thinking the whole time, why should our USB be limited to 1,8A, I mean, in Raspeberry's power supply they are officially speaking of 2,5A

 

https://www.google.com/search?rls=en&q=Micro-USB_1_01.pdf (every engineer in this world knows this but some simply don't care or are overruled by their management)

 

Don't ask me why the mythical RPi foundation chose this crappy connector. They know it's shit since the beginning but they refused to correct this mistake, instead they added under-voltage detection circuitry to their boards starting with RPi A+ and B+ to masquerade the problem and almost every RPI 2 or 3 out there runs in under-voltage issues regularly negatively impacting performance. With more powerful boards stability is affected but since users don't care... why not?

Link to post
Share on other sites

  • 0

For USB contact rating in micro USB:

 

    1.8 Amps is cited along with a 500 mA current on all other pins simultaneously.  An odd way to write the requirement, however if only pins 1 and 5 are involved, assuming heat dissipation is the primary concern, then you could, in theory (after performing adequate testing *TO FAILURE* on multiple devices), pull a known current more without risking a "thermal event".  I'm sure some less-than-brilliant soul simply added 1.8 and 1.5 and decided they had plenty of headroom...  -_-  In any situation, you can only assume 1.8 Amps, but I would not break into cold sweats or lose sleep over using 2A intermittantly.

 

  

Link to post
Share on other sites

  • 0
Quote

 

14 hours ago, tkaiser said:

 

Excellent work! So decreasing minimum cpufreq has a massive impact on storage performance without any significant consumption savings (TBC but why should RK3288 be any different here than all the other ARM SoCs out there?). If time allows you could have a second look how ondemand performs with and without these tweaks (that are IMO necessary)

no i think this good,  I love this so much more than the PI.

 

I have a 5V 3A thick PSu nd no problems running Armbian, thanks so much!

 

I have question if I have a laptop with same processor can  run armbian instead of that shit ArchArm?


                                                              random    random     bkwd    record    stride                                    
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
          102400       4     2664     2869    10518    10463    10140     4648                                                          
          102400    1024    23697    23682    56172    56190    56103    31487  

 

 

Never went over 33 Degress at 600Mhz

 

I have a 5V supply with xbox heat sink on it, no fan :

 

 

IMG_20170510_161728.jpg

IMG_20170510_161715.jpg

Link to post
Share on other sites

  • 0

seconde attemptde
                                                              random    random     bkwd    record    stride                                    
              kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
          102400       4     2890     2853    10059    10153     8828     3774                                                          
          102400    1024    49388    43091    54599    54656    54541    47202    

 

 

 

Link to post
Share on other sites

Join the conversation

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

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

Loading...
 Share

10 10