about a usb adsl modem driver

Jose M Rodriguez josemi at freebsd.jazztel.es
Fri Dec 3 11:45:03 PST 2004


El Viernes, 3 de Diciembre de 2004 17:50, Roman Kurakin escribió:
> Jose M Rodriguez wrote:
> >Hi,
> >
> >I've got a eagle usb adsl modem and get ready to work on FreeBSD
> > support for it.
> > [...] 
> >
> >My first idea was a sppp based one, that can be ported to all xBSD. 
> > But now I think that a netgraph thing must be a better first
> > contact.
>
> Note, with Netgraph you may use sppp via ng_sppp(4). Also it is not
> to hard to
> implement a dual driver. But I sugest to not do that way, especialy
> if you want to
> support multiple branches. I know how hard is that ;-).
> (http://www.cronyx.ru/software/sigma.html)
> If your implementation would work with sppp (via ng_sppp(4)) or you
> would need
> smth additional from sppp(4) let me know.
>
> rik
>

Well, this may depend of noted interest.

I can work on RELENG_5_3 or RELENG_4, but I need some commiter that can 
take this into HEAD.

I found Netgraph the easy path. A, let's say, ng_uadsl limited only to 
move aal5 between the modem and netgraph may be enough to use routed 
protocols, bridged mode, pppoe, pppoa, pptp, user-ppp, sppp, ... just 
with some equivalents of frame relay nodes and atm_llc, adapted to 
rfc2684.

The hard part of this solution is that we need more userland work to 
sync all this stuff.

Also, I noted that most of home adsl connections are of just only three 
categories:

- IPv4 routed (generally LLC)
- pppoe over ethernet bridge (Only LLC)
- pppoa (generally VCMux, but also LLC)

I think this can be taken by a sppp derived work.

pppoa may be really direct (just PDU test/adjust), but the other need 
more work.

IPv4 routed needs some kinda of bypass control, to use only the basic if 
interface after sppp.

pppoe (only client) may be implemented in a single step with ethernet 
bridge encapsulation as a dial extension.

Also, an auto mode for pppoe/pppoa-LLC/pppoa-VCMux may be implemented 
without too much problem (rotatory mode selection in sucesive dial 
attemps).

Support form OpenBSD must be easy, but NetBSD is another story.  This 
implementation is heavily affected by pppoe works and really differ 
from FreeBSD/OpenBSD.

Also, the usb part needs works.

A eagle implementation based on ueagle must be easy. but this driver is, 
right now, too much 'eagle oriented'.

I'll prefer a 'ugen derived' model (used by net/pppoa). Or, at last, a 
more generic driver.

This needs really 'too much manpower' that I can expend now.

So, if noboby else have any more to say, I'll work it only two basic 
directions, time permitting:

- a sppp based, pppoa only driver for eagle, derived from ueagle, for 
RELENG_5.

- a ng_ueagle node for RELENG_5 derived from ueagle.

thanks for your time,
--
  josemi



More information about the freebsd-usb mailing list