Jump to content
  • 0

Cannot detect Analog Discovery in OSX


bryon

Question

Hi,

I have an Analog Discovery and installed Waveforms 2015 on OSX 10.10.5. When I start Waveforms I receive a "No device detected" error. However, if I am running Windows 7 in Parallels on the same machine and launch the Windows version of Waveforms 2015 then the device is detected just fine.

I have installed the device driver for OSX.

Does anyone have any suggestions?

Thanks

Bryon

Link to comment
Share on other sites

24 answers to this question

Recommended Posts

Hi Michael, thanks for helping me!

I am not sure what library you mean, are you are referring to this one? (it seems to be in place..)

/Applications/WaveForms.app/Contents/Frameworks/dwf.framework/Versions/A/Frameworks/libftd2xx.dylib

I tried running through your steps but it did not generate a log file.. :(

I had to modify step 8 though, "/Applications/WaveForms.app" is the eqivalent of "cd /Applications/WaveForms.app" in the two terminals I tried (iTerm2 and Terminal). To run the program from the command line, I used "open /Applications/WaveForms.app" instead. I also tried starting it from Spotlight like usual. Is this correct or is there another way to launch an app from the terminal?

Link to comment
Share on other sites

I think you are right and that the changes are a good idea. I guess you thought of this already but alternatively, perhaps you can detect what version of the library you found and keep looking if it is too old?

I did not try any of my other software that might be using the other driver (I guess it could be Arduino/Energia) but I guess something will probably break if I keep it renamed :)

My /usr/local/lib/ has both 0.1.7 and 1.2.2 and uses a symlink that points to 0.1.7. Since you say 1.2.2 should work I will do some experimenting with changing the symlink to point to that version instead in case I find issues with some other software. (Before saw your latest message I was going to ask for a strategy for running Waveforms along with other software that uses that driver..)

 

Finally, thanks a lot for guiding me Michael! You made it really difficult for me to be mad at Digilent for having to spend two weeks just to get this up and running :D

Link to comment
Share on other sites

HI Albert,

Sorry it didn't occur to me earlier that you might have another copy of the library already installed. The log file won't be generated as long as the library can be loaded. As it stands now, we make multiple attempts to open the library. The first call to dlopen doesn't specify a path, so if libftd2xx.dylib exists in /usr/lib or /usr/local/lib then it will get loaded from that directory. If it doesn't exist, then the first call to dlopen will fail, after which, we make additional attempts to open the library from locations that are relative to the running executable.

I suspect that your problem may have been related to version 0.1.7 of the d2xx library being opened. We've only performed testing with version 1.2.2, so I don't know whether or not it will work with 0.1.7, but I do know that early versions of the Linux library had lots of bugs and I would be surprised if earlier versions of the OSX library also suffered from similar bugs.

Based on your feedback I think we will change the way that we perform the dlopen calls on MAC OSX so that we can guarantee we get the version of the library that we want, and not some other version that may be installed in a system wide directory.

Thanks,

Michael

Link to comment
Share on other sites

OH THE JOY!!! :lol:

I just got back home and was going to start fiddling with this again and it just worked! I did reboot last night but maybe not after changing back the name of the correct library.. Anyway, it also started working in Virtualbox.

So just to be clear, the fix was renaming my extra /usr/local/lib/libftd2xx.dylib to something else (and possibly rebooting/waiting 24h :D).

Link to comment
Share on other sites

I think I am on to something! I figured the missing log file made no sense, so what if there was another libftd2xx.dylib in my path? There was!

~ find / -name "libftd2xx.dylib" -print 2>/dev/null
/Library/Frameworks/dwf.framework/Versions/A/Frameworks/libftd2xx.dylib
/usr/local/lib/libftd2xx.dylib

So I did some more digging:

~ diff /Library/Frameworks/dwf.framework/Versions/A/Frameworks/libftd2xx.dylib /usr/local/lib/libftd2xx.dylib
Binary files /Library/Frameworks/dwf.framework/Versions/A/Frameworks/libftd2xx.dylib and /usr/local/lib/libftd2xx.dylib differ

~ ll /Library/Frameworks/dwf.framework/Versions/A/Frameworks/libftd2xx.dylib
-rwxr-xr-x@ 1 albert  wheel   541K 13 Nov 16:06 /Library/Frameworks/dwf.framework/Versions/A/Frameworks/libftd2xx.dylib

~ ll /usr/local/lib/libftd2xx.dylib
lrwxr-xr-x  1 root  admin    36B 26 Jun  2014 /usr/local/lib/libftd2xx.dylib -> /usr/local/lib/libftd2xx.0.1.7.dylib

~ ll /usr/local/lib/libftd2xx.0.1.7.dylib
-rwxr-xr-x@ 1 root  admin   221K 26 Jun  2014 /usr/local/lib/libftd2xx.0.1.7.dylib

~ ll /usr/local/lib/libftd2xx*
-rwxr-xr-x@ 1 root  admin   221K 26 Jun  2014 libftd2xx.0.1.7.dylib
-rwxr-xr-x@ 1 root  admin   515K 26 Jun  2014 libftd2xx.1.2.2.dylib
lrwxr-xr-x  1 root  admin    36B 26 Jun  2014 libftd2xx.dylib -> /usr/local/lib/libftd2xx.0.1.7.dylib

 

Waveforms still does not find the device without this bastard, but if i rename both files, I now get the error log!

~ cat ~/adept.log
System Time     Process     Thread        ERC     ERC String                  Message
3267427782      5777        1231453056000003080    ercInternalError            FTDIC::FEnumAndUpdateCache call to ListDevices failed
3267427782      5777        1231453056000003080    ercInternalError            FTDIC::FEnum FEnumAndUpdateCache() failed
3267428793      5777        1231453056000003080    ercInternalError            FTDIC::FEnumAndUpdateCache call to ListDevices failed
3267428793      5777        1231453056000003080    ercInternalError            FTDIC::FEnum FEnumAndUpdateCache() failed
3267430101      5777        1231453066731523080    ercInternalError            FTDIC::FEnumAndUpdateCache call to ListDevices failed
3267430101      5777        1231453066731523080    ercInternalError            FTDIC::FEnum FEnumAndUpdateCache() failed

 

None of the other dylibs from the framework seem to have duplicates in /usr/local/lib and I am trying to think up a way to pipe all the filenames into find to make sure there arent any elsewhere either.

Link to comment
Share on other sites

Yep, tried exactly what you described but do not get a log file! :huh:

In addition, I tried to run "repair permissions" (apparently in El Capitan, only way to do it is to boot in to safe mode and it will do it automatically). After that did not work I also re-installed the driver again, without success.

I also spent some more time on trying to get it working in Virtualbox since the device was functional on my work PC. Apparently you need the VirtualBox Extension Pack to use USB devices. After installing that, Windows now recognizes a device has been plugged in, but the driver does not install correctly and Waveforms still does not detect it. I tried re-installing Waveforms as suggested in some other thread, but it did not help.. The status message below says "This device cannot start. (Code 10)":

56b8f0e70ce27_Skarmavbild2016-02-08kl.20

 

Edit: Just had a friend test my device on his Macbook and there it works fine.. :(

Link to comment
Share on other sites

Hi Albert,

Did you use open to run the application? I followed these exact steps and it produced the log on my MAC:

  1. cd /Applications/WaveForms.app/Contents/Frameworks/dwf.framework/Frameworks
  2. mv libftd2xx.dylib libftd2xxA.dylib
  3. export ADEPT_RT_LOGDETAIL=1
  4. export ADEPT_RT_LOGFILE=/Users/malexand/adept.log
  5. open /Applications/WaveForms.app/
  6. When waveforms pops up showing no device click "OK" and then click "Cancel". The application should exit.

Now "cat /Users/malexand/adept.log" produces the following output:

System Time     Process     Thread        ERC     ERC String                  Message
3019472922      3104        1231453072097283080    ercInternalError            FTDIC::FEnumAndUpdateCache call to ListDevices failed
3019472923      3104        1231453072097283080    ercInternalError            FTDIC::FEnum FEnumAndUpdateCache() failed
3019475039      3104        1231453072097283080    ercInternalError            FTDIC::FEnumAndUpdateCache call to ListDevices failed
3019475039      3104        1231453072097283080    ercInternalError            FTDIC::FEnum FEnumAndUpdateCache() failed

Thanks,

Michael

Link to comment
Share on other sites

Hi Albert,

Based on that message I think you renamed libdftd2xx.dylib instead of libftd2xx.dylib. If that's the case, then it's not surprising that WaveForms popped up an error message because dpcomm is linked against libdftd2xx and cannot load without it:

otool -L libdpcomm.dylib
libdpcomm.dylib:
    @rpath/../Frameworks/libdpcomm.dylib (compatibility version 2.15.3, current version 2.15.4)
    @rpath/../Frameworks/libdabs.dylib (compatibility version 2.16.1, current version 2.16.3)
    @rpath/../Frameworks/libdftd2xx.dylib (compatibility version 1.2.1, current version 1.2.2)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1225.1.1)

The dftd2xx library is a carry over from Linux that performs the initial device discovery. We had to re-write some of the enumeration functions because the FTDI version of the library was causing data transfer failures on devices that were open in other processes. I'm not sure how easy it would be to remove reference to dftd2xx and use on ftd2xx on MAC. I'm also not sure that doing so would solve your problem.

Can you confirm that renamed libdftd2xx.dylib and not libftd2xx.dylib? If that's the case, can you try again and make sure that the log file does show up while I look into other options?

Thanks,

Michael

Link to comment
Share on other sites

Hi Michael,

Sudo did not make any difference either.

I also renamed libftd2xx.dylib, just to try and confirm like you said. It did spawn a couple of extra error messages, but no log file!

56b4cbbc535bd_Skarmavbild2016-02-05kl.1756b4cbb9c0e74_Skarmavbild2016-02-05kl.17

I find this strange since the variables seem to be in place:

~  echo $ADEPT_RT_LOGDETAIL $ADEPT_RT_LOGFILE
1 /Users/albert/adept.log

 

This is starting to get really "interesting" now! :D

Link to comment
Share on other sites

Hi Albert,

For step 8 I forgot to tell you the command was open but you seem to have figured that out. Anyway, the fact that the log wasn't generated means that Adept is able to find and load the d2xx library. If that wasn't the case, then the log would have been generated and it would look something similar to the following:

System Time     Process     Thread        ERC     ERC String                  Message
2934904769      700         1231453072097283080    ercInternalError            FTDIC::FEnumAndUpdateCache call to ListDevices failed
2934904769      700         1231453072097283080    ercInternalError            FTDIC::FEnum FEnumAndUpdateCache() failed
2934907462      700         1231453072097283080    ercInternalError            FTDIC::FEnumAndUpdateCache call to ListDevices failed
2934907462      700         1231453072097283080    ercInternalError            FTDIC::FEnum FEnumAndUpdateCache() failed

If you were to rename libftd2xx.dylib to libftd2xxA.dylib or something similar and then re-run Waveforms.app using the open command it should generate a very similar log. I suppose you could do that just to make sure you had the environment variables set correctly but I have no reason to believe that they aren't, as no error would be logged by Adept in the event that the library was loaded and 0 devices were found. That's not an error cause so we don't log it.

Given that dmesg shows "Digilent Starting" when you plug the device in and there's no "Digilent Stopping" message it seems unlikely that another driver would prevent us from opening the device with D2XX. At this point I'm not sure why the device isn't being found on your system and am looking for places where we may have missed an error that we could log in order to provide clues as to why it's not showing up.

I doubt this will work but can you try running Waveforms with sudo to see if the Analog Discovery 2 shows up? This shouldn't be necessary but running the application with sudo would rule out any possibility of there being a permission error that we haven't encountered on our MACs.

Thanks,

Michael

 

Link to comment
Share on other sites

A couple of things I tested today:

  • The device still works on my Windows PC at work.
  • I read somewhere that connecting the device through a USB-hub might help. It did not.
  • Tried running the Device_Enumeration script from the SDK samples:
    ~  python /Applications/WaveForms.app/Contents/Resources/SDK/samples/py/Device_Enumeration.py
    DWF Version: 2.9.4
    Number of Devices: 0
Link to comment
Share on other sites

Yes I copied and pasted that from an old email because I didn't have my MAC in from of me, which is why it says version 1 instead of 1.0.3.

I'm not aware of any command that can be used to list all of the installed FTDI drivers. I suppose if it's possible that another driver could be attaching to the device, which would prevent the d2xx library from working. That's actually why there is a Digilent KEXT to begin with. It's purpose is to prevent the AppleUSBFTDI kext from claiming any USB interfaces that we want to access via D2XX.

I suppose another possibility is that the D2XX library isn't getting loaded on your system. It should be included in the Frameworks directory of the application bundle, which means there shouldn't be any installation required on your part. Can you please try doing the following:

  1. Make sure the FTDIUSBSerialDriver kernel driver isn't in the normal extensions directory, which will prevent it from loading.
  2. Make sure that you have the Digilent kext installed and that it's loadable.
  3. Attach analog discovery to the system.
  4. Execute "kextstat | grep Digilent" to confirm that the Digilent KEXT is still loaded.
  5. Verify that dmesg shows the Digilent probe messages, with the last one being "Digilent Starting".
  6. In the terminal run the command "export ADEPT_RT_LOGDETAIL=1"
  7. In the terminal run the command "export ADEPT_RT_LOGFILE=/Users/YOUR_USERNAME_HERE/adept.log"
  8. In the terminal run the command "/Applications/WaveForms.app".

I'd expect to see the same results as before. Once WaveForms pops up saying it can't find a device and wants you to select a demo device just click cancel. WaveForms should exit. Hopefully whatever is preventing the Analog Discovery from showing up on your system will have resulted in an error that the Adept Runtime logs. If the log does get generated please post the contents here.

 

Thanks,

Michael

Link to comment
Share on other sites

So I tried a couple more things:

  • Added external 5 V power supply in case my mac was not supplying enough current. No change.
  • Tried installing Waveforms on Windows inside Virtualbox on the same machine. I expected this to work but it did not! Will bring the device back to work tomorrow to confirm it is still functional. (Is it possible to semi-brick it somehow?)

Any other ideas on what to try? I was hoping for Virtualbox to be a temporary workaround while waiting for a resolution but for now I'm stuck with a paperweight.. :(

Link to comment
Share on other sites

To clarify, the FTDIUSBSerialDriver appeared (in addition to the Digilent driver) after plugging in the device, then disappeared again after a few seconds. I was checking this with

$ watch "kextstat | grep -i ftdi"

I then tried removing the FTDIUSBSerialDriver kext (temporarily moved it to another folder) and rebooted without the device attached - still nothing :(

Link to comment
Share on other sites

Hi Michael,

I get something similar, maybe I have a newer version of the driver (1 vs 1.0.3)?

~  kextstat | grep Digilent
  148    0 0xffffff7f82cfe000 0x2000     0x2000     com.digilent.driver.DigilentFtdiDriver (1.0.3) 04D22EC0-C800-389F-A0FD-F0F759897EEE <41 4 3>

Do you have a handy command for listing all installed FTDI drivers? From memory, I have installed the drivers included with Energia 0101E0016:

  • EnergiaFTDIDrivers2.2.18.pkg
  • MSP430LPCDC 1.0.3b.pkg

http://energia.nu/downloads/downloadv3.php?file=energia-0101E0016-macosx.dmg

I also have Arduino 1.0.5 installed, but it does not seem to come with a driver.

 

Edit: I unplugged and plugged the device again and had another look at kextstat. This time it loaded another FTDI driver as well, could this be the issue?

  151    0 0xffffff7f82d00000 0x7000     0x7000     com.FTDI.driver.FTDIUSBSerialDriver (2.3) ECC3AF36-431D-370D-86F2-5237785E9CF8 <95 41 5 4 3 1>

Link to comment
Share on other sites

Hi Albert,

After you've connected the Analog Discovery 2 can you please try running the command "kextstat | grep Digilent". If the Digilent KEXT is working correctly the output from the command should look something like this:

"218    0 0xffffff7f82886000 0x2000     0x2000     com.digilent.driver.DigilentFtdiDriver (1) <34 4 3>"

I'm not sure whether or not MSP430 Launchpad or Arduino FTDI drivers would interfere. Can you tell me which ones you have installed so I can try replciating your setup on my end?

Thanks,

Michael

Link to comment
Share on other sites

Ok, I only tried 3.0.28 since 3.1.5 was not working..

I did several reboots with and without the device attached and also tried installing the FTDI driver again. I must have pressed the refresh button in 3.1.5 at least 100 times.. :)

I probably have some MSP430 Launchpad and Arduino FTDI drivers installed, could they be interfering somehow? I am puzzled since system_profiler seems to indicate the device enumerates correctly and dmesg (despite some errors in the beginning) also seems to indicate the driver is loading like it should(?).

Is there anything else I can try to get more information? Is there a way to get debug information from Waveforms or something? Can i run some python script with the SDK?

And before anyone asks, yes, I tried it on my Windows work computer and there it works fine.. :(

Link to comment
Share on other sites

Hello,

WaveForms 3.0.28 is not fully compatible with OS X 10.11.x and support for Analog Discovery 2 at that time was limited, having only prototype from this device.

Please use WF 3.1.5 which has an Refresh button in the Device Manager, because the USB device listing was extremely slow in OS X 10.11.0/1
Try restarting the OS X without having the device attached. 

Let me know if this helps.
 

Link to comment
Share on other sites

Hi! Sorry to join the forum on such a sad note but I just got my Analog Discovery 2 and I have the same issue (OSX 10.11.3)! :(

  • On Waveforms 3.1.5 I get "No device detected", then the list of three DEMO devices.
  • On Waveforms 3.0.28 I get "No device detected", then the Analog Discovery 2 appears on the first line, but in the bottom box all columns are empty except "Wavegen" where it says "Device not su...". Clicking "Select" does nothing, the device explorer remains open. I tried uploading a screenshot but the forum seems broken as well ("There was a problem processing the uploaded file. Please contact us for assistance. ")..

 

Here are a few things I have tried, not sure if Waveforms or my system is to blame (any ideas??):

$ sudo kextutil -t -n /Library/Extensions/DigilentFtdiDriver.kext
/Library/Extensions/DigilentFtdiDriver.kext appears to be loadable (including linkage for on-disk libraries).

 

$ sudo kextunload -b com.apple.driver.AppleUSBFTDI
(kernel) Kext com.apple.driver.AppleUSBFTDI not found for unload request.
Failed to unload com.apple.driver.AppleUSBFTDI - (libkern/kext) not found.

 

$ system_profiler SPUSBDataType | grep Digilent -A 7
2016-02-01 21:15:48.860 system_profiler[5798:47726] SPUSBDevice: IOServiceGetMatchingService did not return anything for location 0x06110000
2016-02-01 21:15:48.861 system_profiler[5798:47726] SPUSBDevice: IOServiceGetMatchingService did not return anything for location 0x06100000
2016-02-01 21:15:48.863 system_profiler[5798:47726] SPUSBDevice: IOServiceGetMatchingService did not return anything for location 0x04500000
2016-02-01 21:15:48.864 system_profiler[5798:47726] SPUSBDevice: IOServiceGetMatchingService did not return anything for location 0x04600000
        Digilent USB Device:

          Product ID: 0x6014
          Vendor ID: 0x0403  (Future Technology Devices International Limited)
          Version: 9.00
          Serial Number: 210321A18D4C
          Speed: Up to 480 Mb/sec
          Manufacturer: Digilent
          Location ID: 0x24100000 / 2
          Current Available (mA): 1000
          Current Required (mA): 0
          Extra Operating Current (mA): 0

    USB 2.0 Bus:

 

After plugging in and out a few times:

$ sudo dmesg | tail
Sandbox: cp(1802) System Policy: deny(1) file-write-create /usr/lib/libdjtg.dylib
Sandbox: cp(1802) System Policy: deny(1) file-write-create /usr/lib/libdmgr.dylib
Sandbox: cp(1802) System Policy: deny(1) file-write-create /usr/lib/libdmgt.dylib
Sandbox: cp(1802) System Policy: deny(1) file-write-create /usr/lib/libdpcomm.dylib
Sandbox: cp(1802) System Policy: deny(1) file-write-create /usr/lib/libdpcutil.dylib
Sandbox: cp(1802) System Policy: deny(1) file-write-create /usr/lib/libdpio.dylib
Sandbox: cp(1802) System Policy: deny(1) file-write-create /usr/lib/libdpti.dylib
Sandbox: cp(1802) System Policy: deny(1) file-write-create /usr/lib/libdspi.dylib
Sandbox: cp(1802) System Policy: deny(1) file-write-create /usr/lib/libdstm.dylib
Sandbox: cp(1802) System Policy: deny(1) file-write-create /usr/lib/libdtwi.dylib
Sandbox: cp(1802) System Policy: deny(1) file-write-create /usr/lib/libdwf.dylib
Sandbox: cp(1802) System Policy: deny(1) file-write-create /usr/lib/libftd2xx.dylib
Sandbox: cp(1802) System Policy: deny(1) file-write-create /usr/lib/libjtsc.dylib
Sandbox: cp(1802) System Policy: deny(1) file-write-create /usr/lib/libusb-1.0.0.dylib
Sandbox: mkdir(1804) System Policy: deny(1) file-write-create /usr/share/digilent
Sandbox: cp(1806) System Policy: deny(1) file-write-create /usr/share/digilent
Sandbox: cp(1806) System Policy: deny(1) file-write-create /usr/share/digilent
Sandbox: cp(1926) System Policy: deny(1) file-write-create /usr/lib/libdmgr.dylib
Sandbox: cp(1926) System Policy: deny(1) file-write-create /usr/lib/libdmgt.dylib
Sandbox: cp(1926) System Policy: deny(1) file-write-create /usr/lib/libdpcomm.dylib
Sandbox: cp(1926) System Policy: deny(1) file-write-create /usr/lib/libdpcutil.dylib
Sandbox: cp(1926) System Policy: deny(1) file-write-create /usr/lib/libdpio.dylib
Sandbox: cp(1926) System Policy: deny(1) file-write-create /usr/lib/libdpti.dylib
Sandbox: cp(1926) System Policy: deny(1) file-write-create /usr/lib/libdspi.dylib
Sandbox: cp(1926) System Policy: deny(1) file-write-create /usr/lib/libdstm.dylib
Sandbox: cp(1926) System Policy: deny(1) file-write-create /usr/lib/libdtwi.dylib
Sandbox: cp(1926) System Policy: deny(1) file-write-create /usr/lib/libdwf.dylib
Sandbox: cp(1926) System Policy: deny(1) file-write-create /usr/lib/libftd2xx.dylib
Sandbox: cp(1926) System Policy: deny(1) file-write-create /usr/lib/libjtsc.dylib
Sandbox: cp(1926) System Policy: deny(1) file-write-create /usr/lib/libusb-1.0.0.dylib
Sandbox: mkdir(1928) System Policy: deny(1) file-write-create /usr/share/digilent
Sandbox: cp(1930) System Policy: deny(1) file-write-create /usr/share/digilent
Sandbox: cp(1930) System Policy: deny(1) file-write-create /usr/share/digilent
hfs: mounted WaveForms on device disk2s1
ignored is_io_service_close(0x100000398,IOHIDParamUserClient)
Digilent Stopping
Digilent USB Device: not registry member at registerService()
001690.596267 AppleUSBLegacyRoot@: AppleUSBLegacyRoot::usbServiceCallback: unable to notify matching done for usbService <ptr> (Digilent USB Device)
Digilent probe8: initial probe score = 100000
Digilent probe: Manufacturer Name = Digilent
Digilent probe8: final probe score = 100001
Digilent Starting
Digilent Stopping
Digilent probe8: initial probe score = 100000
Digilent probe: Manufacturer Name = Digilent
Digilent probe8: final probe score = 100001
Digilent Starting

 

I am confused - half of this seems quite correct, still other stuff seems badly wrong. Unsure where to proceed from here, would really appreciate any guidance.. :unsure:

Link to comment
Share on other sites

I have the same problem with OS X 10.11.1 softwareI. have downloaded the drivers and the waveforms but says no device found. I have restarted like suggested but still no resolution. I do not know where to go verify the filter is correct. Could I get a little more assistance as well?

Link to comment
Share on other sites

Hello,

Make sure the USB device is not attached to any virtual machine.
Install the driver from the software package.
Try to reboot without having the device attached to the computer.

The Digilent driver for OS X is a filter which prevents the default FTDI driver to be loaded. This would block the access to the device.
- To verify that the filter is installed and loadable use the following command:
sudo kextutil -t -n /Library/Extensions/DigilentFtdiDriver.kext
- The other solution is the manual unload of default driver which lasts until restart:
sudo kextunload -b com.apple.driver.AppleUSBFTDI

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...