Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Jun 2004 19:10:50 +0200
From:      Andrea Campi <andrea+freebsd_net@webcom.it>
To:        net@freebsd.org
Subject:   PPPoE on Atheros in hostap mode
Message-ID:  <20040625171050.GA83855@webcom.it>

next in thread | raw e-mail | index | archive | help
[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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040625171050.GA83855>