All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Hazbun <robert@sephix.com>
To: b43-dev@lists.infradead.org
Subject: BCM5354
Date: Mon, 07 Jun 2010 12:55:04 -0700	[thread overview]
Message-ID: <4C0D4E98.3040903@sephix.com> (raw)
In-Reply-To: <4C0D4BB3.7070607@lwfinger.net>

Where can I find the "spec" and the "todo-list" for what may / may not
be implemented.

--RH

On 6/7/2010 12:42 PM, Larry Finger wrote:
> On 06/07/2010 01:56 PM, Robert Hazbun wrote:
>   
>> Interesting. So, this give me hope that I've done something wrong. When
>> I try to enable AP mode using iwconfig, I simply get an error.
>>
>> Larry, the company I work for is willing to fund b43 work on the BCM5354
>> and have it released to the public. Do you know who has done the initial
>> work on the 5354, and who would be the right person to contact?
>>     
> As Michael Buesch says, there may be parts of the 5354 spec that have
> not yet been implemented in b43. I am the person that did most of the LP
> PHY reverse engineering. The person that did the coding from the
> resulting "specs" was Gabor Stefanik, who reads this list. I will review
> the 5354-specific code in the latest driver to see if changes are needed.
>
> I suspect that the problem is with iwconfig, which uses the WEXT
> interface that is only partially implemented.  I wrote the following for
> the openSUSE Wireless Forum. It will not wok directly with openWRT, but
> it should give you the idea.
>
> =================================================
>
> This article might be entitled "How to convert an $800 laptop into a $40
> wireless router", which indicates why doing this might not be desirable.
> There are, however, at least two cases where this might make sense: (1)
> You want to provide or test some feature that is not supplied by your
> AP. One example is 802.11a (5 GHz) channels. (2) your need for an AP is
> temporary such as network sharing of a 3G broadband modem.
>
> To accomplish the task, several pieces of software will be needed
> including hostapd, a DHCP server for the AP's clients, and an iptables
> rules for Network Address Translation (NAT). The requirements for these
> are discussed in turn.
>
> I. Hostapd
>
> Hostapd runs in user space and interacts with the device driver to
> handle most of the things that an AP does, such as transmitting of
> beacons, authentication, etc. The version included with the "hostapd"
> package of openSUSE 11.1 (0.5.10) works with a limited number of devices
> and drivers. For modern drivers that use mac80211, a newer version is
> needed, which can be downloaded from hostapd: IEEE 802.11 AP, IEEE
> 802.1X/WPA/WPA2/EAP/RADIUS Authenticator. Building this will require
> that the make, libnl, libnl-devel, openssl-devel and gcc packages are
> installed. I recommend installing the package from the repository and
> then doing a download, make and install of the later version. If your
> kernel is older than 2.6.28 (check uname -r), then you will need the
> compat-wireless code that is downloaded from Download - Linux Wireless.
> For this option, you will also need to install the kernel source, and
> prepare it for use.
> To prepare the source, issue the following commands:
> Code:
>
> cd /usr/src/linux
> sudo cp /proc/config.gz .
> sudo gunzip config.gz
> sudo cp config .config
> sudo make prepare
>
> Configuration of hostapd is accomplished with a configuration file named
> hostapd.conf. There are a number of options in that file, but a working
> AP with WPA2 encryption can be setup with the following:
>
> Code:
>
> interface=wlan0
> driver=nl80211
> hw_mode=g
> channel=1
> ssid=test
> wpa=2
> wpa_key_mgmt=WPA-PSK
> wpa_pairwise=CCMP
> wpa_passphrase=123456789
>
> II. Dhcpd
>
> The standard dhcpd package in openSUSE 11.1 works just fine. To use it,
> you need to modify its configuration file dhcpd.conf. Again, there are a
> number of options available, but you can get a working DHCP server with
> the following:
>
> Code:
>
> option domain-name-servers 192.168.1.1;
> default-lease-time 600;
> max-lease-time 7200;
> ddns-update-style none; ddns-updates off;
> subnet 192.168.0.0 netmask 255.255.255.0 {
>         range 192.168.0.200 192.168.0.229;
>         option subnet-mask 255.255.255.0;
>         option broadcast-address 192.168.0.255;
>         option routers 192.168.0.1;
> }
>
> The above configuration assumes that the AP will be connected to the
> outside world with an IP address of 192.168.1.X and that the AP's
> clients will have addresses 192.168.0.X. If other addresses are used,
> adjust the above info accordingly.
>
> III. Iptables Network Address Translation rules
>
> For this example, the NAT rules will be only those necessary to get the
> AP operational. Although iptables is used to write firewalls, the only
> protection in this code is to allow only established connections. The
> rules are shown in the script below.
>
> IV. A script to start and stop the Access Point
>
> The following code will start and stop the AP. To make any changes
> easier, the locations of the various utilities, the interface names, and
> the IP address to be used are defined by symbols at the start of the
> script. I also use configuration files that are stored in root's home
> directory, not in /etc as would normally be done. This script must be
> executable and be run as root.
>
> Code:
>
> #!/bin/sh
> # Script to start/stop a hostapd-based access point
> #
> # Symbols for needed programs
>
> IPTABLES=/usr/sbin/iptables
> IFCONFIG=/sbin/ifconfig
> DHCPD=/usr/sbin/dhcpd
> HOSTAPD=/usr/local/bin/hostapd
>
> # Symbols for internal and external interfaces
>
> NET_INT=wlan0
> NET_EXT=eth0
>
> # IP address for the AP
>
> INT_ADDR=192.168.0.1
>
> case "$1" in
> start)
>         echo "Starting AP mode for $NET_INT at address $INT_ADDR"
>         # Disable packet forwarding
>         echo 0 > /proc/sys/net/ipv4/ip_forward
>         # Stop any existing hostapd and dhcpd daemons
>         killproc hostapd
>         killproc dhcpd
>         #Set up forwarding
>         $IPTABLES -t nat -A POSTROUTING -o $NET_EXT -j MASQUERADE
>         $IPTABLES -A FORWARD -i $NET_EXT -o $NET_INT -m state \
> 		--state RELATED,ESTABLISHED -j ACCEPT
>         $IPTABLES -A FORWARD -i $NET_INT -o $NET_EXT -j ACCEPT
>         # Enable packet forwarding
>         echo 1 > /proc/sys/net/ipv4/ip_forward
>         # Get the internal interface in the right state
>         $IFCONFIG $NET_INT down
>         $IFCONFIG $NET_INT up
>         $IFCONFIG $NET_INT $INT_ADDR
>         # dhcpd needs to have a leases file available - create it if needed
>         if [ ! -f /var/lib/dhcp/db/dhcpd.leases ]; then
>                 touch /var/lib/dhcp/db/dhcpd.leases
>         fi
>         # Bring up the DHCP server
>         $DHCPD -cf /root/dhcpd.conf $NET_INT
>         # Bring up hostapd
>         $HOSTAPD -B /root/hostapd.conf
>         ;;
> stop)
>         echo "Stopping AP mode on $NET_INT"
>         # Stop hostapd and dhcpd daemons
>         killproc hostapd
>         killproc dhcpd
>         ;;
> *)
>         echo "Usage: $0 {start|stop}"
>         exit 1
>         ;;
> esac
>
> =================================================
>
> Larry
>   

  reply	other threads:[~2010-06-07 19:55 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-07 18:33 BCM5354 Robert Hazbun
2010-06-07 18:48 ` BCM5354 Larry Finger
2010-06-07 19:00   ` BCM5354 Michael Büsch
     [not found]   ` <4C0D40C2.7050409@sephix.com>
2010-06-07 19:42     ` BCM5354 Larry Finger
2010-06-07 19:55       ` Robert Hazbun [this message]
2010-06-07 20:11         ` BCM5354 Gábor Stefanik
2010-06-07 23:38           ` BCM5354 Chris Martin
2010-06-08  1:14             ` BCM5354 Gábor Stefanik
2010-06-08  2:52               ` BCM5354 Chris Martin
2010-06-08  3:29                 ` BCM5354 Gábor Stefanik
2010-06-08  4:41                   ` BCM5354 Chris Martin
2010-06-08  5:00             ` BCM5354 Michael Büsch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C0D4E98.3040903@sephix.com \
    --to=robert@sephix.com \
    --cc=b43-dev@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.