I didn't yet test bridging with WDS, but tcpdump on AP 2 shows me that the data I sent with AP 1 arrives at AP 2.

for WDS we don't need a SSID, also since WDSLinks don't have to associate there are no beacons, probes, auths and associations (except you also enable the usual AP eth-device so that usual Clients can connect to the AP)

You can add no more than 6 WDSLinks per card (the firmware just doesn't support more).

so let's compare our AP ethX (eth1) to a WDS ethX (eth3):
hunz@akasha:~/hermesap/cvs/hfw$ sudo iwconfig eth1
eth1      IEEE 802.11-DS  ESSID:"non-specified SSID !!"  Nickname:"HERMES I"
          Mode:Master  Frequency:2.422GHz  Access Point: 00:02:2D:28:0F:20 
          Bit Rate:11Mb/s   Tx-Power=15 dBm   Sensitivity:1/3 
          Retry limit:4   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off

hunz@akasha:~/hermesap/cvs/hfw$ sudo iwconfig eth3
eth3      IEEE 802.11-DS  Mode:Repeater  Access Point: 00:00:00:00:00:00 
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0


You can see there's no SSID and that stuff for the WDS device.
Also you can't set the Channel/Frequency, TxPower and Sensivity for a WDSLink. You have to set these values for the usual AP ethX (in this case eth1) since the card only has one transmitter/receiver - so we can only be on a single channel and so on.

Same for WEP - you can't set extra WEPkeys for each WDS device - you have to set the WEPkeys for the usual AP device. They will then apply for all WDS devices (afaik - didn't test ist).

RTS thr and TXRateControl will be added for the WDS devices soon.
(WDS works without them, too - they're just additional features)

Here a test setup:
I got a PCMCIA Lucent Gold (eth1) and a builtin MiniPCI Hermes (eth2) in my notebook.

So first we setup AP mode by oploading tertiary Firmware on eth1 and eth2 (those interfaces have to be down before uploading the Firmware as you know):
sudo ifconfig eth1 down
sudo ifconfig eth2 down

hunz@akasha:~/hermesap/cvs/hfw$ sudo ./hfwload eth1 ../firmware/T1085800.hfw
segm ofs   1F4800 len     A400 dlen A400 unk        0
segm ofs   1FF000 len     1000 dlen 1000 unk        0
no matching PDA entry for plugrecord 00000160       1C
no matching PDA entry for plugrecord 00000161      100
hfw_upload: 0

hunz@akasha:~/hermesap/cvs/hfw$ sudo ./hfwload eth2 ../firmware/T1085800.hfw
segm ofs   1F4800 len     A400 dlen A400 unk        0
segm ofs   1FF000 len     1000 dlen 1000 unk        0
hfw_upload: 0

hunz@akasha:~/hermesap/cvs/hfw$ sudo iwconfig eth1
eth1      IEEE 802.11-DS  ESSID:"non-specified SSID !!"  Nickname:"HERMES I"
          Mode:Master  Frequency:2.422GHz  Access Point: 00:02:2D:28:0F:20 
          Bit Rate:11Mb/s   Tx-Power=15 dBm   Sensitivity:1/3 
          Retry limit:4   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off

hunz@akasha:~/hermesap/cvs/hfw$ sudo iwconfig eth2
eth2      IEEE 802.11-DS  ESSID:"non-specified SSID !!"  Nickname:"HERMES I"
          Mode:Master  Frequency:2.457GHz  Access Point: 00:02:2D:6B:F1:90 
          Bit Rate:11Mb/s   Tx-Power=15 dBm   Sensitivity:1/3 
          Retry limit:4   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off



We don't ifconfig up those devices now - this is not necessary if we only want to use WDSLinks without associated clients.

hunz@akasha:~/hermesap/cvs/hfw$ sudo iwpriv eth1
...
          add_wds          (8BE9) : set   0       & get  16 char
          del_wds          (8BEA) : set  16 char  & get   0     
...


These are the two private ioctls for eth1/eth2 that we need.
If they are not listed in the iwpriv stuff the you probably have an old CVS-version.

So let's add a WDSLink now.

hunz@akasha:~/hermesap/cvs/hfw$ sudo iwpriv eth1 add_wds
eth1      add_wds:eth3


Fine. We got eth3 as WDSLink device.
Now we also need to add a WDSLink on the second card with which we want to exchange packets:

hunz@akasha:~/hermesap/cvs/hfw$ sudo iwpriv eth2 add_wds
eth2      add_wds:eth4


Ok. We got the second Link. Now we have to tell each Link the peer MAC-Address.
So we set the peer mac of eth3 (1st card) to the macaddr. of eth2/4 and vice versa. This is done with the iwconfig ethX ap <mac> command.

hunz@akasha:~/hermesap/cvs/hfw$ sudo iwconfig eth3 ap 00:02:2D:6B:F1:90
hunz@akasha:~/hermesap/cvs/hfw$ sudo iwconfig eth4 ap 00:02:2D:28:0F:20


Now we give our wds devices ips and set them up:
hunz@akasha:~/hermesap/cvs/hfw$ sudo ifconfig eth3 up 192.168.5.1
hunz@akasha:~/hermesap/cvs/hfw$ sudo ifconfig eth4 up 192.168.6.1


Direct brdiging should be possible, too - I never tested it, but I'll do soon - although I prefer routing and not bridging, since you should treat WDSLinks (like any other WaveLAN connection) as absolute insecure.

Now let's test our WDSLink by tcpdump-ing eth4 (192.168.6.X) while pinging 192.168.5.2 (eth3) - if our WDSLink works we should see the data from the opposite interface:
hunz@akasha:/usr/local/src/pcmcia-cs-3.2.3/wireless$ ping 192.168.5.2
PING 192.168.5.2 (192.168.5.2): 56 data bytes

--- 192.168.5.2 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss

hunz@akasha:~/hermesap/cvs/hfw$ sudo tcpdump -i eth4   
tcpdump: listening on eth4
07:24:08.113982 arp who-has 192.168.5.2 tell 192.168.5.1
07:24:09.113971 arp who-has 192.168.5.2 tell 192.168.5.1
07:24:10.113915 arp who-has 192.168.5.2 tell 192.168.5.1
07:24:11.113860 arp who-has 192.168.5.2 tell 192.168.5.1
07:24:12.113815 arp who-has 192.168.5.2 tell 192.168.5.1

Yapp! It works.
(of course we got no replies to our pings since we pinged a non-existing IP)

You can see the Link Quality of the WDSLink in iwconfig - it gets updated with each received packet:

hunz@akasha:/usr/local/src/pcmcia-cs-3.2.3/wireless$ sudo iwconfig eth4
eth4      IEEE 802.11-DS  Mode:Repeater  Access Point: 00:02:2D:28:0F:20 
          Link Quality:51/92  Signal level:106/153  Noise level:55/153
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0


So if you want to align your antenna just start a ping -f on the other side of the link and watch the Link Quality.

If we want to remove a WDSLink we first ifconfig down the device and then do a iwpriv ethX (the usual AP interface we also used in iwpriv ethX add_wds for WDS device creation) del_wds ethX (the WDS device name)

hunz@akasha:~/hermesap/cvs/hfw$ sudo ifconfig eth3 down
hunz@akasha:~/hermesap/cvs/hfw$ sudo iwpriv eth1 del_wds eth3


(in our example from above same for eth2 (AP device) / eth4 (WDS device of eth2))

Have fun!

This text is just a copy from
http://www.comteam.at/~alex/phpBB2/viewtopic.php?t=13