analogdevicesinc / libiio

A cross platform library for interfacing with local and remote Linux IIO devices
http://analogdevicesinc.github.io/libiio/
GNU Lesser General Public License v2.1
487 stars 315 forks source link

Not working on macOS Monterey #865

Closed ea7kir closed 2 years ago

ea7kir commented 2 years ago

Although the package installs (if we ignore signing), it's not working on Monterey.

tfcollins commented 2 years ago

Can you provide more information on your hardware and what "not working" means?

ea7kir commented 2 years ago

Hi,

I downloaded and installed libiio-0.24.gc4498c2-macOS-12.pkg form your GitHub. Even after a restart this command fails…

@. ~ % iio_info -n 192.168.2.1 | grep device zsh: command not found: iio_info @. ~ %

The Pluto is connected via USB and is in DFU mode with a solid LED.

However, I have NOT been unable to install HoRNDIS as recommended, because it hasn’t been updated since macOS 10.11 was released. Monterey is currently at 12.4. Perhaps the documentation should clearly specify that macOS is not supported.

Frankly I find the whole idea of having to use USB ridiculous and outdated, especially with a Micro-USB socket that isn’t going to last very long. The Pluto already supports OTG Ethernet, so wouldn’t it make sense to have better support for that.

Look, although your firmware might be stable, other 3rd party firmwares are not. They have a habit of screwing up the entire system.

Aall I’m trying to do is find a way to do repeatable clean installs of your firmware, but remotely over a private LAN. If you know how to do this please let me know.

Regards, Michael Naylor

On 12 Jul 2022, at 16:13, Travis F. Collins @.***> wrote:

Can you provide more information on your hardware and what "not working" means?

— Reply to this email directly, view it on GitHub https://github.com/analogdevicesinc/libiio/issues/865#issuecomment-1181812941, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUC65Z4MXJ266NI7QJMOSNLVTV4QLANCNFSM53LFO6IQ. You are receiving this because you authored the thread.

mhennerich commented 2 years ago

Not sure you are aware of this - You can switch your Pluto to use USB CDC-NCM, which can replace the RNDIS and works out of the box on macOS.

https://wiki.analog.com/university/tools/pluto/users/customizing#changing_the_usb_ethernet_compatibility_mode

tfcollins commented 2 years ago

Installing from the pkg will put everything in the Frameworks folder. So to invoke iio_info would require a command like:

> /Library/Frameworks/iio.framework/Tools/iio_info -S
Library version: 0.24 (git tag: c4498c2)
Compiled with backends: xml ip usb
Available contexts:
        0: 192.168.86.231 (ad9361-phy,xadc,cf-ad9361-dds-core-lpc,cf-ad9361-lpc) [ip:analog.local.]
ea7kir commented 2 years ago

Like this?

@. ~ % /Library/Frameworks/iio.framework/Tools/iio_info -S dyld[1243]: Library not loaded: /usr/local/opt/zstd/lib/libzstd.1.dylib Referenced from: /Library/Frameworks/iio.framework/Versions/0.24/iio Reason: tried: '/usr/local/opt/zstd/lib/libzstd.1.dylib' (no such file), '/usr/local/lib/libzstd.1.dylib' (no such file), '/usr/lib/libzstd.1.dylib' (no such file) zsh: abort /Library/Frameworks/iio.framework/Tools/iio_info -S @. ~ %

Regards, Michael Naylor

On 12 Jul 2022, at 17:40, Travis F. Collins @.***> wrote:

Installing from the pkg will put everything in the Frameworks folder. So to invoke iio_info would require a command like:

/Library/Frameworks/iio.framework/Tools/iio_info -S Library version: 0.24 (git tag: c4498c2) Compiled with backends: xml ip usb Available contexts: 0: 192.168.86.231 (ad9361-phy,xadc,cf-ad9361-dds-core-lpc,cf-ad9361-lpc) [ip:analog.local.] — Reply to this email directly, view it on GitHub https://github.com/analogdevicesinc/libiio/issues/865#issuecomment-1181925143, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUC65Z4XCGGL6YIMIWH3IA3VTWGVLANCNFSM53LFO6IQ. You are receiving this because you authored the thread.

tfcollins commented 2 years ago

You will need to have zstd installed to use the pkg which can be installed through brew:

brew install zstd
ea7kir commented 2 years ago

Thanks, but I use this iMac for so many other things. Could it mess up other apps I use?

Regards, Michael Naylor

On 12 Jul 2022, at 19:31, Travis F. Collins @.***> wrote:

You will need to have zstd installed to use the pkg which can be installed through brew:

brew install zstd — Reply to this email directly, view it on GitHub https://github.com/analogdevicesinc/libiio/issues/865#issuecomment-1182071221, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUC65Z6P6LSHXSXEVHRKNCTVTWTYVANCNFSM53LFO6IQ. You are receiving this because you authored the thread.

ea7kir commented 2 years ago

PS. I went ahead and installed zstd, rebooted, reinstalled, and I still get...

@.*** ~ % iio_info zsh: command not found: iio_info

Does anything work these days?

Regards, Michael Naylor

On 12 Jul 2022, at 19:31, Travis F. Collins @.***> wrote:

You will need to have zstd installed to use the pkg which can be installed through brew:

brew install zstd — Reply to this email directly, view it on GitHub https://github.com/analogdevicesinc/libiio/issues/865#issuecomment-1182071221, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUC65Z6P6LSHXSXEVHRKNCTVTWTYVANCNFSM53LFO6IQ. You are receiving this because you authored the thread.

pcercuei commented 2 years ago

@tfcollins shouldn't zstd be installed in the .pkg if libiio depends on it? Alternatively - we can disable the dependency in the CI for OSX, it is optional (for now).

pcercuei commented 2 years ago

@ea7kir you still need to run /Library/Frameworks/iio.framework/Tools/iio_info as this path isn't into the system's default search paths.

ea7kir commented 2 years ago

@pcercuei thanks. This does work, but I still can't access my ADALM-Pluto. I now know this is because HoRNDIS is required, but is outdated and will not install on Monterey. I don't think there's much I can do about this.

mhennerich commented 2 years ago

@pcercuei thanks. This does work, but I still can't access my ADALM-Pluto. I now know this is because HoRNDIS is required, but is outdated and will not install on Monterey. I don't think there's much I can do about this.

Switch your unit to use CDC-NCM instead of RNDIS, I pasted the link in the posts above

ea7kir commented 2 years ago

@pcercuei I think I tried that, that was after I installed the F5EOE firmware which degrades to v0.31-dirty - ie pre revision D. The Pluto is now back on the roof, ready for first time trials this evening. I've created a document from several sources which I'm hoping will enable me to perform re-install/upgrades/patches remotely over the LAN, so if I do need to bring the Pluto back down to the shack I will try it again. Thanks.

pcercuei commented 2 years ago

@tfcollins added v0.24 builds of Libiio built without ZSTD in the releases section, so these should work without having to install libzstd manually.

pcercuei commented 2 years ago

I think this is fixed now. Feel free to re-open if the problem still exists.

ea7kir commented 2 years ago

I did try that, but without success. I’ll give it another go.

I think the 3rd party firmware I need for DATV, by F5EOE, overwrites most if not all of your firmware. Whichever AD version I start with, from v0.31 to v0.34, the logon screen always reverts to v0.31-4-g9ceb-dirty. This could be why passwords don’t persist.

I recently added a patch to F5EOE, written by F5UII. After it destroyed itself I couldn’t reinstall your firmware. It was then I discovered the mtd2 filesystem. The only way to get back to sanity was to borrow next doors Windows laptop and face an OS I hadn’t used since XP.

I’m about to start over again, aiming for with the cleanest install possible, based on these - all of them.

For example when would I wan to used boot.dfu and how? Same quest for all the above. And can these be copied/installed over ethernet without needing a Windows box? And, in which order should they be installed?

Regards, Michael Naylor

On 12 Jul 2022, at 16:52, Michael Hennerich @.***> wrote:

Not sure you are aware of this - You can switch your Pluto to use USB CDC-NCM, which can replace the RNDIS and works out of the box on macOS.

https://wiki.analog.com/university/tools/pluto/users/customizing#changing_the_usb_ethernet_compatibility_mode https://wiki.analog.com/university/tools/pluto/users/customizing#changing_the_usb_ethernet_compatibility_mode — Reply to this email directly, view it on GitHub https://github.com/analogdevicesinc/libiio/issues/865#issuecomment-1181858599, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUC65ZZGNPPPO5XRSBQ7C6DVTWBBFANCNFSM53LFO6IQ. You are receiving this because you authored the thread.

tfcollins commented 2 years ago

This question is a bit unrelated. Can you post here https://ez.analog.com/adieducation/university-program

-Travis