BatchDrake / SigDigger

Qt-based digital signal analyzer, using Suscan core and Sigutils DSP library
https://batchdrake.github.io/SigDigger/
GNU General Public License v3.0
920 stars 91 forks source link

macOS release does not detect SDRs on M1 MacBooks #165

Closed mehdideveloper closed 2 years ago

mehdideveloper commented 2 years ago

I tried the latest built on M1 MacBook. Although SoapySDR detects my SDRs, SigDigger does not. Even clicking on Refresh in the Devices dialog does nothing. SoapySDR and the modules are compiled from source.

BatchDrake commented 2 years ago

The .DMG is intended for x86_64 targets. I don't have any M1 machines at hand to build SigDigger, and I'm surprised you could even execute it. Does CubicSDR for x86_64 work in your machine?

Cheers,

El lun., 29 nov. 2021 22:41, Mehdi A. @.***> escribió:

I tried the latest built on M1 MacBook. Although SoapySDR detects my SDRs, SigDigger does not. Even clicking on Refresh in the Devices dialog does nothing. SoapySDR and the modules are compiled from source.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/BatchDrake/SigDigger/issues/165, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEVET6IBSBTUZK6V7YSMDTUOPXPLANCNFSM5JAFQENA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

mehdideveloper commented 2 years ago

Yes. The new MacBooks (running M1 which itself is ARM-based) run x86 binaries using dynamic binary translation. I have had the laptop for 4 days now and haven't had time to test SDR apps. I will continue to do my tests and will let you know if I have success in getting it to detect and run SDRs (I may compile it)

mehdideveloper commented 2 years ago

And regarding your question on CubicSDR: yes I can run CubicSDR without an issue on the M1 mac (I just use their x86 binary)

BatchDrake commented 2 years ago

Well, I don't think I will be able to debug this issue anytime soon :/

Can you confirm if it works in x86-64 machines? Because if that were the case, it would look like Apple not being able to emulate their own binaries.

El lun., 29 nov. 2021 23:14, Mehdi A. @.***> escribió:

And regarding your question on CubicSDR: yes I can run CubicSDR without an issue on the M1 mac (I just use their x86 binary)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/BatchDrake/SigDigger/issues/165#issuecomment-982072612, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEVET3U52MG2XHGHLSKTMDUOP3L5ANCNFSM5JAFQENA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

mehdideveloper commented 2 years ago

No worries. I'll play with the builds and will let you know if I manage to run it. And no it does not run on my Intel laptop. Actually, when I click on Refresh in the Devices dialog, the app exits (seg fault) Here's what the debugger shows me:

thread #13, name = 'QThread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) frame #0: 0x0000000100b1bed5 libsuscan.0.3.0.dylibsuscan_source_detect_devices + 901 libsuscan.0.3.0.dylibsuscan_source_detect_devices: -> 0x100b1bed5 <+901>: movq (%r12), %rdi 0x100b1bed9 <+905>: testq %rdi, %rdi 0x100b1bedc <+908>: je 0x100b1bec0 ; <+880> 0x100b1bede <+910>: leaq 0x2985e(%rip), %rsi ; "remote"

BatchDrake commented 2 years ago

Damn, so it is not an M1 problem. I'll look into this tomorrow.

El lun., 29 nov. 2021 23:35, Mehdi A. @.***> escribió:

No worries. I'll play with the builds and will let you know if I manage to run it. And no it does not run on my Intel laptop. Actually, when I click on Refresh in the Devices dialog, the app exits (seg fault) Here's what the debugger shows me:

thread #13 https://github.com/BatchDrake/SigDigger/issues/13, name = 'QThread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) frame #0: 0x0000000100b1bed5 libsuscan.0.3.0.dylibsuscan_source_detect_devices

  • 901 libsuscan.0.3.0.dylibsuscan_source_detect_devices: -> 0x100b1bed5 <+901>: movq (%r12), %rdi 0x100b1bed9 <+905>: testq %rdi, %rdi 0x100b1bedc <+908>: je 0x100b1bec0 ; <+880> 0x100b1bede <+910>: leaq 0x2985e(%rip), %rsi ; "remote"

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/BatchDrake/SigDigger/issues/165#issuecomment-982085594, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEVETYXZGF6GUV3CUFV3ZLUOP5ZVANCNFSM5JAFQENA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

BatchDrake commented 2 years ago

Just opened this in a Macbook, but I just can't reproduce it. It detects RTL-SDR just fine.

BatchDrake commented 2 years ago

I am talking about the .dmg btw.

mehdideveloper commented 2 years ago

You tried on an x86 MacBook, right? I tried on another x86 MacBook and I don't get the segfault there, but clicking on Refresh does not show the SDR (although SoapySDRUtil detects it)

BatchDrake commented 2 years ago

I've just tested it back in a macbook, it turns out it had the old libraries installed and I was able to reproduce the crash. I'll look into it these days.

BatchDrake commented 2 years ago

I may have fixed it. I have already scheduled a development release and you should have a new .dmg within the hour.

Cheers,

mehdideveloper commented 2 years ago

It actually fixed the other issue (right panel size) but it still does not detect SDRs.

BatchDrake commented 2 years ago

FYI https://github.com/BatchDrake/SigDigger/issues/99#issuecomment-984535948

mehdideveloper commented 2 years ago

Great job! Now it works on my MacBook Pro 14" M1 and detects RTL-SDR. I will continue to test it with other SDRs.

hpux735 commented 2 years ago

I can verify this works for me on my M1, also. The rtl-sdr is detected, and works great!

juanibuqt commented 2 years ago

I tested too in an M1 MacBook Pro and I confirm this new release work great. Thanks!

BatchDrake commented 2 years ago

I am marking this as fixed, thanks everyone!