Building a software serial driver

Pranay Srivastava pranjas at gmail.com
Tue Jun 24 11:57:46 EDT 2014


Hi Torrie,

On Tue, Jun 24, 2014 at 6:26 PM, Torrie Fischer
<tdfischer at hackerbots.net> wrote:
> Hi, Pranay.
>
> Thanks for having a look.
>
> On Tuesday, June 24, 2014 13:42:35 Pranay Srivastava wrote:
>>
>> I looked at uart_register code, it seems there's no read callback so
>> that's why you are getting that -EIO.
>
> From what I understand, I'm supposed to set up the interrupts needed in the
> startup function which is called when the device is opened. This never happens
> though, as adding a printk results in no output.

I think this might be causing it, if you see tty_open then it has a call to ,

tty_open_current_tty , this seems to be the only one which I think is
not making the driver being looked up and hence no uport->open

so in case there's an already a tty attached to current then i think
it isn't opening
a new one. Maybe you need to detach this tty? Not so sure I'll look
again what can be done.

>
>> I think you can put this call in your start_tx since uart_start is
>> calling port->start_tx at the end so i guess you should be good there.
>
> I suspect that start_tx is not getting called since adding a printk in my
> start_tx function doesn't result in any output.
>
>>
>> I don't have much idea how will you read from it though.
>
> I'm able to read from it by waiting for a rising edge interrupt and then bit-
> banging the GPIO line in userspace, though at a slow baud that is unusable. I
> need 9600 to read from my device :)

Ok good!. I don't have much idea about GPIO. While searching I found
there's a GPIO library for Raspi. I don't know how much help that
would be but i
guess you don't want to use it.


-- 
        ---P.K.S



More information about the Kernelnewbies mailing list