RPI (3B) Repeater, Issues connecting to host AP

Hey all,

I am trying to set up a Raspberry PI 3 B as a Wifi Repeater via WDS. OpenWRT is installed on the Pi. I would like to use the internal Wifi as client and a wifi dongle (EW7811Un) as AP.

The main Router is on the 192.168.2.1 subnet and has a wifi set up on the 2.4 radio to be repeated. Here is the /etc/config/wireless of the host AP:

config wifi-device 'radio0'
	option type 'mac80211'
    option hwmode '11a'
    option path 'soc/soc:pcie/pci0000:00/0000:00:01.0/0000:01:00.0'
	option htmode 'VHT80'
	option legacy_rates '1'
	option country 'US'
	option channel '120'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option macaddr '62:38:e0:db:08:50'
	option encryption 'psk2'
	option key 'wicked_access_key'
	option ssid 'wrt'

config wifi-device 'radio1'
    option type 'mac80211'
    option hwmode '11g'
	option path 'soc/soc:pcie/pci0000:00/0000:00:02.0/0000:02:00.0'
	option legacy_rates '1'
	option htmode 'HT40'
	option channel '3'
	option country 'US'    

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option macaddr '62:38:e0:db:08:4f'
	option encryption 'psk2'
	option ssid 'repeat'
	option wds '1'
	option key 'even_more_wicked_access_key'

So with the RPi I would like to connect to the 'repeat' wifi and then set up an AP on the wifi dongle.

So here is the /etc/config/network of the RPi (dhcp server on LAN is DISabled):

config interface 'loopback'
	option ifname 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fda7:4cb4:a9e5::/48'    

config interface 'lan'
	option type 'bridge'
	option ifname 'eth0'
	option proto 'static'
	option ipaddr '192.168.2.254'
	option netmask '255.255.255.0'
	option ip6assign '60'
	option gateway '192.168.2.1'
	option dns '192.168.2.1'

config interface 'wwan'
	option proto 'dhcp'

And here the /etc/config/wireless:

config wifi-device 'radio0'
	option type 'mac80211'
	option channel '3'
	option hwmode '11g'
	option path 'platform/soc/3f300000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1'
	option country 'US'
	option legacy_rates '1'
	option disabled '0'

config wifi-device 'radio1'
	option type 'mac80211'
	option channel '6'
	option hwmode '11g'
	option path 'platform/soc/3f980000.usb/usb1/1-1/1-1.    2/1-1.2:1.0'
	option htmode 'HT20'
	option country '00'
	option legacy_rates '1'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid 'wrt_repeat'
	option encryption 'psk2'
	option key 'the_wickedest_of_all

config wifi-iface
	option ssid 'repeat'
	option encryption 'psk2'
	option device 'radio0'
	option mode 'sta'
	option bssid '62:38:E0:DB:08:4F'
	option wds '1'
	option network 'lan'
	option key 'even_more_wicked_access_key'    

So far so good. So the repeater works just fine when the RPi is plugged into the original AP via eth0. However, when I unplug and reboot, it stops working. When trying to connect to wrt_repeat on my phone, I never make it past "Obtaining IP Address".

When looking at the associated stations on the original AP (WRT1200ac), the RPi shows up like this:

Master "repeat" (wlan1) WifiDongleMacAddress ?

So I guess this must be an issue with getting an IP address for the RPI via wifi. But the wifi interface is associated to the lan interface with a static ip (192.168.2.254). So this should work imo.

Any ideas?

Id suggest making all the wifi ap devices with static ips - simpler and easier to do other stuff like firewall rules later.

It should work based on what i can see above.

Once the repeater works automatically after rebooting , then start looking at why your wifi clients on the repeater arent working. Based on the extra interfaces youve added you might need to add additional firewall rules so that dhcp requests and responses can get to the main access point.

That said, there may be some merit in assigning a separate subnet to your repeater, and having it manage dhcp for its own clients. Then you would just need a route on your main router so it knows to forward traffic