Macos Catalina 10.15.5 on MacBook Pro and FTDI driver 2.4.4 - Procedural workaround for Apple FTDI driver (seemingly) interfering with FTDI's driver causing intermittent operation with Moonlite focuser

The procedure for dealing with the Apple USB driver interference bug is:

1. Reboot so you have a 'clean' system. USB device is connected for reboot.

2. On boot we have duplicate devices:
Steves-MBP:~ sjf$ ls -l /dev/*usbserial*
crw-rw-rw- 1 root wheel 18, 9 30 May 13:39 /dev/cu.usbserial-4
crw-rw-rw- 1 root wheel 18, 1 30 May 13:39 /dev/cu.usbserial-AH0741BL
crw-rw-rw- 1 root wheel 18, 8 30 May 13:39 /dev/tty.usbserial-4
crw-rw-rw- 1 root wheel 18, 0 30 May 13:39 /dev/tty.usbserial-AH0741BL


3. Unload the Apple driver (even though utilities seem to show it is not loaded!) with:
Steves-MBP:~ sjf$ sudo kextunload -b com.apple.DriverKit-AppleUSBFTDI ; echo $?
Password:
0 <---- Return code seems to suggest no error which means it must have been loaded (or is that just the return from sudo?)...anyway...
Steves-MBP:~ sjf$


4. Physically disconnect the USB device:
Steves-MBP:~ sjf$ ls -l /dev/*usbserial*
ls: /dev/*usbserial*: No such file or directory <--- Yes, it is gone
Steves-MBP:~ sjf$



5. Reconnect the device, and now we have what I would have expected in the first place with no duplicate devices:
Steves-MBP:~ sjf$ ls -l /dev/*usbserial*
crw-rw-rw- 1 root wheel 18, 1 30 May 13:45 /dev/cu.usbserial-AH0741BL
crw-rw-rw- 1 root wheel 18, 0 30 May 13:45 /dev/tty.usbserial-AH0741BL
Steves-MBP:~ sjf$


6. ...and now the device is working happily, which to me says the Apple driver is interfering somehow even though it says it is not loaded.

Read More...

Previous issue with MacOS Catalina 10.15.3/10.15.4 and Moonlite FTDI Driver signing not being recognised by MacOS and not loading
===========================================
I've today received an updated driver from FTDI version 2.4.4 which is signed and recognised by Apple so it now loads whereas version 2.4.2 didn't.
I can't give it a full test yet but bench testing a basic config it does now seem to work ok and the focuser moves in and out when requested. It is too early to say it is fixed until I can test in its proper configuration, but the signs look encouraging. I'd be interested if it works for others who have this specific issue. The driver doesn't seem to be on their website yet, but there support people are very proactive and helpful if you log a support call via email.

Read More...

I had a few fun and games installing the older driver, and from memory it went like this.
Firstly remove the newer driver:
# cd /Library/Extensions
# rm -rf FTDIUSBSerialDriver.kext

...and reboot. Verify after reboot that NO FTDI driver is installed with SystemReport -> Extensions.

Now install the older (unsupported) driver, version 2.3, using the procedure described here after installation, from direct.ilink.de/en/usb.html and screenshotted below. This procedure is for a different driver but the instructions are still the same. Note that you do not get this option with the newer FTDI driver, it just fails to load silently


...and reboot when installed. And using SystemReport -> Extensions, you should see the loaded driver, or that worked for me anyway, on Catalina 10.15.3 on my iMac and my MacBook Pro


FTDIUSBSerialDriver:
Version: 2.3
Last Modified: 02/03/2015, 15:37
Bundle ID: com.FTDI.driver.FTDIUSBSerialDriver
Notarised: Yes
Loaded: Yes
Obtained from: Identified Developer
Kind: Intel
Architectures: x86_64
64-Bit (Intel): Yes
Location: /Library/Extensions/FTDIUSBSerialDriver.kext
Kext Version: 2.3
Load Address: 18446743521889628000
Loadable: Yes
Dependencies: Satisfied
Signed by: Developer ID Application: Future Technology Devices International Limited (658CPPCMJJ), Developer ID Certification Authority, Apple Root CA

Read More...

I've finally got something to work. The issue is that the FTDI driver recommended by Moonlite on their site version 2.4.2 from www.ftdichip.com/Drivers/VCP.htm JUST WILL NOT LOAD on Catalina complaining of invalid signature. According to some other forums the loading can be allowed by bypassing Apple's integrity check in safe mode but this is for all software, not just this driver - not a workable option for me.

From the site above I downloaded a 'no longer supported' version 2.3 and this now loads. Not ideal but at least the focuser works now. If FTDI and Apple get their act together and release a supported (by Apple) version then this will have to do.

From System Report -> Software -> Extensions, we now have the following, whereas the newer version 2.4.2 was not loading:
In FTDIUSBSerialDriver:
Version: 2.3
Last Modified: 02/03/2015, 15:37
Bundle ID: com.FTDI.driver.FTDIUSBSerialDriver
Notarised: Yes
Loaded: Yes
Obtained from: Identified Developer
Kind: Intel
Architectures: x86_64
64-Bit (Intel): Yes
Location: /Library/Extensions/FTDIUSBSerialDriver.kext
Kext Version: 2.3
Load Address: 18446743521889628000
Loadable: Yes
Dependencies: Satisfied
Signed by: Developer ID Application: Future Technology Devices International Limited (658CPPCMJJ), Developer ID Certification Authority, Apple Root CA

Read More...

So Catalina 10.15.3 is out and installed. The issue with the Canon USB not working is now fixed so they did break something USBish in 10.15.2, BUT unfortunately I still have the same issue with the Moonlite focuser with "[ERROR] Serial read error: timeout error." about every 5 secs and no movement of the focuser motor. If I use the manual pushbuttons to move the motor then the absolute step position in the focuser tab window changes correctly so part of it is working, just not the motor movement. Any ideas anyone?

Read More...

Apologies for the long post, but some progress.

Firstly the problem with the Moonlite movement. I've set up the kit standalone in my 'lab'. Direct USB to Moonlite from MacBook - as before with same messages. Tried from my desktop iMac with same result - to be expected as that is also running Catalina 10.15.2/Kstars 3.3.8, BUT I tried running the indi client on the MacBook and the indi server on a RaspberryPi (Ubuntu 18.04.2) and the Moonlite moves exactly as it should with no errors...
...so the movement issue is for sure not the Moonlite focuser itself, and it does not seem to be indi either. I'm coming to the conclusion that maybe the issue lies with Catalina 10.15.2. The Moonlite is new and I've only used in twice and the first time, about a month ago, it worked OK. The MacBook at that stage would have been on Catalina 10.15.1. This is the only thing that I can think of that has changed. Also since going from 10.15.1 to 10.15.2 my Canon EOS utility for downloading images over USB has stopped working (see this asia.canon/en/support/to-users-of-eos-ut...-for-mac-os-x/notice ). I wonder when/if this gets fixed in MacOS the Moonlite issue will go away??? I'll update when/if this happens.

Secondly, I did notice that the temperature was being displayed as -36C but fortunately the real temperature was about +5C! Now I have the kit in my nice warm room temperature lab set up, I found that the jack plug for the sensor catches slightly on the case on insertion. Now I've given it a solid insertion (!), the display is now reading +23C which is about right. Happy days. Does the temperature operation need to be initialised/calibrated in any way, or should it just work?

Thanks for your assistance.

Read More...

I have the same problem with serial timeout errors with the Moonlite BUT the focuser on my setup doesn't work at all, i.e. it doesn't move on command - see log file below. It used to work ok and I've not _consciously_ changed anything! I've done a bit of troubleshooting - I'm on a MacBook Pro running Catalina 10.15.2 with Kstars 3.3.8. The log file below is from a debug session when attempting to move the focuser. Everything appears ok in that the messages seem correct but the focuser hasn't actually moved. The slip clutch is correctly tightened and the focuser works fine in a Virtualbox VM running Windoze 10 and the Moonlite non-ASCOM utility, and it moves to the correct positioning when instructed, just not when using indi - this indicates to me that the USB-serial driver is operating correctly. I don't know whether the serial timeout errors are connected with the focuser not moving or a just a red herring. I really don't want to be running a whole VM just to operate the focuser - please help!

INFO 0.005846 sec : Session log file /Users/sjf/.indi/logs/2020-01-21/indi_moonlite_focus/indi_moonlite_focus_13:19:49.log
DEBUG 0.589597 sec : Connecting to /dev/cu.usbserial-AH0741BL @ 9600
DEBUG 0.595000 sec : Port FD 3
DEBUG 0.595055 sec : Connection successful, attempting handshake...
INFO 1.621624 sec : MoonLite is online. Getting focus parameters...
INFO 1.621717 sec : MoonLite is online.
DEBUG 1.622472 sec : Configuration successfully saved for DEVICE_PORT.
DEBUG 1.623259 sec : Configuration successfully saved for DEVICE_BAUD_RATE.
DEBUG 1.623954 sec : Configuration successfully saved for CONNECTION_MODE.
DEBUG 1.624754 sec : CMD <:GP#>
DEBUG 1.636696 sec : RES <0CDC#>
DEBUG 1.637842 sec : CMD <:C#>
DEBUG 1.638346 sec : CMD <:GT#>
DEBUG 1.652646 sec : RES <FFB8#>
DEBUG 1.653716 sec : CMD <:GD#>
DEBUG 1.668746 sec : RES <02#>
DEBUG 1.670760 sec : CMD <:GH#>
DEBUG 1.684650 sec : RES <00#>
INFO 1.685278 sec : MoonLite parameters updated, focuser ready for use.
DEBUG 1.685359 sec : Toggle Debug Level -- Driver Debug
DEBUG 2.124542 sec : CMD <:GP#>
DEBUG 2.147706 sec : RES <0CDC#>
DEBUG 2.148503 sec : CMD <:C#>
DEBUG 2.148857 sec : CMD <:GT#>
ERROR 5.150571 sec : Serial read error: Timeout error.
DEBUG 5.152576 sec : Toggle Debug Level -- Driver Debug
DEBUG 5.152615 sec : Toggle Logging Level -- Driver Debug
INFO 5.152642 sec : Session log file /Users/sjf/.indi/logs/2020-01-21/indi_moonlite_focus/indi_moonlite_focus_13:19:49.log
DEBUG 5.153272 sec : CMD <:SF#>
DEBUG 5.153383 sec : Configuration successfully loaded.
DEBUG 5.653010 sec : CMD <:GP#>
DEBUG 5.678123 sec : RES <0CDC#>
DEBUG 5.679221 sec : CMD <:C#>
DEBUG 5.679852 sec : CMD <:GT#>
ERROR 8.683086 sec : Serial read error: Timeout error.
DEBUG 9.189409 sec : CMD <:GP#>
DEBUG 9.208189 sec : RES <0CDC#>
DEBUG 9.209259 sec : CMD <:C#>
DEBUG 9.209836 sec : CMD <:GT#>
DEBUG 9.224254 sec : RES <FFB8#>
DEBUG 9.729849 sec : CMD <:GP#>
DEBUG 9.751508 sec : RES <0CDC#>
DEBUG 9.753162 sec : CMD <:C#>
DEBUG 9.753699 sec : CMD <:GT#>
DEBUG 9.767570 sec : RES <FFB8#>
DEBUG 10.273960 sec : CMD <:GP#>
DEBUG 10.294702 sec : RES <0CDC#>
DEBUG 10.296336 sec : CMD <:C#>
DEBUG 10.297073 sec : CMD <:GT#>
DEBUG 10.310490 sec : RES <FFB8#>
DEBUG 10.813842 sec : CMD <:GP#>
DEBUG 10.837936 sec : RES <0CDC#>
DEBUG 10.839679 sec : CMD <:C#>
DEBUG 10.840579 sec : CMD <:GT#>
DEBUG 10.853849 sec : RES <FFB8#>
DEBUG 11.359650 sec : CMD <:GP#>
DEBUG 11.380931 sec : RES <0CDC#>
DEBUG 11.382562 sec : CMD <:C#>
DEBUG 11.383194 sec : CMD <:GT#>
DEBUG 11.396870 sec : RES <FFB8#>
DEBUG 11.898703 sec : CMD <:GP#>
DEBUG 11.923818 sec : RES <0CDC#>
DEBUG 11.924885 sec : CMD <:C#>
DEBUG 11.925430 sec : CMD <:GT#>
DEBUG 11.939881 sec : RES <FFB8#>
DEBUG 12.444137 sec : CMD <:GP#>
DEBUG 12.467019 sec : RES <0CDC#>
DEBUG 12.468277 sec : CMD <:C#>
DEBUG 12.468893 sec : CMD <:GT#>
DEBUG 12.482940 sec : RES <FFB8#>
DEBUG 12.987349 sec : CMD <:GP#>
DEBUG 13.010051 sec : RES <0CDC#>
DEBUG 13.011122 sec : CMD <:C#>
DEBUG 13.011629 sec : CMD <:GT#>
DEBUG 13.026001 sec : RES <FFB8#>
DEBUG 13.528378 sec : CMD <:GP#>
DEBUG 13.553076 sec : RES <0CDC#>
DEBUG 13.554083 sec : CMD <:C#>
DEBUG 13.554610 sec : CMD <:GT#>
ERROR 16.555771 sec : Serial read error: Timeout error.
DEBUG 17.056871 sec : CMD <:GP#>
DEBUG 17.067395 sec : RES <0CDC#>
DEBUG 17.068458 sec : CMD <:C#>
DEBUG 17.069020 sec : CMD <:GT#>
DEBUG 17.083316 sec : RES <FFB8#>
DEBUG 17.585430 sec : CMD <:GP#>
DEBUG 17.610838 sec : RES <0CDC#>
DEBUG 17.613126 sec : CMD <:C#>
DEBUG 17.614309 sec : CMD <:GT#>
ERROR 20.614740 sec : Serial read error: Timeout error.
DEBUG 21.117363 sec : CMD <:GP#>
DEBUG 21.140707 sec : RES <0CDC#>
DEBUG 21.141801 sec : CMD <:C#>
DEBUG 21.142421 sec : CMD <:GT#>
ERROR 24.143032 sec : Serial read error: Timeout error.
DEBUG 24.143766 sec : CMD <:SN0000#>
DEBUG 24.144436 sec : CMD <:FG#>
INFO 24.144512 sec : Focuser is moving to position 0 <--- It is currently at position 3292 which is correctly displayed in the Focus module
DEBUG 24.644759 sec : CMD <:GP#>
DEBUG 24.654891 sec : RES <0CDC#>
DEBUG 24.656314 sec : CMD <:C#>
DEBUG 24.657006 sec : CMD <:GT#>
DEBUG 24.670921 sec : RES <FFB8#>
DEBUG 24.672463 sec : CMD <:GI#>
DEBUG 24.686930 sec : RES <00#>
INFO 24.687801 sec : Focuser reached requested position. <--- Everything appears ok but the focuser hasn't actually moved!
DEBUG 25.188753 sec : CMD <:GP#>
DEBUG 25.213879 sec : RES <0CDC#>
DEBUG 25.214851 sec : CMD <:C#>
DEBUG 25.215368 sec : CMD <:GT#>
DEBUG 25.229836 sec : RES <FFB8#>
DEBUG 25.732975 sec : CMD <:GP#>
DEBUG 25.756937 sec : RES <0CDC#>
DEBUG 25.758225 sec : CMD <:C#>
DEBUG 25.758801 sec : CMD <:GT#>
DEBUG 25.773024 sec : RES <FFB8#>
DEBUG 26.277202 sec : CMD <:GP#>
DEBUG 26.300106 sec : RES <0CDC#>
DEBUG 26.301145 sec : CMD <:C#>
DEBUG 26.301632 sec : CMD <:GT#>
DEBUG 26.316032 sec : RES <FFB8#>
DEBUG 26.820430 sec : CMD <:GP#>
DEBUG 26.843187 sec : RES <0CDC#>
DEBUG 26.844274 sec : CMD <:C#>
DEBUG 26.844816 sec : CMD <:GT#>
DEBUG 26.859172 sec : RES <FFB8#>
DEBUG 27.361538 sec : CMD <:GP#>
DEBUG 27.386445 sec : RES <0CDC#>
DEBUG 27.388083 sec : CMD <:C#>
DEBUG 27.388850 sec : CMD <:GT#>
ERROR 30.392654 sec : Serial read error: Timeout error.
DEBUG 30.897912 sec : CMD <:GP#>
DEBUG 30.916538 sec : RES <0CDC#>
DEBUG 30.917649 sec : CMD <:C#>
DEBUG 30.918134 sec : CMD <:GT#>
ERROR 33.918501 sec : Serial read error: Timeout error.

Read More...