Beagleplay RJ11 port

what is the purpose of rj11 port , can we provide internet connection with that to another beagleplay board??

any example the use of rj11 as a part of business use case ? is it provide ip address to another board rather than connecting ethernet port
please help here to find out what is the use case of j11 with sample code will be appreciated

It is single-pair Ethernet (SPE). It can be used to power small (5V 250mA) devices and communicate at 10Mbps. It follows the 10Base-T1L standard, but uses an RJ11 connection for simplicity. You can buy wires like this for DSL modems on Amazon or just use regular phone wire. Twisted pair will get it working a lot longer distances… up to 1km.

That is a valid use case. Connecting up to microcontrollers with SPE was the main intent, but connecting up to another BeaglePlay is perfectly valid.

For a business case, it is very much about the 1km distance and low-cost wiring. Also, the ability to send power over the same pair of wires is significant, but we didn’t try to draw power ourselves. The plan is to eventually release some microcontroller boards with SPE that can be powered off of this port.

For a demo, I’ll just connect up to another BeaglePlay…

debian@BeaglePlay-1:~$ sudo ifconfig eth1 up
[sudo] password for debian: 
debian@BeaglePlay-1:~$ ifconfig eth1
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::d8eb:6ff:fe8f:70b0  prefixlen 64  scopeid 0x20<link>
        ether da:eb:06:8f:70:b0  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 18  bytes 2947 (2.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

On the second BeaglePlay…

debian@BeaglePlay-2:~$ sudo ifconfig eth1 up
[sudo] password for debian: 
debian@BeaglePlay-2:~$ ifconfig eth1
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::5044:aaff:fe82:b29d  prefixlen 64  scopeid 0x20<link>
        ether 52:44:aa:82:b2:9d  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 24  bytes 4279 (4.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
debian@BeaglePlay-2:~$ ssh debian@fe80::d8eb:6ff:fe8f:70b0%eth1
The authenticity of host 'fe80::d8eb:6ff:fe8f:70b0%eth1 (fe80::d8eb:6ff:fe8f:70b0%eth1)' can't be established.
ECDSA key fingerprint is SHA256:kLBt4rrX1rMmnRTGNImoFIq5WVIGwja+mmnzEdB77Sc.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'fe80::d8eb:6ff:fe8f:70b0%eth1' (ECDSA) to the list of known hosts.
Debian GNU/Linux 11

BeagleBoard.org Debian Bullseye Xfce Image 2023-05-18
Support: https://bbb.io/debian
default username:password is [debian:temppwd]

debian@fe80::d8eb:6ff:fe8f:70b0%eth1's password: 

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Mar 12 18:14:59 2024 from 192.168.7.1

If the eth1 interface was up already, I could have found the other link-local IP address with ping.

debian@BeaglePlay-2:~$ ping -6 ff02::1%eth1 -c 2
PING ff02::1%eth1(ff02::1%eth1) 56 data bytes
64 bytes from fe80::5044:aaff:fe82:b29d%eth1: icmp_seq=1 ttl=64 time=0.224 ms
64 bytes from fe80::d8eb:6ff:fe8f:70b0%eth1: icmp_seq=1 ttl=64 time=0.959 ms
64 bytes from fe80::5044:aaff:fe82:b29d%eth1: icmp_seq=2 ttl=64 time=0.420 ms

--- ff02::1%eth1 ping statistics ---
2 packets transmitted, 2 received, +1 duplicates, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.224/0.534/0.959/0.310 ms

@RobertCNelson why don’t we bring up eth1 by default?

1 Like

Thanks for your prompt reply,
we will go through it and get back to you…

hi jkridner ,thank you for your response , may i know is both beagleplay board connected to ethernet using rj45 separately or one is connected to rj45 (beagleplay -A) and second one (beagleplay -B) is rj11 port connected to rj11 of (beagleplay -A)

We attached our connection setup for reference. we are not able to ping second (beagleplay -B) board.
(beagleplay -A -192.168.10.111 assigned static ip)
(beagleplay -B -192.168.10.101 assigned static ip) please suggest solution to get IP or ping (beagleplay -B is which not reachable)

I did connect both up to the network by RJ45 to get things going, but what needs to happen to have it come up by default is to provide an /etc/systemd/network/eth1.network file.

Paste the below…

cat <<EOF | sudo tee /etc/systemd/network/eth1.network
[Match]
Name=eth1
Type=ether

[Link]
RequiredForOnline=no

[Network]
DHCP=no
LinkLocalAddressing=ipv6
EOF
sudo systemctl restart systemd-networkd
ifconfig eth1
ping -c 4 ff02::1%eth1

It should spit out something like …

[Match]
Name=eth1
Type=ether

[Link]
RequiredForOnline=no

[Network]
DHCP=no
LinkLocalAddressing=ipv6
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::4cc2:d7ff:fefa:a340  prefixlen 64  scopeid 0x20<link>
        ether 4e:c2:d7:fa:a3:40  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 32  bytes 4896 (4.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

PING ff02::1%eth1(ff02::1%eth1) 56 data bytes
64 bytes from fe80::4cc2:d7ff:fefa:a340%eth1: icmp_seq=1 ttl=64 time=0.244 ms
64 bytes from fe80::4cc2:d7ff:fefa:a340%eth1: icmp_seq=2 ttl=64 time=0.410 ms
64 bytes from fe80::4cc2:d7ff:fefa:a340%eth1: icmp_seq=3 ttl=64 time=0.220 ms
64 bytes from fe80::4cc2:d7ff:fefa:a340%eth1: icmp_seq=4 ttl=64 time=0.405 ms

--- ff02::1%eth1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3076ms
rtt min/avg/max/mdev = 0.220/0.319/0.410/0.088 ms
debian@BeaglePlay:~$ 

When you do it on the second BeaglePlay (first one no longer needs to be connected via Ethernet)…

[Match]
Name=eth1
Type=ether

[Link]
RequiredForOnline=no

[Network]
DHCP=no
LinkLocalAddressing=ipv6
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::b111:1721:ff53:4626  prefixlen 64  scopeid 0x20<link>
        ether ce:0f:8c:56:d4:de  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 63  bytes 11514 (11.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

PING ff02::1%eth1(ff02::1%eth1) 56 data bytes
64 bytes from fe80::b111:1721:ff53:4626%eth1: icmp_seq=1 ttl=64 time=0.306 ms
64 bytes from fe80::4cc2:d7ff:fefa:a340%eth1: icmp_seq=1 ttl=64 time=1.87 ms
64 bytes from fe80::b111:1721:ff53:4626%eth1: icmp_seq=2 ttl=64 time=0.443 ms
64 bytes from fe80::4cc2:d7ff:fefa:a340%eth1: icmp_seq=2 ttl=64 time=1.31 ms
64 bytes from fe80::b111:1721:ff53:4626%eth1: icmp_seq=3 ttl=64 time=0.465 ms
64 bytes from fe80::4cc2:d7ff:fefa:a340%eth1: icmp_seq=3 ttl=64 time=1.35 ms
64 bytes from fe80::b111:1721:ff53:4626%eth1: icmp_seq=4 ttl=64 time=0.369 ms

--- ff02::1%eth1 ping statistics ---
4 packets transmitted, 4 received, +3 duplicates, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 0.306/0.872/1.866/0.576 ms
debian@BeaglePlay:~$ 

Note they can see each other now.

Hey @RobertCNelson, do you think you can add that as the template?

Hi JK , thank you for your suggestion.
I have attached the photo of beagleplay A and B connection.

below are details
beagleplay A
IP V4 -192.168.10.101
IPV6 (eth1) fe80::6e30:2aff:fe08:8bac

beagleplay B
IP V4 -192.168.10.111
IPV6 (eth1) -fe80::ac4a:c1ff:fed4:5b4

your suggested command PING ff02::1%eth1(ff02::1%eth1) worked like beagleplay A able to ping IPV6 (eth1) fe80::6e30:2aff:fe08:8bac

how to communicate beagleplay A to beagleplay B IPV4 or IPV6 address ?

Hi jkridner
Is it possible to assign fixed ipv4 address to the SPE LAN (eth1) ?