Jump to content
XPEnology Community

TBS DVB DRIVERS


JMRR

Recommended Posts

Following the other thread about all steps to compile from source, i compiled the modules for tbs cards( and some others), and decided to share them.

 

This drivers compiled on XPE:5592(there are some versions of XPEnoboot that dvb doesent work) and DSM:5.2-5592 Update 4

 

Tbs drivers come in 3 options:

- closed source drivers compiled in dvb-t/s mode;

- closed source drivers compiled in dvb-c mode;

- open source drivers , ljalves tree, now forked to tbs from 01/07/2016.

 

Download link:

https://www.dropbox.com/sh/31nkgy8ybcj8 ... gpqCa?dl=0

 

To make the card work(Closed Source Drivers):

- 1º - know the mode of the card you have

( dvb-c/t/s, the easy part);

 

- 2º - know the modules that you card need to work;

(look for your card on wiki, and look for modules and dependencies, or if you have instaled on any linux distro just do lsmod)

 

- 3º - copy all modules you need to /lib/modules/backports_dvb;

(chmod 755 *.ko, i dont think you need, but just in case...)

 

- 4º - make the modules load at startup;

(see next post)

Edited by Guest
Link to comment
Share on other sites

To load modules at startup you have 2 options:

 

By a script, this one is may as exemple, placed in /usr/local/etc/rc.d/S10modules.sh

#!/bin/sh
# Original script has been written by Davy Leggieri (hey another French guy 
# Modified by Charles-Henri Hallard on April 2012 to fit with my configuration
#
MODULES_DIR="/lib/modules/backports_dvb"
MODULES_START1="dvb-core.ko rc-core.ko stv090x.ko tbs6982fe.ko tbs6680fe.ko tbs6923fe.ko tbs6985se.ko tbs6928se.ko tbs6982se.ko tbs6991fe.ko tbs6618fe.ko tbs6983fe.ko tbs6922fe.ko tbs6928fe.ko tbs6991se.ko tbs6290fe.ko tbs62x1fe.ko saa716x_core.ko"
MODULES_START2="saa716x_tbs-dvb.ko"
MODULES_STOP="saa716x_tbs-dvb.ko saa716x_core.ko tbs62x1fe.ko tbs6290fe.ko tbs6991se.ko tbs6928fe.ko tbs6922fe.ko tbs6983fe.ko tbs6618fe.ko tbs6991fe.ko tbs6982se.ko tbs6928se.ko tbs6985se.ko tbs6923fe.ko tbs6680fe.ko tbs6982fe.ko stv090x.ko rc-core.ko dvb-core.ko"

start_modules1(){
       echo "--- Load modules phase1 ---"
       for i in $MODULES_START1; do
               echo "Loading $i"
               insmod $MODULES_DIR/$i
       done
}
start_modules2(){
       echo "--- Load modules phase2 ---"
for i in $MODULES_START2; do
       	echo "Loading saa716x_budget.ko"
       	insmod $MODULES_DIR/$i int_type=1
       done
}

stop_modules(){
       echo "--- Unload modules ---"
       for i in $MODULES_STOP; do
               echo "Unloading $i"
               rmmod $MODULES_DIR/$i
       done
}

case "$1" in
start)
       start_modules1
start_modules2
       ;;
stop)
       stop_modules
       ;;
*)
       echo "usage: $0 { start | stop }" >&2
       exit 1
       ;;
esac

this is an exemple to a tbs6281, the modules have to be loaded in correct order to meet dependencies, and unload in reverse order.

actualy several of this modules, my card doesent use, but saa716x_tbs-dvb.ko has them as dependencies.

you can look for dependencies by running

modinfo modulename.ko

just reboot and thats it.

load modules this way is better if you upgrade you DSM, the script will not be touched, but this modules only load after the packages startup, so any pvr will start and no device is available, you have to stop/start the package at every reboot.

 

the second way is to edit /etc/rc.local and add the commands:

insmod  /lib/modules/backports_dvb/dvb-core.ko 
insmod  /lib/modules/backports_dvb/rc-core.ko
insmod  /lib/modules/backports_dvb/stv090x.ko
insmod  /lib/modules/backports_dvb/tbs6982fe.ko
insmod  /lib/modules/backports_dvb/tbs6680fe.ko
insmod  /lib/modules/backports_dvb/tbs6923fe.ko
insmod  /lib/modules/backports_dvb/tbs6985se.ko
insmod  /lib/modules/backports_dvb/tbs6928se.ko
insmod  /lib/modules/backports_dvb/tbs6982se.ko
insmod  /lib/modules/backports_dvb/tbs6991fe.ko
insmod  /lib/modules/backports_dvb/tbs6618fe.ko
insmod  /lib/modules/backports_dvb/tbs6983fe.ko
insmod  /lib/modules/backports_dvb/tbs6922fe.ko
insmod  /lib/modules/backports_dvb/tbs6928fe.ko
insmod  /lib/modules/backports_dvb/tbs6991se.ko
insmod  /lib/modules/backports_dvb/tbs6290fe.ko
insmod  /lib/modules/backports_dvb/tbs62x1fe.ko
insmod  /lib/modules/backports_dvb/saa716x_core.ko
insmod  /lib/modules/backports_dvb/saa716x_tbs-dvb.ko int_type=1

 

this way the modules will load before the packages startup, but at every DSM update you have to edit this file again.

this is the way i prefeer.

 

again, this exemple is the way i use for my card, you have to know the modules you need for you card, the right order to load, and all dependencies you need.

Link to comment
Share on other sites

Hi,

 

Thank you for your tutorial.

 

I followed your steps and I don't know what to do at step 2, please help.

 

I installed latest TBS driver from http://www.tbsdtv.com/download/document ... 160630.zip

for my TBS 5881 usb tuner on DVB-T mode on Ubuntu and when I run lsmod I get this :

 

root@ubuntu14:/home/marcus# lsmod
Module                  Size  Used by
ipt_MASQUERADE         16384  3
nf_nat_masquerade_ipv4    16384  1 ipt_MASQUERADE
iptable_nat            16384  1
nf_nat_ipv4            16384  1 iptable_nat
nf_nat                 24576  2 nf_nat_ipv4,nf_nat_masquerade_ipv4
nf_conntrack_ipv4      16384  2
nf_defrag_ipv4         16384  1 nf_conntrack_ipv4
xt_conntrack           16384  1
nf_conntrack          106496  5 nf_nat,nf_nat_ipv4,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_ipv4
ipt_REJECT             16384  2
nf_reject_ipv4         16384  1 ipt_REJECT
xt_CHECKSUM            16384  1
iptable_mangle         16384  1
xt_tcpudp              16384  6
bridge                114688  0
stp                    16384  1 bridge
llc                    16384  2 stp,bridge
ip6table_filter        16384  0
ip6_tables             28672  1 ip6table_filter
iptable_filter         16384  1
ip_tables              28672  3 iptable_filter,iptable_mangle,iptable_nat
ebtable_nat            16384  0
ebtables               36864  1 ebtable_nat
x_tables               36864  11 ip6table_filter,xt_CHECKSUM,ip_tables,xt_tcpudp,ipt_MASQUERADE,xt_conntrack,iptable_filter,ebtables,ipt_REJECT,iptable_mangle,ip6_tables
tbs5881fe              53248  1
ir_lirc_codec          16384  0
ppdev                  20480  0
lirc_dev               20480  1 ir_lirc_codec
ir_mce_kbd_decoder     16384  0
ir_sony_decoder        16384  0
ir_jvc_decoder         16384  0
coretemp               16384  0
ir_rc6_decoder         16384  0
vmw_balloon            16384  0
dvb_usb_tbs5881        24576  1
ir_rc5_decoder         16384  0
dvb_usb                28672  1 dvb_usb_tbs5881
crct10dif_pclmul       16384  0
dvb_core              106496  2 dvb_usb,dvb_usb_tbs5881
ir_nec_decoder         16384  0
crc32_pclmul           16384  0
rc_core                28672  8 ir_lirc_codec,ir_rc5_decoder,dvb_usb,ir_nec_decoder,ir_sony_decoder,ir_mce_kbd_decoder,ir_jvc_decoder,ir_rc6_decoder
joydev                 20480  0
vmwgfx                172032  1
input_leds             16384  0
cryptd                 20480  0
serio_raw              16384  0
ttm                    94208  1 vmwgfx
8250_fintek            16384  0
drm_kms_helper        126976  1 vmwgfx
drm                   360448  4 ttm,drm_kms_helper,vmwgfx
shpchp                 36864  0
vmw_vmci               65536  0
i2c_piix4              24576  0
parport_pc             32768  0
mac_hid                16384  0
lp                     20480  0
parport                49152  3 lp,ppdev,parport_pc
hid_generic            16384  0
usbhid                 49152  0
hid                   118784  2 hid_generic,usbhid
psmouse               126976  0
mptspi                 24576  2
mptscsih               40960  1 mptspi
mptbase                98304  2 mptspi,mptscsih
vmxnet3                49152  0
scsi_transport_spi     32768  1 mptspi
pata_acpi              16384  0

 

I don't know which modules to copy because there are only 2 for TBS5881 and I don't see the others which needed to copy as you showed in your example :

saa716x_tbs-dvb.ko 
saa716x_core.ko 
tbs62x1fe.ko (this one is the one related to my card, others are dvb-core.ko dependences)
tbs6290fe.ko 
tbs6991se.ko 
tbs6928fe.ko 
tbs6922fe.ko 
tbs6983fe.ko 
tbs6618fe.ko 
tbs6991fe.ko 
tbs6982se.ko 
tbs6928se.ko 
tbs6985se.ko 
tbs6923fe.ko
tbs6680fe.ko 
tbs6982fe.ko 
stv090x.ko 
rc-core.ko 
dvb-core.ko

 

Thank you!

Link to comment
Share on other sites

Hi snake2005

 

that exemple is for my card, from youre lsmod the modules you just need on /lib/modules/backports_dvb are:

 

    tbs5881fe              53248  1
   ir_lirc_codec          16384  0
   lirc_dev               20480  1 ir_lirc_codec
   ir_mce_kbd_decoder     16384  0
   ir_sony_decoder        16384  0
   ir_jvc_decoder         16384  0
   ir_rc6_decoder         16384  0   
   dvb_usb_tbs5881        24576  1
   ir_rc5_decoder         16384  0
   dvb_usb                28672  1 dvb_usb_tbs5881
   dvb_core              106496  2 dvb_usb,dvb_usb_tbs5881
   ir_nec_decoder         16384  0
   rc_core                28672  8 ir_lirc_codec,ir_rc5_decoder,dvb_usb,ir_nec_decoder,ir_sony_decoder,ir_mce_kbd_decoder,ir_jvc_decoder,ir_rc6_decoder

 

loaded on this order.

my sugestion e copy them to /lib/modules/backports_dvb, and the load manualu one by one to see if anny gets an error, like this.

 

	insmod tbs5881fe.ko 
   insmod ir-lirc-codec.ko 
   insmod lirc-dev.ko 
   insmod ir-mce-kbd-decoder.ko   
   insmod ir-sony-decoder.ko
   insmod ir-jvc-decoder.ko   
   insmod ir-rc6-decoder.ko    
   insmod dvb-usb-tbs5881.ko     
   insmod ir-rc5-decoder.ko     
   insmod dvb-usb.ko          
   insmod dvb-core.ko          
   insmod ir-nec-decoder.ko     
   insmod rc-core.ko     

 

 

 

if works choose the way you want to get them to load automaticly

Link to comment
Share on other sites

I've tried to run one by one as you said :

 

insmod tbs5881fe.ko 
   insmod ir-lirc-codec.ko 
   insmod lirc-dev.ko 
   insmod ir-mce-kbd-decoder.ko   
   insmod ir-sony-decoder.ko
   insmod ir-jvc-decoder.ko   
   insmod ir-rc6-decoder.ko    
   insmod dvb-usb-tbs5881.ko     
   insmod ir-rc5-decoder.ko     
   insmod dvb-usb.ko          
   insmod dvb-core.ko          
   insmod ir-nec-decoder.ko     
   insmod rc-core.ko     

 

 

but I get this message for all modules for example :

 

Synology> insmod  /lib/modules/backports_dvb/tbs5881fe.ko
insmod: can't insert 'tbs5881fe.ko': invalid module format

Link to comment
Share on other sites

I have :

 

DSM: DSM 5.2-5644 Update 5

Synology> uname -a
Linux Synology 3.10.35 #1 SMP Tue Feb 2 17:44:24 CET 2016 x86_64 GNU/Linux synology_bromolow_3615xs

 

XPEnoboot DS3615xs5.2-5644.5

 

The drivers are installed on Ubuntu

Linux ubuntu14 4.2.0-27-generic #32~14.04.1-Ubuntu SMP Fri Jan 22 15:32:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Link to comment
Share on other sites

after I run dmesg I get this :

[  383.780270] tbs5881fe: version magic '4.2.0-27-generic SMP mod_unload modversions ' should be '3.10.35 SMP mod_unload '
[ 1062.014102] dvb_usb_tbs5881: version magic '4.2.0-27-generic SMP mod_unload modversions ' should be '3.10.35 SMP mod_unload '
[ 1103.519260] ir_lirc_codec: version magic '4.2.0-27-generic SMP mod_unload modversions ' should be '3.10.35 SMP mod_unload '
[ 1130.125424] lirc_dev: version magic '4.2.0-27-generic SMP mod_unload modversions ' should be '3.10.35 SMP mod_unload '
[ 1146.017437] ir_mce_kbd_decoder: version magic '4.2.0-27-generic SMP mod_unload modversions ' should be '3.10.35 SMP mod_unload '

 

I think it is something with the ubuntu version ?

Any clues ?

Link to comment
Share on other sites

No.

I've told you earlier I get errors when I run insmod for all modules like for example :

Synology> insmod  tbs5881fe.ko
insmod: can't insert 'tbs5881fe.ko': invalid module format  

 

then I run dmesg to see what happened and I get this :

 

Synology> dmesg
   [  383.780270] tbs5881fe: version magic '4.2.0-27-generic SMP mod_unload modversions ' should be '3.10.35 SMP mod_unload '
   [ 1062.014102] dvb_usb_tbs5881: version magic '4.2.0-27-generic SMP mod_unload modversions ' should be '3.10.35 SMP mod_unload '
   [ 1103.519260] ir_lirc_codec: version magic '4.2.0-27-generic SMP mod_unload modversions ' should be '3.10.35 SMP mod_unload '
   [ 1130.125424] lirc_dev: version magic '4.2.0-27-generic SMP mod_unload modversions ' should be '3.10.35 SMP mod_unload '
   [ 1146.017437] ir_mce_kbd_decoder: version magic '4.2.0-27-generic SMP mod_unload modversions ' should be '3.10.35 SMP mod_unload '

 

I think I need to install ubuntu with kernel version 3.10.35 on a separate machine again because I'm running kernel 4.2.0-27-generic and as seen on dmesg on xpenology the 3.10.35 is the current linux kernel running on xpenology, and then redo all steps .

I hope this method will fix the invalid module format errors.

Link to comment
Share on other sites

I tried your modules but no success, here is dmesg :

 

[ 8868.903085] dvb_usb_tbs5881: Unknown symbol dvb_ca_en50221_init (err 0)
[ 8868.903129] dvb_usb_tbs5881: Unknown symbol dvb_ca_en50221_release (err 0)
[ 8868.903168] dvb_usb_tbs5881: Unknown symbol dvb_usb_device_init (err 0)
[ 8868.903184] dvb_usb_tbs5881: Unknown symbol dvb_usb_device_exit (err 0)
[ 9308.665780] ir_lirc_codec: Unknown symbol lirc_unregister_driver (err 0)
[ 9308.665802] ir_lirc_codec: Unknown symbol lirc_dev_fop_poll (err 0)
[ 9308.665872] ir_lirc_codec: Unknown symbol rc_core_debug (err 0)
[ 9308.665889] ir_lirc_codec: Unknown symbol lirc_dev_fop_open (err 0)
[ 9308.665929] ir_lirc_codec: Unknown symbol lirc_get_pdata (err 0)
[ 9308.665949] ir_lirc_codec: Unknown symbol lirc_dev_fop_close (err 0)
[ 9308.665967] ir_lirc_codec: Unknown symbol lirc_dev_fop_read (err 0)
[ 9308.665983] ir_lirc_codec: Unknown symbol lirc_register_driver (err 0)
[ 9308.666014] ir_lirc_codec: Unknown symbol ir_raw_handler_register (err 0)
[ 9308.666030] ir_lirc_codec: Unknown symbol lirc_dev_fop_ioctl (err 0)
[ 9308.666050] ir_lirc_codec: Unknown symbol ir_raw_handler_unregister (err 0)
[ 9560.292495] lirc_dev: IR Remote Control driver registered, major 248
[ 9580.210023] ir_mce_kbd_decoder: Unknown symbol rc_core_debug (err 0)
[ 9580.210060] ir_mce_kbd_decoder: Unknown symbol ir_raw_handler_register (err 0                                                                             )
[ 9580.210081] ir_mce_kbd_decoder: Unknown symbol ir_raw_handler_unregister (err                                                                              0)
[ 9588.082972] ir_sony_decoder: Unknown symbol rc_core_debug (err 0)
[ 9588.082997] ir_sony_decoder: Unknown symbol rc_keydown (err 0)
[ 9588.083022] ir_sony_decoder: Unknown symbol ir_raw_handler_register (err 0)
[ 9588.083041] ir_sony_decoder: Unknown symbol ir_raw_handler_unregister (err 0)
[ 9605.174033] ir_jvc_decoder: Unknown symbol rc_repeat (err 0)
[ 9605.174064] ir_jvc_decoder: Unknown symbol rc_core_debug (err 0)
[ 9605.174093] ir_jvc_decoder: Unknown symbol rc_keydown (err 0)
[ 9605.174124] ir_jvc_decoder: Unknown symbol ir_raw_handler_register (err 0)
[ 9605.174148] ir_jvc_decoder: Unknown symbol ir_raw_handler_unregister (err 0)
[ 9617.043495] ir_rc6_decoder: Unknown symbol rc_core_debug (err 0)
[ 9617.043543] ir_rc6_decoder: Unknown symbol rc_keydown (err 0)
[ 9617.043589] ir_rc6_decoder: Unknown symbol ir_raw_handler_register (err 0)
[ 9617.043625] ir_rc6_decoder: Unknown symbol ir_raw_handler_unregister (err 0)
[ 9636.570295] dvb_usb_tbs5881: Unknown symbol dvb_ca_en50221_init (err 0)
[ 9636.570364] dvb_usb_tbs5881: Unknown symbol dvb_ca_en50221_release (err 0)
[ 9636.570404] dvb_usb_tbs5881: Unknown symbol dvb_usb_device_init (err 0)
[ 9636.570420] dvb_usb_tbs5881: Unknown symbol dvb_usb_device_exit (err 0)
[ 9663.463117] ir_rc5_decoder: Unknown symbol rc_core_debug (err 0)
[ 9663.463140] ir_rc5_decoder: Unknown symbol rc_keydown (err 0)
[ 9663.463164] ir_rc5_decoder: Unknown symbol ir_raw_handler_register (err 0)
[ 9663.463182] ir_rc5_decoder: Unknown symbol ir_raw_handler_unregister (err 0)
[ 9676.158870] dvb_usb: Unknown symbol dvb_dmxdev_init (err 0)
[ 9676.158989] dvb_usb: Unknown symbol dvb_register_adapter (err 0)
[ 9676.159051] dvb_usb: Unknown symbol dvb_dmx_swfilter_204 (err 0)
[ 9676.159075] dvb_usb: Unknown symbol dvb_dmx_release (err 0)
[ 9676.159110] dvb_usb: Unknown symbol rc_register_device (err 0)
[ 9676.159142] dvb_usb: Unknown symbol dvb_net_init (err 0)
[ 9676.159163] dvb_usb: Unknown symbol dvb_dmx_swfilter (err 0)
[ 9676.159187] dvb_usb: Unknown symbol dvb_dmxdev_release (err 0)
[ 9676.159209] dvb_usb: Unknown symbol rc_free_device (err 0)
[ 9676.159231] dvb_usb: Unknown symbol dvb_frontend_detach (err 0)
[ 9676.159251] dvb_usb: Unknown symbol dvb_net_release (err 0)
[ 9676.159270] dvb_usb: Unknown symbol rc_allocate_device (err 0)
[ 9676.159293] dvb_usb: Unknown symbol dvb_unregister_frontend (err 0)
[ 9676.159320] dvb_usb: Unknown symbol dvb_register_frontend (err 0)
[ 9676.159338] dvb_usb: Unknown symbol dvb_unregister_adapter (err 0)
[ 9676.159390] dvb_usb: Unknown symbol dvb_dmx_init (err 0)
[ 9676.159417] dvb_usb: Unknown symbol rc_unregister_device (err 0)
[ 9685.602488] TBS version 160405
[ 9697.333382] ir_nec_decoder: Unknown symbol rc_repeat (err 0)
[ 9697.333404] ir_nec_decoder: Unknown symbol rc_core_debug (err 0)
[ 9697.333425] ir_nec_decoder: Unknown symbol rc_keydown (err 0)
[ 9697.333449] ir_nec_decoder: Unknown symbol ir_raw_handler_register (err 0)
[ 9697.333466] ir_nec_decoder: Unknown symbol ir_raw_handler_unregister (err 0)

 

i will wait for newer version .

 

thanks again for your support.

Link to comment
Share on other sites

i think tbs usb is supported by dvblink, you could try to install that package from synology, the inside dvblink install dvb drivers(another package, but instaled from dvblink, its free i think).

 

http://dvblogic.com/en/dvblink/

 

http://dvblogic.com/wiki/index.php/How_ ... age_Center

 

it will load modules to your synology. maybe that way will work.

Link to comment
Share on other sites

I have dvblink with license installed with dvblink tvbutler tuner and it works, but there are only a few TBS tuners that are accepted and works with dvblink ( TBS5922 DVB-S2 TV Tuner USB (DVB-S/S2) ,TBS 5980 CI (DVB-S/S2), TBS 5680 CI (DVB-C), TBS DVB-C USB stick) and unfortunately TBS5881 is not supported and will not be supported by dvblink.

Edited by Guest
Link to comment
Share on other sites

  • 2 weeks later...

I was able to fire TBS6981 on xpenology: DSM 5.2-5644 Update 5

@JMRR Super will be as you manage to do a driver for DSM 6.0

The order of loaded files:

MODULES_START1="dvb-core.ko rc-core.ko tbs6981fe.ko v4l2-int-device.ko v4l2-compat-ioctl32.ko videodev.ko v4l2-common.ko tveeprom.ko cx2341x.ko videobuf-core.ko videobuf-dma-contig.ko videobuf-dma-sg.ko videobuf-dvb.ko videobuf-vmalloc.ko btcx-risc.ko cx23885.ko"

 

The controllers are connected to the DVB-C and DVB-S.

In this form of work.

Link: https://www.dropbox.com/sh/5ozj6rcfz903 ... ZQAKa?dl=0

 

Thank you for the execution of a piece of work.

Link to comment
Share on other sites

  • 2 weeks later...

Hi,

 

I have a new system and I have DSM 5.2-5592 Update 4.

I insmod all modules in the exact same order as you recommended me in previous posts and the modules are insmoded without any errors and when I start tvheadend the tuner is not shown, I tried also in DVBlink but the tuner is not shown as well.

Do you have any clue how to fix it ?

 

Thanks

Link to comment
Share on other sites

  • 4 weeks later...

For tbs 6281 you need this modules:

 

Open Source + Firmware

media.ko
dvb-core.ko
si2157.ko
si2168.ko
cx24117.ko
tas2101.ko
saa716x_core.ko
saa716x_budget.ko int_type=1

And for open Source to work you need firmware in /lib/firmware

wget http://www.tbsdtv.com/download/document/linux/dvb-fe-mxl5xx.fw
cp dvb-fe-mxl5xx.fw /lib/firmware/

 

 

if you prefer Close Source just need this modules(no firmware needed for this card)

Close Source

dvb-core.ko
rc-core.ko
stv090x.ko
tbs6982fe.ko
tbs6680fe.ko
tbs6923fe.ko
tbs6985se.ko
tbs6928se.ko
tbs6982se.ko
tbs6991fe.ko
tbs6618fe.ko
tbs6983fe.ko
tbs6922fe.ko
tbs6928fe.ko
tbs6991se.ko
tbs6290fe.ko
tbs62x1fe.ko
saa716x_core.ko
saa716x_tbs-dvb.ko int_type=1

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