Driver extension jun 1.03b/1.04b for DSM6.2.3 for 918+ / 3615xs / 3617xs


Recommended Posts

On 11/18/2020 at 3:52 PM, IG-88 said:

as there is still a 2 nic limit in the base config of 918+ you would need to edit synoinfo.conf to make a 3rd/4th nic work

"...

[CUT]

if you want to know if the driver works please check the dmesg log and you can also use lspci to check what driver is used for pcie devices (lspci -k)

as a simple test you can also simply disable one of the onboard nic's and check if the 10G nic is working

 

 

@IG-88

thank you SO MUCH! It was the 2 nic's limit. Now everything is working like a charm! :-)

 

Just another question: if I have a DSM 6.2.2 where the /dev/dri/ directory was not present and, after modifying the IGFX BIOS setup now - with a new test HDD -  the dev/dri/ is present, when I upgrade to DSM 6.2.3 on the production HDDs the new .pat file will register the modification in BIOS and create the /dev/dri/ accordingly? 

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

Just another question: if I have a DSM 6.2.2 where the /dev/dri/ directory was not present and, after modifying the IGFX BIOS setup now - with a new test HDD -  the dev/dri/ is present, when I upgrade to DSM 6.2.3 on the production HDDs the new .pat file will register the modification in BIOS and create the /dev/dri/ accordingly? 

with 6.2.2 you would need to use jun's i915 driver by using "0.8_std ds918+"

with 6.2.3 there is a newer i915 driver from synology on the same level is jun's diver was, supporting up to geminilake and lower tier 9th gen cpus ootb, only thing to do is to use my extra.lzma to remove jun's old driver (not working with 6.2.3 because of kernel changes by synology) and make the new one from synology active

there is nothing special, it works with 6.2.2 it will with 6.2.3

the 1st post in this thread is also about updating from 6.2.2

 

  • Thanks 1
Link to post
Share on other sites
On 11/16/2020 at 11:22 PM, IG-88 said:

edit: the 2.14 driver does not compile anymore with kernel 3.10.105, looks like they messed up with the compatibility as it uses functions not present in this kernel (netdevice.h) and it does not compile because of undefined variable , same goes for former 2.13

its 2.12 for now on 3615/17, the new 2.14 driver compiles against the newer 4.4.59 source of the 918+ so at least 918+ will get a newer driver

 

Dose this mean that there will be no RTL-8125B driver for 3617xs?

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

Dose this mean that there will be no RTL-8125B driver for 3617xs?

 

not if you look closer in the text there is e reference to r8152 driver, thats for realtek usb nic's up 8156

https://xpenology.com/forum/topic/28321-driver-extension-jun-103b104b-for-dsm623-for-918-3615xs-3617xs/?do=findComment&comment=179831

 

also the version numbers for r8125 are completely different, for that it's 9.00x

 

edit: but it looks like the newer 9.004.01 for r8125 is the same in this regard, they used stuff thats not present in kernel 3.10.x, so looks like they quietly dropped kernel 3.x support in the drivers, so its will be 9.003.5 for 3615/17 until its fixed

 

Edited by IG-88
Link to post
Share on other sites

Hello everyone,

 

I'm currently running 6.2.2-24922 Update 4 on a bare metal N54L, and would like to update to 6.2.3-25426 Update 2. I followed the links in this thread to download Jun's 1.03b loader and the pat file from Synology. I also downloaded the "extra.lzma for loader 1.03b ds3615 DSM 6.2.3 v0.11_test" in the first post of this thread.

 

Now, I believe I should:

  1. Mount the loader image in osfmount to modify grub.cfg with my vid/pid/sn/mac and add the extra.lzma to the second partition. Should I also update zImage and rd.gz using those in the pat file ?
  2. Burn that modified image to a USB stick.
  3. Plug that USB in my NAS and boot from it.
  4. Access the NAS through the web to "migrate" DSM to 6.2.3 using the downloaded pat file.

Not so sure about that last part. Otherwise, did I get the hang of it ?

 

Thanks for all your work (particularly @IG-88, obviously) and for your precious help.

Link to post
Share on other sites
On 11/19/2020 at 6:31 PM, IG-88 said:

with 6.2.2 you would need to use jun's i915 driver by using "0.8_std ds918+"

with 6.2.3 there is a newer i915 driver from synology on the same level is jun's diver was, supporting up to geminilake and lower tier 9th gen cpus ootb, only thing to do is to use my extra.lzma to remove jun's old driver (not working with 6.2.3 because of kernel changes by synology) and make the new one from synology active

there is nothing special, it works with 6.2.2 it will with 6.2.3

the 1st post in this thread is also about updating from 6.2.2

 

 

Thank you so much. I have successfully upgraded to 6.2.3 update 2 even if they have been the longest 10 minutes of my life !!!! Everything went well !!! Now I will work on the NVMe Cache! 

Link to post
Share on other sites

 

On 11/20/2020 at 7:14 PM, lesensei said:

. Should I also update zImage and rd.gz using those in the pat file ?

yes, if you want to have it the most safe way, the 6.2.3 drivers are made for 6.2.3 kernel so its best to have that kernel already on the loader when booting

if you dont do that it will boot with 6.2.0 kernel and 6.2.3 drivers and after installing (migrate) the *.pat file the 6.2.3 kernel will be written to usb

when copying 6.2.3 driver and kernel already to the loader before using the *.pat file you have already the constellation running you would end up after installing it, so there can't be any surprise, if there is any problem you will see it before using the *.pat file and the content on disk is still the old version, if the new us does not work es expected its still possible to remove it and put you old one in (still having 6.2.2 kernel on it and still 6.2.2 on disks)

 

On 11/20/2020 at 7:14 PM, lesensei said:

Not so sure about that last part. Otherwise, did I get the hang of it ?

yes that will work, it the save approach

if its a already tested hardware (-> update reporting section) its no problem to use the lazy (faster) way where you just remove the usb from the running system copy the new extra.lzma to it, put it back and then start the normal update process over the webgui

 

  • Like 1
Link to post
Share on other sites

This is the i915.ko (from /usr/lib/modules) , dated much later than the update 2 files, from my 918+ system post upgrade to Version: 6.2.3-25426 Update 3

I am not sure if I can simply replace it in /usr/lib/modules with your modified file from update2?

 

 

i915.ko

Edited by mervincm
spelling
Link to post
Share on other sites
6 hours ago, mervincm said:

I believe that Version: 6.2.3-25426 Update 3 broke my hardware transcoding on my i9-9900k. I was using IG-88 modified i915.ko file.

Perhaps update 3 included a newer i915.ko?

 

you replaced the original i915 from synology with a patched version and if a update (like u2 and u3) replace the file you are back to default (no support for high tier 9th gen and low tier 10th gen)

if you replace the u3 original file with the old u2 patched file i'm pretty sure it will work

best way would be a u3 patched version, i've forgot about that when i checked the u3 update, i have a intel 9100 and do not need that myself

(i know u3 replaces the kernel and all drivers, including i915.ko)

its not that much to do, i guess i will have new files uploaded in a few hours

 

  • Like 1
Link to post
Share on other sites
7 hours ago, IG-88 said:

 

you replaced the original i915 from synology with a patched version and if a update (like u2 and u3) replace the file you are back to default (no support for high tier 9th gen and low tier 10th gen)

if you replace the u3 original file with the old u2 patched file i'm pretty sure it will work

best way would be a u3 patched version, i've forgot about that when i checked the u3 update, i have a intel 9100 and do not need that myself

(i know u3 replaces the kernel and all drivers, including i915.ko)

its not that much to do, i guess i will have new files uploaded in a few hours

 

 

I didn't realize it was well known that update 3 was a new kernal and replaced all these drivers. I understant that this is always a possibility, and was lookingto point out that it did happen. I really do appreciate your assistance and will provide feedback on if the modified U3 version of i915.ko works.

 

PS I am sure you notices but in case you didn't, the U3 build notes speak to fixing an issue with SAS and shutdown. Not necisarily exactly the issue that you  were working on earlier (SAS and drive sleep) but I wonder if the changes in U3 help there? the newer JM585 cards largely make SAS drivers obsolete for xpenology, but many folks still have them (I have both.)

 

Thanks again IG-88! 

Link to post
Share on other sites
30 minutes ago, mervincm said:

 

I didn't realize it was well known that update 3 was a new kernal and replaced all these drivers.

you can open the update file (pat) with 7zip and have a look, the *.deb packages can be opened too

flashupdate_*.deb is about the kernel that will go to usb

linux*.deb uaually new kernel modules

also looking for the size of the deb files can be used

 

38 minutes ago, mervincm said:

? the newer JM585 cards largely make SAS drivers obsolete for xpenology, but many folks still have them (I have both.)

i still have two and they are sure to work properly in 3615/17

and replacing the sas cards depends an the drive count and whats use of the system

a all flash (ssd) would still use a 12GBit SAS pcie 3.0 controller and high drive counts like 24 will be hard to realize with just 5 port cards (like 4 cards and 4port onboard and a 10G nic ...), also when using "older" sas shelfs a sas controller is needed

but yes for most home use cases around 12 ports the new pcie 3.0 ahci cards are a good solution and when using 10-18 TB drives even high capacity's are no problem, no need for 24 disk monsters in most cases

 

the sas problem is different as it originates from the "added" sas support in 918+, it does work reliable when using the scsi/sas files from synology but then smart, sn and temp. are missing and jun's files have the problem of mangling data with disk hibenation, its about the custom changes from synology, there might be something missing int the 918+ kernel  to support smart, sn, temp with the synology scsi/sas kernel driver

 

 

  • Like 1
Link to post
Share on other sites
On 12/6/2020 at 7:46 AM, mervincm said:

This is the i915.ko (from /usr/lib/modules) , dated much later than the update 2 files, from my 918+ system post upgrade to Version: 6.2.3-25426 Update 3

I am not sure if I can simply replace it in /usr/lib/modules with your modified file from update2?

check the 1st message in the thread i updated a link for patched u3 i915.ko

Link to post
Share on other sites
15 hours ago, merve04 said:

My USB key currently has your extra 0.13, if i update from 6.2.3 u2 to u3, will the extra still be present or does it need to be reapplied?

the extra for 6.2.3 does not contain i915 drivers, it even does the opposite thing and deletes i915 drivers from the update directory and thats also the reason why the patched version (for high tier 9th gen  and low tier 10th gen cpu's) needs to be copied ti the /lib/modules/, replacing the original file from synology

usually the extra.lzma works within al main line like in 6.1 or 6.0

6.2 is special because of some changes in 6.2.1 and 6.2.2 but if we exclude these two and say 6.2.0 and 6.2.3 then there is no need do anything when updating the extra.lzma should work with all versios, afaik there are no problems with 6.2.3 u2/u3 and the extra.lzma's

there is no absolute rule as synology in in conrol over the code, therefore doing updates with any new version is kind of a risk and who needs access to his nas at any time and cant handle downgrades (and has no backup of the data) should wait and check out the update reporting section here

 

 

Link to post
Share on other sites
20 hours ago, IG-88 said:

the extra for 6.2.3 does not contain i915 drivers, it even does the opposite thing and deletes i915 drivers from the update directory and thats also the reason why the patched version (for high tier 9th gen  and low tier 10th gen cpu's) needs to be copied ti the /lib/modules/, replacing the original file from synology

usually the extra.lzma works within al main line like in 6.1 or 6.0

6.2 is special because of some changes in 6.2.1 and 6.2.2 but if we exclude these two and say 6.2.0 and 6.2.3 then there is no need do anything when updating the extra.lzma should work with all versios, afaik there are no problems with 6.2.3 u2/u3 and the extra.lzma's

there is no absolute rule as synology in in conrol over the code, therefore doing updates with any new version is kind of a risk and who needs access to his nas at any time and cant handle downgrades (and has no backup of the data) should wait and check out the update reporting section here

 

 

Thanks for the reply, but i think you misread my question.

My current USB key which is loader 1.04b, I've applied your extra v0.13.3 to it. I'm currently running DSM 6.2.3 u2. If I update to DSM 6.2.3 u3, will the extra still be present on the USB key? Or do I need to reapply it after DSM updated?

 

Thanks

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

If I update to DSM 6.2.3 u3, will the extra still be present on the USB key? Or do I need to reapply it after DSM updated?

extra.lzma is not a part of dsm and will not be touched by a dsm update, the kernel files (zImage, rd.gz) will be replaced (u3 comes not with just a few updated drivers, the kernel and all drivers are replaced), as long as the kernel and drivers don't have "unexpected behavior" (like seen in 6.2.1, 6.2.2) then nothing special needs to be done, the update process is the same as with a original synology system

Link to post
Share on other sites
6 hours ago, IG-88 said:

extra.lzma is not a part of dsm and will not be touched by a dsm update, the kernel files (zImage, rd.gz) will be replaced (u3 comes not with just a few updated drivers, the kernel and all drivers are replaced), as long as the kernel and drivers don't have "unexpected behavior" (like seen in 6.2.1, 6.2.2) then nothing special needs to be done, the update process is the same as with a original synology system

Thanks again for the reply. I’ve never really used extra in the past, so I wasn’t familiar with how an update would effect it. That being said, will likely update soon enough, my system is currently expanding and I’ve also seen someone report with the same board as me in bare metal working fine, so should be a sure bet. 
again thanks for your time. 

Link to post
Share on other sites

Hi!

Baremetal DSM 6.2.3-update 3, loader 1.04b
extra.lzma/extra2.lzma v0.12.1 (with SAS SMART fix)

No SMART and temps of SAS drives
SAS HBA Dell H310 (LSISAS2008-based) flashed in 9211-8i IT

"lspci -v" tells me that 9211-8i card is using mpt3sas driver! (instead of mpt2)

2020-12-14_01-46-16.png.3f5ae3768631ab47efab24f011ffe26e.png

 

Is this supposed to be so?
If not, how can I cange to mpt2sas?

 

 

 

2020-12-14_01-30-24.png

2020-12-14_01-52-40.png

2020-12-14_01-52-26.png

Edited by Outrullers
Link to post
Share on other sites
1 hour ago, Outrullers said:

Is this supposed to be so?
If not, how can I cange to mpt2sas?

yes, the mpt2sas got merged into mpt3sas in the newer kernels like 4.4 of 918+

you can see that in /var/log/dmesg when the driver is loaded

...
[Sun Dec 13 15:46:49 2020] Fusion MPT SAS Host driver 3.04.20
[Sun Dec 13 15:46:49 2020] mpt3sas version 09.102.00.00 loaded
[Sun Dec 13 15:46:49 2020] mpt3sas 0000:04:00.0: can't disable ASPM; OS doesn't have ASPM control
[Sun Dec 13 15:46:49 2020] mpt2sas_cm0: 64 BIT PCI BUS DMA ADDRESSING SUPPORTED, total mem (8091072 kB)
[Sun Dec 13 15:46:49 2020] mpt2sas_cm0: MSI-X vectors supported: 1, no of cores: 2, max_msix_vectors: -1
[Sun Dec 13 15:46:49 2020] mpt2sas0-msix0: PCI-MSI-X enabled: IRQ 27
[Sun Dec 13 15:46:49 2020] mpt2sas_cm0: iomem(0x00000000f78c0000), mapped(0xffffc90000250000), size(16384)
[Sun Dec 13 15:46:49 2020] mpt2sas_cm0: ioport(0x000000000000c000), size(256)
[Sun Dec 13 15:46:49 2020] mpt2sas_cm0: sending message unit reset !!
[Sun Dec 13 15:46:49 2020] mpt2sas_cm0: message unit reset: SUCCESS
[Sun Dec 13 15:46:49 2020] mpt2sas_cm0: Allocated physical memory: size(7445 kB)
[Sun Dec 13 15:46:49 2020] mpt2sas_cm0: Current Controller Queue Depth(3307),Max Controller Queue Depth(3432)
[Sun Dec 13 15:46:49 2020] mpt2sas_cm0: Scatter Gather Elements per IO(128)
[Sun Dec 13 15:46:49 2020] mpt2sas_cm0: LSISAS2008: FWVersion(19.00.00.00), ChipRevision(0x03), BiosVersion(07.37.00.00)
...

 

 

temp, sn, smart works on my test system (6.2.3 u3) with a 9211 controller , fresh install

is this a baremetal installation or vm?

 

image.png.eafa78a3f522256c50463913fd936504.png

1 hour ago, Outrullers said:

extra.lzma/extra2.lzma v0.12.1 (with SAS SMART fix)

 

its not really a fix, its just some of the scsi/sas stuff replaced with jun's drivers from his original extra.lzma

if you dont need newer drivers you can try the extra/extra2 from the 1.04b loader (extract the files with 7zip from the *.img and copy them to your usb flash drive)

 

 

btw. i dont understand russian,  either explain whats important in that picture (i dont understand the red error message, i can see there are not temp. for the disks) or switch the gui to english before taking screenshots, also take some more screenspace into the shot so the context can be seen like were in dsm it was made

i'm not sure in what section of the storage manager it was taken, neither volume, storage pool or hdd/ssd give me a view like in the picture

 

image.thumb.png.a8b54fb700aeb3e5341ebf2f7aa2cd6a.png

image.png.74f2830926b4a9f65ccbef28c062851b.png

 

 

mpt3sas_base.h from kernel 4.4.59

...
/* driver versioning info */
#define MPT3SAS_DRIVER_NAME		"mpt3sas"
#define MPT3SAS_AUTHOR "Avago Technologies <MPT-FusionLinux.pdl@avagotech.com>"
#define MPT3SAS_DESCRIPTION	"LSI MPT Fusion SAS 3.0 Device Driver"
#define MPT3SAS_DRIVER_VERSION		"09.102.00.00"
#define MPT3SAS_MAJOR_VERSION		9
#define MPT3SAS_MINOR_VERSION		102
#define MPT3SAS_BUILD_VERSION		0
#define MPT3SAS_RELEASE_VERSION	00

#define MPT2SAS_DRIVER_NAME		"mpt2sas"
#define MPT2SAS_DESCRIPTION	"LSI MPT Fusion SAS 2.0 Device Driver"
#define MPT2SAS_DRIVER_VERSION		"20.102.00.00"
#define MPT2SAS_MAJOR_VERSION		20
#define MPT2SAS_MINOR_VERSION		102
#define MPT2SAS_BUILD_VERSION		0
#define MPT2SAS_RELEASE_VERSION	00
  ...

 

Edited by IG-88
Link to post
Share on other sites
В 14.12.2020 в 03:17, IG-88 сказал:

temp, sn, smart works on my test system (6.2.3 u3) with a 9211 controller , fresh install

is this a baremetal installation or vm?

baremetal, fresh install for tests, so I can reinstall and play with it )
SAS HDDs are connected to Dell PERC H310 controller reflashed with 9211 IT firmware. Its a simple HBA, not a hardware RAID of any kind.

With 3615xs/17xs I do see temps&s/n of SAS drive with this controller (but not other SMART info, though - is it ok?)

 

В 14.12.2020 в 03:17, IG-88 сказал:

yes, the mpt2sas got merged into mpt3sas in the newer kernels like 4.4 of 918+

Ok, it`s not a "wrong mptXsas driver" issue as I thought. And now I`ve lost the hope to fix this error )
 

В 14.12.2020 в 03:17, IG-88 сказал:

if you dont need newer drivers you can try the extra/extra2 from the 1.04b loader

Will try to use that advice

 

I have to add, that I see all I need using smartctl  in DS918+ terminal
 

2020-12-15_03-52-45.thumb.png.e4e7074d2ce3ebdf6eea3dc464f71b5b.png

I know 44-45C is hot! Will definitely do smth about it )

2020-12-15_03-43-25.thumb.png.e4adb1a269c1414471f563504cd67b2e.png

 

В 14.12.2020 в 03:17, IG-88 сказал:

switch the gui to english before taking screenshots, also take some more screenspace

2020-12-15_03-59-11.thumb.png.d049676a13bad7f74ca724923227b599.png

It was a screenshot of "Health info" from Storage Manager.

Edited by Outrullers
Link to post
Share on other sites
22 hours ago, Outrullers said:

It was a screenshot of "Health info" from Storage Manager.

you view in hdd/ssd was different the default, i never changed that view (upper right corner)

it did wok with a 500GB 2.5" disk last time but a also added a HGST 4TB 3.5" spare disk just to see if thats different but it work too, health info opens and smart test can be started and there are smart values, device is the dame as yours (primary pci vid:pid) only the sub id's are different

thats my controllers:

0000:04:00.0 Class 0107: Device 1000:0072 (rev 03)
        Subsystem: Device 1000:3020
        Kernel driver in use: mpt3sas

0000:04:00.0 Class 0107: Device 1000:0072 (rev 03)
        Subsystem: Device 1000:0072
        Kernel driver in use: mpt3sas

one controller has Fw19 the other Fw20

mpt2sas_cm0: LSISAS2008: FWVersion(19.00.00.00), ChipRevision(0x03), BiosVersion(07.37.00.00)

mpt2sas_cm0: LSISAS2008: FWVersion(20.00.07.00), ChipRevision(0x03), BiosVersion(07.39.02.00)

 

same results with jun's original extra/extra2

your two controllers have sub id's from dell and hpe, but that should not make a difference (mine in generic, vendor sub id 1000)

sorry i can't reproduce that here, only thing i can suggest is to check the extra/extra2.lzma

maybe delete everything in /lib/modules/update and reboot, all drivers should be copied from the loader on next boot

 

image.thumb.png.010d868a1ef50004a3299f4a477b47e1.png

Link to post
Share on other sites
10 часов назад, IG-88 сказал:

same results with jun's original extra/extra2

...
only thing i can suggest is to check the extra/extra2.lzma

maybe delete everything in /lib/modules/update and reboot, all drivers should be copied from the loader on next boot

Thank you, will try that too

It is strange, that smartctl is able to see SMART etc., but DSM is not displaying this info in Storage Manager.

 

My dmesg, just for reference:

root@NASMICRO:~# cat /var/log/dmesg | grep mpt
[Mon Dec 14 15:16:12 2020] Preemptible hierarchical RCU implementation.
[Mon Dec 14 15:16:17 2020] mptctl: Registered with Fusion MPT base driver
[Mon Dec 14 15:16:17 2020] mptctl: /dev/mptctl @ (major,minor=10,220)
[Mon Dec 14 15:16:17 2020] mpt3sas version 09.102.00.00 loaded
[Mon Dec 14 15:16:17 2020] mpt2sas_cm0: 64 BIT PCI BUS DMA ADDRESSING SUPPORTED, total mem (15990704 kB)
[Mon Dec 14 15:16:17 2020] mpt2sas_cm0: MSI-X vectors supported: 1, no of cores: 4, max_msix_vectors: -1
[Mon Dec 14 15:16:17 2020] mpt2sas0-msix0: PCI-MSI-X enabled: IRQ 132
[Mon Dec 14 15:16:17 2020] mpt2sas_cm0: iomem(0x00000000a1240000), mapped(0xffffc900002a0000), size(65536)
[Mon Dec 14 15:16:17 2020] mpt2sas_cm0: ioport(0x0000000000004000), size(256)
[Mon Dec 14 15:16:17 2020] mpt2sas_cm0: Allocated physical memory: size(7445 kB)
[Mon Dec 14 15:16:17 2020] mpt2sas_cm0: Current Controller Queue Depth(3307),Max Controller Queue Depth(3432)
[Mon Dec 14 15:16:17 2020] mpt2sas_cm0: Scatter Gather Elements per IO(128)
[Mon Dec 14 15:16:17 2020] mpt2sas_cm0: LSISAS2008: FWVersion(20.00.07.00), ChipRevision(0x03), BiosVersion(07.39.02.00)
[Mon Dec 14 15:16:17 2020] mpt2sas_cm0: Protocol=(
[Mon Dec 14 15:16:17 2020] mpt2sas_cm0: sending port enable !!
[Mon Dec 14 15:16:18 2020] Got empty serial number. Generate serial number from product.
[Mon Dec 14 15:16:19 2020] mpt2sas_cm0: host_add: handle(0x0001), sas_addr(0x590b11c02e3f2e00), phys(8)
[Mon Dec 14 15:16:26 2020] mpt2sas_cm0: port enable: SUCCESS

 

Edited by Outrullers
Link to post
Share on other sites
6 hours ago, Outrullers said:

It is strange, that smartctl is able to see SMART etc., but DSM is not displaying this info in Storage Manager.

the only way to reproduce what was seen on your system was to use the later versions of the extra/extra2 (like 0.13.3) where all files where renewed with fresh compiled ones from synologys recent kernel source that would not crash raid sets with disk hibernation

image.thumb.png.74bf25607b5e089db1c9499aff455bb7.png

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.

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.