Jump to content
XPEnology Community

i915.ko backported driver for intel 10th gen (DS918+ ver 7.0.1 up3)


Recommended Posts

17 hours ago, 2hame said:

i have a problem, videostation can not play hevc mkv video.

cat /sys/kernel/debug/dri/0/i915_frequency_info
Killed.

dmesg.txt 69.41 kB · 1 download messages.txt 5.58 kB · 2 downloads

Videostation doesn’t work in general as it has its own set of drivers it uses. Most people use plex or jellyfin 

Link to comment
Share on other sites

On 12/19/2022 at 3:11 PM, gericb said:

I THOUGHT the only way the networking would actually function at all, was the TCRP encoded MAC address HAD to match the ACTUAL hardware MAC address of what your motherboard or add-in ethernet port had.

 

This is not a requirement on any OS or any device for that matter. It is trivial to fake one's MAC address.

 

In Linux you can do it with ifconfig. In Windows, there used to be tools for this, but it just a registry thing from what I remember. Some LAN cards even have the option to set a custom MAC in the Hardware Properties page in Device Manger. On iOS & macOS, the OS does it automatically when the option is enabled for privacy reasons.

Edited by Jseinfeld
Link to comment
Share on other sites

12 hours ago, Jseinfeld said:

 

This is not a requirement on any OS or any device for that matter. It is trivial to fake one's MAC address.

 

In Linux you can do it with ifconfig. In Windows, there used to be tools for this, but it just a registry thing from what I remember. Some LAN cards even have the option to set a custom MAC in the Hardware Properties page in Device Manger. On iOS & macOS, the OS does it automatically when the option is enabled for privacy reasons.

Oddly enough, I am totally aware of this technical detail, MAC address spoofing and things like "Private Wi-FI" and yes, even some cards having that ability to create a custom MAC.  

 

Given the nature of the very developer de-centralized, endless topic threads, I never saw anything to imply this "Real" to Real MAC address translation/spoofing was going on, always just assumed you had to have real or generated SN and it all always relied on the real MAC address of the ethernet/add-in cards of the motherboard, going all the way back to DSM 5 when I started using this collection of great works.  Even Jun's loader which I had been using on DSM 6, no obvious mention that I could ever find that you could actually use a real Synology MAC address in ones build.  

 

Of course things like trying to get the Transcoding to work with out real SN/MAC, in my mind was just further, albeit incorrect, confirmation of the aforementioned point.   I appreciate the guides and tutorials that many have created here, but sans copius hours to potentially read through hundreds+ threads and feedback, it's definitely a big virtual onion, could certainly use a bit of tightening and clean-up, with semi-regular updates to better streamline for all. 🙃

 

So I appreciate your direct confirmation of this point, since I could never find definitive evidence of!  Thank You

Link to comment
Share on other sites

  • 1 month later...
On 7/21/2022 at 6:36 PM, D_G_B said:

Just to add to my previous post...

 

I checked out the repost of the drivers by @blackmanga a few days ago... The ds920 files now have stripped versions available. My previous method of updating the modules archive with dummy files was due to the unstripped drivers being too large to be embedded into the loader. With the stripped drivers now available, they can be embedded into the modules archive.

 

To add the real drivers into the modules archive, do the following

1) before you boot your machine into ARPL, prepare a FAT formatted USB stick with the drivers:

      a) Download the i915_920_7.0_stripped.7z from the link posted by @blackmanga is post #109 of this thread

      b) extract the files to the root of a FAT formatted USB stick

      c) eject the USB stick

2) On the machine you have booted with your ARPL USB stick, change directory to the modules directory:

      cd /mnt/p3/modules

3) extract the modules from the geminilake archive:

      mkdir tmp;gunzip geminilake-4.4.180.tgz|tar -C ./tmp -xf -
4) copy the drivers onto the ARPL machine

      a) Insert the FAT formatted USB stick with the drivers

      b) determine the device identifier for the USB stick FAT partition:

            dmesg|grep -e '  sd';tail -n1

         The line of output will contain the identifier for the usb stick - IE: "[ 2679.003829]   sdc: sdc1" would mean the device identifier is sdc1

      c) mount the USB stick FAT partition:

            mkdir /mnt/drivers; mount /dev/sdc1 /mnt/drivers

         note: replace "sdc1" with the identifier you determined in step b

      d) copy the drivers onto the ARPL USB stick

      cd ./tmp; cp /mnt/drivers/*.ko .

5) create the new modules archive and replace the original archive:

      tar -cf ../drivers.tar *; cd ..; gzip drivers.tar; rm geminilake-4.4.180.tgz; mv drivers.tar.gz geminilake-4.4.180.tgz

7) clean up and return to the ARPL directory:

      rm -rf ./tmp/;  umount /dev/sdc1; rm -rf /mnt/drivers; cd /opt/arpl/

   Note: replace "sdc1" with the identifier you determined in step 4)b

 

Then complete the build steps is the previous post.

 

Note: remove the drivers USB stick before booting your updated loader

 

 

After the loader is updated, it is possible (with an edit to the /opt/arpl/model-configs/DVA1622+.yml file to remove the blanked out update server addresses) to install DSM completely from the xpenology machine... The first boot of the loader will take several minutes, then display a message to 'plug in a keyboard on DVA1622 and press "Enter" to install surveillance station'... Press enter... It will then say "the local installation will take about 6 minutes. Do not shut down your device"... It is not accurate... It will may take more or less than 6 minutes... let it do it's thing and eventually the screen will go blank for a bit and the machine will reboot... the reboot will bring up the DVA1622 splash screen for several minutes and then display the local installation screen... It will take much longer than 6 minutes... leave it be and let it complete the installation... Eventually, the "Welcome to DSM 7.1" screen will appear, and you can complete the DSM installation. It will ask for the device name, username and password, then load the local DSM Surveillance Station desktop.

 

To edit the configuration file to allow for standalone installation:

1) Exit the ARPL menu

2) Edit the model configuration file:

      nano /opt/arpl/model-config/DVA1622+.yml

3) delete all lines (Ctrl+k) in the [synoinfo] section EXCEPT the line that starts with "buzzeroffen"

4) Save the file using (CTRL+x). Press "y" when asked if you want to save the buffer.

5) run ./menu.sh

6) rebuild the loader

 

 

 

Hi, after do all that step i still have issue with no /dev/dri on DVA1622.

 

Also i have error when build:
Patching Ramdiskawk: cmd. line:1: Unexpected end of string
/opt/arpl/ramdisk-patch.sh: line 20: [: -le: unary operator expected
............
 

Edited by Bullseye
Link to comment
Share on other sites

GPU loc:
0000:00:02.0 Class 0300: Device 8086:4e61 (rev 01)

 

[code] lspci -tvnnq
-+-[0001:01]---00.0  Marvell Technology Group Ltd. 88SE9235 PCIe 2.0 x2 4-port SATA 6 Gb/s Controller [1b4b:9235]
 \-[0000:00]-+-00.0  Intel Corporation Device [8086:4e24]
             +-02.0  Intel Corporation JasperLake [UHD Graphics] [8086:4e61]
             +-04.0  Intel Corporation Dynamic Tuning service [8086:4e03]
             +-08.0  Intel Corporation Device [8086:4e11]
             +-14.0  Intel Corporation Device [8086:4ded]
             +-14.2  Intel Corporation Device [8086:4def]
             +-15.0  Intel Corporation Serial IO I2C Host Controller [8086:4de8]
             +-16.0  Intel Corporation Management Engine Interface [8086:4de0]
             +-17.0  Intel Corporation Device [8086:4dd3]
             +-1c.0-[01]----00.0  Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125]
             +-1c.1-[02]----00.0  Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125]
             +-1f.0  Intel Corporation Device [8086:4d87]
             +-1f.3  Intel Corporation Jasper Lake HD Audio [8086:4dc8]
             +-1f.4  Intel Corporation Jasper Lake SMBus [8086:4da3]
             \-1f.5  Intel Corporation Jasper Lake SPI Controller [8086:4da4][/code]

Edited by Bullseye
Link to comment
Share on other sites

  • 3 weeks later...

The backported driver along with firmwares work perfectly on DSM 7.1-42661 Update 4.

======Another story========

 

Tried to patch DSM 7.1.1-42962 Update 4 install on bare metal  Lenovo M70q:

 

Basic Information:

CPU: Intel® Core™ i5-10400T Processor
uname:4.4.180+
arpl loader
Model: DVA1622

 

 

messages:

2023-02-24T10:02:59-06:00 Synology29 kernel: [   46.132328] Module [i915] is removed. 
2023-02-24T10:02:59-06:00 Synology29 kernel: [   46.140222] Module [video] is removed. 
2023-02-24T10:02:59-06:00 Synology29 kernel: [   46.145655] Module [backlight] is removed. 
2023-02-24T10:02:59-06:00 Synology29 kernel: [   46.148968] Module [iosf_mbi] is removed. 
2023-02-24T10:02:59-06:00 Synology29 kernel: [   46.154443] Module [drm_kms_helper] is removed. 
2023-02-24T10:02:59-06:00 Synology29 kernel: [   46.159520] Module [drm] is removed. 
2023-02-24T10:02:59-06:00 Synology29 kernel: [   46.170715] Module [i2c_algo_bit] is removed. 
2023-02-24T10:02:59-06:00 Synology29 kernel: [   46.181565] Module [fb] is removed. 
2023-02-24T10:03:08-06:00 Synology29 coredump[15069]: Process synofaced[15066](/volume1/@appstore/SurveillanceStation/synoface/bin/synofaced) dumped core on signal [6]. Core file [/volume1/@synofaced.synology_geminilake_dva1622.42962.core.gz]. Cmdline [/var/packages/SurveillanceStation/target/synoface/bin/synofaced ]
2023-02-24T10:03:08-06:00 Synology29 coredump[15084]: Process synodvad[15075](/volume1/@appstore/SurveillanceStation/synodva/bin/synodvad) dumped core on signal [6]. Core file [/volume1/@synodvad.synology_geminilake_dva1622.42962.core.gz]. Cmdline [/var/packages/SurveillanceStation/target/synodva/bin/synodvad ]
2023-02-24T10:03:08-06:00 Synology29 coredump[15069]: Core file [/volume1/@synofaced.synology_geminilake_dva1622.42962.core.gz] size [5508129]
2023-02-24T10:03:08-06:00 Synology29 coredump[15084]: Core file [/volume1/@synodvad.synology_geminilake_dva1622.42962.core.gz] size [10817293]
2023-02-24T10:03:18-06:00 Synology29 coredump[15163]: Process synofaced[15160](/volume1/@appstore/SurveillanceStation/synoface/bin/synofaced) dumped core on signal [6]. Core file [/volume1/@synofaced.synology_geminilake_dva1622.42962.core.gz]. Cmdline [/var/packages/SurveillanceStation/target/synoface/bin/synofaced ]
2023-02-24T10:03:18-06:00 Synology29 coredump[15178]: Process synodvad[15166](/volume1/@appstore/SurveillanceStation/synodva/bin/synodvad) dumped core on signal [6]. Core file [/volume1/@synodvad.synology_geminilake_dva1622.42962.core.gz]. Cmdline [/var/packages/SurveillanceStation/target/synodva/bin/synodvad ]
2023-02-24T10:03:19-06:00 Synology29 coredump[15163]: Core file [/volume1/@synofaced.synology_geminilake_dva1622.42962.core.gz] size [5507645]
2023-02-24T10:03:19-06:00 Synology29 coredump[15178]: Core file [/volume1/@synodvad.synology_geminilake_dva1622.42962.core.gz] size [10817340]
2023-02-24T10:03:29-06:00 Synology29 coredump[15255]: Process synofaced[15252](/volume1/@appstore/SurveillanceStation/synoface/bin/synofaced) dumped core on signal [6]. Core file [/volume1/@synofaced.synology_geminilake_dva1622.42962.core.gz]. Cmdline [/var/packages/SurveillanceStation/target/synoface/bin/synofaced ]
2023-02-24T10:03:29-06:00 Synology29 coredump[15272]: Process synodvad[15256](/volume1/@appstore/SurveillanceStation/synodva/bin/synodvad) dumped core on signal [6]. Core file [/volume1/@synodvad.synology_geminilake_dva1622.42962.core.gz]. Cmdline [/var/packages/SurveillanceStation/target/synodva/bin/synodvad ]
2023-02-24T10:03:30-06:00 Synology29 coredump[15255]: Core file [/volume1/@synofaced.synology_geminilake_dva1622.42962.core.gz] size [5508157]
2023-02-24T10:03:30-06:00 Synology29 coredump[15272]: Core file [/volume1/@synodvad.synology_geminilake_dva1622.42962.core.gz] size [10817183]
2023-02-24T10:03:33-06:00 Synology29 kernel: [   54.444229] BUG: unable to handle kernel NULL pointer dereference at           (null)
2023-02-24T10:03:33-06:00 Synology29 kernel: [   54.444381] IP: [<          (null)>]           (null)
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.444491] PGD 0 
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.444578] Oops: 0010 [#1] SMP 
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.444630] Modules linked in: i915(E+) video(E) backlight(E) iosf_mbi(E) drm_kms_helper(E) drm(E) i2c_algo_bit(E) fb(E) snd_usb_audio snd_hwdep snd_usbmidi_lib snd_rawmidi snd_seq_device fuse 8021q vfat fat vhost_scsi(O) vhost(O) tcm_loop(O) iscsi_target_mod(O) target_core_user(O) target_core_ep(O) target_core_multi_file(O) target_core_file(O) target_core_iblock(O) target_core_mod(O) syno_extent_pool(PO) rodsp_ep(O) udf isofs synoacl_vfs(PO) btrfs ecryptfs zstd_decompress zstd_compress xxhash xor raid6_pq leds_lp3943 aesni_intel glue_helper lrw gf128mul ablk_helper geminilake_synobios(PO) usblp zram r8168(O) sg dm_snapshot dm_bufio crc_itu_t crc_ccitt psnap p8022 llc hfsplus md4 hmac sit tunnel4 ipv6 flashcache_syno(O) flashcache(O) syno_flashcache_control(O) dm_mod arc4 crc32c_intel cryptd ecb
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.445948]  aes_x86_64 authenc des_generic ansi_cprng cts md5 cbc cpufreq_powersave cpufreq_performance cpufreq_stats vxlan ip6_udp_tunnel udp_tunnel ip_tunnel loop sha256_generic synorbd(PO) synofsbd(PO) usb_storage hid_generic usbhid hid rtc_cmos(OE) e1000e(OE) etxhci_hcd acpi_cpufreq processor xhci_pci xhci_hcd uhci_hcd ehci_pci ehci_hcd usbcore usb_common snd_hda_intel snd_hda_codec_hdmi snd_hda_codec snd_hda_core snd_pcm snd_timer snd soundcore syscopyarea sysfillrect sysimgblt fb_sys_fops cfbfillrect cfbcopyarea cfbimgblt drm_panel_orientation_quirks fbdev button [last unloaded: fb]
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.446925] CPU: 0 PID: 15311 Comm: insmod Tainted: P           OE   4.4.180+ #42962
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.447067] Hardware name: LENOVO 11DUS3N000/316E, BIOS M2WKT54A 03/21/2022
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.447180] task: ffff88024699a940 ti: ffff88025a564000 task.ti: ffff88025a564000
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.447286] RIP: 0010:[<0000000000000000>]  [<          (null)>]           (null)
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.447439] RSP: 0018:ffff88025a5678a0  EFLAGS: 00010246
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.447515] RAX: ffff880249818040 RBX: ffff880248c73eb8 RCX: 0000000000000000
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.447658] RDX: 0000000000000000 RSI: ffff880249818300 RDI: ffff880249818040
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.447759] RBP: ffff88025a5678c8 R08: ffffffffa0ec9470 R09: ffff880249818040
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.447860] R10: 0000000000001000 R11: 00000000fffff000 R12: ffff880249818300
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.447975] R13: 0000000000000000 R14: ffff880248c73a18 R15: ffff880248c73e78
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.448077] FS:  00007fde7474c740(0000) GS:ffff88025c400000(0000) knlGS:0000000000000000
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.448222] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.448303] CR2: 0000000000000000 CR3: 0000000248c33000 CR4: 00000000003606f0
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.448404] Stack:
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.448435]  ffffffff812e12b1 ffff8802498182c0 0000000100000000 0000000000001000
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.448621]  0000000000000000 ffff88025a5678d8 ffffffffa0ec9878 ffff88025a567968
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.448764]  ffffffffa0ec9e3a ffff880248c73968 ffff8802498182c0 0000000000000000
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.448923] Call Trace:
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.448959]  [<ffffffff812e12b1>] ? __rb_insert_augmented+0xe1/0x1d0
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.449065]  [<ffffffffa0ec9878>] drm_mm_interval_tree_add_node+0xc8/0xe0 [drm]
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.449172]  [<ffffffffa0ec9e3a>] drm_mm_insert_node_in_range+0x23a/0x4a0 [drm]
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.449288]  [<ffffffffa0fa4d7f>] i915_gem_gtt_insert+0xaf/0x1b0 [i915]
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.449406]  [<ffffffffa0fba771>] __i915_vma_do_pin+0x381/0x490 [i915]
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.449505]  [<ffffffffa0fc29b2>] logical_render_ring_init+0x2f2/0x3b0 [i915]
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.449627]  [<ffffffffa0fc0e40>] ? gen8_init_rcs_context+0x50/0x50 [i915]
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.449747]  [<ffffffffa0fbcbcc>] intel_engines_init+0x4c/0xc0 [i915]
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.449844]  [<ffffffffa0fac5b3>] i915_gem_init+0x183/0x520 [i915]
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.449971]  [<ffffffffa1029b80>] ? intel_setup_gmbus+0x210/0x290 [i915]
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.450095]  [<ffffffffa0ec63ae>] ? drm_irq_install+0xbe/0x140 [drm]
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.450250]  [<ffffffffa0f6795d>] i915_driver_load+0xb6d/0x1660 [i915]
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.450364]  [<ffffffffa0f725b2>] i915_pci_probe+0x22/0x40 [i915]
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.450467]  [<ffffffff813207b0>] pci_device_probe+0x90/0x100
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.450561]  [<ffffffff813b5113>] driver_probe_device+0x1c3/0x280
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.450649]  [<ffffffff813b5249>] __driver_attach+0x79/0x80
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.450769]  [<ffffffff813b51d0>] ? driver_probe_device+0x280/0x280
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.450862]  [<ffffffff813b32e9>] bus_for_each_dev+0x69/0xa0
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.450943]  [<ffffffff813b4a59>] driver_attach+0x19/0x20
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.451034]  [<ffffffff813b46ac>] bus_add_driver+0x19c/0x1e0
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.451115]  [<ffffffffa10a1000>] ? 0xffffffffa10a1000
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.451217]  [<ffffffff813b59eb>] driver_register+0x6b/0xc0
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.451297]  [<ffffffff8131f251>] __pci_register_driver+0x41/0x50
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.451432]  [<ffffffffa10a1029>] i915_init+0x29/0x4a [i915]
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.451530]  [<ffffffff81000340>] do_one_initcall+0x80/0x130
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.451646]  [<ffffffff811616e9>] ? __vunmap+0x99/0xf0
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.451720]  [<ffffffff8116f9cd>] ? kfree+0x13d/0x160
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.451807]  [<ffffffff810bdb3b>] do_init_module+0x5b/0x1d0
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.451915]  [<ffffffff810bf914>] load_module+0x1be4/0x2080
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.451995]  [<ffffffff810bc7c0>] ? __symbol_put+0x40/0x40
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.452127]  [<ffffffff811899bc>] ? kernel_read+0x3c/0x50
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.452235]  [<ffffffff810bff6d>] SYSC_finit_module+0x7d/0xa0
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.452317]  [<ffffffff810bffa9>] SyS_finit_module+0x9/0x10
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.452411]  [<ffffffff8156c88a>] entry_SYSCALL_64_fastpath+0x1e/0x8e
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.452503] Code:  Bad RIP value.
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.452556] RIP  [<          (null)>]           (null)
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.452697]  RSP <ffff88025a5678a0>
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.452748] CR2: 0000000000000000
2023-02-24T10:03:35-06:00 Synology29 kernel: [   54.452827] ---[ end trace c121b82b6ce7e5f5 ]---

 

Questions:

1.Any idea what module is missing or the root cause of the issue?

 

Cheers. Thanks for the hardwork.

Link to comment
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.

×
×
  • Create New...