Finally got WDS working between my two Linksys WRT54Gs running the current
OpenWRT WhiteRussian release. The trick, which I had to figure out for myself
because I couldn't find it anywhere, is to remove /etc/init.d/S50dnsmasq on
the "slave" routers, that is, those without the internet connection. Then
the only DHCP server is the one that can provide a network link, probably
what most people will want. Another question which I had which was not
obvious, is what MAC address to use: the wireless MAC is normally 2 above the
base, e.g. a router that has 000F664AC295 on the label will have
00:0F:66:4A:C2:97 as its
$(nvram get wl0_hwaddr) address. But
in your wl0_wds variable you should use the base, that is, 00:0F:66:4A:C2:95.
Make sure to
nvram commit each change, and reboot (or just
ifdown/ifup the interfaces if you like) to activate the changes. Now I'm
plugged into the slave router with my (non-wifi) laptop, and connected through
the master router to the internet. Also remember the SSIDs can be different,
at least if no encryption is used, but channels need to be the same. I've
got both set to the default of 6.
Even more amazing, is that my Clié works with either access point! It's usually very fussy, so that's a pleasant surprise.
Back to blog or home page
last updated 2013-01-10 20:41:05. served from tektonic.jcomeau.com