Archive Page 5
Here’s a quick guide on setting up 802.11n Wifi on a RouterBoard for a multi-user enviroment.
Wireless tab
You have to set the channel width to 20/40MHz HT above or below. 802.11g uses 20MHz wide channels, 802.11n uses two of these, and you have to specify where to expand the 20MHz channel (above or below). So if you are using channel 0, you have to make sure that it is set HT above, and if you are using channel 11, HT below. On channel 6 you can use both, use the freq. usage scanner tool to decide which portion of the channels are less used.
If you are using the 5GHz band, make sure DFS is turned on. WMM should be enabled, and if you want the clients to be able to see each other, turn on default forward.
Data rates tab
Basic rates should be set to the minimum, and supported rates should be set all the way up for 802.11b/g.
Advanced tab
Distance should be set to indoors, and periodic calibration should be disabled. Set Hw. retries to 4, and preable mode to short.
HT tab
All HT chains and AMPDU priorities should be enabled.
HT MCS tab
HT basic MCS should be set to MCS0, and all rates should be supported.
Other settings
If you are using more than three APs near each other (all spread evenly on channels 0, 6 and 11), then you should set the TX power to the minimum (typically 10-12dBm in an office enviroment), to make sure no APs are interfering on the same channel.
Here’s a short music video about our holiday trip.
I wasn’t aware of this. I know, I know, it’s a shame… :)
And with my colleagues in a McDonalds :)
Here’s a quick howto on installing FFP on Zyxel NSA325, which is a nice NAS.
- Create a text file called web_prefix and put this to the first line: ftp://ftp.zyxel-tech.de/2.new_mirror/
- Move the text file to the NAS, to directory /admin/zy-pkgs (zy-pkgs subdirectory in the admin share)
- Refresh the package list on the administrator web interface. FFP will show up, but you won’t be able to install it because the server only has FFP for the v4.40 firmware. Download that older FFP package from here. It’ll work nicely with newer firmwares too. Put this file to /admin/zy-pkgs also. Now you can install it on the web interface. It will create an install log file in /admin/zy-pkgs/ffp.
- Now you can telnet to the machine and add the other package sources using the guide here.
- Install zyxel_utils. After installing, run /ffp/start/zyxel_utils.sh start. It will fix admin and root users’ home directories automatically.
Method #1
Situation: host A is the server which has a normal user added for us, and we want to connect our host B as a client.
Host A’s sip.conf has this entry for the normal user:
1 2 3 4 5 6 | [testuser] type=friend secret=abcd host=dynamic context=foo qualify=yes |
Because the host is defined as dynamic, we have to register with our client. Add this to our host B’s sip.conf (to the [general] section):
1 | register => testuser:abcd@hostAipaddress |
And add this to the bottom of sip.conf:
1 2 3 4 5 6 7 8 | [testuser] type=peer username=testuser secret=abcd host=hostAipaddress context=incoming callbackextension=cba ; this extension will be called on host B when host A calls testuser qualify=yes |
This way we can call any extension on host B (in host B’s foo context) like this:
1 | exten => 123,1,Dial(SIP/${EXTEN}@testuser) |
Note: ${EXTEN} will be replaced with 123.
We can only call host B’s cba extension from host A using this method.
Method #2
Situation: we want to call any extension on host B (in the specified context) from host A and vica versa.
Add this to host A’s sip.conf, to the [general] section:
1 | register => testuser:abcd@hostBipaddress |
And this to the bottom of host A’s sip.conf:
1 2 3 4 5 6 7 | [hostA2hostB] type=peer username=hostA2hostB secret=abcd host=dynamic context=foo qualify=yes |
Add this to host B’s sip.conf, to the [general] section:
1 | register => testuser:abcd@hostAipaddress |
And this to the bottom of host B’s sip.conf:
1 2 3 4 5 6 7 | [hostA2hostB] type=peer username=hostA2hostB secret=abcd host=dynamic context=bar qualify=yes |
This case we can call any extension in host B’s bar context from host A, and any extension in host A’s foo context from host B using a command like this:
1 | exten => 123,1,Dial(SIP/${EXTEN}@hostA2hostB) |
Scottie was sleepy when we arrived home around midnight, and Manyika doesn’t care about the laser pointer. :)
We’re having some fun these days in the office:
For this solution I used these hardware:
- BeagleBone
- magnetic door open sensor
- a cheap CM102-based sound card from eBay (sold as 3D USB sound card for about $2)
- a USB hub
- a TP-LINK WN722 WiFi dongle.
- 2 active speakers by my colleague makos (passive would have been okay too, as the CM102 drives them pretty loud)
Musicless version:
About me
I'm Nonoo. This is my blog about music, sounds, filmmaking, amateur radio, computers, programming, electronics and other things I'm obsessed with.
... »