Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Replace the Wifi or Ethernet module by the ESP-13?

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    25
    1.6k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Danalundefined
      Danal @Kanyo
      last edited by Danal

      @Kanyo said in Replace the Wifi or Ethernet module by the ESP-13?:

      @Danal
      Sorry for the confusion on the Japanese page, thanks for looking seriously.

      Yep, looks like it WILL do it. Nifty little gadget.

      Delta / Kossel printer fanatic

      1 Reply Last reply Reply Quote 0
      • Danalundefined
        Danal @Kanyo
        last edited by

        @Kanyo said in Replace the Wifi or Ethernet module by the ESP-13?:

        The big reason I want to replace a Wifi module is mDNS protocol.
        Are there any plans to implement the mDNS protocol on the Duet2Ethernet?

        That's a pretty good reason to make the "WiFi Client to Ether" box a Raspberry Pi. Setting it up as the client/bridge is straightforward (tons of examples) and mDNS is also relatively easy. Being *nix literate at the command line is helpful, but not essential, due to the many examples.

        Delta / Kossel printer fanatic

        1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators @Kanyo
          last edited by dc42

          @Kanyo said in Replace the Wifi or Ethernet module by the ESP-13?:

          I feel sad that WROOM module was not chosen, no help for a larger footprint.

          When we designed the Duet WiFi, there was only one WROOM module and no external antenna option; whereas there were several ESP modules, some of which were certified. Since that time there have been two new WROOM modules, both certified, one with external antenna. To change to it would have required moving the SD card slot, which would have been incompatible with existing enclosure designs, and would in turn have required moving the mounting point for the Ethernet daughter board - so a new version of the daughter board would have been needed.

          Are there any plans to implement the mDNS protocol on the Duet2Ethernet?

          Yes.

          Duet WiFi hardware designer and firmware engineer
          Please do not ask me for Duet support via PM or email, use the forum
          http://www.escher3d.com, https://miscsolutions.wordpress.com

          1 Reply Last reply Reply Quote 0
          • Kanyoundefined
            Kanyo
            last edited by

            I expect so much.

            1 Reply Last reply Reply Quote 0
            • A Former User?
              A Former User @A Former User
              last edited by A Former User

              @bearer said in Replace the Wifi or Ethernet module by the ESP-13?:

              (I'll see if I can find time later this week to borrow the Duet 3's RPi 3B and try bridging it to the Duet 2 Maestro, but busy week)

              @Kanyo FYI this works with my RPi 3B+ https://willhaley.com/blog/raspberry-pi-wifi-ethernet-bridge/

              I tested Option 1 and it works just fine with my Duet 2 Maestro. The Pi gets an IP address of its own so you can still administrate it from the same network. The Duet 2 Maestro even gets the same (non reserved) DHCP lease through the bridge and mDNS works with the older firmware, but the Pi could probably be made to announce on the Duet's behalf if needed.

              Edit: I'll add the whole thing here, with warnings and all; in case the link dies in the future..

              Note: This script drastically changes the networking configuration and your Pi may end up in an unreliable networking state if anything goes wrong

              #!/usr/bin/env bash
              
              set -e
              
              [ $EUID -ne 0 ] && echo "run as root" >&2 && exit 1
              
              # Update these variables as needed
              
              ssid="the ssid"
              psk="the password"
              country="US"
              
              # You should not need to update anything below this line
              
              apt update && apt install parprouted dhcp-helper
              
              systemctl stop dhcp-helper
              systemctl enable dhcp-helper
              
              systemctl mask networking.service
              systemctl mask dhcpcd.service
              if [ -d /etc/network/interfaces ];
              then
                mv /etc/network/interfaces /etc/network/interfaces.bak
              fi
              sed -i '1i resolvconf=NO' /etc/resolvconf.conf
              
              systemctl enable systemd-networkd.service
              systemctl enable systemd-resolved.service
              ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
              
              cat > /etc/wpa_supplicant/wpa_supplicant-wlan0.conf <<EOF
              ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
              update_config=1
              country=${country}
              
              network={
                  ssid="${ssid}"
                  psk="${psk}"
              }
              EOF
              
              chmod 600 /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
              systemctl disable wpa_supplicant.service
              systemctl enable wpa_supplicant@wlan0.service
              
              cat > /etc/systemd/network/08-wlan0.network <<EOF
              [Match]
              Name=wlan0
              [Network]
              DHCP=yes
              IPForward=yes
              EOF
              
              cat > /etc/default/dhcp-helper <<EOF
              DHCPHELPER_OPTS="-b wlan0"
              EOF
              
              cat <<'EOF' >/etc/avahi/avahi-daemon.conf
              [server]
              use-ipv4=yes
              use-ipv6=yes
              ratelimit-interval-usec=1000000
              ratelimit-burst=1000
              
              [wide-area]
              enable-wide-area=yes
              
              [publish]
              publish-hinfo=no
              publish-workstation=no
              
              [reflector]
              enable-reflector=yes
              
              [rlimits]
              EOF
              
              cat <<'EOF' >/etc/systemd/system/parprouted.service
              [Unit]
              Description=proxy arp routing service
              Documentation=https://raspberrypi.stackexchange.com/q/88954/79866
              
              [Service]
              Type=forking
              # Restart until wlan0 gained carrier
              Restart=on-failure
              RestartSec=5
              TimeoutStartSec=30
              ExecStartPre=/lib/systemd/systemd-networkd-wait-online --interface=wlan0 --timeout=6 --quiet
              ExecStartPre=/bin/echo 'systemd-networkd-wait-online: wlan0 is online'
              # clone the dhcp-allocated IP to eth0 so dhcp-helper will relay for the correct subnet
              ExecStartPre=/bin/bash -c '/sbin/ip addr add $(/sbin/ip -4 -br addr show wlan0 | /bin/grep -Po "\\d+\\.\\d+\\.\\d+\\.\\d+")/32 dev eth0'
              ExecStartPre=/sbin/ip link set dev eth0 up
              ExecStartPre=/sbin/ip link set wlan0 promisc on
              ExecStart=-/usr/sbin/parprouted eth0 wlan0
              ExecStopPost=/sbin/ip link set wlan0 promisc off
              ExecStopPost=/sbin/ip link set dev eth0 down
              ExecStopPost=/bin/bash -c '/sbin/ip addr del $(/sbin/ip -4 -br addr show eth0 | /bin/grep -Po "\\d+\\.\\d+\\.\\d+\\.\\d+")/32 dev eth0'
              
              [Install]
              WantedBy=wpa_supplicant@wlan0.service
              EOF
              
              systemctl daemon-reload
              systemctl enable parprouted.service
              
              systemctl start wpa_supplicant@wlan0 dhcp-helper systemd-networkd systemd-resolved
              

              Edit 2: Pay attention to the country="US" variable to ensure local compliance with Wifi channels/frequencies

              1 Reply Last reply Reply Quote 0
              • First post
                Last post
              Unless otherwise noted, all forum content is licensed under CC-BY-SA