Re: Plug and play for a tty line disciple networking device

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

 



On Wed, Mar 20, 2013 at 8:38 PM, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> On Wed, Mar 20, 2013 at 08:25:15PM -0400, jonsmirl@xxxxxxxxx wrote:
>> On Wed, Mar 20, 2013 at 8:14 PM, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>> > On Wed, Mar 20, 2013 at 08:04:29PM -0400, jonsmirl@xxxxxxxxx wrote:
>> >> On Wed, Mar 20, 2013 at 7:26 PM, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>> >> > On Tue, Mar 19, 2013 at 11:30:05AM -0400, jonsmirl@xxxxxxxxx wrote:
>> >> >> How can you achieve plug and play for a ft2232 based USB serial device
>> >> >> implementing 802.15.4 networking?
>> >> >>
>> >> >> The device has a 802.15.4 SOC with a UART attached to a ft2232. With
>> >> >> firmware loaded the only thing it can do is talk the 802.15.4 tty line
>> >> >> discipline, it is not a general purpose serial port.
>> >> >>
>> >> >> Right now the device works by plugging it in and it appears as a
>> >> >> generic USB serial device like ttyUSB0. You then run a user space app
>> >> >> which sets the line discipline, holds the port open and attaches it to
>> >> >> the 6lowpan implementation in the networking code. But doing that is
>> >> >> inconvenient and users needs to be trained to do it. Much simpler if
>> >> >> we could just plug the device in and it worked.
>> >> >>
>> >> >> We can add a EEPROM to the ft2232 to give it a unique USB ID.  Is it
>> >> >> possible to make a kernel driver that see this ID, sets the line
>> >> >> discipline and wires the serial port directly into the networking
>> >> >> code?
>> >> >
>> >> > Yes, you can do that.
>> >>
>> >> Is there an existing driver in the kernel that does this?
>> >> So far all of the ones I've checked still need a user space app.
>> >
>> > Look at the bluetooth drivers, they have their own line dicipline I
>> > think.
>>
>> Bluetooth drivers use line discipline on UARTs. On USB they have their
>> own set of Bluetooth descriptors.
>>
>> CAN over serial has a line discipline but it needs a user space app.
>
> In your driver, just attach the line discipline directly to the tty
> device you create.  You will not be using the "normal" usb-serial logic
> at all if you do this, but you should be fine, right?

USB serial port is based on the FT2232 so we've been using that driver.

Modifying that driver was my plan for doing this. I was hoping that
there was a more generic way to achieve the same effect.

It works this way because of ancient history. We used to have dial up
terminal sessions into time share unix. Then you'd run a SLIP app to
convert the terminal session into a TCP/IP session. The assumption in
that scenario is that there is a useful terminal session on the serial
connection. In our case the only thing the connection does is talk
talk the line discipline.

I know how to do it like hciattach. We already have izattach. I'm just
trying to get rid of this pointless app that nobody understands why it
is there.


>
> greg k-h



--
Jon Smirl
jonsmirl@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux