tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Tips on programming usb devices?



        Hello.  
On Sep 6, 10:12pm, Thor Lancelot Simon wrote:
} Subject: Re: Tips on programming usb devices?
} On Thu, Sep 06, 2012 at 05:30:25PM -0700, Brian Buhrow wrote:
} >     hello Iain.  Thank you again for your assistance in getting this
} > Novatel modem working.  I now have a working driver which, when activated
} > through the modem interface, fires up the ethernet portion of the device
} > and seems to work quite well.  I'd like to commit this driver,aand probably
} > the scripts to activate it, to -current, but I have a few style questions
} 
} I don't understand.  Why are userspace scripts required to "activate" a
} kernel device driver?
        These types of devices seem to be a cross between a packet switched
device and acircuit switched device.  When you plug it in, all the devices
show up in the system, but there is no active network connection configured
on the ethernet device to talk to.  Rather than configuring the ethernet
through ifconfig commands, one must send traditional AT commands through
the first serial port associated with the device to get it to establish a
connection with the broad band provider.  Once the connection with the
provider is established, dhcp can be used to assign an address to the
ethernet interface, and all other networking functions are normal.  You can
think of this is an evolutionary step to the process of getting ppp up and
running on a serial port.  Rather than using a chat script to talk to a
modem and then turning the port over to the ppp driver once the connection
is established, you talk to the modem with your traditional chat script,
and when the connection is established, you talk to another port on the
same device to  exchange network packets instead.  I think the primary
reason for doing things this way is so that the overhead of PPPoE can be
avoided and because most network stacks run much more efficiently when
talking to ethernet chips than serial ports.
        Finally, the reason to use user-level scripts to do this is because
the commands vary from modem to modem, and it seems like a very very bad
idea to embed AT commands in kernel level code.

-Brian



Home | Main Index | Thread Index | Old Index