49 49
balbes150

Armbian for Amlogic S9xxx kernel 5.x

Recommended Posts

39 minutes ago, Igor said:

 

Try:
cd /usr/src/linux-headers-5.3.0-rc6-aml-g12/

make scripts

 

Thank you for answer.

Unfortunately, it doesn`t work (and no desire to do this manually after installing the package). 

 

root@aml:/usr/src/linux-headers-5.3.0-rc6-aml-g12# make scripts
arch/arm64/Makefile:56: CROSS_COMPILE_COMPAT not defined or empty, the compat vDSO will not be built
  HOSTCC  scripts/selinux/genheaders/genheaders
scripts/selinux/genheaders/genheaders.c:18:10: fatal error: classmap.h: No such file or directory
 #include "classmap.h"
          ^~~~~~~~~~~~
compilation terminated.
make[3]: *** [scripts/Makefile.host:90: scripts/selinux/genheaders/genheaders] Error 1
make[2]: *** [scripts/Makefile.build:497: scripts/selinux/genheaders] Error 2
make[1]: *** [scripts/Makefile.build:497: scripts/selinux] Error 2
make: *** [Makefile:1097: scripts] Error 2
 

 

 

But in a cloned repo from git it works, and I have already compiled a number of modules using files from git (for Ceph storage). But, for me the main problem is the lack of automation (I want to use dkms for building modules after kernel update), i.e. linux-headers seem to be attached, but they do not work properly.

 

 

 

Share this post


Link to post
Share on other sites
8 hours ago, Petr Fedchenkov said:

but in a cloned repo from git it works, and I have already compiled a number of modules using files from git (for Ceph storage). But, for me the main problem is the lack of automation (I want to use dkms for building modules after kernel update), i.e. linux-headers seem to be attached, but they do not work properly.


- selinux is(was?) broken on several kernels and workaround is to disable it. Then headers are compiled properly. I have seen this before, but in general fixing isssues with resources we have can easily take years.

- dkms had troubles in the past and here is the same. Deep investigation is needed.

- you are running bleeding edge kernel. Things will not work smoothly. You need to add a lot more work to get there.

Share this post


Link to post
Share on other sites

Recently was added to test the possibility of upgrading the kernel (up to version 5.3.0-rc6)  from the online repository Armbian. For example, you can try running Synaptic, updating the available packages, and specifying the installation of a new kernel. Importantly. When you select a new kernel, you must also update the appropriate DTB package. Please note, this is the first test and errors are possible.

Share this post


Link to post
Share on other sites
Recently was added to test the possibility of upgrading the kernel (up to version 5.3.0-rc6)  from the online repository Armbian. For example, you can try running Synaptic, updating the available packages, and specifying the installation of a new kernel. Importantly. When you select a new kernel, you must also update the appropriate DTB package. Please note, this is the first test and errors are possible.

So what if i want to update Vim1, which files should i choose to update kernel and dtb, i can't find vim dtb in synaptic?


Share this post


Link to post
Share on other sites
3 hours ago, balbes150 said:

Recently was added to test the possibility of upgrading the kernel (up to version 5.3.0-rc6)  from the online repository Armbian.


Awesome!

Everything is working as expected on VIM3 with latest Android build (VIM3 Android Pie V190907) including increased RAM (from 3451MB to 3696MB) and installation to eMMC. The complete step-by-step guide is as follows:

  1. Burn latest Android to eMMC with USB burning tool (full erase of flash and bootloader) by Upgrade via a USB-C cable. *
  2. Burn latest Armbian to mSD card / USB with Etcher.
  3. Change dtb filename in both /extlinux/extlinux.conf and uEnv.ini to meson-g12b-a311d-khadas-vim3.dtb
  4. Insert mSD card / USB and boot into Android.
  5. Activate multi-boot by using
    Quote

    Keys Mode (U-Boot is Running Normally)

    1. Power on VIM3.
    2. Long press the POWER key without releasing it.
    3. Short press the ‘Reset’ key and release it.
    4. Count for 2 to 3 seconds, then release the POWER key to enter into Upgrade Mode. You will see the sys-led turn ON when you’ve entered Upgrade Mode.
  6. Log in with root, change root password and add new user.
  7. Run sudo ./install.sh with root and shutdown after successful installation to eMMC.
  8. Activate multi-boot again by using Keys Mode (see step 5) (Remember to have mSD card / USB inserted).
  9. Shutdown, unplug mSD card / USB and power on. You should now be running Armbian from eMMC :)

* If you have preinstalled any other OS than Android on eMMC, wipe eMMC before burning Android on it by running dd if=/dev/zero of=/dev/mmcblk<number_eMMC> from an OS on mSD / USB.

Share this post


Link to post
Share on other sites

How to enter armbian ?

 

I installed Armbian_5.94_Aml-g12_Ubuntu_bionic_default_5.2.1_20190821  at a corrupted  android stb ( s905x , 2g ddr3 , 8g emmc ).
The original android system was damaged somehow and it halted during the launch process. But fortunately , its bootloader is good.
So I stopped the uboot process when it is going to launch the kernel and installed armbian 5.94 with the autoscr cmd.

 

The armbian system runs smoothly at the u-disc except for the following error messages at its first run :

--------------------------------------------------------------------------------------
Enable G12 sound. AMLG12
amixer: Unable to find simple control 'FRDDR_A SRC 1 EN Switch',0

amixer: Unable to find simple control 'FRDDR_A SINK 1 SEL',0

amixer: Unable to find simple control 'FRDDR_B SRC 1 EN Switch',0

amixer: Unable to find simple control 'FRDDR_B SINK 1 SEL',0

amixer: Unable to find simple control 'FRDDR_C SRC 1 EN Switch',0

amixer: Unable to find simple control 'FRDDR_C SINK 1 SEL',0

amixer: Unable to find simple control 'TOHDMITX I2S SRC',0

amixer: Unable to find simple control 'TOHDMITX Switch',0

-------------------------------------------------------------------------------------
 
But I went on with  the installation of armbian to the emmc of the stb and the installation went on smoothly .

But it seems I did not clean up the android bootargs  properly and the system runs into the recovery ( ? ) section of the original android system ( ? ) . I would like to get rid of the android system completely and play with armbian 5.94 . Could you please shed some light on it ?
Enclosed please find the boot log :

printenv.txt

Share this post


Link to post
Share on other sites

Hello, 

 

balbes150 and others...You are doing a great work.... thanks!.

_

I have a X96 Max running docker and runs great.....

Now I bought a A95X F2 (with the same S905x2 processor) a bit cheaper than X96Max and one day sended...... I can run armbian (latest version 4.95) using sdcard (pressing the reset button in AV plug..... and connecting power).

 

But the Network is not working.... the eth0 is down and when I try to set up (ifconfig eth0 up) I'm receiving a "SIOCSIFFLAGS: Device or resource busy"

 

The error in "dmesg" is

"meson 8b-dwmac ff3f0000.ethernet:Failed to reset the dma

 meson 8b-dwmac ff3f0000.ethernet eth0: stmmac_hw_setup: DMA engine initialization failed

 meson 8b-dwmac ff3f0000.ethernet eth0: stmmac_open: HW setup failed"

 

I do some test like use the usb of de X96 Max, use the version 4.91, 4.94 and 4.95 with same results....

I have a usb to ethernet cable and using this (unplugin the ethernet cable from network port and conect to the usb to ethernet) everithing works....

 

I think that some driver is not loaded in the armbian but I thought that the processor has the network gigabit logic

 

Could someone help me?

 

Thanks   

 

Share this post


Link to post
Share on other sites

I use Armbian_5.91_Aml-g12_Ubuntu_bionic_default_5.2.0_desktop_20190715 with T95Q. Everything works perfectly, for example (wifi 2.4/5GHz, Ethernet, Sound) other than htop that doesn't show temperature values.

A few days ago, the dtb, image v.5.95 package was updated via repositories. After the package update, wifi 2.4/5GHz was lost, but the temperature in htop shows correctly. In this case, Is there a way to get the 2.4/5GHz wifi back?

Share this post


Link to post
Share on other sites
10 hours ago, hanguofu said:

But it seems I did not clean up the android bootargs  properly and the system runs into the recovery ( ? ) section of the original android system ( ? ) . I would like to get rid of the android system completely and play with armbian 5.94 . Could you please shed some light on it ?

Without multi-boot activation, nothing will work from eMMC.

 

10 hours ago, X96Maxer said:

I think that some driver is not loaded in the armbian but I thought that the processor has the network gigabit logic

Configure (select) the correct DTB.

 

4 hours ago, MeJune said:

In this case, Is there a way to get the 2.4/5GHz wifi back?

No

Share this post


Link to post
Share on other sites

Hi @balbes150

 

Do you have a linux-headers package available for your AMLG12 and / or RK3399 kernels that you ship with your yandisk images?

 

Thanks

Share this post


Link to post
Share on other sites
16 minutes ago, qstaq said:

Do you have a linux-headers package available for your AMLG12 and / or RK3399 kernels that you ship with your yandisk images?

The latest version is now available from the online repository Armbian

Share this post


Link to post
Share on other sites
2 minutes ago, balbes150 said:

The latest version is now available from the online repository Armbian

Awesome thanks. I hadnt performed an apt update for a while and Im still running 5.21 so I didnt see it

Share this post


Link to post
Share on other sites

Hi,
I'm excited about this project as I needed a more powerfull replacement for my Raspberry Pi 3b, and I had a unused Alfawise S92 TV box (same hardware as first Beelink GT1) laying around.

 

A week ago I burned Armbian_5.95_Aml-g12_Debian_buster_default_5.3.0-rc6_20190901.img.xz to a SD card and got it to boot properly by using "/dtb/meson-gxm-q200.dtb".
During the week I tried updating using apt-get (apt-get update, apt-get upgrade from root), but I got a failure when it tried to upgrade from 5.94 to 5.95. The error message I'm getting is:

 

Preparing to unpack .../22-linux-image-amg-g12_5.95_arm64.deb ...
Unpacking linux-image-aml-g12 (5.95) over (5.94) ...
dpkg: error processing archive /tmp/apt-dpkg-install-0wtm09/22-linux-image-aml-g12_5.95_arm64.deb (--unpack):
 unable to make backup link of './boot/System.map-5.3.0-rc6-aml-g12' before installing new version: Operation not permitted
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Preparing to unpack .../23-linux-libc-dev_4.19.67-2_arm64.deb ...
Unpacking linux-libc-dev:arm64 (4.19.67-2) over (4.19.37-5+deb10u2) ...
Preparing to unpack .../24-usb.ids_2019.07.27-0+deb10u1_all.deb ...
Unpacking usb.ids (2019.07.27-0+deb10u1) over (2019.04.23-1) ...
Errors were encountered while processing:
 /tmp/apt-dpkg-install-0wtm092/22-linux-image-aml-g12_5.95_arm64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

 

Also, after a reboot ARMBian didn't wat to load. This was due to that the dtb folder in the boot partition was renamed to dtb.old by the update process. Renaming the folder back again solved the booting issues, but retrying apt-get would still fail with the same error.

 

As I thought that it might be an issue with the SD card I burned the image to a USB flash drive. Immediately after booting I tried updating again and I got the same error and the same issue with the dtb folder being renamed.

 

Any thoughts as to what might be going wrong?

Share this post


Link to post
Share on other sites

Hello all,

 

I bought OTT TV BOX A95XF1 Android Oreo 8.1 ( gpu- z it says it is a95x r2) based on S905W - 2gb ram . It has a crappy  SVV6051 wifi chip. Is there a way to use it on the ARMbian?

On CoreElec it is working OK - I had selected gxl_p281_2g_a95xr2 dtb - on armbian gxl_p281 - there is no other.

 

I had tried two images from yandex 5.94 and 5.95 and wifi is not working.

 

modprobe ssv6051 say that there is no such module.

 

I am not a linux user so ... is there a driver in current builds for this chip ?

 

Could it be added somehow eg. from https://github.com/chewitt/ssv6051 ?

Share this post


Link to post
Share on other sites
1 hour ago, E-Vix said:

Any thoughts as to what might be going wrong?

You don't need to update kernels , they have the same version (so there will be a bug).

 

 

Share this post


Link to post
Share on other sites

New image 5.96 kernel 5.3.0-rc8.

For G12 models, stereo sound now works.

I pay attention, DTB by default changed. Now is set DTB default Ugoos AM6.

 

 

To date, this model of TV box is the best for those who need a finished product. No rework or improvement of the cooling system is required for all standard tasks. No need for manual activation to run multi-boot systems (Armbian Libreelec AltLinux Mandjaro etc) from external media (SD card or USB media), it is already built into the firmware itself. The only drawback is that the built-in WiFi Does not work yet. I'm not a fan of passive cooling systems, but the option that is used in this model (metal body + correct radiator), provide this model a full-fledged work. Even with full-screen video playback in the browser (at 1080p resolution), the temperature does not rise above 45-47 degrees. For those who need a complete replacement for a regular PC, I recommend this model. You will get a finished product with good technical support, which can be used as a mini-PC and at the same time as a powerful TV box.

Share this post


Link to post
Share on other sites

Hi,

 

I am running the latest version of the Ubuntu Bionic image on my X96 mini and I am very interested in the progress of the LIMA open source graphics driver. Unfortunately, the DRM flags of the LIMA and PANFROST drivers are not set:

themojoman@aml:~$ uname -a
Linux aml 5.3.0-rc8-aml-g12 #5.96 SMP PREEMPT Tue Sep 10 12:12:29 MSK 2019 aarch64 aarch64 aarch64 GNU/Linux
themojoman@aml:~$ grep LIMA /boot/config-5.3.0-rc8-aml-g12 
# CONFIG_DRM_LIMA is not set
themojoman@aml:~$ grep PANFROST /boot/config-5.3.0-rc8-aml-g12 
# CONFIG_DRM_PANFROST is not set

@balbes150 could you please enable LIMA and PANFROST kernel drivers in the next image? Thanks!

Share this post


Link to post
Share on other sites
On 9/10/2019 at 1:42 PM, balbes150 said:

New image 5.96 kernel 5.3.0-rc8.

For G12 models, stereo sound now works.

I pay attention, DTB by default changed. Now is set DTB default Ugoos AM6.

 

 

To date, this model of TV box is the best for those who need a finished product. No rework or improvement of the cooling system is required for all standard tasks. No need for manual activation to run multi-boot systems (Armbian Libreelec AltLinux Mandjaro etc) from external media (SD card or USB media), it is already built into the firmware itself. The only drawback is that the built-in WiFi Does not work yet. I'm not a fan of passive cooling systems, but the option that is used in this model (metal body + correct radiator), provide this model a full-fledged work. Even with full-screen video playback in the browser (at 1080p resolution), the temperature does not rise above 45-47 degrees. For those who need a complete replacement for a regular PC, I recommend this model. You will get a finished product with good technical support, which can be used as a mini-PC and at the same time as a powerful TV box.

I assume the WiFi will be supported eventually, but it the GPU supported? And how is the AM3 compared to the AM6 performancewise? Will the remote work with Linux Touch?

Share this post


Link to post
Share on other sites
On 9/10/2019 at 8:12 PM, TheMojoMan said:

could you please enable LIMA and PANFROST kernel drivers in the next image?

Without the new MESA, these modules create problems for the system.

 

18 hours ago, Reddwarf said:

I assume the WiFi will be supported eventually, but it the GPU supported? And how is the AM3 compared to the AM6 performancewise? Will the remote work with Linux Touch?

WiFi chip is used in many models, so WiFi support should appear soon (I think 1-2 months). G52\G31 already supported in the main kernel (Libreelec already has a HW). I don't have an AM3, I didn't compare their performance.

Share this post


Link to post
Share on other sites
2 hours ago, balbes150 said:

Without the new MESA, these modules create problems for the system.

 

WiFi chip is used in many models, so WiFi support should appear soon (I think 1-2 months). G52\G31 already supported in the main kernel (Libreelec already has a HW). I don't have an AM3, I didn't compare their performance.

But it will work on AM3 too?

Share this post


Link to post
Share on other sites
(edited)

Hello,

 

I'm working on a solution using Raspberry Pi 3B+ which make the Pi as a WiFi hotspot (AP). All good here.

I'm experimenting the same solution with X96 pro device (Amlogic S905x 2gb RAM 16gb eMMC) which has in-built wifi. I have loaded 5.91 Ubuntu image a while ago and also tired with recent 5.96 Debian Buster images. I did not try imaging to eMMC yet.
- Able to boot from SD card with linux image, installed my solution etc ...

- Configured wifi hotspot (wlan0 with static IP) by modifying hosted.conf, dhcpcd.conf, dnsmasq.conf etc

- The wifi SSID is configured and appears when scanned from a different device

- However, while joining with the defined PIN/Passcode, not accepted and unable to join

 

I have tried different approaches by setting hostapd.conf driver to (nl80211 / rtl871xdrv / rtl8723bs) and even by removing the driver entry in the hosted.conf file. With no "driver" or "driver=nl80211" the AP is configured and able to show SSID to other devices. With other options, the AP is in disabled state.

 

This wifi hotspot is required and important to my work.  Could anyone please help in identifying a solution?

 

I'm planning to order more units of X96 and X96 Max (S905x2).

I believe that there are stable Linux images for X96 Max (S905x2). Does the above wifi hotspot issues valid here as well?

 

Output of lshw for the n/w interfaces:
 

  *-network:0

       description: Wireless interface

       physical id: 3

       logical name: wlan0

       serial: 00:0b:6a:32:4d:68

       capabilities: ethernet physical wireless

       configuration: broadcast=yes driver=rtl8723bs ip=172.24.1.1 multicast=yes wireless=IEEE 802.11bgn

  *-network:1

       description: Ethernet interface

       physical id: 4

       logical name: eth0

       serial: 00:15:18:01:81:31

       size: 100Mbit/s

       capacity: 100Mbit/s

       capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation

       configuration: autonegotiation=on broadcast=yes driver=st_gmac driverversion=Jan_2016 duplex=full ip=192.168.1.111 link=yes multicast=yes port=MII speed=100Mbit/s

 

 

Note: Attached the hostapd.conf file

hostapd.conf

Edited by KrishIsola
Included lshw output for the wifi interface

Share this post


Link to post
Share on other sites

Hello guys !

Recently I launched ubuntu from sd card on my s905w (x96 mini). Everything works ok exept ethernet. It doesn't work both on server and desktop version of rom. When I asked balbes about that problem, he told me, that I have to configure dtb (or choose the right dtb). I looked through the forum for guide but found nothing. Although I did change dtb path in boot.ini from default to "meson-gxm-khadas-vim2.dtb" and then "meson-gxl-s905w-p281.dtb". None of that solved ethernet problem. Also I don't get the dfference between "dtb" and "dtb-5.2.1-aml-g12", cause the have the same files. Can someone help me with this ? At least link to guide or post ?

Share this post


Link to post
Share on other sites
(edited)

I have a Magicsee N5 Max box, which version work with ethernet? Which DTB?
I'm trying but ethernet doesn't work ...

Edited by meridaharcos

Share this post


Link to post
Share on other sites
1 hour ago, meridaharcos said:

I have a Magicsee N5 Max box, which version work with ethernet? Which DTB?
I'm trying but ethernet doesn't work ...

Which DTB have you tried? meson-gxl-s905x-p212.dtb?

Share this post


Link to post
Share on other sites
15 minutes ago, Z11ntal33r said:

Which DTB have you tried? meson-gxl-s905x-p212.dtb?

original dtb - system start, but no ethernet

meson-gxl-s905x-p212.dtb - system not start

meson-g12a-x96-max.dtb - system start, but no ethernet

 

Share this post


Link to post
Share on other sites

Installed armbian 5.96, debian buster 5.3.0.rc8 kernel, i don't have any wireless network, device is khadas vim1, what could be the problem?

Share this post


Link to post
Share on other sites
23 hours ago, meridaharcos said:

original dtb - system start, but no ethernet

meson-gxl-s905x-p212.dtb - system not start

meson-g12a-x96-max.dtb - system start, but no ethernet

 

Which Armbian version are you running? If it is one with kernel 5.3-RCx tyr one with kernel 5.2

Share this post


Link to post
Share on other sites
12 hours ago, Tommy21 said:

Installed armbian 5.96, debian buster 5.3.0.rc8 kernel, i don't have any wireless network, device is khadas vim1, what could be the problem?

Probably the driver for your chip is not implemented in 5.3 yet, remember it is a Release Candidat...

Share this post


Link to post
Share on other sites

Is anyone else getting "Input/output error" when transferring data between two external drives? I thought the issues regarding IO errors were fixed in kernel 5.3... I'm on 5.3.0-rc6-aml-g12 so perhaps I should give the final version a try.

 

Update:

Changing /sys/class/block/?d?/queue/max_sectors_kb from the value of 1024 to 32 still trigger the error.
 

My setup is as follows: A VIM3 with a ORICO Mini USB 3.0 HUB 4 Port Power Supply OTG with Micro USB Power Interface connected to a Rocketek usb 3.0 multi Smart memory card reader with a mSD card inserted and a Seagate Expansion Desktop. Both the ORICO USB HUB and Seagate HDD are powered with an external power supply.


Update 2:

This is the patch I need which Amlogic worked out for g12 devices: dwc3/core: xHCI host not responding to stop endpoint command
I can't seem to find the patch in Kernel 5.3 patch notes... So I suppose it isn't merged yet. Could you please add the patch to your next build, @balbes150? The patch is groundbreaking as it fixes the IO nightmare g12 devices (especially ODROID-N2) have faced for the past months (as seen here: https://forum.odroid.com/viewtopic.php?f=181&t=35031)...

Share this post


Link to post
Share on other sites
On 9/13/2019 at 1:32 PM, KrishIsola said:

Hello,

 

I'm working on a solution using Raspberry Pi 3B+ which make the Pi as a WiFi hotspot (AP). All good here.

I'm experimenting the same solution with X96 pro device (Amlogic S905x 2gb RAM 16gb eMMC) which has in-built wifi. I have loaded 5.91 Ubuntu image a while ago and also tired with recent 5.96 Debian Buster images. I did not try imaging to eMMC yet.
- Able to boot from SD card with linux image, installed my solution etc ...

- Configured wifi hotspot (wlan0 with static IP) by modifying hosted.conf, dhcpcd.conf, dnsmasq.conf etc

- The wifi SSID is configured and appears when scanned from a different device

- However, while joining with the defined PIN/Passcode, not accepted and unable to join

 

I have tried different approaches by setting hostapd.conf driver to (nl80211 / rtl871xdrv / rtl8723bs) and even by removing the driver entry in the hosted.conf file. With no "driver" or "driver=nl80211" the AP is configured and able to show SSID to other devices. With other options, the AP is in disabled state.

 

This wifi hotspot is required and important to my work.  Could anyone please help in identifying a solution?

 

I'm planning to order more units of X96 and X96 Max (S905x2).

I believe that there are stable Linux images for X96 Max (S905x2). Does the above wifi hotspot issues valid here as well?

 

Output of lshw for the n/w interfaces:
 

  *-network:0

       description: Wireless interface

       physical id: 3

       logical name: wlan0

       serial: 00:0b:6a:32:4d:68

       capabilities: ethernet physical wireless

       configuration: broadcast=yes driver=rtl8723bs ip=172.24.1.1 multicast=yes wireless=IEEE 802.11bgn

  *-network:1

       description: Ethernet interface

       physical id: 4

       logical name: eth0

       serial: 00:15:18:01:81:31

       size: 100Mbit/s

       capacity: 100Mbit/s

       capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation

       configuration: autonegotiation=on broadcast=yes driver=st_gmac driverversion=Jan_2016 duplex=full ip=192.168.1.111 link=yes multicast=yes port=MII speed=100Mbit/s

 

 

Note: Attached the hostapd.conf file

hostapd.conf 395 B · 2 downloads

 

Hello @balbes150 and Others,

 

I'm able to boot my X96 (S905x) device from a SD card with linux builds  (tried Armbian 5.91 and 5.96). However, when I tried to configure the device as Wifi Hotspot / Access Point (AP), facing issues with connecting or pairing to the AP. The device appears to be configured with SSID and a static IP. But, when I tried to pair another device to this SSID + Passcode, it fails - something like invalid passcode.

 

Could you please help to resolve or provide leads to the solution?

 

- Krish

Share this post


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
Reply to this topic...

×   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...
49 49