79 | | '''MAKE SURE EVERYTHING WORKS FIRST BEFORE INTRODUCING Wifidog INTO THE ENVIRONMENT''' |
80 | | |
81 | | That especially means: |
82 | | * The router must boot properly |
83 | | * The router must bring up the interfaces properly |
84 | | * The router must set up the routes properly |
85 | | * The router must connect to the internet properly |
86 | | * DNS settings must be set or obtained properly. DNS must work. |
87 | | * DHCP settings (client, server or both) must be set or obtained properly. |
88 | | * If using NAT, the router must setup NAT/masquerading rules with iptables properly |
89 | | * Clients on the desired (WIFI) network must be able to bind, associate, lease and connect the internet properly |
90 | | * All the above must happen automatically when the router starts or gets rebooted |
91 | | |
92 | | Do NOT proceed with installing Wifidog until you've satisfied the above. It will not work otherwise and you will waste lots of time. |
93 | | |
94 | | == Q: Installation == |
95 | | A: Wifidog, like many open source projects, is distributed with standard autotools utilities to make installation easy. Unpack the tarball, then follow the standard: |
96 | | |
97 | | {{{ |
98 | | ./configure |
99 | | make |
100 | | make install |
101 | | }}} |
102 | | |
103 | | == Q: Configuration == |
104 | | A: Edit /etc/wifidog.conf and follow the instructions in the file. Things should be self-explanatory. |
105 | | |
106 | | == Q: Running Wifidog for the first time == |
107 | | A: Run Wifidog with the following switches: |
108 | | |
109 | | {{{ |
110 | | wifidog -f -d 7 |
111 | | -f means to run in foreground (do not become a background daemon) |
112 | | -d 7 increases debug output level to the maximum |
113 | | }}} |
114 | | |
115 | | == Q: Testing == |
116 | | A: As a client on the !WiFi network (or whatever interface is configured as the LAN interface in /etc/wifidog.conf), open a web browser and try to browse to your favourite web site. |
117 | | |
118 | | Monitor the output of the running Wifidog to see what it's doing. |
122 | | Due to the lightness of the Wifidog client it is often installed inside the linksys WRT54G. There are some profound issues that arise with this setup that it warrants its own section in this FAQ. |
123 | | |
124 | | == Q: What do I need ? == |
125 | | A: You will need to have basic/full proficiency in a Linux environment |
126 | | |
127 | | You need to re-flash your router with a hacker-friendly firmware called [http://openwrt.org/ OpenWRT]. Follow the [http://openwrt.org/OpenWrtDocs user guide] on the OpenWRT site to get this part done. |
128 | | |
129 | | Do not proceed until you've completed the above. We also recommend you spend some time familiarizing yourself with your new router's OS before introducing Wifidog into that environment. This especially includes the nvram settings, network interfaces and existing interface bridges. |
130 | | |
131 | | == Q: Pre-installation == |
132 | | A: The same rules apply as the pre-installation in a non-WRT54G environment above. Do not proceed until you've satisfied them. |
133 | | In summary: '''Make sure EVERYTHING works first'''. |
134 | | |
135 | | == Installation == |
136 | | |
137 | | === Introduction === |
138 | | |
139 | | Installation of the client on the WRT54G is a bit tricky. The space limitations on the device mean there is no compiler in the OpenWRT operating system. That means that you must compile the client on an external machine then transfer the compiled form onto the router. |
140 | | |
141 | | To complicate things more, if you compile your client regularly on a standard x86 desktop the produced binary will not run on the router due to the different type of processor (MIPS) on that router. |
142 | | |
143 | | What is needed is called cross-compilation, In that scenario you use an architecture (such as your x86 desktop) to produce binaries explicitly designed to run on a different architecture (your MIPS router). |
144 | | |
145 | | The above was the bad news since it makes things sound complicated. The good news is that it's not too complicated and we've built scripts to make this a snap for you. As a matter of fact, you've already done this before! |
146 | | |
147 | | Remember when you followed the OpenWRT building instructions ? Without knowing it, you already cross-compiled stuff! You used your desktop to cross-compile an entire operating system for the MIPS architecture which resulted in one compressed firmware image you installed on your router. |
148 | | |
149 | | === Compiling a MIPS-friendly WiFiDog === |
150 | | |
151 | | 1. Download the latest [http://sourceforge.net/projects/wifidog WiFiDog tarball from sourceforge]. |
152 | | 1. Uncompress the tarball, enter the directory |
153 | | 1. Run the following, replacing ''/usr/local/openwrt/'' with wherever you unpacked the OpenWRT tarball earlier: |
154 | | {{{ |
155 | | ipkg/rules BUILDROOT=/usr/local/openwrt/ |
156 | | }}} |
157 | | |
158 | | You're done. If all is well you should now have a new file named ''wifidog_1.1.0_mipsel.ipk'' (version number may be different depending on the tarball you downloaded). |
159 | | |
160 | | === Getting the new MIPS-friendly WiFiDog onto the router === |
161 | | |
162 | | The .ipk is a data file for the simple "ipkg/i-Package" package manager already on your router. All that's needed now is to copy that file onto your router. If you have installed the ''dropbear'' SSH daemon package on your router you can use ''scp'' on your desktop to copy the .ipk file to the router. Otherwise copy that file to any web server you have access to, then use ''wget'' on the router to download the file from the web server. |
163 | | |
164 | | Either way, place the file in the ''/tmp/'' directory on the router. |
165 | | |
166 | | === Actual installation === |
167 | | |
168 | | Once you have the .ipk file on the router, use this command to install it: |
169 | | {{{ |
170 | | ipkg install /tmp/wifidog_1.1.0_mipsel.ipk |
171 | | }}} |
172 | | |
173 | | Once that is successful delete the .ipk file from ''/tmp/'' to free the occupied memory. |
174 | | |
175 | | == Configuration, Running and Testing == |
176 | | |
177 | | Same as the earlier section in a non-WRT54G environment |
178 | | |
179 | | == The intricate link between WiFiDog and OpenWRT == |
180 | | |
181 | | Repeat after me: |
182 | | |
183 | | '''A WiFiDog RUNNING ON AN OpenWRT INSTALLATION MUST HAVE BEEN COMPILED AGAINST THE SAME OpenWRT BUILDROOT USED TO CREATE THAT INSTALLATION''' |
184 | | |
185 | | What does that mean ? |
186 | | |
187 | | 1. If you downloaded and compiled OpenWRT yourself, download and compile WiFiDog yourself against the same buildroot - Do not use someone else's pre-compiled WiFiDog |
188 | | 1. If you downloaded a pre-compiled OpenWRT firmware image: |
189 | | 1. Ask the person who built it to compile WiFiDog for you against the same buildroot |
190 | | 1. Or ask them for a copy of their OpenWRT buildroot so you may compile WiFiDog against it |
191 | | |
192 | | == I am not comfortable with linux and don't know how to do all this compiling stuff. Is there an easier way for me to get the WiFiDog client running on a Linksys WRT54G ? == |
193 | | |
194 | | You can use an OpenWRT and WiFiDog compiled by someone else. They must be compiled by the same person against the same OpenWRT buildroot. |
195 | | |
196 | | IleSansFil makes it's own pair of OpenWRT images and WiFiDog .ipk compiled files available to the public: |
197 | | * You can download a pre-compiled OpenWRT firmware image [http://www.ilesansfil.org/dist/openwrt/ here] |
198 | | * And you can download a compatible WiFiDog .ipk file [http://www.ilesansfil.org/dist/wifidog/ here] |
199 | | |
200 | | Look in the [http://www.openwrt.org/ OpenWRT] site for instructions on how to re-flash your router with the firmware image (skip any download/building instructions). |
201 | | |
202 | | Then follow the above installation instructions for installing the WiFiDog .ipk file into the OpenWRT-flashed router. |
203 | | |
204 | | Please note that the above saves you from the knowledge and time needed to compile and produced these binary files. It is however no magical cure for linux illiteracy. You need to be proficient enough in a unix environment to be able to telnet/ssh into the router and perform the outlined installation and configuration tasks. If you do not feel comfortable doing this we advise you consult with someone who is proficient in linux and networking. |
| 79 | Due to the lightness of the Wifidog client it is often installed inside the linksys WRT54G. Installing and running the gateway on a WRT54G warrants it'S own [wiki:doc/install/auth-server section] |