summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
33c98e5)
The WiFi settings are configured in the file \texttt{/etc/config/wireless}
The WiFi settings are configured in the file \texttt{/etc/config/wireless}
-(currently supported on Broadcom only). When booting the router for the first time
+(currently supported on Broadcom and Atheros). When booting the router for the first time
it should detect your card and create a sample configuration that looks like this:
it should detect your card and create a sample configuration that looks like this:
+\paragraph{Sample Broadcom wireless config:}
+
\begin{Verbatim}
config wifi-device "wl0"
option type "broadcom"
\begin{Verbatim}
config wifi-device "wl0"
option type "broadcom"
option encryption "none"
\end{Verbatim}
option encryption "none"
\end{Verbatim}
+\paragraph{Sample Atheros wireless config:}
+
+\begin{Verbatim}
+config wifi-device "wifi0"
+ option type "atheros"
+ option channel "5"
+ option mode "11g"
+
+config wifi-iface
+ option device "wifi0"
+ option mode "ap"
+ option ssid "OpenWrt"
+ option hidden "0"
+ option encryption "none"
+\end{Verbatim}
+
There are two types of config sections in this file. The '\texttt{wifi-device}' refers to
the physical wifi interface and '\texttt{wifi-iface}' configures a virtual interface on top
of that (if supported by the driver).
There are two types of config sections in this file. The '\texttt{wifi-device}' refers to
the physical wifi interface and '\texttt{wifi-iface}' configures a virtual interface on top
of that (if supported by the driver).
\begin{itemize}
\item \texttt{type} \\
The driver to use for this interface.
\begin{itemize}
\item \texttt{type} \\
The driver to use for this interface.
+
+ \item \texttt{mode} \\
+ The frequency band (\texttt{b}, \texttt{g}, \texttt{bg}, \texttt{a})
\item \texttt{country} \\
The country code used to determine the regulatory settings.
\item \texttt{channel} \\
\item \texttt{country} \\
The country code used to determine the regulatory settings.
\item \texttt{channel} \\
- The wifi channel (1-14, depending on your country setting).
+ The wifi channel (e.g. 1-14, depending on your country setting).
\item \texttt{maxassoc} \\
Maximum number of associated clients
\item \texttt{maxassoc} \\
Maximum number of associated clients
WDS point-to-point link
\end{itemize}
WDS point-to-point link
\end{itemize}
\item \texttt{network} \\
Selects the interface section from \texttt{/etc/config/network} to be
used with this interface
\item \texttt{network} \\
Selects the interface section from \texttt{/etc/config/network} to be
used with this interface
+Only the following mode combinations are supported:
+
\begin{itemize}
\item \textbf{Broadcom}: \\
\begin{itemize}
\item \textbf{Broadcom}: \\
- Only the following mode combinations are supported:
-
\begin{itemize}
\item 1x \texttt{sta}, 0-3x \texttt{ap}
\item 1-4x \texttt{ap}
\begin{itemize}
\item 1x \texttt{sta}, 0-3x \texttt{ap}
\item 1-4x \texttt{ap}
WDS links can only be used in pure AP mode and can't use WEP (except when sharing the
settings with the master interface, which is done automatically).
WDS links can only be used in pure AP mode and can't use WEP (except when sharing the
settings with the master interface, which is done automatically).
+ \item \textbf{Atheros}: \\
+ \begin{itemize}
+ \item 1x \texttt{sta}, 0-4x \texttt{ap}
+ \item 1-4x \texttt{ap}
+ \item 1x \texttt{adhoc}
+ \end{itemize}
+
config_get vifs "$device" vifs
disable_atheros "$device"
config_get vifs "$device" vifs
disable_atheros "$device"
for vif in $vifs; do
nosbeacon=
config_get ifname "$vif" ifname
for vif in $vifs; do
nosbeacon=
config_get ifname "$vif" ifname
}
config_set "$vif" ifname "$ifname"
}
config_set "$vif" ifname "$ifname"
- config_get "$device" mode
- iwpriv "$ifname" mode "${mode:-11g}"
+ [ "$first" = 1 ] && {
+ # only need to change freq band and channel on the first vif
+ config_get "$device" mode
+ pureg=0
+ case "$mode" in
+ *b) mode=11b;;
+ *bg) mode=11g;;
+ *g) mode=11g; pureg=1;;
+ *a) mode=11a;;
+ *) mode=11g;;
+ esac
+ iwconfig "$ifname" channel 0
+ iwpriv "$ifname" mode "$mode"
+ iwpriv "$ifname" pureg "$pureg"
+ iwconfig "$ifname" channel "$channel"
+ }
config_get wds "$vif" wds
case "$wds" in
config_get wds "$vif" wds
case "$wds" in
config_get ssid "$vif" ssid
;;
esac
config_get ssid "$vif" ssid
;;
esac
- iwconfig "$ifname" channel "$channel"
ifconfig "$ifname" up
local net_cfg bridge
ifconfig "$ifname" up
local net_cfg bridge
# FIXME: implement wpa_supplicant calls here
;;
esac
# FIXME: implement wpa_supplicant calls here
;;
esac