In my home network, I connect to the Internet through a router (192.168.1.1). I also have another router (192.168.1.15, 192.168.2.1), this one using OpenWRT, configured as a wireless client. One of my computers is connected to that router via an Ethernet cable, which is connected to my main router wirelessly.
Due to being connected through the OpenWRT router, my computer (192.168.2.4) is on a different subnet. I have a static route set up on my main router for this. The destination network is set as 192.168.2.0, the subnet mask is 255.255.255.0, and the gateway is set as 192.168.1.15. This computer can access both the Internet and other computers on the network without trouble.
Anyway, from a computer in subnet 192.168.1.x, I can ping 192.168.1.15 and 192.168.2.1 (both IP addresses of my OpenWRT router) just fine. However, when I try to ping 192.168.2.4, I get the following message:
PING 192.168.2.4 (192.168.2.4) 56(84) bytes of data. From 192.168.1.15 icmp_seq=1 Destination Port Unreachable
Clearly it's using the static route I assigned. The problem seems to be that the OpenWRT router doesn't know how to route packets to 192.168.2.4, which is strange because that IP is directly connected to that router.
What am I doing wrong?