We have some news, both bad and good, about High Sierra. After spending a couple of days testing with various driver combinations, we've discovered that there is a bug in Apple's built-in FTDI driver (which is used by Insteon PowerLincs and RFXCOM's RFXrec/trx433, at this time we don't know of any Z-Wave interfaces that are effected) when used on some unknown subset of Macs (we suspect older ones, but that's just anecdotal) and another around the order of driver loading.
UPDATE 1: Apple has acknowledged the bugs as reported by us and other developers. Beyond this, however, we don't expect any further feedback as is their standard policy. The bugs appear to be present through the 10.13.6 release.
UPDATE 2: It appears that the bugs persist in macOS Mojave (10.14) as well for a subset of users.
If you want the gory details jump down to that section of the post. The good news is that FTDI's latest driver (2.4.2) seems to work. The not so great news is that you have to disable Apple's driver to get your Mac into a state in which it will always work without any manual intervention (like unplugging/replugging after a reboot) and this unfortunately can't be done easily. The other not so great news is that this (specifically, steps #6 and #7 below) will get undone every time you get an OS update from Apple, at least until they fix the problem.
If you are experiencing the issue, follow these steps and let us know what you find (this assumes you're running High Sierra already):
Remove any previous versions of the FTDI driver that you may have laying around (there can be conflicts). Those may be located in two different places:
/System/Library/Extensions/FTDIUSBSerialDriver.kext /System/Library/Extensions/D2XXHelper.kext (may not exist) /Library/Extensions/FTDIUSBSerialDriver.kext /Library/Extensions/D2XXHelper.kext (may not exist)
Download the latest FTDI driver (2.4.2 as of this writing) and run the installer. High Sierra has new protection for drivers, so you're likely going to get prompted to open the Security System Preference and explicitly allow the driver to be installed: you must respond to this dialog prompt within 30 minutes or it'll disappear (though I think you can go to that preference later and approve).
Write down the name of your boot drive exactly (this is really important to get right). For instance, the name of my boot drive is "Boot Drive" (yeah, very clever I know).
Restart your Mac in recovery mode by:
Once booted into recovery mode, open a terminal window by selecting the Utilities->Terminal menu item
Here it gets a bit tricky so be very careful. First, you want to change to the boot drive - this is where you use the name you wrote down in #2 above. Type the following (including quotes) into the terminal window, substituting Boot Drive with the name of your drive:
cd "/Volumes/Boot Drive/"
Next, we want to move Apple's driver to a different location so it won't load. Type in the following command exactly (that's a period at the end of the line with a space between the file name and the period - it moves the driver to the top level of your boot drive):
mv System/Library/Extensions/AppleUSBFTDI.kext .
If you've already had to do this once, then you may need to remove the previous version of that extension (you'll get an error trying the above command). Do this:
rm -r AppleUSBFTDI.kext
then try the command above again.
Restart your Mac by selecting the Apple->Restart menu item
Hopefully, after following these steps, your PowerLinc will connect without issue automatically after a reboot or after an unplug/replug (basically working right). We've started a separate forum topic for this workaround, so please use that forum thread for questions and comments (definitely let us know if it works for you).
NOTE: one user wrote to us to let us know that if you have a separate bootable drive you can just boot the separate drive then perform steps 6 & 7 (basically, just delete Apple's FTDI driver on normal boot drive) - no need to boot into recovery mode.
We had a user report having success installing the latest FTDI driver (thanks @brlandy for getting us on the right track). I tried it as well and had mixed results (see my attempt log below), but it also gave me some more ideas of things to check on. One big one turned out to be that there are potentially 2 places where older FTDI drivers may have been installed, especially if you've been upgrading your system for many years (see the locations on step 1 above).
So, I removed all traces of former FTDI drivers and started with a clean system. I have several Macs, but the only one exhibiting the issue is an older MacBook Pro (13-inch, Mid 2010, MacBookPro7,1). But fortunately I could always get it to fail on this Mac. Here are the results at each step. Note that I tested with both a PowerLinc 2413U and an older (black) Insteon Adaptor (which seems to be a bit more robust in terms of USB communication, read on for details).
Immediately after boot with Adaptor plugged in, Indigo connects to it with some "unknown command bytes received", which continues to repeat every 25-26 seconds, but otherwise it seems to work:
2018-01-25 11:32:59.039 Application Connected to PowerLinc 2448A7H interface on port usbserial-A700eTEj 2018-01-25 11:32:59.040 Application PowerLinc address 0C.57.13, firmware version 3.5 2018-01-25 11:32:59.040 Error unknown command bytes received 8B 15 (ignoring) 2018-01-25 11:33:00.622 Error unknown command bytes received 65 15 (ignoring) 2018-01-25 11:33:02.207 Error unknown command bytes received 6F 15 (ignoring) 2018-01-25 11:33:03.789 Error unknown command bytes received E4 15 (ignoring) [SNIP] 2018-01-25 11:33:29.127 Error unknown command bytes received B9 15 (ignoring) 2018-01-25 11:33:54.465 Error unknown command bytes received F8 15 (ignoring) 2018-01-25 11:34:19.802 Error unknown command bytes received 2F 15 (ignoring) 2018-01-25 11:34:45.132 Error unknown command bytes received 00 15 (ignoring) 2018-01-25 11:35:10.468 Error unknown command bytes received 00 15 (ignoring) 2018-01-25 11:35:35.806 Error unknown command bytes received 00 15 (ignoring)
Unplug/replug doesn't seem to make any difference in behavior.
Immediately after boot with PowerLinc plugged in, Indigo fails after lots of "unknown command bytes received", flushes, and command resends:
2018-01-25 12:01:43.764 PowerLinc Unexpected command 02 73 (flushing) 2018-01-25 12:01:45.285 Error resending previous command (failure response) 2018-01-25 12:01:45.636 Error unknown command bytes received 6E 69 (ignoring) 2018-01-25 12:01:46.788 Error resending previous command (busy or unexpected command) 2018-01-25 12:01:47.156 Error resending previous command (failure response) 2018-01-25 12:01:47.507 Error unknown command bytes received 9E 38 (ignoring) 2018-01-25 12:01:48.660 Error resending previous command (busy or unexpected command) 2018-01-25 12:01:49.027 Error resending previous command (failure response) 2018-01-25 12:01:49.379 Error unknown command bytes received 00 00 (ignoring) 2018-01-25 12:01:50.530 Error resending previous command (busy or unexpected command) 2018-01-25 12:01:50.883 Interface Failure failed to establish connection with serial interface PowerLinc 2413U on port usbserial-A600B2YH
Unplug/replug doesn't seem to make any difference in behavior.
This step installs this file:
unknown command bytes receivedmessages ever appear.
This step got me pretty close, but it’s where a bunch of you have also reported being: as long as you can unplug/replug after a reboot you’re good. But this isn't exactly a great solution since you may not always be sitting with your Mac when it reboots.
Disable the Apple Driver (see the steps above)
No connectivity problems at all!! Indigo can connect successfully both at boot and after a unplug/replug, so now we’re golden!
Given the results above, I'm pretty confident that the problem is with Apple's driver, or perhaps some interaction between the driver and the Mac's USB subsystem. Furthermore, there seems to be an additional problem that is preventing the non-Apple FTDI driver from overriding the built-in Apple FTDI driver, which is why one has to now manually delete/move the Apple driver while in Recovery Mode in order to reliably use the non-Apple FTDI driver (which works).
While some of the steps above may not necessarily be required, I wanted to outline the process as fully/completely as I could to cover as many cases as possible. Hopefully it’ll work for you.