fa2k

QNAP auf eigener Hardware

Recommended Posts

Hello! Made a small model matching table:

 

TVS-682 QX760_QX770_13_13

TVS-882 QX760_QX780_10_10

TVS-882 QX761_QX780_12_12

TVS-882 QX761_QX780_13_12

TVS-682 QX762_QX770_12_13

TVS-682 QX762_QX770_13_13

TVS-882 QX763_QX780_12_12

TVS-882 QX763_QX780_13_12

TVS-1282 QX790_QX800_10_10

TVS-1282 QX790_QX800_12_11

TVS-1282 QX790_QX800_13_11

TVS-1282 QX791_QX800_12_11

TVS-1282 QX791_QX800_13_11

TVS-682 QZ010_QX770_13_13

TVS-682 QZ011_QX770_13_13

TVS-882 QZ020_QX780_13_12

TVS-882 QZ021_QX780_13_12

TVS-1282 QZ030_QX800_13_11

TVS-882BR QZ030_QY880_10_10

TVS-882BR QZ030_QY880_10_12

TVS-1282 QZ031_QX800_13_11

TVS-882BR QZ032_QY880_10_12

TVS-882BR QZ033_QY880_10_12

TVS-682 QX760_QX770_10_10         

TVS-682 QX760_QX770_12_13

TX-800P TBJBOD_QW580_QW750_20_20

TX-500P TBJBOD_QW580_QX180_20_20

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

Hi (Sorry for the English but i really dont know any German :) although i was born there ),

 

i've been strungling with the black disk creation over the last few days and i've managed to get to some point where i pretty much understand how this works.

 

So far my progress on both VMware ESXi and VMware workstation reached up to the point where i still cannot see any disks so i'll keep working on that.

 

On a physical machine though (a laptop that i had and was collecting dust) i've managed to complete the initial install and  have this running for a day. I've rebooted several times and have installed few apps. The interface looks very professional compering to Synology where you get a more home user friendly experience. 

 

What seems very critical, is to have a compatible CPU (mine is an i5 4xxx) because on older cpus the OS libraries faill to operate correctly and not all services are coming up. Someone will have to use a compatible firmware that matches their CPU but to get an older CPU to work you should go back to 3.x kernel and that is before 4.4.x QNAP firmware.

 

I'll try to elaborate some with a guide in the near future but so far other than the CPU that is critical the next are also importand.

 

################ LATEST FIRMWARE that i've used. ################

MODEL_TYPE="QY380_QY390_10_11"
PATCHED_FIRMWARE="TS-X85_20200529-4.4.2.1320"
DOWNLOAD_URL="https://download.qnap.com/Storage/TS-X85/"

 

Model.conf sections that figured out what they mean (please note all BXX:DXX:FX should be DECIMAL and not HEX as they are represented by lspci command)

Please make sure that you have no conflicting information (PCI bus or DISK ports) in the configuration as it will fail to match the configuration and will not create the system devices on the fly during boot time. 

 

-  [System Network X] , the PCI network device that will be used as a system network interface. In my case where i have only one interface i used only [System Network 1]  and used dummy addresses for the rest.

image.png.1fd7d87213634258b9d19f9eb3d372c2.png

- [ System Disk XX] each entry should match the PCI AND the SLOT number e.g. DEV_BUS=B00:D31:F2    DEV_PORT = 0  and should be other than the boot disk. The script does not take care of that you should figure this out by yourself. Also importand is to match the disk type accoringly e.g M.2 NVME/SSD/Drive. In mycase i have a single disk (green circle). Not all disks services will be used for all type of disks i guess. 

image.png.7cd50589defe692e50b2301add959caf.png

- [System PCIE SLOT X ] can be a valid PCI bridge 

- [Usb Port 1] should be a valid USB port if you are planning to use them.

- [Boot Disk 1] should be the boot disk in my case it was a USB port DEV_BUS = B00:D20:F0

 

NEVER perform a firmware update as the hack relies on initrd.boot file that contains files that will be overwritten during the update.

 

Now that i have a working black box, i'll digg into VMware issues and hopefully resolve as many as i can.

 

 

 

 

 

Edited by pocopico

Share this post


Link to post
Share on other sites
Posted (edited)

instead of dummy addresses, you can also delete unused interfaces like extra [System Network X] and its settings.

From my experience, you can update firmware from within QTS UI but you'll have to do the whole loader installation process all over with the same new firmware. Didn't lose any data by doing so.

Edited by pmchan

Share this post


Link to post
Share on other sites
Posted (edited)

Well, finally i've figured this out.. The main issue is that on VMware the PCI device is interpreted into wrong PCI number to be recognized from QNAP hal_app.

 

image.png.323442c7eafa9038a7ce6b1f421a634d.png

 

image.thumb.png.18acb43cbc148ecf0bb6a4d49b00d7e9.png

 

Additional to what you would normally do with tinycore follows :

 

Please remember to use IDE as the boot disk and set this up according to the PCI device ID e.g B00:D07:F1 so it doesn't get overwritten by the initial installation process.

 

I have inlcuded /sbin/lsscsi in the boot image. Once you've booted into QNAP, you should check

 

# lsssci -vvv 

 

This returns something like /sys/devices/pci0000:00/0000:00:11.0/000:02:05.0/ata1/host0/target0:0:0/0:0:0:0

 

The critical part is after pcixxxx:xx e.g 0000:00:11.0 this is the PCI bus that you should use once you convert to DECIMAL so in this case B00:D17:F0. The DEV_PORT = X  should be set to the SATA port you have set in VMware.

 

[System Disk 11]
DEV_BUS=B00:D17:F0
DEV_PORT = 0

 

To verify, while logged in to QNAP as admin, running # hal_app --pd_get_devid pd_sys_name=/dev/sda should return the specified slot ID. If empty retry changing the PCI bus.

 

I've included several modules into /lib/modules and modified modules.dep for VMXNET3 and other ethernet devices to work. I'll post the process to create your own modules also sometime in the future.

 

You may download the VMware workstation from the link below :

 

https://wetransfer.com/downloads/e46dd6f5f8bf8b36ea41eb556e82a95a20200626200122/3a6fa4c90e3ba0c578c943231395575b20200626200706/612941

 

 

 

 

Edited by pocopico

Share this post


Link to post
Share on other sites
Posted (edited)
14 hours ago, pocopico said:

# lsssci -vvv 

 

This returns something like /sys/devices/pci0000:00/0000:00:11.0/000:02:05.0/ata1/host0/target0:0:0/0:0:0:0

 

The critical part is after pcixxxx:xx e.g 0000:00:11.0 this is the PCI bus that you should use once you convert to DECIMAL so in this case B00:D17:F0. The DEV_PORT = X  should be set to the SATA port you have set in VMware.

 

[System Disk 11]
DEV_BUS=B00:D17:F0
DEV_PORT = 0

 

 

Also seems critical to have the actual PCI bus set for at least one [System Disk X]. This is maybe due to bad device bus interpretation by QNAP's hal_app. Anyway until i find a more solid solution, if you set this to something like below its should work :

[System Disk 1]
DEV_BUS=B02:D04:F0  # ACTUAL PCI BUS reported by /sbin/lspci
DEV_PORT = 0

..

..

..

[System Disk 11]
DEV_BUS=B00:D17:F0 # The misinterpreted PCI BUS reported by lsscsi -v  e.g. /sys/devices/pci0000:00/0000:00:11.0/000:02:05.0/ata1/host0/target0:0:0/0:0:0:0
DEV_PORT = 0

 

I have this installed also on VMware ESXi 6.7 and have verified that this workaround works fine.

 

image.thumb.png.8bbf29ee9ace29d48243a2ff966e399b.png

 

 

 

 

Edited by pocopico

Share this post


Link to post
Share on other sites

I am still uncertain on what to use here:

[System PCIE SLOT 1]
DEV_BUS = B00:D02:F2
[System PCIE SLOT 2]
DEV_BUS = B00:D03:F0
[System PCIE SLOT 3]
DEV_BUS = B00:D28:F0
[System PCIE SLOT 4]
DEV_BUS = B00:D03:F2

None of those match anything from the lspci outout (binary->hex conversation considered)

According lscpi: 00:11.0 PCI bridge: VMware PCI bridge (rev 02), which is the devices the usb controller, sata controller and vnic are attached to (see: lspci -t)

 

None of the sytem network declarations match the lspci output for my vnic... even though the vnic works:

lspci: 02:04.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controll

[System Network 1]
DEV_BUS = B00:D28:F6
DEV_PORT = 0
[System Network 2]
DEV_BUS = B00:D28:F7
DEV_PORT = 0
[System Network 3]
DEV_BUS = B00:D28:F4
DEV_PORT = 0
[System Network 4]
DEV_BUS = B00:D28:F5
DEV_PORT = 0

lspci list no device with 00.1C.x, which B00:D28:Fx translates to.

 

Share this post


Link to post
Share on other sites
Posted (edited)
1 hour ago, haydibe said:

None of those match anything from the lspci outout (binary->hex conversation considered)

According lscpi: 00:11.0 PCI bridge: VMware PCI bridge (rev 02), which is the devices the usb controller, sata controller and vnic are attached to (see: lspci -t)


if your are also using VMware workstation it might address the devices differently you can modify the model.conf manually without regeneration from the firmware.

 

You simply mount /dec/sdb2 while in tinycore and execute

 

# mkdir /home/tc/initrd; cd initrd; gunzip -c /mnt/sdb2/boot/initrd.boot | cpio -id 

 

Then once you are done with the modifications you run the re_repacking command to repack and copy the files over to boot disk.

 

If you start over the process again you will loose the additional modules but if you don’t need them then it’s not a bug problem 

 

Well I guess PCI bridge only matters in physical world where someone might connect a compatible PCI card e.g a 10G or an FC HBA etc. 

 

Now as for the network I’m running with the impression that you should also modify to match your configuration otherwise the default admin password which is  taken from the first System Nework card will not work.

 

Did you manage to install using the provided VM configuration ?

Edited by pocopico
  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

On Workstation it boots up, but gets no dhcp ip assigned... probably an issue with the windows firewall

On ESXi it boots up, gets a dhcp ip assigned, but the harddisk is not found.

 

I am able to login on Workstation and ESXi using the MAC (without : and capital letters) as password.

 

I created a python script to identify the assigned DEV_BUS.DEV_PORT (The 0 in front of digit DEV_PORTs is for sorting purposes only and not present in the model.conf) this is the output:

B00:D03:F0.01 Usb Port 5
B00:D03:F0.02 Usb Port 4
B00:D03:F2.01 Usb Port 8
B00:D03:F2.02 Usb Port 9
B00:D17:F0.00 System Disk 11
B00:D20:F0.01 Usb Port 3
B00:D20:F0.02 Usb Port 2
B00:D20:F0.03 Boot Disk 1
B00:D20:F0.04 Usb Port 1
B00:D28:F0.01 Usb Port 6
B00:D28:F0.02 Usb Port 7
B00:D28:F4.00 System Network 3
B00:D28:F5.00 System Network 4
B00:D28:F6.00 System Network 1
B00:D28:F7.00 System Network 2
B00:D31:F3.00 System I2C
B02:D03:F0.00 System Disk 1, System Disk 18, System Disk 6
B02:D03:F0.01 System Disk 17, System Disk 5
B02:D03:F0.02 System Disk 16, System Disk 4
B02:D03:F0.03 System Disk 3, System Disk 15
B02:D03:F0.04 System Disk 2, System Disk 14
B02:D03:F0.05 System Disk 13
B02:D03:F0.06 System Disk 12
B02:D03:F0.08 System Disk 19
B02:D03:F0.09 System Disk 20
B02:D03:F0.10 System Disk 21
B02:D03:F0.11 System Disk 22
B02:D03:F0.12 System Disk 7
B02:D03:F0.13 System Disk 8
B02:D03:F0.14 System Disk 9
B02:D03:F0.15 System Disk 10
B255:D19:F0.00 Memory I2C 1

Some combinations exist more than once. Did you take care to make the unique on your image?

Edited by haydibe
  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)
9 minutes ago, haydibe said:

On Workstation it boots up, but gets no dhcp ip assigned... probably an issue with the windows firewall


I’ve also noticed that if you don’t have the correct [System Network X] defined then it will fail to get an IP. You should match the PCI bus id for all your network devices. See my answer above for modifying your initrd (ramdisk). 
 

The PCI bridge will be used only for additional devices you connect I guess, which actually makes no sense for a VM. 

Edited by pocopico

Share this post


Link to post
Share on other sites
17 minutes ago, pocopico said:

You simply mount /dec/sdb2 while in tinycore and execute

 

# mkdir /home/tc/initrd; cd initrd; gunzip -c /mnt/sdb2/boot/initrd.boot | cpio -id 

 

Then once you are done with the modifications you run the re_repacking command to repack and copy the files over to boot disk.

That's some valuable input right there :)

Share this post


Link to post
Share on other sites
Posted (edited)
28 minutes ago, haydibe said:

Some combinations exist more than once. Did you take care to make the unique on your image?

Actually I think it’s important for the combination of DEV_BUS and DEV_PORT to not report conflicting info about the SLOT. I might have some conflict in the model.conf as I was really dizzy trying for two days to figure this out. 
 

If you dont mind, could you please share the python script ? 

Edited by pocopico

Share this post


Link to post
Share on other sites
6 minutes ago, pocopico said:

Actually I think it’s important for the combination of DEV_BUS and DEV_PORT to not report conflicting info about the SLOT. I might have some conflict in the model.conf as I was really dizzy trying for two days to figure this out. 

 

Actualy yours is fine. I guess I must have run ./my_create_qnap_boot before mine.

Your model.conf is colision free:

B00:D03:F0.01 Usb Port 5
B00:D03:F0.02 Usb Port 4
B00:D03:F2.01 Usb Port 8
B00:D03:F2.02 Usb Port 9
B00:D07:F1.00 Boot Disk 1
B00:D17:F0.00 System Disk 11
B00:D28:F0.01 Usb Port 6
B00:D28:F0.02 Usb Port 7
B00:D28:F4.00 System Network 3
B00:D28:F5.00 System Network 4
B00:D28:F6.00 System Network 1
B00:D28:F7.00 System Network 2
B00:D31:F3.00 System I2C
B02:D00:F0.04 Usb Port 1
B02:D03:F0.02 Usb Port 2
B02:D05:F0.00 System Disk 18
B02:D05:F0.01 System Disk 17
B02:D05:F0.02 System Disk 16
B02:D05:F0.03 System Disk 15
B02:D05:F0.04 System Disk 14
B02:D05:F0.05 System Disk 13
B02:D05:F0.06 System Disk 12
B02:D05:F0.08 System Disk 19
B02:D05:F0.09 System Disk 20
B02:D05:F0.10 System Disk 21
B02:D05:F0.11 System Disk 22
B02:D05:F0.12 System Disk 7
B02:D05:F0.13 System Disk 8
B02:D05:F0.14 System Disk 9
B02:D05:F0.15 System Disk 10
B02:D07:F0.00 System Disk 6
B02:D07:F0.01 System Disk 5
B02:D07:F0.02 System Disk 4
B02:D07:F0.03 System Disk 3
B02:D07:F0.04 System Disk 2
B02:D07:F0.05 System Disk 1
B03:D00:F0.01 Usb Port 3
B255:D19:F0.00 Memory I2C 1

 

Share this post


Link to post
Share on other sites

Actualy mounting sdb2 and modifiying initrd/etc/model.conf worked!

 

I replaced B02:D05:F0 with B02:D03:F0 for all System Disks and modifed Usb Port 1 to use D02:D01.F0 and Usb Port2 to use D02.D02.F0, but didn't touch the networks.

 

That was a marvelous tip!

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Hallo! Ich konnte 2 HDD, 2 SSDs, 2 NVMe-SSDs (960, 970 EVO) für insgesamt 6 Festplatten ausführen. Nach dem ersten Start muss ein Neustart durchgeführt werden, da sonst beim Erstellen des RAID ein Fehler auftritt. Es scheint mir, dass HDMI nicht immer richtig funktioniert, HD Station zeigt HDMI 2 und PLEX HDMI 1 - tatsächlich ist nur ein Kabel angeschlossen. PLEX funktioniert super! In QNAP-Anwendungsvideos werden einige Videos nicht angezeigt. Sie sind hier mit der AC3- und DTS-Lösung https://forum.qnap.com/viewtopic.php?t=149434 verbunden. Für mich ist nicht klar, wo die folgenden lspci platziert werden sollen:

[System peripheral]

DEV_BUS = B00:D08:F0

 

[Communication controller]

DEV_BUS = B00:D22:F0

 

[ISA bridge]

DEV_BUS = B00:D31:F0

 

[Memory controller]

DEV_BUS = B00:D31:F2

 

[SMBus]

DEV_BUS = B00:D31:F4

 

Wer hat das verstanden, bitte sag es mir. Und auch ohne Verbindung in QNAP gelassen:

[System I2C], [Memory I2C 1].

Auf [SMBus] habe ich [Memory I2C 1] angeschlossen. Ist das richtig?

 

AORUS Z270X G5 i7 7700K, 32GB RAM - "TVS-1282T3" 

 

1715154467_2020-06-2719_38_09.thumb.png.d5534085bdabad803636a7b05c34294f.png

224716356_2020-06-2719_39_34.thumb.png.62cd2b375ecf4157dacef968de8a643c.png

 

model.conf

Edited by r.gilmetdinov

Share this post


Link to post
Share on other sites

 I wanted to give this a try to checkout the QNAP HDMI programs.  I also wanted to compare the QNAP programs with the Synology equivalent programs.

 

I have a spare ASRock J3455-itx motherboard I used for the QNAP build.  This motherboard has 4 SATA ports onboard.  2 x SATA3 6.0 gb/s connections are provided by the SOC and 2 SATA3 6Gb/s connections are provided by a ASMedia ASM1061 chip.

 

4 2.5” 1tb hard drives used.

 

QNAP model emulated:  TS-453A

 

After a few tries I could only get the 2 SOC provided SATA Ports to work.  After checking out jamkiki72’s post, I was able to get the ASMedia ASM1061 SATA Ports enabled.


After a few days experimenting with DEV_BUS, I was able to get disks attached to the ASM1061 chip recognized.


After opening “/home.tc/mymodel/model.conf” I changed the following


Original Entries:
[System Disk 3] DEV_BUS=B00:D18:F0 (This should be for the ASM1061)

[System Disk 4] DEV_BUS=B02:D18:F0 (This should be for the ASM1061)


I changed them to the following:


[System Disk 3] DEV_BUS=B00:D19:F2 (This should be for the ASM1061)

[System Disk 4] DEV_BUS=B02:D19:F2 (This should be for the ASM1061)


After the change to DEV_BUS for System Disk 3 and System Disk 4, all disks are visible and usable.


I do have another network card in my system for a total of 2.  So I deleted the entries for


[System Network 3]

DEV_BUS=B00:D28:F3
PCI_SWITCH_PORT = 7

DEV_PORT = 0

 

[System Network 4]

DEV_BUS=B00:D28:F3

  PCI_SWITCH_PORT = 3

DEV_PORT = 0
 
After changing and deleting the above entries all appears to work.


———————————————————————————————

My Workflow:

 

you can connect to the NAS with putty or you can make your changes at the NAS.  I selected to make my changes at the NAS.


Hardware model emulated TS-453A

 

After booting into TinyCore.  When you get to the QNAS menu Tiny  Core is the 4th option.  You need to select this quickly or it will try to boot QNAP OS.
 
Open Terminal Window at the bottom right of TinyCore's icons and enter the following commands: 


vi ./my_create_qnap_boot  - start vi editor to edit my_create_qnap_boot file.

 

i - enter insert/delete mode


DATA TO CHANGE FOR "TS-453A" IS AS FOLLOWS - IF YOU CHOSE ANOTHER MODEL, Change  according to the Model Selected.

 

1.  Model_Type = “QX850_QX670_12_10”

2.  Patched_Firmware = “TS-X53A_20200529-4.4.2.1320”

3.  Download_URL = “https://download.qnap.com/Storage/TS-X53II"
 
:wq - write the file and quit vi

 

sudo ./my_create_qnap_boot

 

If the above 1, 2, and 3 entries were correct, it should connect to download.qnap.com and download the OS.  If you get an error, then you need to ensure the entries in “my_create_qnap_boot” are correct.  After making corrections and you try this command again you will get an error.

 

sudo ./my_create_qnap_boot

 

The error will be it could not mount the drive.  Tinycore has an app called “MountTool”  that will let you unmount the drive and try the command again. MountTool icon is next to the Terminal Icon. Once you start MountTool, you will see SDE3 as GREEN, you need to click on it and it will turn RED.  This will unmount the drive.

 

now rerun sudo ./my_create_qnap_boot


**  DON’T RESTART IF YOU NEED TO ADD OR CHANGE HARDWARE - PROCEED AS FOLLOWS:
 
cd /home/tc/mymodel/
 
vi ./model.conf
 
i
            MAKE CHANGES YOU NEED - FOR MY CASE I CHANGED AND DELETED LINES STATED ABOVE
 
:wq
 
cd /home/tc/
 
sudo cp -f ./mymodel/* ./initrd/etc/
 
sudo ./re_packing
 
exit
            RESTART FROM TINY CORE
------------------------------------------------------------ Use qfinder app to find NAS


Follow on-screen instruction to install and configure NAS.
 

Share this post


Link to post
Share on other sites

Hi all,


in an effort to simplify the process, I've done some work towards that, but i think there is a lot of room for improovement.


So far what i've done :


- Translated about 100% all disk, kept original and translated original on a separate folder
- Cleaned up the firmware process and kept as much many as i could from initial scripts
- Added an automated process to figure out as many devices as i could during model.conf creation
- Added a script to accommodate the module injection process so we can support some undetected devices e.g. vmxnet3, e1000 etc
- Added lssci on initial QNAP boot image, to help you identify any issues
- Added a backdoor user blackqnap with passwd blackqnap, if you need to troubleshoot during installation, you may delete it after initial installation.
- Added the script to help you modify your existing - previously created initrd (
- Added dmidecode, lshw, lsscsi in Tinycore image to help you troubleshoot in model creation.


1. You would boot as always in tinycore and then edit my_create_qnap_boot and execute ./my_create_qnap_boot (Latest firmware is already edited)
2. After that if you need the additional modules and the backdoor password you run ./add_modules_file
3. Review initrd/etc/model.conf , perform any necessary changes
4. Execute ./pack_your_initrd to include the latest changes
5. Reboot


Any case you need to modify any information in model.conf at anytime :

1. Boot into tinycore
2. Execute ./modify_your_initrd
3. Edit  initrd/etc/model.conf or any other file
4. Execute ./pack_your_initrd to include the latest changes
5. Reboot

 

You may give it a try and let me know how this works for you.

https://mega.nz/folder/LJ4wyaDY#MxOC2UgNqC-Y6gQXu-IUFA

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

The same process as above works for 4.5.0 version of QuTS if anyone is interested in checking the ZFS version.


MODEL_TYPE="QZ601_Q0040_12_11 "
PATCHED_FIRMWARE="TS-X83XU_20200520-h4.5.0.1308"
DOWNLOAD_URL="https://download.qnap.com/Storage/QuTShero/TS-X83XU/"

 

Models found in the firmware :

 

Q00V1_Q00W0_11_11 = TS-2483XU
QZ601_Q0040_12_11 = TS-1683XU
QZ601_Q00M0_11_10 = TS-1283XU
QZ601_Q00M1_11_10 = TS-883XU
QZ602_Q00M0_12_10 = TS-1283XU
TBJBOD_QW580_QW750_20_20 = TX-800P
TBJBOD_QW580_QX180_20_20 = TX-500P

 

Have fun  :)

  • Like 1

Share this post


Link to post
Share on other sites

VMM is a whole different beast.

If you it allows to import vmdk's, supports an IDE controller for the bootdisk, a sata controller for your datadisks and an intel E1000 vNic for network configuration, there should be no reason that it's not working.

Edited by haydibe

Share this post


Link to post
Share on other sites

You need to import the img/vmdk disk in vmm.

Then create a vm, attach the imported disk to ide.

Add a SATA controller and add as many data disks as you like - in my installation QNAP used 10GB from the data disk for the os files.

Add a network controller of type Intel E1000.

Then boot the vm and select the third boot option to boot TinyCore Linux.

For everything else, see pocopico's post

 

Edited by haydibe
  • Thanks 1

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.

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.