Pocket Beagle stuck in mass storage mode

I have a Pocket Beagle which I haven’t used in a year or two, last time was connected to an OpenBSD machine by USB. I could SSH to an IP and log into it at least. Now I’m trying to use it with a Raspberry Pi (3B) plugged into a powered USB hub. Ultimately this is not the way I want to use it but I expected it to work for setting up other modes.

lsusb shows me: Bus 001 Device 013: ID 1d6b:0104 Linux Foundation Multifunction Composite Gadget

But ifconfig doesn’t show the device, sfdisk -l shows a new
/dev/sdb1 2048 36863 34816 17M e W95 FAT16 (LBA)

I installed the /Drivers/Linux/FTDI/mkudevrule.sh before I read that that’s not really meant for the Pocket Beagle. I turned on logging in my /etc/usb_modeswitch.conf (on the Pi) but I don’t see anything in /var/log that logs like it came from usb.

In my dmesg though I do see
[ 6.039422] cdc_ether 1-1.5.1.3:1.2 eth1: register ‘cdc_ether’ at usb-3f980000.usb-1.5.1.3, CDC Ethernet Device, 60:64:05:66:d9:5d
[ 6.039658] usbcore: registered new interface driver cdc_ether
[ 6.074612] cdc_acm 1-1.5.1.3:1.4: ttyACM0: USB ACM device
[ 6.075531] usbcore: registered new interface driver cdc_acm
[ 6.075546] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 6.184878] rndis_host 1-1.5.1.3:1.0 eth2: register ‘rndis_host’ at usb-3f980000.usb-1.5.1.3, RNDIS device, 60:64:05:66:d9:5a
[ 6.185107] usbcore: registered new interface driver rndis_host
[ 6.197072] usbcore: registered new interface driver rndis_wlan

So maybe I should add eth2 to my /etc/network/interfaces and reboot.

I should probably delete /etc/udev/rules.d/73-beaglebone.rules

BTW the FAQ https://beagleboard.org/support/faq is dated 29014 and doesn’t mention the Pocket Beagle at all.

No appreciable change, I deleted /etc/udev/rules.d/73-beaglebone.rules (on my Pi), set eth2 up in /etc/network/interfaces as

For connecting the Pocket Beagle (USB)

auto eth2
iface eth2 inet static
address 192.168.6.1
netmask 255.255.255.0
network 192.168.6.0
broadcast 192.168.6.255

And then rebooted. Can’t get to 192.168.6.2 by ping. web, zenmap. I don’t know how to use usb_modeswitch in this case because I don’t know how to tell it what I want. Rndis can’t be that strange.

OK, I was using the wrong device name. This time I got the number of
the usb device and did:

upstairs# dmesg | grep 1-1.5.1.3:1
[ 4.609338] usb-storage 1-1.5.1.3:1.6: USB Mass Storage device detected
[ 4.614252] scsi host2: usb-storage 1-1.5.1.3:1.6
[ 5.714100] cdc_acm 1-1.5.1.3:1.4: ttyACM0: USB ACM device
[ 5.720937] cdc_ether 1-1.5.1.3:1.2 eth1: register 'cdc_ether' at
usb-3f980000.usb-1.5.1.3, CDC Ethernet Device,

60:64:05:66:d9:5d
[ 5.907163] rndis_host 1-1.5.1.3:1.0 eth2: register 'rndis_host' at
usb-3f980000.usb-1.5.1.3, RNDIS device, 60:64
                                                    :05:66:d9:5a

I was using eth2 because it was associated with the rndis, I should
have been using eth1 which is associated with cdc_ether.

I changed my interfaces file to have:
auto eth1
iface eth1 inet static
  address 192.168.6.1
  netmask 255.255.255.0
  network 192.168.6.0
  broadcast 192.168.6.255

And I can get to the Beagle's internal web server. And ssh to it.
uname -a
Linux beaglebone 4.14.71-ti-r80 #1 SMP PREEMPT Fri Oct 5 23:50:11 UTC
2018 armv7l GNU/Linux

I'm using just a foot-long usb-microusb cable that came free with an
mp3 player, plugged into my powered usb hub. No monkeying with udev
or usb_modeswitch.