\documentclass[letterpaper,english]{article}
\nonstopmode
\akai
\usepackage{linuxdoc-sgml}
\usepackage{qwertz}
\usepackage{url}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage[english]{babel}
\usepackage{epsfig}
\usepackage{null}
\def\addbibtoc{
\addcontentsline{toc}{section}{\numberline{\mbox{}}\relax\bibname}
}%end-preamble
\setcounter{page}{1}
\title{Wireless HOWTO}
\author{×÷Õß: Roberto Arcomano  {\ttfamily berto@fatamorgana.com}\\ 
ÒëÕß: ³ÂÃô½£    {\ttfamily expns@yahoo.com}}
\date{}
\abstract{ÎÞÏßÍøÂ· Wireless ÊÇÒ»ÏîÐÂµÄ¼¼Êõ,ËüÓµÓÐ±È½Ï¸ßµÄÁ¬½ÓËÙÂÊ(×î¸ß11 Mbps), Õâ·ÝÎÄµµÃèÊöÈçºÎÔÚLinux×÷ÒµÏµÍ³ÉÏÉè¶¨ÎÞÏßÍøÂ·, ½â¾ö¼æÈÝÎÊÌâ,ÒÔ¼°¸ü¶àµÄ×ÊÑ¶.}


\begin{document}
\maketitle
\tableofcontents

\section{½éÉÜ}

°´×÷ÕßÔ­Òâ±£ÁôÓ¢ÎÄËµÃ÷.

This document explains something about Wireless networking, how to setup it, 
problems with it. Unliked wired network, Wireless requires some additional trick to work well. 
You should know something about antennas, pointing it, 
roaming info and so on. Feedback are welcome. 
You can found more interesting help at
\onlynameurl{Jean Tourrilhes Wireless Howto}

For any suggestion and feedback write to 
\onlynameurl{my email address}






\subsection{°æÈ¨}

Copyright (C) 2000,2001 Roberto Arcomano. 

This document is free; you can redistribute it and/or modify it under the terms of the 
GNU General Public License as published by the Free Software Foundation; 
either version 2 of the License, or (at your option) any later version. 

This document is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 
You can get a copy of the GNU GPL 
\onlynameurl{here}


\subsection{Translations }

If you want to translate this document you are free, you only have to: 
\begin{itemize}
\item Check that another version of it doesn't already exist at your local LDP 
\item Maintain all 'Introduction' section (including 'Introduction', 'Copyright', 
'Translations', 'Credits'). 
\end{itemize}


Warning! You don't have to translate TXT or HTML file, you have to modify LYX file,
so that it is possible to convert it all other formats (TXT, HTML, RIFF, etc.):
to do that you can use "LyX" application you download from 
\onlynameurl{http://www.lyx.org}  

No need to ask me to translate! You just have to let me know (if you want) about your translation. 

Thank you for your translation! 






\subsection{Credits }

Thanks to 
\onlynameurl{Fatamorgana Computers} for hardware equipment and experimental opportunity. 

Thanks to 
\onlynameurl{Linux Documentation Project} for publishing and uploading my document in a very quickly fashion.




\section{±³¾°ÖªÊ¶}


\subsection{Wireless ÊÇÊ²÷á?}

Wireless ÊÇÒ»ÖÖÈÃÄãÄÜÔ¶¾àÀëÁ¬½ÓµçÄÔµÄÐÂ¼¼Êõ. ËüÊ¹ÓÃWireless·¢Éä/½ÓÊÕ(2.4 GHz)¿¨,ÆäÈíÌå½çÃæÀàËÆì¶ÒÔÌ«Íø¿¨.
Ã¿Ò»¿éWireless¿¨ÓµÓÐÈ«ÇòÎ¨Ò»µÄÓ²ÌåµØÖ·. 
µäÐÍµÄ´«Êä¹¦ÂÊÎª 10-20 mW Ö±µ½ 100mW(²ÎÕÕ±ê×¼ IEEE 802.11 ºÍ FCC/CEPT Ðí¿É). 




\subsection{radio cards µÄ×îÔ¶´«Êä¾àÀëÊÇ¶àÉÙ?}

ÎÞÏßÍ¨Ñ¶×îÖØÒªµÄÒ»µã¾ÍÊÇ line of sight clearÊÓÒ°: Äã±ØÐèÄÜ¿´¼ûÁíÒ»¶ËµÄÌìÏß, Á½¶ËÖ®¼äÔÊÐí´æÔÚÉÙÐíÊ÷Ä¾.
¾àÀëÊÇÒÀ¾ÝÌìÏß(¹¦ÂÊ·Å´óÆ÷)ºÍÓÃ·¨:2µ½300Ã×Ê¹ÓÃÈ«·½Î»ÌìÏß. 1Ç§Ã×Ê¹ÓÃ¶¨ÏòÌìÏß,
2µ½3Ç§Ã×Ê¹ÓÃÈ«·½Î»ÐÅºÅ·Å´óÌìÏß(200mW), ¸üÔ¶Ò»µãµÄÊ¹ÓÃparabolic»¡ÐÎÌìÏß. 
50µ½60Ç§Ã×Ê¹ÓÃ»¡ÐÎ»ò¶¨ÏòÐÅºÅ·Å´óÌìÏß(some Watts).



ÒªÖªµÀÊ¹ÓÃ¹¦ÂÊ·Å´óÆ÷²»ÊÇºÏ·¨µÄ,Òò´ËÄã¿ÉÄÜ»áÎ¥·´FCC/CEPTµÄ¹æ¶¨(ÊÓËùÔÚ¹ú¼ÒµÄÇé¿ö¶ø¶¨).




\subsection{ÓÐÏßÍøÂ·ºÍÎÞÏßÍøÂ·Ö®¼äµÄÇø±ðÊÇÊ²÷á?}

Éè¶¨ÓÐÏßÍøÂ·±È½Ï¼òµ¥(at least at low level), 
Éè¶¨ÎÞÏßÍøÂ··Ç³£ÄÑ,¹ÜÀí,µ÷ÊÔ...×îµäÐÍµÄÊÇÓ²ÌåµÄ°²×°,
ÈíÌåµÄÉè¶¨/µ÷ÊÔµÈµÈ¶ÔÎÞÏßÍøÂ·À´Ëµ¶¼ÊÇ·Ç³£¹Ø¼üµÄ:
\begin{itemize}
\item Äã±ØÐèÑ¡ÔñÊ¹ÓÃºÏÊÊµÄÎÞÏßÍø¿¨:ÓÐÐí¶àµÄ²úÉÌ²»Í¬ÐÍºÅµÄÍø¿¨¼°Ê¹ÓÃËüÃÇµÄ²»Í¬Ìõ¼þ.
Èç¹ûÄãÒª½¨Á¢Ò»¸öÐ¡ÐÍµÄÎÞÏßÍøÂ·, Äã×îºÃÑ¡ÓÃ¼æÈÝIEEE 802.11µÄÎÞÏßÍø¿¨ºÍÒ»¸ö»ùµã(Access Point).
\item ÓÐÐ©¿¨ÊÇ PCMCIA¿¨.ËùÒÔÄãÒªÏÈ°²×°Ö§³ÖPCMCIAµÄLinuxºËÐÄ.
\item Äã¿ÉÒÔÓÃÁ½¸öÔËÐÐÖøµÄÏµÍ³À´½øÐÐ²âÊÔ,µÚÒ»´ÎµÄ¾àÀë½üÒ»Ð©, È»áá¾Í¿ÉÒÔ½øÐÐÔ¶Ò»µãµÄ²âÊÔ.
\item ÔÚÈÎºÎÆøºòÏÂ½øÐÐ²âÊÔ(µäÐÍµÄÏÂÓêÌì).
\item ¸ß¸ßÐËÐËµØÍê³É²âÊÔ.
\end{itemize}
  

Èç¹ûÄãÉè¶¨Ò»¸ö×ª·¢Æ÷(ÓÐÐí¶àÎÞÏßÍøÂ·ºÍÎÞÏßÍø¿¨µÄLinux»úÆ÷), ÔÚÔ¶¾àÀë¶ÔËü½øÐÐÉè¶¨»áÓÐÒ»Ð©Âé·³.




\subsection{Éè¶¨Ò»¸öÎÞÏßÍøÂ·ÎÒÐèÒªÖªµÀÐ©Ê²÷á?}

Éè¶¨Ò»¸öÎÞÏßÍøÂ·µÄ¼¸¸öÌõ¼þ:

ÈíÌåÌõ¼þ:
\begin{itemize}
\item Ò»°ãµÄÍøÂ·ÖªÊ¶,°üÀ¨IPµØÖ·, ÍøÂ·ÕÚÕÖ,Â·ÓÉ... º­¸ÇÁËLinux NET3-4-HOWTOµÄËùÓÐÄÚÈÝ.
\item µØÖ·½âÎö´úÀí,ÍøÇÅ proc ÎÄ¼þÏµÍ³.°üÀ¨ Proxy-ARP-Subnet, Bridge Mini-Howto and in Linux Kernel Source 
(2.2.x or 2.4.x) under Documentation/networking/ ip-sysctl.txt) * 
\item ÎÞÏßÍøÂ·ÖªÊ¶, °üÀ¨·ÃÎÊÄ£Ê½(ADHOC, INFRASTRUCTURE and ACCESS POINT), ÆµµÀµÄ¸ÅÄî,
»§ÍâºÍ»§ÄÚµÄ¶¨ÒåµÈµÈ,Äã¿ÉÒÔÁË½âÓÐ¹Øì¶ÎÞÏßÍøÂ·µÄÎÄµµ: IEEE standard 802.11, CEPT, µÈµÈ.
\end{itemize}


ÁíÍâµÄ:
\begin{itemize}
\item Ò»µãÉè¶¨ÌìÏßµÄ¾­Ñé,×°±¸,¶¨Ïò.
\item Pc Ó²ÌåÉè¶¨µÄ¾­Ñé¼°ÅÅ³ýÎÞÏßÍø¿¨Í¬ÆäËüÓ²ÌåµÄ³åÍ».
\end{itemize}


×îáá, ÓµÓÐÒ»¸ö¼«¼ÑµÄÔËÆø.

*ËùÓÐÕâÌáµ½µÄÎÄµµ¶¼¿ÉÒÔÔÚ\onlynameurl{www.linuxdoc.org} ÕÒµ½.


\subsection{ÎÒÎªÊ²÷áÒªÉè¶¨Ò»¸öÎÞÏßÍøÂ·, ÓÃËüÀ´×öÊ²÷á?}

ÎªÊ²÷á? ÒòÎªÄã¶ÔÓÐÏßÍøÂ·²»ÂúÒâ.

ÓÐÁËÎÞÏßÍø¿¨,Äã¿ÉÒÔ´©¹ý¹«Ô°,Í£³µ³¡,·¿ÎÝ(Òª¿´µÃ¼ûÁíÒ»¶Ë²ÅÐÐ)

ÎÞÏßÍø¿¨Ê¹ÓÃµÄ¸ß²ãÐ­ÒéÍ¬ÒÔÌ«Íø¿¨Ò»Ñù:ÔÚÎÞÏßÍøÂ·ÉÏÊ¹ÓÃTCP/IP, µ«Òª×¢ÒâÍ¬Window
µÄ¹²ÏíÈíÌå,ÒòÎªÄãÊ¹ÓÃLinux forward×ª¼Ä, ip forwarder ²»»áÈÃ¹ã²¥ÐÅÏ¢Í¨¹ý(²Î¿¼NetBIOSÐ­Òé).
ÔÚÕâÖÖÇé¿öÏÂ¾ÍÒªÊ¹ÓÃWINS·þÎñÀ´Ö§³ÖÍøÂ·Á÷ÀÀ.(²ÎÕÕ Samba ÎÄµµ).

ÎÞÏßÄÜÊ¹Äã½¨Á¢Ò»¸öÐ¡ÐÍµÄ LAN/WAN ÖÐÐÄ(¿ÉÒÔÌá¹©Internet½ÓÈë),¿ÉÒÔÈÃÈÎºÎÈË´Ó¿ÕÖÐ¶ÔËü½øÐÐ·ÃÎÊ!

ÏëÏñÒ»ÏÂ,Ò»¸öÍêÈ«ÓÉÎÞÏßÍøÂ·×é³ÉµÄ¹ú¼Ò!

ÏëÏñÒ»ÏÂ,Ò»¸ö¿ÉÒÔ½«²»Í¬¹ú¼ÒµÄÈËÃÇ¾ÛÔÚÒ»Æð,·ÖÏíÒôÀÖ,ÎÄ¼þ,ÈíÌå,ÊÓÆÁµÄÍøÂ·.

ËùÓÐµÄ¶¼¿ÉÒÔ×öµ½(ÔÚÒ»Ð©¹ú¼Ò¼º¾­×öµ½ÁË).Ê¹ÓÃÎÞÏßÍø¿¨ºÍÎÞÏß»ùµã(Access Point),³äµ±×ª·¢Æ÷µÄÎÞÏßLinux»úÆ÷
(at IP level such as router or, if you want, at data-link level,
with bridge driver, see more at
\onlynameurl{Bridge Http} Link or 
\onlynameurl{Bridge Ftp Link} )


\subsection{ÔÚHOWTOÀï¶¼Ìáµ½ÁËÄÄÐ©ÎÞÏßÍø¿¨?}

ÔÚHOWTOÀïÎÒ´ÓÒ»°ãµÄÉè¶¨³ö·¢(½éÉÜÎÞÏßÍøÂ·),ÎÒÖ±½ÓÊ¹ÓÃÎÒÁË½âµÄÎÞÏßÍø¿¨×öÀý×Ó.ÎÒ»¹ÓÐÒ»Ð©¾÷ÇÏ¿ÉÒÔÈÃËüÃÇÌá¸ßÐÔÄÜ.

WirelessÍø¿¨ÁÐÓ¡:
\begin{itemize}
\item Proxim Symphony -  \onlynameurl{http://www.proxim.com}
\item Webgear AviatorPRO 2.4 (pcmcia support needed) - 
\onlynameurl{http://www.webgear.com}
\item Lucent Wavelan I, II, Orinoco -
\onlynameurl{www.lucent.com} and 
\onlynameurl{www.orinocowirelless.com}
\item Cabletron -        \onlynameurl{http://www.cabletron.com}
\item YDI am930\_isa -    \onlynameurl{http://www.ydi.com}
\item  Siemens Radio Modem (Dect) -
\onlynameurl{http://www.siemens.com}
\item RadioLan (5 GHZ) - \onlynameurl{http://www.radiolan.com}
\end{itemize}


Ò»¸öÍêÕûµÄÇåµ¥:        \onlynameurl{Jean Tourrilhes Wireless Howto}

Siemens Radio Modem is not a really 802.11 Wireless card, they are modems that you can attach to
serial and they act as modem (at 1800 MHz, so DECT technology). Appendix B describe their use. 



RadioLan cards work at 5.4GHz in a 
Windows 9x environment and with a RadioLan Access Point that bridges
between Wired and Wireless networks (ÔÚÎÒµÄÓ¡Ïóµ±ÖÐÃ»ÓÐLinuxµÄÇý¶¯). 


\subsection{ËüÃÇÖµ¶àÉÙÇ®?}

ÉÏÃæÌáµ½µÄ²»Ì«¹ó:´Ó¼¸°ÙÃÀÔªÖÁÉÏÇ§ÃÀÔª(LucentµÄÎÞÏßÍø¿¨,Ò»¸ö»ùµã(Access Point)Íâ¼ÓÁ½¸öÎÞÏßÍø¿¨,¿É³äµ±ÍøÇÅÊ¹ÓÃ).




\section{ÓÐ¹ØÎÞÏßÁ¬½áµÄ×ÊÑ¶.}

ÕâÀïÎÒ×Ü½áÒ»¸ö×î»ù±¾µÄÎÞÏßÍøÂ·»·¾³.


\subsection{ÎïÀí²ã}

µÚÒ»²ã ISO/OSI ÓÐÈýÖÖËµÃ÷:
\begin{itemize}
\item FHSS, Frequency Hopping Spread Spectrum 
\item DSSS, Direct Sequence Spread Spectrum 
\item Infrared connections, not covered by this howto 
\end{itemize}





\subsection{Éè¶¨}

Á½ÖÖÉè¶¨:
\begin{itemize}
\item AdHocÄ£Ê½(Ò²³Æ¶ÀÁ¢Ä£Ê½(Adhoc mode) ),Ã¿¸ö¶ÀÁ¢µÄÍøÂ·ÓµÓÐÒ»¸öBSS(Basic Service Set
»ù±¾·þÎñÉè¶¨)Ã¿¸ö»ùÕ¾ÓÐÏàÍ¬µÄBSS.
\item Infrastructure modeÐÎ×éÄ£Ê½,¼¸¸öÊ¹ÓÃ»ùµã(Access Point)Ïà»¥Í¨Ñ¶µÄÍøÂ·(Ã¿¸öÍøÂ·¶¼ÓÐÒ»¸ö BSS ),
×é³ÉÒ»¸ö·þÎñÀ©Õ¹ESS (Extended Service Set).µ±ÖÐÒ²ÓÐÂþÓÎ¹¦ÄÜ,Èç½è³öÒ»¸ö×ÓÕ¾¼ÓÈë×î½üµÄ»ùµã(Access Point).
\end{itemize}


AdHocÊÇ×î¼òµ¥µÄ·½·¨(and the also the less scalableÈ±ÉÙÉý¼¶µÄâÅµØ),ÄÜÊ¹Ðí¶àÖ÷»úÖ±½Ó½øÐÐÍ¨Ñ¶.
ÏÞÖÆÐÔµÄÌõ¼þÊÇ: Ã¿¸öÖ÷»ú±ØÐèÒÔ¿É¼ûµÄÐÎÊ½Ö±½Ó¼ÓÈëµ½ÍøÂ·µ±ÖÐ(at least Ideally,
because this problem could be solved at IP level! For more see Par 5.4).
\begin{tscreen}
\begin{verbatim}
            Adhoc mode 

                               A - - - - - C
                                 \       /
                               |   \   /   |
                                     /\
                               |   /    \  |
                                 /       \
                               B - - - - - D
\end{verbatim}
\end{tscreen}
 

ÔÚÐÎ×éÄ£Ê½ÏÂ,ÄãÊ¹ÓÃ»ùµã(Access Point)ÓëÆäËüÖ÷»ú·ÖÏíÍøÂ·.
\begin{tscreen}
\begin{verbatim}
Infrastructure mode 
                                    ESS
 
          A - - - | - Access Point - -  Access Point - | - - - D
 
          B - - - |   BSS1                   BSS2      | - - - E
 
          C - - - |                                    | - - - F
\end{verbatim}
\end{tscreen}
 

¶Ôì¶BºÍCÀ´Ëµ D,E,FÊÇ²»¿É¼û. ÒòÎªËüÃÇÊ¹ÓÃÏàÍ¬µÄESSËùÒÔÄÜºÜºÃµØ½øÐÐÍ¨Ñ¶.
A , B , C Èý¸öÖ®¼äÒ²ÊÇ²»¿É¼ûµÄ.



ÔÚÒ»¸öÏñËÆ»§ÍâºÍ»§ÄÚ½«¶Ì¾àÀë¡õÎ§ºÍ³¤¾àÀë¡õÎ§Çø·Ö¿ªµÄÇéÐÎ.




\subsection{¼æÈÝÐÔ}

Çë×¢Òâ,È«ÊÀ½çÓÐºÜ¶àµÄÎÞÏßÍø¿¨,²¢·ÇÃ¿¸öÎÞÏßÍø¿¨Ö®¼ä¶¼ÄÜ½øÐÐÁ¼ºÃµÄÍ¨Ñ¶.
ÎªÁË¸üºÃµØ¼æÈÝ,×îºÃ°´ÏÂÀý·½·¨Ê¹ÓÃ:
\begin{itemize}
\item ÏàÍ¬µÄÉè¶¨Ä£Ê½:Ö»Ê¹ÓÃAdhoc»òESS
\item ÏàÍ¬µÄÎïÀí²ã:Ö»Ê¹ÓÃDSSS »ò all FHSS 
\item ÏàÍ¬µÄÐ­Òé:(for example Proxim has its particular proprietary protocol 
OpenAir that cannot talk with other FHSS cards). 
\end{itemize}



\subsection{ÎÒ¸ÃÊ¹ÓÃAdhoc »¹ÊÇ Infrastructure?}

Ê¹ÓÃ»ùµã(Access Point)ÊÇÏûÃðÎÊÌâµÄ×îºÃ·½·¨,µ«ÊÇ¼Û¸ñ°º¹ó.ÀíÏëµ±ÖÐ,¸ü¼¯ÖÐµÄÍøÂ·ÄãÐèÒªÊ¹ÓÃInfrastructureÐÎ×éÄ£Ê½.
Ö»ÓÐÉÙÁ¿Ö÷»úÊ±Ñ¡ÓÃAdhoc. why to spend much money for few hosts? 
ÒªÖªµÀ¶à»¨µãÇ®¿ÉÒÔÊ¡È¥²»ÉÙµÄÂé·³.
Anyway be aware that if you spend much money probably all works well while spending less you could have some trouble. 




\subsection{LinuxÖ÷»úÄÜ²»ÄÜµ±³É»ùµã(Access Point)À´Ê¹ÓÃ?}

ÎÊµÃºÃ!
×î½üÓÐÒ»ÖÖÓ²Ìå¿ÉÒÔ×öµ½: Prism2 
Äã¿ÉÒÔÔÚÕâÀïÁË½â¸üÏê¾¡µÄÇé¿ö:\onlynameurl{people.ssh.com/jkm/Prism2}




\section{¹¤¾ßÏä}


\subsection{Ó²ÌåÌõ¼þ}

ÄãÐèÒªÒ»Ì¨LinuxÖ÷»ú(486 »ò¸üºÃ a Pentium 100+ with 16MB+ ram), ÎÞÏßÍø¿¨,Ò»¸öÌìÏß(¿´µÚ¶þ²¿·Ý),
ÒòÎªÒªÄ£ÄâÍ¨Ñ¶,ËùÒÔÔÚÁíÒ»¶ËÒ²ÐèÒªÕâÐ©.(with Win9x or WinNT, if you prefer...),




\subsection{ÈíÌåÌõ¼þ}

ÄãÐèÒª:
\begin{itemize}
\item ×î½üµÄ,ÎÈ¶¨µÄºËÐÄ(2.2.x) 
\item Èç¹ûÄãÂòpcmcia¿¨ ×îÐÂ×îÎÈ¶¨µÄ pcmcia ´úÂë (pcmcia-cs)
\item ÎÞÏßÍøÂ·Çý¶¯³ÌÊ½:Èç¹ûÃ»ÓÐ, Äã¿ÉÒÔÔÚ²úÉÌµÄWebÕ¾Ì¨ÏÂÔØ,Èç¹ûÄãÃ»ÓÐÕÒµ½,
¿ÉÒÔËÑË÷                   \onlynameurl{ Jean Tourrilhes Wireless Howto}.
Èç¹û»¹ÊÇÃ»ÓÐ,¿´À´ÄãÐèÒªµÈÁË,»ò½«Windows Çý¶¯×ª»»³É Linux Çý¶¯. (×£ÄãºÃÔË)

ÔÚÓÐÁËÕâÐ©Ö®áá,Äã»¹ÒªÖØÐÂ±àÒëºËÐÄ, ÖØÐÂ±àÒëpcmcia´úÂë(Èç¹ûÄãÊÇÓÃ pcmciaÎÞÏßÍø¿¨µÄ»°),
×îááÖØÐÂ±àÒëÎÞÏßÍøÂ·Çý¶¯³ÌÊ½,ÕâÊÇÒ»°ãµÄ¹ý³Ì, ÓÐÐ©ÌØ±ðµÄÎÞÏßÍø¿¨Ö»ÒªÖ´ÐÐµÚ3²½»òÕßµÚ 1 ²½ºÍµÚ 3 ²½.



\end{itemize}





\section{ÎÞÏßÍøÂ·Éè¶¨}


\subsection{»ù±¾²½Öè}

µ±Äã¾ß±¸ÁËËùÓÐµÄÌõ¼þÖ®áá,ÄãÐèÒª°´ÕÕÒÔÏÂ²½Öè½øÐÐÉè¶¨:
\begin{itemize}
\item ºËÐÄµÄµ×²ãÉè¶¨,ÈçI/O¶Ë¿Ú,ÖÐ¶Ï, DMA ...)Íê³Éáá,ÄãÓ¦µ±ÔÚ¿ª»úµÄÊ±ºò¿´µ½ÕâÐ©,
±íÊ¾ÎÞÏßÍø¿¨±»LinuxÕýÈ·Ê¶±ð. 
\item ÎªÎÞÏßÍø¿¨Éè¶¨Á¬½Ó²ã,±ÈÈçÓÃ"rl2cfg"Éè¶¨Proxim Symphony 
ÎÞÏßÍø¿¨, ÄãÓ¦µ±ÎªÃ¿¸öÎÞÏßÍø¿¨Éè¶¨ÒÔÈÃËüÃÇÄÜ½øÐÐÕý³£Í¨Ñ¶.
\item Ê¹ÓÃ ifconfig ºÍ route ¸ü¸ÄIPÉè¶¨.
\item ÕÒµ½×î¼ÑÔËÐÐµÄ¾öÇÏ,½â¾ö×ÊÔ´³åÍ». ÕâÑùÄãµÄÎÞÏßÍøÂ·ÒÔ¾­»ù±¾ÔËÐÐÆðÀ´:
proxy-arp, icmp echo redirect, bridging, channel change ÕâÐ©·½Ãæ»¹Òª×öÒ»Ð©Ï¸½ÚµÄÉè¶¨,
ÓÅ»¯ÍøÂ·,·ÀÖ¹Òì³£. 
\end{itemize}


N.B.: step 1, 2 and 3 correspond to level 1,
2 ºÍ 3 »ùì¶ ISO/OSI, 
while step 4 is an addendum to solve situation generated by netmask 255.255.255.255.
ÊÂÊµÉÏ32bitÍøÂ·ÕÚÕÖÎ¥·´ÁË ISO/OSI ±ê×¼,ÒòÎªÍøÂ·Ç¿ÖÆÊ¹ÓÃÏàÍ¬µÄµØÖ·¶Ô²»´æÔÚµÄ»úÆ÷ºÍµØÖ·½øÐÐ¹ã²¥. 

ÓÐÐ©ÈË¿ÉÄÜ·´¶ÔÕâÖÖ¹Ûµã,µ«ÊÇÈç¹ûÄãÓÃ ISO/OSI ±ê×¼Éè¶¨ÎÞÏßÍøÂ·,»áÊ§È¥ºÜ¶à¸ö×ÓÍøÂ·µÄÉè¶¨.
Ã¿¸ö×ÓÍøÍ¨³£¶ªÆú2¸öIPºÅ(Network and broadcast),²¢Ê§È¥IP·ÖÅäµÄÁé»îÐÔ(geographically kind). 
Äã¿ÉÒÔÔÚ¸½Â¼ÖÐÕÒµ½ÓÐ¹ØµÄÃèÊö.
You could notice that step 2 is not present 
in Wired cards ÒòÎªÄÇÀïÃ»ÓÐÊ²÷áÏêÏ¸µÄÉè¶¨Òª×ö. 




\subsection{µ×²ãºËÐÄÉè¶¨}

¹ÜÀí»úÆ÷×Ü»áÓÐ¸öÎÊÌâ : ÈÃºËÐÄ(or in general)Ê¶±ðÄãµÄÓ²Ìå.

ÎÞÏßÍø¿¨¸ü¸´ÔÓ, ÒòÎªËüÃÇÍ¨³£ÊÇPcmcia plug, ËùÒÔÊ×ÏÈµÃÈÃÄãµÄºËÐÄÊ¶±ðÄãµÄPcmcia adapter card
, Òò´Ë,Äã¿ÉÒÔÊÔÖøÎªÎÞÏßÍø¿¨°²×°ÌØ±ðµÄÓ²ÌåÇý¶¯³ÌÊ½.



 ËùÒÔÔÚPcmcia Éè¶¨ÖÐÄã±ØÐè:
\begin{itemize}
\item °²×°ºËÐÄÔ´´úÂë ´Ó\onlynameurl{http://www.kernel.org } µ½/usr/src/linux (see tar and gzip utilities) 
\item °²×°PcmciaÔ´´úÂë \onlynameurl{ftp://projects.sourceforge.net/pub/pcmcia-cs} 
µ½/usr/src/pcmcia (see tar and gzip utilities) 
\item Éè¶¨²¢ÖØÐÂ±àÒëºËÐÄ:read file README in your linux directory (/usr/src/linux) 
\item Éè¶¨²¢ÖØÐÂ±àÒë Pcmcia Ô´´úÂë: ÔÚ /usr/src/pcmcia ÀïÊ¹ÓÃ configure ºÍ make.
È·¶¨ÄãµÄÇý¶¯³ÌÊ½ÔÚÄÇÀï ÁíÍâÄã»¹Òª°´Ö¸Ê¾°²×°Ëü(usually a tar zxvf driver.tgz under pcmcia dir is sufficient).
È»áá "make all" ½øÐÐ±àÒë×îáá "make install".  
\item Íê³ÉÖ®ááÄã¿ÉÒÔÔÚ/etc/pcmciaÀïÕÒµ½ÓÐÓÃµÄÉè¶¨³ÌÊ½(ÎÄµµ). 
\end{itemize}
 



ÔÚ·ÇPcmcia Ä£Ê½ÖÐ:

\begin{itemize}
\item Èç¹ûÎÞÏßÍø¿¨µÄÇý¶¯³ÌÊ½ÊÇÒÔLinuxÔ´´úÂëµÄÐÎÊ½³öÏÖ(99\%²»ÊÇ),
Äã±ØÐè½«Ëü°²×°µ½Ò»¸öÄ¿Â¼µ±ÖÐ,±àÒëËü.
»¹ÒªÖªµÀ¹ÒÄÄ¸öÄ£×é: Ê¹ÓÃpcmciaÉè¶¨ÄãÖ»ÒªÔËÐÐpcmciaÊÌ·þ³ÌÊ½(/etc/rc.d/init.d/pcmcia start for RedHat),
ÆäËüµÄÊ¹ÓÃ"modprobe module\_name options".ÔÚÑ¡ÏîÖÐ¸ø³öÎÞÏßÓ²ÌåµÄI/O¶Ë¿Ú,IRQºÍ data-link Éè¶¨ (see Par 5.3)
\item Èç¹û³öÏÖ×ÊÔ´³åÍ»,¿ÉÒÔÊ¹ÓÃÒÔÏÂ¹¤¾ß:
\begin{itemize}
\item "tail /var/log/messages" ÁÐÓ¡ÈÕÖ¾.
\item Ê¹ÓÃ"dmesg"µÃµ½¸ü¶àµÄ×ÊÑ¶. 
\item /proc dir: ioports, devices, irq files and driver 
specific sub-directories
\end{itemize}
\end{itemize}





\subsection{Êý¾ÝÁ¬½Ó²ãµÄÉè¶¨}

ÄÇÊÇÊ²÷á?

ÎÞÏßÍøÂ·Ö»ÐèÒªÏà»¥Á¬½Ó,¶øÄãÖ»ÒªÉè¶¨ÍøÂ·²ÎÊý.

¶Ôì¶ÎÞÏßÍøÂ·ÄãÏÈÒª½øÐÐÁ¬½ÓµÄÉè¶¨:
\begin{itemize}
\item ËüÊôì¶ÄÄÒ»ÖÖÎÞÏßÍøÂ·(¶ÀÁ¢»òÐÎ×éÄ£Ê½)
\item Ê¹ÓÃÄÄÒ»¸öÆµµÀ
\item ËüÊôì¶ÄÄÒ»¸ö×ÓÍøÂ·(BSSID),ËüµÄESS IDÊÇ¶àÉÙ.
\item ËüµÄÁ¬½ÓÓÐÎÞ¼ÓÃÜ,¼ÓÃÜµÄ³Ì¶È.
\end{itemize}


ÕýÈçÉÏÃæÄÇÑù,Ðí¶àÉè¶¨ÐèÒªµ÷Õû.
ÒòÎªÎÞÏßÍøÂ·µÄ½á¹¹:¿ÉÄÜÔÚ¸½½üµÄÄ³Ò»¸öÈË,Ö»Òª¶Ô×¼ÌìÏß,Ê¹ÓÃºÍÄãÒ»ÑùµÄÐ­ÒéºÍÒ»ÑùµÄTCP/IPÉè¶¨¾Í¿ÉÒÔ¿´µ½Äã´«ÊäµÄÊý¾Ý°ü.

¼ÓÖ®, Ã¿¸ö×ÓÍøÂ·Ö®¼ä¿ÉÄÜÏà»¥²úÉú³åÍ»,

ËùÒÔÕâÀï:
\begin{itemize}
\item ÀýÈçÔÚ¹ÒÄ£×éµÄÊ±ºòÕâÑù: "modprobe ray\_cs essid='LINUX'" »òÕß 
\item ÔÚÔËÐÐµÄÊ±ºòÊ¹ÓÃÉè¶¨¹¤¾ß: "rl2cfg eth1 master". 
\end{itemize}



\subsection{IP Éè¶¨}

ÕâÊÇÄã½«ÒªÃæ¶ÔµÄµÚÈý¸öÎÊÌâ.³öÏÖµ±ÄãµÄÍøÂ·Ëì½¥À©´óµÄÊ±ºò.

Remember Wireless IP Networking doesn't stress you if you don't stress it!
Èç¹ûÄã²»·¸Ëü,Ëü¾Í²»»á·¸Äã.




\subsubsection{Ò»¸ö¼òµ¥µÄ¹¹½¨:}

\begin{tscreen}
\begin{verbatim}
ËùÓÐµÄÖ÷»úÖ®¼äÊÇÏà»¥¿É¼ûµÄ.
 
                               A - - - - - C
                                 \       /
                               |   \   /   |
                                     /\
                               |   /    \  |
                                 /       \
                               B - - - - - D
\end{verbatim}
\end{tscreen}


Õâ¸öÉè¶¨·Ç³£¼òµ¥,²»ÐèÒªÌØ±ðµÄÉè¶¨(IP²ã),Ö»Òª¸øÃ¿¸öÖ÷»ú·ÖÅäIPµØÖ·,Éè¶¨ÍøÂ·ÕÚÕÖÏàÍ¬¾Í¿ÉÒÔÁË.




\subsubsection{Ò»¸ö½ÏÎª¸´ÔÓµÄÍøÂ·:}

\begin{tscreen}
\begin{verbatim}
A²»ÄÜÖ±½Ó·ÃÎÊB
 
                                A <- - - -
                              NO\        |
                            TALK\        C
                                \        |
                                B <- - - -
\end{verbatim}
\end{tscreen}


AºÍBÖ»ÓÐÍ¨¹ýC²ÅÄÜÏà»¥·ÃÎÊ.

Èç¹ûÍøÂ·ÊÇÐÎ×éÄ£Ê½,²¢ÇÒCÊÇ»ùµã(Access Point),ÄÇ÷á¾ÍÃ»ÓÐÎÊÌâ.
ÔÚ¶ÀÁ¢Ä£Ê½(Adhoc mode) ÀïÄãÒ²¿ÉÒÔÉè¶¨Ò»¸öhost×öÎªmaster (I know the term is not so formal!), 
ÆäËüÖ÷»ú¶¼¼ÓÈëÒÔmasterÎªÖÐÐÄµÄÎÞÏßÍøÂ·µ±ÖÐ. 

ËùÓÐµÄÁ¬½Ó´ïµ½ÁËIP²ã: A ºÍ B µÄ½çÃæÓë C ÏàÍ¬,ËüÃÇ¶¼ÓëC½øÐÐÍ¨Ñ¶,
ÕâÑù,Èç¹ûÄãÊÔÖøÓÃA ping B, Äã½«ÊÕµ½Ðí¶àÀ´×ÔCµÄICMPÖØ¶¨ÏòÊý¾Ý°ü, 
ÒòÎªC¸æËßA,ËüËùÒªÇóµÄ¶ÔÏóÔçÒÑ¾­Á¬ÈëÍøÂ·.
½â¾ö·½·¨: type a "echo 0 {$>$} /proc/sys/net/ipv4/conf/ethx/send\_redirects" 
( ethx ÊÇ C Í¬ A Á¬½ÓµÄ½çÃæ) to null all that. 



ÁíÒ»¸öÎÊÌâ:¸Ã¸øAºÍCÔõ÷á·ÖÅäÕÚÕÖ? Èç¹ûÄã·ÖÅäÒ»¸öÕÚÕÖ°üº¬AºÍC,ËüÃÇ½«²»¹¤×÷,ÒòÎªA²»Ê¹ÓÃÕ¢µÀ(C)
µ«ÓÖÒÔÎ´ÖªµÄMACµØÖ·À´·¢ËÍ ARP ÇëÇó. 



Äã¿ÉÄÜÏë¹ýARP´úÀí,µ«ÊÇÃ»ÓÐÓÃ.ÒòÎª´úÀíARPÖ»ÔÚÄ¿±êÓëÇëÇóµÄÀ´Ô´Ê¹ÓÃ²»Í¬½çÃæµÄÊ±ºò¶ÔÀ´Ô´½øÐÐ»ØÓ¦:
this is not the case!! 

ËùÒÔÄãÒªÉè¶¨Ò»¸ö²»´óÏàÍ¬µÄÊüÕÖ (Win9x let it be 255.255.255.254, WinNT at least 255.255.255.248)
²¢±£Ö¤AºÍCÓµÓÐ²»ÏàÍ¬µÄÍøÂ·µØÖ·.
\begin{tscreen}
\begin{verbatim}
Examples: 


IP(A) = x.y.z.2/31, IP(B) = x.y.z.3/31. 
This doesn't work cause A asks for B in its network (ARP request) and C doesn't answer cause,
 for it, A and B belong to the same interface (so, no proxy arp). 
IP(A) = x.y.z.1/31, IP(B)= x.y.z.2/31. This works cause A ask to C (send requests to B with C MAC address) for B. 
\end{verbatim}
\end{tscreen}


In general with a netmask 255.255.255.254 system works with 2 IP changing only for the final bit. 



Õâ¶¼ÊÇ TCP/IP µÄ×÷ÓÃ,Ò²ÊÇÎ¨Ò»»ñµÃ×î¸ßÁé»îÐÔµÄ·½·¨. 

×¢Òâ:Èç¹ûÄãÊ¹ÓÃ»ùµã(Access Point)(ÍøÂ·Ê¹ÓÃÐÎ×éÄ£Ê½)¾Í²»»áÓÐÖØ¶¨ÏòµÄÎÊÌâ,
ÒòÎªÎÊÌâ¶¼ÔÚ data-link level ½â¾öÁË (¼¸ºõËùÓÐµÄ»ùµã(Access Point)¶¼°çÑÝÍøÇÅµÄ½ÇÉ«...). 
µ«ÊÇ»ùµã(Access Point)ºÜ°º¹ó(ÔÚ 1000 ÃÀÔª»ò¸ü¶à)
¼È±ãÊÇÊ¹ÓÃ¶à¸öÎÞÏßÍø¿¨¼ÓÉÏÒ»Ì¨ P133 32MB Ram À´´úÌæ»ùµã(Access Point)»¹ÊÇºÜ»®µÃÀ´µÄ. 




\subsubsection{Internet ½ÓÈë}

\begin{tscreen}
\begin{verbatim}
                               A - - - - - C - - Internet
                                 \       /
                               |   \   /   |
                                     /\
                               |   /    \  |
                                 /       \
                               B - - - - - D
                
\end{verbatim}
\end{tscreen}




ËüÓÐ¶àÖÖÇé¿ö:
\begin{itemize}
\item C ÊÇÎ¨Ò»µÄPublic IP µØÖ·. Ö»ÒªÔÚÎÞÏßÍøÂ·Éè¶¨private IP µØÖ·(192.168.x.y for example), ÔÚCÉÏÖ´ÐÐ forwarding ºÍ IPÎ±×° .
A, B ºÍ D ½« C ×÷ÎªÈ±Ê¡µÄÕ¢µÀ. 
\item You have a public netmask visible from Internet and C is your default GW to Internet for the network.
You only need to enable forwarding on C, setting up default GW on A, B and D to point to C.
ÄãÓµÓÐInternetµÄÒ»²¿·ÖÍø¶Î.  C ×÷ÎªÎÞÏßÍøÂ·µ½InternetµÄÄ¬ÈÏÕ¢µÀ.
Ö»ÒªÔÚCÉÏÖ´ÐÐ forwarding , A, B ºÍ D ¶Ô×¼ C. 
\item You have a public netmask visible from Internet and C is not the default GW to Internet. You have 2 possible solutions: Modify your default GW to let it point to C for your network. Symmetrically you have to let C point to default GW to go to Internet. You could, instead, enable proxy arp feature to C (echo 1 {$>$} /proc/sys/net/ipv4/conf/ethx/proxy\_arp where ethx is the interface towards the default GW) and set your default GW on C to point to the default GW. Proxy arp is a TCP/IP forcing but works well. 
\end{itemize}





\subsubsection{ÓÐÏßÍøÂ·ÓëÎÞÏßÍøÂ·µÄ»ìºÏ}

\begin{tscreen}
\begin{verbatim}
                                Internet         
                                       \      
                                        \        E
                                         \     /
                                          \  /       Wireless
                               A - - - - - C - - F
                                 \       /   \
                               |   \   /   |   \
                        Wired        /\          G
                               |   /    \  |
                                 /       \
                               B - - - - - D
 
\end{verbatim}
\end{tscreen}




ÏÖÔÚ C ¼ÓÈëÁË2¸öÍøÂ·: ×ó±ßÊÇÓÐÏßÍøÂ· Wire ÓÒ±ßÊÇÎÞÏßÍøÂ· Wiredless .

¼ÓÉÏInternet½ÓÈë,Äã×Ü¹²ÒªÔÚCÉÏ×°Èý¸öÍø¿¨.

Ó¦¸ÃÈçºÎ·ÖÅäIPµØÖ·,ÄãÓÐÁ½¸öÑ¡Ôñ:
\begin{tscreen}
\begin{verbatim}
               1.»®·Ö³ÉÁ½¸ö×ÓÍøÂ·:Èç 192.168.1.0/24 ºÍ 192.168.2.0/24. 
                 ÕâÖÖ·½·¨ºÜ¿ìµ«Èç¹ûÄãÊ¹ÓÃInternet IPµØÖ·¾ÍÊ§È¥ÁËÁé»îÐÔ.
                 ÒòÎªÄãÒª¶ªµôºÜ¶àµÄIP.
 
               2. Enable Proxy Arp feature to C for all 2 interfaces. 
ÎÞÏßÍøÂ· ºÍ ÓÐÏßÍøÂ·µÄ ÍøÂ·²ÎÊý(net address and netmask) ÏàÍ¬, 
µ«ÊÇÊ¹ÓÃ proxy-arp,ÎÒ¿ÉÒÔÑ¡ÔñÄÄÒ»¸öIP·ÖÅä¸øÓÐÏßºÍÄÄÒ»¸ö·ÖÅä¸øÎÞÏß. 
\end{verbatim}
\end{tscreen}



\subsubsection{ÏÖÔÚÎÒÃÇÀ´¼ì²éÒ»ÏÂµÚ2¸ö·½°¸:}

Àý×Ó:ÏÖÔÚÄãÓÐÒ»¸ö Internet public ×ÓÍøÂ· x.y.z.0/24.
\begin{tscreen}
\begin{verbatim}
ËüÃÇµÄ½çÃæÊÇ:

1. ifconfig eth0 x.y.z.C netmask 255.255.255.255 (Wired) 
2. ifconfig eth1 x.y.z.C netmask 255.255.255.255 (Wireless) 
3. ifconfig eth2 x.y.z.C netmask 255.255.255.255 (to Internet) 
\end{verbatim}
\end{tscreen}


\begin{tscreen}
\begin{verbatim}
ÔÚeth2ÉÏÊ¹ÓÃ¾²Ì¬Â·ÓÉ

route add IPGW dev eth2 
route add default gw IPGW 
\end{verbatim}
\end{tscreen}


Õâ¸öÂ·ÓÉÊ¹ËùÓÐ·ÃÎÊInternetµÄÇëÇó·¢ÍùÕ¢µÀ:ÏñÄã×¢Òâµ½µÄÄÇÑù, 
µÚÒ»,¸æËßLinuxÂ·ÓÉÆ÷ÔÚÄÄÀï,È»ááÈÃÇëÇó·¢ÍùÂ·ÓÉÆ÷. 

\begin{tscreen}
\begin{verbatim}
ÔÚeth0ÉÏÊ¹ÓÃ¾²Ì¬Â·ÓÉ
Static routes on eth0:
route add x.y.z.A dev eth0 
route add x.y.z.B dev eth0 
route add x.y.z.D dev eth0 
\end{verbatim}
\end{tscreen}


\begin{tscreen}
\begin{verbatim}
ÔÚeth0ÉÏÊ¹ÓÃ¾²Ì¬Â·ÓÉ
Static routes on eth1:
route add x.y.z.E dev eth1 
route add x.y.z.F dev eth1 
route add x.y.z.G dev eth1 
\end{verbatim}
\end{tscreen}




Ö÷»úE,F ºÍG Á¬ÈëÎÞÏßÍøÂ·.





×¢Òâ: Áé»îÐÔÏàµ±ºÃ,µ«ÊÇÄãÒªÊÖ¹¤Éè¶¨Ã¿Ò»¸öÖ÷»ú.




\section{ÊµÀýÉè¶¨}

ÕâÀïÎÒÌá¹©Ò»Ð©Éè¶¨ÎÞÏßÍøÂ·µÄÊµÀý(Ï£ÍûÓÐÓÃ!),²¢ÇÒÓÃÒ»°ãµÄÎÞÏßÍø¿¨½øÐÐÒ»Ð©¸ü¸´ÔÓµÄÉè¶¨.


\subsection{General setup info }

ÎÞÏßÍø¿¨½çÃæÀàËÆì¶ÒÔÌ«Íø¿¨,ËùÒÔÄãÒªÔÚ /etc/conf.modules Àï½øÐÐÄ£×éµÄ¹Ò½Ó:
\begin{itemize}
\item "alias ethx module", ethx ÊÇÄãÒª·ÖÅä¸øÎÞÏßÍø¿¨µÄ½çÃæ²¢Éè¶¨Ä£×éµÄÃû³Æ. 
\item "options module io=0xAAA irq=I ...", 0xAAA ÊÇÎÞÏßÍø¿¨µÄI/OµØÖ·, I ÊÇ IRQ µÈµÈ,»¹ÓÐÆäËüµÄÒ»Ð©²ÎÊý. 
\end{itemize}
 

È»áá,Äã¿ÉÒÔÓÃifconfig ºÍ route ÔÚIP²ã½øÐÐÉè¶¨. 


\subsection{Proxim Symphony (ÆÕÂÞÎ÷Ã×½»ÏìÇú)}


\subsubsection{ÍøÂ·ÀàÐÍ: FHSS, ¶ÀÁ¢Ä£Ê½(Adhoc mode), Ê¹ÓÃOpenAirË½ÓÐÐ­Òé.}

Äã¿ÉÒÔÏÂÔØÉè¶¨ÎÄµµºÍÇý¶¯³ÌÊ½(Linux,Win9X), ËüµÄÊ×Ò³ÊÇ:
\onlynameurl{ http://www.proxim.com}

±àÒëÇý¶¯³ÌÊ½µÄÔ´´úÂë:
\begin{tscreen}
\begin{verbatim}
1. untar it in a empty directory 
2. type make for help. 
3. ±àÒëÄ£×é: make modules_install °²×°Çý¶¯³ÌÊ½ rlmod.o ºÍ Éè¶¨¹¤¾ß rl2cfg. 
3. ÒªÔËÐÐÇý¶¯³ÌÊ½ÄãÖ»ÒªÓÃifconfig½«½çÃæ¼¤»î(after modified /etc/conf.modules: see Par.6.1.). 
\end{verbatim}
\end{tscreen}


Ê¹ÓÃ rl2cfg Éè¶¨Êý¾ÝÁ¬½Ó²ã(for help type man rl2cfg once done c step): 
\begin{tscreen}
\begin{verbatim}
"rl2cfg dev ethx sta" Éè¶¨Îªstation (Slave) 
"rl2cfg dev ethx msta" Éè¶¨Îª master station (Master) 
"rl2cfg dev ethx alt" Éè¶¨Îª×Ô¶¯Ä£Ê½. 
\end{verbatim}
\end{tscreen}


ËùÓÐµÄÉè¶¨¶¼ÔÚÉÏÃæÁË. 


\subsection{Webgear Aviator 2.4 and AviatorPro (ÍøÂ·ÐÐÕß, ÍøÂ·ÐÐÕß¼ÓÇ¿°æ)}


\subsubsection{ÍøÂ·ÀàÐÍ: FHSS, 2.4Ê¹ÓÃ¶ÀÁ¢Ä£Ê½(Adhoc mode), AviatorPro Ê¹ÓÃÐÎ×éÄ£Ê½.}

ËüÃÇµÄÉè¶¨±ÈÉÏÃæµÄ¸´ÔÓ,ËüÃÇÊ¹ÓÃPcmcia½Ó¿Ú,ÐèÒª±àÒëPcmciaÔ´´úÂë.

Ê×Ò³:                          \onlynameurl{http://www.webgear.com}

Éè¶¨:

\begin{tscreen}
\begin{verbatim}
1.ÏÂÔØpcmcia Ô´´úÂë, Õ¹¿ªÖÁ /usr/src/pcmcia (see Par 5.2) 
2.´Óhttp://www.webgear.com ÏÂÔØÇý¶¯³ÌÊ½ÔÚ/usr/src/pcmcia Ä¿Â¼ ÓÃ "tar zxvf driver.tgz" ½â¿ª
3.ÖØÐÂÉè¶¨ pcmcia (see Par 5.2) 
4.°´Ö¸Ê¾½«"source ./ray_cs.opts"¼ÓÈëÖÁ /etc/pcmcia/config.opts ÎÄµµÖÐ . 
5.×¢ÒâÔÚ /etc/pcmcia/ray_cs.opts ÎÄµµÖÐÓÐÒ»ÐÐÏñÕâÑù: "module "ray_cs" opts "...". 
ngs at data-link level present in "opts"ááÃæÊÇ data-link levelµÄÉè¶¨. 
optsµÄ²ÎÊý:
pc_debug=x , where x is the log level. 
net_type=x, x=0 ±íÊ¾Ê¹ÓÃ¶ÀÁ¢Ä£Ê½(Adhoc mode) , x=1 ±íÊ¾Ê¹ÓÃÐÎ×éÄ£Ê½. 
essid=x, x is the ESSID 
\end{verbatim}
\end{tscreen}


×îááÓÃpc\_debug {$>$} 0 ¼ì²éÉè¶¨.Äã½«¿´µ½ data-link µÄ×ÊÑ¶: "network started" ÐÂ Wireless network ½¨Á¢ºÍ "network joined" ¼ÓÈëÐÂµÄWireless network. 


\subsection{Lucent Wavelan I, II, Orinoco products and Cabletron(ÀÊÑ¶Íø²¨,°ÂÀïÅµ¿Æ ºÍ ¿¨²¼ÀÕÉ­) }


\subsubsection{ÍøÂ·ÀàÐÍ: DSSS, Ê¹ÓÃ¶ÀÁ¢Ä£Ê½(Adhoc mode) ºÍÐÎ×éÄ£Ê½. }

ÀÊÑ¶µÄ²úÆ·ÊÇ×î×¨Òµ»¯µÄÒ»ÖÖ.

Ê×Ò³:            \onlynameurl{http://www.lucent.com}
\onlynameurl{http://www.orinoco.net}

Éè¶¨ÓÐµãÏñ WebGear: ²½Öè1,2,3ÏàÏñ.

ÔÚ /etc/pcmcia/config.optsµ±ÖÐ: Ìí¼Ó module "wavelan\_cs" opts " ..." ±íÊ¾Ê¹ÓÃ Lucent Wavelan I Ä£×é
"wavelan2\_cs" opts " ...", ±íÊ¾Ê¹ÓÃ Lucent Wavelan II »òÕß Orinoco. 
\begin{tscreen}
\begin{verbatim}
optsµÄ²ÎÊý:
          port_type=x, ±íÊ¾Ê¹ÓÃ¶ÀÁ¢Ä£Ê½Adhoc(3) »òÕß ÐÎ×éÄ£Ê½Infrastructure(1) 
          channel=x, x=ÆµµÀ, Ö»ÊÊÓÃì¶ AdHoc ¶ÀÁ¢Ä£Ê½(Adhoc mode) . 
          transmit_rate=x, ¹Ì¶¨ËÙÂÊ: ÓÃÀ´Í¬Cabletron Ð­µ÷¼æÈÝÐÔ.
×¢Òâ: Ideally,ÓÐ¿ÉÄÜÔÚLinuxÖ÷»úÉÏÓÐ2¸ö Lucent Wavelanx ÎÞÏßÍø¿¨,
Ò»¸öÊ¹ÓÃ Adhoc¶ÀÁ¢Ä£Ê½(Adhoc mode),ÁíÒ»¸öÊ¹ÓÃ Infrastructure ÐÎ×éÄ£Ê½.
µ«ÆäÖÐ¿ÉÄÜÖ»ÓÐÒ»¸öÄÜÕý³£¹¤×÷,ÒòÎªÔËÐÐ pcmcia service,Á½¸ö¿¨¶¼Ê¹ÓÃÏàÍ¬µÄ opts Éè¶¨ (so in Adhoc or Infrastructure mode).
ËùÒÔÎÒÃÇÒª´´½¨Ò»¸öÄ£×é(or maybe a user mode program)ÈÃËüÔÚÔËÐÐµÄÊ±ºò¿ÉÒÔ¸Ä±ä
data_link ²ÎÊý:±ÈÈç access mode ºÍAdhoc¶ÀÁ¢Ä£Ê½(Adhoc mode) ÖÐµÄ channel Éè¶¨! 
\end{verbatim}
\end{tscreen}


channel ²ÎÊýÍ¨³£ÓÃÀ´±ÜÃâÁ½¸öÁÚ½üµÄ Wireless ·¢Éä/½ÓÊÕµÄ³åÍ».

Lucent µÄÇý¶¯³ÌÊ½Ò²¿ÉÒÔÓÃÔÚ Cabletron ÉÏ
\onlynameurl{http://www.cabletron.com}


\subsection{YDI}

ÍøÂ·ÀàÐÍ: DSSS, Adhoc¶ÀÁ¢Ä£Ê½(Adhoc mode)  ºÍ InfrastructureÐÎ×éÄ£Ê½.

YDI ³öÊÛ·Ç³£×¨ÒµµÄÎÞÏßÍø¿¨ºÍÌìÏß,¹¦ÂÊ·Å´óÆ÷µÈµÈ. 

Ê×Ò³:
\onlynameurl{http://www.ydi.com}

Éè¶¨:
\begin{tscreen}
\begin{verbatim}
1. ½«ÎÄµµ½â¿ªÖÁ¿ÕµÄÄ¿Â¼ÖÐ.
2. make ½øÐÐ±àÒë. 
3. make install °²×° am930_isa Çý¶¯³ÌÊ½ºÍ wlanctlÉè¶¨³ÌÊ½.

Íê³ÉÒÔáá, ¿ÉÒÔÊ¹ÓÃwlanctl ÊÖ¶¯Éè¶¨, Ò²¿ÉÒÔ²ÉÓÃ scripts/wlan ×Ô¶¯Éè¶¨. 
\end{verbatim}
\end{tscreen}




ÊÖ¹¤Éè¶¨:
\begin{tscreen}
\begin{verbatim}
"wlanctl scan ..." ²éÕÒ´æÔÚµÄ BSSs . 
"wlanctl netlist" ÁÐÓ¡"wlanctl scan ..." µÄ±íµ¥. 
"wlanctl bsscreate ... ssid" Ê¹ÓÃssid²ÎÊýÉè¶¨ÐÂµÄÍøÂ·. 
"wlanctl bssjoin bssid" Ê¹ÓÃbssid ºÅ ¼ÓÈëÍøÂ·. 
"wlanctl authen" and "wlanctl assoc" ÈÏÖ¤·þÎñ. 
\end{verbatim}
\end{tscreen}



\section{¹Øì¶ÎÞÏßÍøÂ·µÄ¸ü¶à×ÊÑ¶}


\subsection{Wireless Linux ·¢ÐÐ°æ}

FlyingLinux Ê¼ì¶ 1999Äê10ÔÂ ÔÚTeleinformatics KTH µÄTelecommunication Systems ÊµÑéÊÒµ©Éú.
Ä¿µÄÊÇÑÐ¾¿ÒÆ¶¯IPv4ºÍ±ê×¼DHCPÎÞÏß½ÓÈë.
ÊµÑé½á¹û: FlyingLinux »·¾³¿ÉÒÔÎªÔÚ2000Äê3ÔÂÖÁ5ÔÂµÄ 2G1303 ¼Æ»®µ±ÖÐÎª100¸öÑ§ÉúºÍÀÏÊ¦Ìá¹©ÎÞÏß½ÓÈë·þÎñ. 



FlyingLinux ÊÇµÚÒ»¸ö×¨ÃÅÕë¶ÔÒÆ¶¯·þÎñµÄ·¢ÐÐ°æ.
Ëü¾ß±¸ÁËKerberosºÍOpenSSH,Ê¹Í¨Ñ¶¸ü¼Ó°²È«. 



FlyingLinux ÊÇ¿ª·ÅÔ´´úÂëÔË¶¯µÄÒ»²¿·Ý.
KTHµÄ³ÌÊ½¿ª·¢ÊÇÔÚ GPL licence ÏÂ½øÐÐµÄ. 
Wireless Linux µÄÊ×Ò³:
\onlynameurl{http://www.flyinglinux.net/} 





Î¬»¤Õß:Mantainer: Alberto Escudero Email:aep@it.kth.se,
Ê×Ò³                    \onlynameurl{http://www.it.kth.se/\~{}aep}




\section{ÏßÉÏ×ÊÑ¶}


\subsection{Open software link}

\begin{itemize}
\item                  \onlynameurl{Linux-wlan project}
\item                  \onlynameurl{Jean Tourrilhes Wireless Howto}
\end{itemize}



\subsection{ÉÌÒµÁ¬½Ó}

\begin{itemize}
\item                  \onlynameurl{Fatamorgana Computers}
\item                  \onlynameurl{Lucent web site}
\item                  \onlynameurl{YDI web site }
\item                  \onlynameurl{Siemens web site }

\end{itemize}





\section{FAQ - Frequently asked questions }

Q1:BSSID ºÍ ESSID Ö®¼äÓÐÊ²÷áÇø±ð, Ê²÷áÇé¿öÏÂÊ¹ÓÃ ESSID? 

A1:BSSID ÊÇ 48 bit ÊýÖµ,ÓÃÀ´¶Ô½ÏÐ¡ BSS ÇøÓò½øÐÐ±êÊ¶,
Ã¿¸öÖ÷»úÔÚÕâ¸ö½ÏÐ¡µÄÇøÓòÀï½øÐÐÍ¨Ñ¶.(eventually with an Access Point) 
ESSID ¿ÉÒÔÈÃ²»Í¬µÄ BSS À©Õ¹ÖÁ Extended Service Set (ESS). 
Ã¿¸öBSSÓÐÒ»¸ö»ùµã(Access Point),Èç¹ûESSIDÏàÍ¬¾Í¿ÉÒÔÏà»¥Í¨Ñ¶.
Èç¹ûÄãµÄÍøÂ·½Ï´ó,×îÉÙÓµÓÐÁ½¸ö»ùµã(Access Point),ÄÇ÷áÄãÕæµÄÐèÒªÓÃµ½ESSID. 

Q2:ÎÒ¸ÃÂòÊ²÷áÑùµÄ»ùµã(Access Point)?

A2:±È½Ï±ãÒËµÄ:
ÖØÒªµÄÊÇ»ùµã(Access Point)ºÍÎÞÏßÍø¿¨ÓÐÏàÍ¬µÄÌØÐÔ: ¼æÈÝ FHSS »ò¼æÈÝ DSSS .
×¢Òâ Proxim RangeLan2 ²»ÄÜÍ¬ÆäËü»ùì¶ FHSS ±ê×¼µÄÍø¿¨Í¨Ñ¶, ÒòÎªËüÊ¹ÓÃË½ÓÐµÄ OpenAir Ð­Òé. 

Q3: ÎÒÓ¦µ±Ê¹ÓÃÊ²÷áÑùµÄ channel Éè¶¨? 

A3: µ±ÄãÓÐ¶à¸ö²»Í¬µÄBSSÍøÂ·(²»Í¬µÄÎÞÏß²úÆ·¹©Ó¦ÉÌ),
µ±ÄãÓöµ½³åÍ»Ê±: 
ÔÚ»ùµã(Access Point)»ò¶ÀÁ¢Ä£Ê½(Adhoc mode)  ÏÂ¸Ä±ä channel ÓÐÖúì¶±ÜÃâÕâÐ©³åÍ».

Q4:ÎªÊ²÷áÎÒ²»ÄÜÔÚÐÎ×éÄ£Ê½µÄÖ÷»úÀïÉè¶¨ channel? 

A4:ÒòÎª channel È¡¾öì¶»ùµã(Access Point). 




\section{Appendix A - Netmask 255.255.255.255, proxy arp and bridging }

ÕâÀïÎÒÃÇ¿ÉÒÔ¿´µ½LinuxÔÚÎÞÏßInternet½ÓÈë·½ÃæµÄÓÅÊÆ.

Linux Ê¹ÄãÄÜ¸øÈÎÒâÒ»¸ö½çÃæÖ¸¶¨ IP/ÍøÂ·ÕÚÕÖ 255.255.255.255 ,example one in eth0, another in eth1 and so on... 

This has not particularly side-effects. 

In addition Äã¿ÉÒÔÍ¨¹ý/proc/sys/net/ipv4/conf/ethx/proxy\_arp Éè¶¨ proxy arp (ethxÊÇÍøÂ·½çÃæ). 

"echo 1 {$>$} proxy\_arp" ¿ªÆô ethxÉÏµÄproxy\_arp , "echo 0 {$>$} proxy\_arp" ¹Ø±Õ ethxÉÏµÄproxy\_arp. 

Ê²÷áÊÇproxy\_arp?
Èç¹ûÄ¿±êµØÖ·Í¨¹ýLinuxÂ·ÓÉÆ÷µÄÁíÍâÒ»¸ö½çÃæ½ÓÈë,¿ìËÙproxy arp Ê¹Â·ÓÉÆ÷»ØÓ¦ÕâÑùµÄ ARP ÇëÇó.

Àý×Ó: 



192.168.1.1 ---- 192.168.1.2 LinuxÂ·ÓÉÆ÷ 192.168.2.2 ----192.168.2.1 



ÒªÊ¹Õâ¸öÀý×ÓÔËÐÐÄã½«ÒªÓÃÒÔÏÂÁ½ÖÖ·½Ê½:
\begin{tscreen}
\begin{verbatim}
Without proxy-arp 


In 192.168.1.1 host to set 192.168.1.2 as gateway 
In 192.168.2.1 host to set 192.168.2.2 as gateway 
´ÓÈÎºÎÒ»¶Ëpinging¶¼»á³É¹¦. 
\end{verbatim}
\end{tscreen}

\begin{tscreen}
\begin{verbatim}
With proxy-arp 


In 192.168.1.1 host to set 192.168.1.2 as gateway 
¶ÔIPµØÖ·Îª192.168.2.1 µÄÖ÷»ú²»ÉèÖÃÕ¢µÀ,µ«ÔÚÂ·ÓÉÆ÷ÏàÓ¦µÄ½çÃæÉÏÉè¶¨ÏàÓ¦µÄ proxy_arp. 
´ÓÈÎºÎÒ»¶Ëpinging¶¼»á³É¹¦. 
\end{verbatim}
\end{tscreen}


ÔÚµÚ¶þ¸ö·½°¸ÖÐµ±Äã´Ó192.168.2.1ping Ïò192.168.1.1Ê± Proxy-arp ÈÃ linuxÂ·ÓÉÆ÷×ö³öÕýÈ·µÄ»ØÓ¦. 

\\  È»áá,µ±192.168.2.1·¢ËÍ ICMP Êý¾Ý°ü, Linux Â·ÓÉÆ÷ÖªµÀ½«ËüÖØ¶¨ÏòÖÁ host 192.168.1.1 \\ 
 ËùÒÔÈç¹ûÄãµÄÍøÂ·µ±ÖÐÓÐLinuxÖ÷»úÌá¹© IP Forwarders, Äã¾Í²»±ØÎªËùÓÐµÄÖ÷»úÉèÖÃ¾²Ì¬Â·ÓÉ.

Äãµ±È»¿ÉÒÔÓÃÎÞÏßÍøÂ·ÊÔÑéLinuxÍøÇÅ: 

1.°²×°×îÐÂ×îÎÈ¶¨µÄºËÐÄ.

2.ÏÂÔØÍøÇÅÉè¶¨³ÌÊ½ \onlynameurl{http://openrock.net/bridge} »òÕß
\onlynameurl{ftp://openrock.net/bridge}


\section{¸½Â¼ B - Siemens DECT Radio Modem (Î÷ÃÅ×Ó--µÂÌØÎÞÏßmodem)}

Î÷ÃÅ×ÓµÄÊ×Ò³       \onlynameurl{http://www.siemens.com}

ÄÇÊÇÊ²÷á? 
ÕâÁ½¸ö×é³É²¿·Ö²»ÊÇÕæµÄPC¿¨, ÓÐµãÏñÍâÉèµÄmodem.

Host1-serial - RadioModem1 - - - - - RadioModem2 - serial-Host2 

ÎÒÔõ÷áÁ¬½ÓËü?

Èç¹ûÄã°ÑËüÃÇ³éÏñ»¯, Äã¿ÉÒÔµÃµ½ÏÂÃæÕâÖÖÄ£ÐÍ:\\ 
Host1-serial - - NULL MODEM CABLE - - serial-Host2 



Äã¿ÉÒÔÔÚÁ½¸öÖ÷»úµÄ´®ÐÐ¿ÚÖ®¼ä½øÐÐÎÞÏßµÄÁ¬½Ó,´óÌåÉÏÓÐÁ½ÖÖÉè¶¨·½·¨:
\begin{tscreen}
\begin{verbatim}
1. LinuxºÍWindows, Linux ÔËÐÐÒ»¸ödaemonÊÌ·þ³ÌÊ½»ØÓ¦WindowsµÄÔ¶³ÌPPP°ÎÈë.
2. Linux ºÍ Linux, ÔÚËüÃÇÖ®¼äÊ¹ÓÃ²»Í¬µÄIPµØÖ·½øÐÐPPPÁ¬½Ó.  
\end{verbatim}
\end{tscreen}


µÚ1¸ö·½·¨¿ÉÒÔÔÚLinuxÖ÷»úÉÏÊ¹ÓÃÕâ¸ö¼òµ¥µÄ script:
"/usr/sbin/pppd -detach lock idle 300 crtscts connect "/usr/sbin/chat -v TIMEOUT 5 AT OK AT OK AT OK AT OK" IPLINUX:IPWINDOWS /dev/ttySx 115200 disconnect "/usr/sbin/chat -v AT OK" ms-dns IPDNS" 





ÄÇ¶ù:
\begin{tscreen}
\begin{verbatim}
/dev/ttySx ÊÇÄãµÄ´®ÐÐ¶Ë¿Ú, 
IPDNS ÊÇDNSÖ÷»úµÄIPµØÖ·, 
IPLINUX ÊÇLinux IPµØÖ· , IPWINDOWS ÊÇ Windows IPµØÖ·. 
\end{verbatim}
\end{tscreen}


ÉÏÃæµÄscriptÊÇÈÃWindowsÈÏÎªLinuxÉÏÓÐÒ»¸ömodem.
ÔÚWindows ÄãÐèÒªÊ¹ÓÃcrtscts,²¢´´½¨²¦ºÅÁ¬½Ó.
speed at 115200 and with a stupid number to call (need by Remote Access but absolutely not used). 

ÔÚµÚ 2 ¸ö·½·¨ÖÐÄãÖ»ÒªÔÚÃ¿¸öÖ÷»úÖÐÔËÐÐÒ»¸ö¼òµ¥µÄ script: 

"/usr/sbin/pppd passive local crtscts IPLINUX1:IPLINUX2 /dev/ttySx 115200 noauth persist" 

where you'll invert IPLINUX1 with IPLINUX2 at the other edge. 

Note that you can do authentication even Linux-Windows than in Linux-Linux if you want. 

\end{document}
