Re: macOS Catalina + Beaglebone Black

1,154 views
Skip to first unread message

Jason Kridner

unread,
Nov 5, 2019, 5:21:53 PM11/5/19
to beagl...@googlegroups.com
Please cc the BeagleBoard Google Group on support issues if it isn't a private matter. I didn't figure you cared if this issue was private, so I've added it to the reply and moved you into BCC.

I ran into the same problem last week at a training ELC-E (bbb.io/t). The work-around I found is to disable the RNDIS interface used for Windows. Seems Microsoft and Apple have both added the same bug in their operating systems. If either one sees the other's compatible network driver, they choose to not work. :-(

One alternative might be to go back to using HoRNDIS, but it would mean asking the maintainer to support Catalina.

On Tue, Nov 5, 2019 at 4:29 PM someone wrote:
Hi Jason,

We've gotten reports from users using the latest version of macOS that they aren't able to connect to the Pocket NC over USB. Are you aware of any issues connecting over USB to the Beaglebone Black on macOS Catalina?


--

Robert Nelson

unread,
Nov 5, 2019, 5:27:50 PM11/5/19
to Beagle Board
It looks like he found a maintainer:

https://joshuawise.com/horndis
> --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/CA%2BT6QP%3Dgsj5H5EGod%2B2DgZHGs%3DVeferVoYnK%3Dr3_3NdsgNxi1w%40mail.gmail.com.



--
Robert Nelson
https://rcn-ee.com/

John Allwine

unread,
Nov 7, 2019, 10:15:08 AM11/7/19
to Jason Kridner, beagl...@googlegroups.com
Thanks Jason, how do you disable the RNDIS interface used for Windows?

On Nov 5, 2019, at 3:21 PM, Jason Kridner <jkri...@gmail.com> wrote:



Jason Kridner

unread,
Nov 7, 2019, 1:31:10 PM11/7/19
to BeagleBoard
I'm thinking we need something like the below, then we could edit /etc/default/bb-boot to add USB_NETWORK_RNDIS_DISABLED=yes or USB_NETWORK_CDC_DISABLED=yes. I'd need someone to try this on Catalina and the latest Windows 10. Ugly, but something to get us over the hump.

You may be able to log in over the virtual serial to make this change.  Thoughts?

diff --git a/boot/am335x_evm.sh b/boot/am335x_evm.sh index 16b1b38..7b72d0f 100755 --- a/boot/am335x_evm.sh +++ b/boot/am335x_evm.sh @@ -43,7 +43,13 @@ fi if [ -f /etc/default/bb-boot ] ; then unset USB_NETWORK_DISABLED + unset USB_NETWORK_RNDIS_DISABLED + unset USB_NETWORK_CDC_DISABLED . /etc/default/bb-boot + if [ "x${USB_NETWORK_DISABLED}" = "xyes" ] ; then + USB_NETWORK_RNDIS_DISABLED="yes" + USB_NETWORK_CDC_DISABLED="yes" + fi fi log="am335x_evm:" @@ -507,7 +513,7 @@ run_libcomposite () { echo 500 > configs/c.1/MaxPower - if [ ! "x${USB_NETWORK_DISABLED}" = "xyes" ]; then + if [ ! "x${USB_NETWORK_RNDIS_DISABLED}" = "xyes" ]; then mkdir -p functions/rndis.usb0 # first byte of address must be even echo ${cpsw_2_mac} > functions/rndis.usb0/host_addr @@ -556,7 +562,7 @@ run_libcomposite () { ln -s functions/mass_storage.usb0 configs/c.1/ fi - if [ ! "x${USB_NETWORK_DISABLED}" = "xyes" ]; then + if [ ! "x${USB_NETWORK_RNDIS_DISABLED}" = "xyes" ]; then ln -s configs/c.1 os_desc mkdir functions/rndis.usb0/os_desc/interface.rndis/Icons echo 2 > functions/rndis.usb0/os_desc/interface.rndis/Icons/type @@ -566,14 +572,16 @@ run_libcomposite () { echo "BeagleBone USB Ethernet" > functions/rndis.usb0/os_desc/interface.rndis/Label/data ln -s functions/rndis.usb0 configs/c.1/ + usb0="enable" fi - if [ ! "x${USB_NETWORK_DISABLED}" = "xyes" ]; then + if [ ! "x${USB_NETWORK_CDC_DISABLED}" = "xyes" ]; then mkdir -p functions/ecm.usb0 echo ${cpsw_4_mac} > functions/ecm.usb0/host_addr echo ${cpsw_5_mac} > functions/ecm.usb0/dev_addr ln -s functions/ecm.usb0 configs/c.1/ + usb1="enable" fi mkdir -p functions/acm.usb0 @@ -590,8 +598,6 @@ run_libcomposite () { fi fi - usb0="enable" - usb1="enable" echo "${log} g_multi Created" else echo "${log} FIXME: need to bring down g_multi first, before running a second time."


On Thursday, November 7, 2019 at 10:15:08 AM UTC-5, John Allwine wrote:
Thanks Jason, how do you disable the RNDIS interface used for Windows?

jo...@pocketnc.com

unread,
Nov 15, 2019, 11:42:55 AM11/15/19
to BeagleBoard
This did not work for me on Catalina. I updated /opt/scripts/ and saw your changes in boot/am335x_evm.sh. In /etc/default/bb-boot I tried USB_NETWORK_RNDIS_DISABLED=yes and no network interface was shown when I did an ifconfig except for my ethernet connection (I'm connecting over ssh through ethernet). I also tried USB_NETWORK_CDC_DISABLED=yes and the usb0 network interface shows up when I ssh in over ethernet, but still doesn't connect from Catalina over usb (but does from High Sierra).

Jason Kridner

unread,
Nov 15, 2019, 12:19:28 PM11/15/19
to beagl...@googlegroups.com
On Fri, Nov 15, 2019 at 5:42 PM <jo...@pocketnc.com> wrote:
This did not work for me on Catalina. I updated /opt/scripts/ and saw your changes in boot/am335x_evm.sh. In /etc/default/bb-boot I tried USB_NETWORK_RNDIS_DISABLED=yes and no network interface was shown when I did an ifconfig except for my ethernet connection (I'm connecting over ssh through ethernet). I also tried USB_NETWORK_CDC_DISABLED=yes and the usb0 network interface shows up when I ssh in over ethernet, but still doesn't connect from Catalina over usb (but does from High Sierra).

Can you try disabling CDC, leaving RNDIS enabled and install the HoRNDIS driver?



On Thursday, November 7, 2019 at 11:31:10 AM UTC-7, Jason Kridner wrote:
I'm thinking we need something like the below, then we could edit /etc/default/bb-boot to add USB_NETWORK_RNDIS_DISABLED=yes or USB_NETWORK_CDC_DISABLED=yes. I'd need someone to try this on Catalina and the latest Windows 10. Ugly, but something to get us over the hump.

You may be able to log in over the virtual serial to make this change.  Thoughts?

diff --git a/boot/am335x_evm.sh b/boot/am335x_evm.sh index 16b1b38..7b72d0f 100755 --- a/boot/am335x_evm.sh +++ b/boot/am335x_evm.sh @@ -43,7 +43,13 @@ fi if [ -f /etc/default/bb-boot ] ; then unset USB_NETWORK_DISABLED + unset USB_NETWORK_RNDIS_DISABLED + unset USB_NETWORK_CDC_DISABLED . /etc/default/bb-boot + if [ "x${USB_NETWORK_DISABLED}" = "xyes" ] ; then + USB_NETWORK_RNDIS_DISABLED="yes" + USB_NETWORK_CDC_DISABLED="yes" + fi fi log="am335x_evm:" @@ -507,7 +513,7 @@ run_libcomposite () { echo 500 > configs/c.1/MaxPower - if [ ! "x${USB_NETWORK_DISABLED}" = "xyes" ]; then + if [ ! "x${USB_NETWORK_RNDIS_DISABLED}" = "xyes" ]; then mkdir -p functions/rndis.usb0 # first byte of address must be even echo ${cpsw_2_mac} > functions/rndis.usb0/host_addr @@ -556,7 +562,7 @@ run_libcomposite () { ln -s functions/mass_storage.usb0 configs/c.1/ fi - if [ ! "x${USB_NETWORK_DISABLED}" = "xyes" ]; then + if [ ! "x${USB_NETWORK_RNDIS_DISABLED}" = "xyes" ]; then ln -s configs/c.1 os_desc mkdir functions/rndis.usb0/os_desc/interface.rndis/Icons echo 2 > functions/rndis.usb0/os_desc/interface.rndis/Icons/type @@ -566,14 +572,16 @@ run_libcomposite () { echo "BeagleBone USB Ethernet" > functions/rndis.usb0/os_desc/interface.rndis/Label/data ln -s functions/rndis.usb0 configs/c.1/ + usb0="enable" fi - if [ ! "x${USB_NETWORK_DISABLED}" = "xyes" ]; then + if [ ! "x${USB_NETWORK_CDC_DISABLED}" = "xyes" ]; then mkdir -p functions/ecm.usb0 echo ${cpsw_4_mac} > functions/ecm.usb0/host_addr echo ${cpsw_5_mac} > functions/ecm.usb0/dev_addr ln -s functions/ecm.usb0 configs/c.1/ + usb1="enable" fi mkdir -p functions/acm.usb0 @@ -590,8 +598,6 @@ run_libcomposite () { fi fi - usb0="enable" - usb1="enable" echo "${log} g_multi Created" else echo "${log} FIXME: need to bring down g_multi first, before running a second time."

On Thursday, November 7, 2019 at 10:15:08 AM UTC-5, John Allwine wrote:
Thanks Jason, how do you disable the RNDIS interface used for Windows?

On Nov 5, 2019, at 3:21 PM, Jason Kridner wrote:


Please cc the BeagleBoard Google Group on support issues if it isn't a private matter. I didn't figure you cared if this issue was private, so I've added it to the reply and moved you into BCC.

I ran into the same problem last week at a training ELC-E (bbb.io/t). The work-around I found is to disable the RNDIS interface used for Windows. Seems Microsoft and Apple have both added the same bug in their operating systems. If either one sees the other's compatible network driver, they choose to not work. :-(

One alternative might be to go back to using HoRNDIS, but it would mean asking the maintainer to support Catalina.

On Tue, Nov 5, 2019 at 4:29 PM someone wrote:
Hi Jason,

We've gotten reports from users using the latest version of macOS that they aren't able to connect to the Pocket NC over USB. Are you aware of any issues connecting over USB to the Beaglebone Black on macOS Catalina?


--

--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
--
https://beagleboard.org/about - a 501c3 non-profit educating around open hardware computing

jo...@pocketnc.com

unread,
Nov 15, 2019, 12:29:52 PM11/15/19
to BeagleBoard
The HoRNDIS driver won't install on Catalina, saying "This package is incompatible with this version of macOS".
To unsubscribe from this group and stop receiving emails from it, send an email to beagl...@googlegroups.com.

jo...@pocketnc.com

unread,
Nov 18, 2019, 1:26:32 PM11/18/19
to BeagleBoard
Installing the HoRNDIS driver mentioned in this issue seems to work in Catalina without any changes to the to RNDIS or CDC settings. I was able to connect from Catalina with one of our production Beaglebone images without updating the am335x_evm.sh script after installing this driver:

stephen....@gmail.com

unread,
Dec 9, 2019, 5:29:48 PM12/9/19
to BeagleBoard
Can you switch to CDC NCM instead of CDC ECM? The issue[1] s that ECM fails in a composite gadget, but NCM seems to work fine. The same issue affected NVIDIA Jetson. For more details, see:

[1] On Jetson at least, and same here judging by the fact that people suggest disabling RNDIS.
Reply all
Reply to author
Forward
0 new messages