1 Problem Description
This article explains how to connect the Raspberry Pi built into the R1090 to an Internet-connected PC using an Ethernet cable and share the PC's Internet connection. Choose the Linux NAT or Windows ICS method according to the PC's operating system. All IP addresses, network interface names, and DNS addresses in the examples are specific to the test environment. Check them against your actual configuration before proceeding.
When the Raspberry Pi 5 integrated in the R1090 needs to access the Internet to update package repositories or download software packages such as GNU Radio and gr-fosphor, errors such as Temporary failure resolving 'deb.debian.org' or Network is unreachable may occur.
The R1090 features built-in Wi-Fi and can connect to the Internet directly after Wi-Fi is enabled. However, the Wi-Fi signal may be weak in some environments, and a wired Internet connection may not be readily available for the R1090. In this case, you can use a PC to connect to the Internet via Wi-Fi and then share the PC's Internet connection with the R1090 through an Ethernet connection. This article describes how to configure this network-sharing method.
In this setup, a Windows or Linux PC connected to the Internet over Wi-Fi acts as a gateway and forwards traffic for the R1090 using Network Address Translation (NAT). The IP addresses and interface names below are taken from the test environment and must be replaced with those used in your setup.
| Hardware Model | HAROGIC R1090 | Operating System | Host PC: Ubuntu 22.04 Linux or Windows 10/11; R1090: built-in Raspberry Pi |
|---|---|---|---|
| Software | iptables; iproute2; sysctl | Firmware Version | Not specified |
2 Solution
2.1 Method A: Linux
Enable IPv4 forwarding on the Linux PC and configure NAT using iptables. Then set the R1090's default gateway to the IP address of the PC's Ethernet interface and configure a working DNS server. Use ping and sudo apt update to check Internet access.
Test Environment
| Device | Interface | IP Address (Example) | Purpose |
|---|---|---|---|
| Linux PC | wlp0s20f3 |
192.168.3.86 |
Internet access over Wi-Fi |
| Linux PC | enp3s0 |
192.168.1.102 |
Ethernet connection to the R1090 |
| R1090 | eth0 |
192.168.1.100 |
Connection to the Linux PC |
Step 1: Connect the Devices and Identify the Network Interfaces
Connect the Linux PC to the R1090 using an Ethernet cable. On the Linux PC, run the following command to identify the interface used for Internet access and the Ethernet interface connected to the R1090.
ip route
In this test, the default route includes dev wlp0s20f3, so wlp0s20f3 is the Internet-facing interface. The route for 192.168.1.0/24 includes dev enp3s0, so enp3s0 is the interface connected to the R1090.
Step 2: Enable IPv4 Forwarding on the Linux PC
sudo sysctl -w net.ipv4.ip_forward=1
The output net.ipv4.ip_forward = 1 indicates that IPv4 forwarding between network interfaces is enabled on the Linux PC.
Step 3: Configure NAT and Forwarding Rules
The following commands use the test configuration: the R1090 is on the 192.168.1.0/24 subnet, enp3s0 connects to the R1090, and wlp0s20f3 provides Internet access.
sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o wlp0s20f3 -j MASQUERADE
sudo iptables -A FORWARD -i enp3s0 -o wlp0s20f3 -s 192.168.1.0/24 -j ACCEPT
sudo iptables -A FORWARD -i wlp0s20f3 -o enp3s0 -d 192.168.1.0/24 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Replace wlp0s20f3 with the Linux PC's Internet-facing interface and enp3s0 with the interface connected to the R1090. If the R1090 is not on the 192.168.1.0/24 subnet, update the subnet parameters as well.
Step 4: Set the Default Gateway on the R1090
Switch to a terminal on the R1090's built-in Raspberry Pi and run:
sudo ip route replace default via 192.168.1.102 dev eth0
Then run ip route. The output should include the route for the R1090's local subnet and default via 192.168.1.102 dev eth0.
Step 5: Test Internet Connectivity
ping -c 4 8.8.8.8
Replies from 8.8.8.8 indicate that the IP path to this Internet address is working.
Step 6: Configure DNS and Verify Name Resolution
sudo sh -c 'printf "nameserver 192.168.3.1\n" > /etc/resolv.conf'
ping -c 4 deb.debian.org
If the domain name resolves and ping receives replies, DNS is working. This DNS setting is temporary and may be lost when NetworkManager, the network connection, or the device restarts.
Note: First identify the service that manages DNS on the device and record the original configuration. Then configure a working DNS server using a method appropriate for the system. The address 192.168.3.1 is only an example.
Step 7: Verify Access to Package Repositories
sudo apt update
2.2 Method B: Windows
If the Windows PC is connected to the Internet over Wi-Fi and to the R1090 by Ethernet, use Windows Internet Connection Sharing (ICS) to share the Internet connection with the R1090's built-in Raspberry Pi.
Step 1: Enable Internet Connection Sharing in Windows
Press Win + R, enter ncpa.cpl, and press Enter. Right-click the Wi-Fi connection that has Internet access, then select Properties and open the Sharing tab. Select Allow other network users to connect through this computer's Internet connection. Under Home networking connection, select the Ethernet interface connected to the R1090.
When ICS is enabled, Windows automatically configures the shared subnet. In this test, the Windows Ethernet interface used 192.168.137.1/24. The R1090's built-in Raspberry Pi automatically obtained 192.168.137.21/24 through DHCP, with 192.168.137.1 as its default gateway. The actual addresses may vary with the network environment.
Step 2: Check the R1090 Network Configuration
Run the following commands in a terminal on the R1090's built-in Raspberry Pi:
ip addr
ip route
Confirm that eth0 has obtained an IP address on the same subnet as the Windows shared Ethernet interface and that a default route points to that interface. In this test, the route was default via 192.168.137.1 dev eth0.
Step 3: Verify Internet Access and DNS
Run the following commands in order:
ping -c 4 8.8.8.8
ping -c 4 deb.debian.org
sudo apt update
If 8.8.8.8 is reachable, Internet forwarding is working. If the domain name resolves and sudo apt update successfully updates the package indexes, DNS and Internet access to the package repositories are working.
Note: The R1090 may not receive ping replies from the Windows address 192.168.137.1 because of the Windows firewall's ICMP response policy. If 8.8.8.8 is reachable and sudo apt update works, this does not prevent Internet access through Windows ICS.


Back to Cooperation