OpenWrt Forum Archive

Topic: Transparent bridge between wifi station and single wired client

The content of this topic has been archived on 1 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Until I switched ISPs recently I had WDS set up across two openwrt routers so that I could connect my wired network printer to my wifi network. My new ISP gave me a new router and as a result I no longer have WDS and hence cannot connect the printer using wifi.

I tried using a pseudobridge, but I got some odd behavior. I couldn't resolve the hostname of the printer, so I couldn't print from Windows, only Linux. Also ARP requests kept on being sent by the printer as they went unanswered. I get the feeling the ARP translation was screwing things up.

I was thinking of writing a very simple fully transparent bridge between the wifi interface and a wired interface on the router. The wired interface would be a single-port vlan running in promiscuous mode. The printer would be connected to that port. To get round the 3 MAC addresses / 4 nodes problem, the wifi iface MAC address would be the same as the printer's wired one. The bridge would relay packets in both direction unaltered. And because they are unaltered, all protocols like ARP, DNS etc should work transparently.

Please let me know if there is already is a solution that does this though.

The only downside is that the bridge would be running from user space, as I will be using the recvfrom and sendto syscalls. Typical bridges run in kernal space, so I'm not sure how much of a performance hit it would take.

By pseudo bridge, which exact recipe are you following?

I'm using relayd for my pseudo bridge on a Buffalo router this PC is connected to along with a few other devices in this room and it is working fine with the main router in the house which is a NetGear running the stock firmware.  The recipe I followed is:

http://wiki.openwrt.org/doc/recipes/relayclient

I am using Barrier Breaker on the Buffalo.

Yeah I'm running Barrier Breaker on the Buffalo WBMR-HP-G300H too, following those exact same instructions. I might give it another shot just in case I fudged something, but I remember doing it two or three times in an attempt to get it fully working.

I read somewhere in the openwrt documentation that the relayd/pseudobridge works on the same principle as Broadcom's proprietary WET and that has issues too. So I'm guessing both are suffering from the same problems when using MAC address translation.

I'd say reset the OpenWrt installation to defaults and then start again with just the relayd recipe.

I managed to get relayd installed and working on a Nano Station Loco 2 with Attitude Adjustment on Saturday evening and it works like a charm.  That said, during the recipe when it called for restarting wifi I got various errors in the SSH terminal.  At that point I logged out and power reset the Nano and from then on the recipe proceeded without a hitch.  I also did the very last step so the Nano would be accessible over the network just in case.

My Buffalo is a WZR-600dhp, not that it really matters.  The only issue I have had with this setup is if the AP is reset for any reason, then the Buffalo client loses its association (of course) and I power reset it.  Perhaps it will associate again after a time but I am generally too impatient to wait that long.

(Last edited by Nate on 2 Mar 2015, 16:50)

The discussion might have continued from here.