PPPoE on Atheros in hostap mode
Andrea Campi
andrea+freebsd_net at webcom.it
Fri Jun 25 10:11:50 PDT 2004
[please keep me Cc'd as I'm not currently subscribed]
Hi,
I'm setting up a firewall/access point based on -CURRENT. I'm trying to set
things up so that wireless clients can access the internal network via PPPoE.
I admit to being a novice in this area, but I could set it up quite nicely
for clients coming in from one of the wired interfaces. However, the same
client coming over the wireless interface doesn't work - it looks like
pppoed doesn't even see a connection attempt.
Compare this:
gw0# /usr/libexec/pppoed -dF -P /var/run/pppoed.pid -a webcom.it -l default sis1
Sending NGM_LISTHOOKS to sis1:
Got reply from id [3]: Type ether with 1 hooks
Got [3]:orphans -> [17]:ethernet
Sending PPPOE_LISTEN to .:pppoe-687, provider
pppoed[687]: Listening
Jun 25 16:56:01 gw0 pppoed[687]: Listening
gw0# Jun 25 16:53:20 gw0 pppoed[669]: Got 60 bytes of data: ffffffffffff003065a8eefc88631109000000100101000001020000010300040240c00455
5555555555555555555555555555555555555555555555
Jun 25 16:53:20 gw0 pppoed[671]: Creating a new socket node
Jun 25 16:53:20 gw0 pppoed[669]: Listening
Jun 25 16:53:20 gw0 pppoed[671]: Sending CONNECT from .:exec-671 -> sis1:orphans.exec-671
Jun 25 16:53:20 gw0 pppoed[671]: Sending NGM_SOCK_CMD_NOLINGER to socket
Jun 25 16:53:20 gw0 pppoed[671]: Offering to .:exec-671 as access concentrator webcom.it
Jun 25 16:53:20 gw0 pppoed[671]: adding to .:exec-671 as offered service webcom.it
...
to this:
gw0# /usr/libexec/pppoed -dF -P /var/run/pppoed.pid -a webcom.it -l default ath0
Sending NGM_LISTHOOKS to ath0:
Got reply from id [1]: Type ether with 1 hooks
Got [1]:orphans -> [15]:ethernet
Sending PPPOE_LISTEN to .:pppoe-683, provider
pppoed[683]: Listening
Jun 25 16:55:21 gw0 pppoed[683]: Listening
[nothing happens]
Then I started looking around the netgraph stuff:
gw0# ngctl list
There are 7 total nodes:
Name: ngctl694 Type: socket ID: 00000025 Num hooks: 0
Name: <unnamed> Type: pppoe ID: 00000017 Num hooks: 1
Name: <unnamed> Type: pppoe ID: 00000015 Num hooks: 1
Name: sis2 Type: ether ID: 00000004 Num hooks: 0
Name: sis1 Type: ether ID: 00000003 Num hooks: 1
Name: sis0 Type: ether ID: 00000002 Num hooks: 0
Name: ath0 Type: ether ID: 00000001 Num hooks: 1
gw0# ngctl show ath0:
Name: ath0 Type: ether ID: 00000001 Num hooks: 1
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
orphans <unnamed> pppoe 00000015 ethernet
gw0# ngctl show ath0:orphans
Name: <unnamed> Type: pppoe ID: 00000015 Num hooks: 1
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
ethernet ath0 ether 00000001 orphans
gw0# ngctl show sis1:
Name: sis1 Type: ether ID: 00000003 Num hooks: 1
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
orphans <unnamed> pppoe 00000017 ethernet
gw0# ngctl show sis1:orphans
Name: <unnamed> Type: pppoe ID: 00000017 Num hooks: 1
Local hook Peer name Peer type Peer ID Peer hook
---------- --------- --------- ------- ---------
ethernet sis1 ether 00000003 orphans
Uhm, looks ok to me. But then:
gw0# nghook -a sis1: orphans
0000: ff ff ff ff ff ff 00 30 65 a8 ee fc 88 63 11 09 .......0e....c..
0010: 00 00 00 10 01 01 00 00 01 02 00 00 01 03 00 04 ................
0020: 02 17 b8 04 55 55 55 55 55 55 55 55 55 55 55 55 ....UUUUUUUUUUUU
0030: 55 55 55 55 55 55 55 55 55 55 55 55 UUUUUUUUUUUU
0000: ff ff ff ff ff ff 00 30 65 a8 ee fc 88 63 11 09 .......0e....c..
0010: 00 00 00 0c 01 01 00 00 01 03 00 04 02 17 b8 04 ................
0020: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU
0030: 55 55 55 55 55 55 55 55 55 55 55 55 UUUUUUUUUUUU
whereas for ath0:
gw0# nghook -a ath0: orphans
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 09 ................
0010: 00 00 00 0c 01 01 00 00 01 03 00 04 01 81 98 04 ................
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 09 ................
0010: 00 00 00 0c 01 01 00 00 01 03 00 04 01 81 98 04 ................
So, questions: am I doing anything wrong? Is this supposed to work? Is
ath0 somehow mangling the data it sends to netgraph?
I'd be willing to put some effort in this if it's something fixable, I
just need pointers.
Bye,
Andrea
--
To boldly go where I surely don't belong.
More information about the freebsd-net
mailing list