kern/147082: [uart] Serial ports unusable

Mayo Jordanov mayo at oyam.ca
Mon May 31 21:22:58 UTC 2010


On 2010-05-26, at 21:46 , Garrett Cooper wrote:

> On Wed, May 26, 2010 at 8:01 PM, Mayo Jordanov <mayo at oyam.ca> wrote:
>> 
>> On 2010-05-26, at 19:34 , Garrett Cooper wrote:
>> 
>>> On Wed, May 26, 2010 at 6:42 PM, Mayo Jordanov <mayo at oyam.ca> wrote:
>>>> 
>>>> On 2010-05-26, at 12:42 , remko at FreeBSD.org wrote:
>>>> 
>>>>> Synopsis: [uart] Serial ports unusable
>>>>> 
>>>>> State-Changed-From-To: open->feedback
>>>>> State-Changed-By: remko
>>>>> State-Changed-When: Wed May 26 19:42:36 UTC 2010
>>>>> State-Changed-Why:
>>>>> I send my working serial line to Mayo, set status to feedback
>>>>> 
>>>>> http://www.freebsd.org/cgi/query-pr.cgi?pr=147082
>>>> 
>>>> I'm gona re-reply here, to preserve the history.
>>>> 
>>>>>>> How-To-Repeat:
>>>>>> 1) Edit /etc/ttys, do the ttyu0 line reads:
>>>>>> ttyu0        "/usr/libexec/getty std.9600"   vt100   on secure
>>>>>> 2) kill -HUP 1
>>>>>> 3) Try connecting to it with terminal application
>>>>> 
>>>>> 
>>>>> /etc/ttys
>>>>> console    "/usr/libexec/getty Pc"         cons25  on  secure
>>>>> 
>>>>> /boot/loader.conf
>>>>> console="comconsole"
>>>>> 
>>>>> That enabled serial access to my Soekris device running on FreeBSD8(PFsense), it also works for several remote machines I have.
>>>>> 
>>>>> Can you confirm that you have these settings in loader.conf and rebooted?!
>>>>> 
>>>>> --
>>>>> /"\   Best regards,                        | remko at FreeBSD.org
>>>>> \ /   Remko Lodder                      | remko at EFnet
>>>>> X    http://www.evilcoder.org/    |
>>>>> / \   ASCII Ribbon Campaign    | Against HTML Mail and News
>>>> 
>>>> test# cat /boot/loader.conf
>>>> console="comconsole"
>>>> 
>>>> looking at the /etc/ttys entry you pasted above, will that enable serial console? That looks like a regular console on the machine itself.
>>>> 
>>>> I have rebooted numerous times, and I do get the kernel messages during boot on serial up to the point where getty starts (presumably... I see portion of the messages as nics are getting setup and then nothing).
>>>> 
>>>> I have some machines where serial works fine, but I have some machines where it doesn't and behaves the same way as described above. If necessary, I can provide access to a troublesome machine.
>>> 
>>>    All of this is described in more grusome detail at
>>> http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/serialconsole-setup.html
>> 
>> Unfortunately, the handbook does not help in this case. If there is a solution to the problem I describe in the PR description in the handbook, please be so kind and point it out to me, because I must be blind.
>> 
>> Also, why do the gettys get stuck and I have to kill them manually (or reboot because they can't be killed) to reflect changes to /etc/ttys instead of simple `kill -HUP 1`? I've never ever had to do it manually in previous FreeBSD installations/versions. Why are they stuck in ttydtd and not in ttyin as they are supposed to be?
> 
>    The comconsole bit is in the section of /etc/ttys in the
> beforementioned page.
>    Details about debugging your connection is available here:
> http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/term.html .
> What's the baud rate for your serial connection?
>    The part about kill -HUP 1 not working sounds like a possible
> syscons/tty bug. Can you try killing init, then provide us with the
> wait state in ps/top for the relevant getty instance?
> Thanks!
> -Garrett

Garrett, Remko:

Sorry to bother you about this again, but do you guys have any other ideas for me to try? I've been looking through the documentation  (http://oyam.ca/temp/ark3360.pdf - page 14 on paper/page, page 26 in pdf), and according to the docs all wires in the serial connector are there, yet putting the port to either std or 3wire mode does not work. Putting it in std goes to dcd right away, and only makes it in ttyin when I reboot, followed by killing getty. The new respawned one will be in ttyin, but only until I try connecting to it. Putting it in 3wire waits in ttyin, but no messages (other than kernel generated messages - on vga console, those that are in white) make it though. When booting though, I get the full boot loader and things work as expected until a certain port during system startup, where the console goes dead. It gets revived at some point during shutdown process again and I see the final shutdown messages.

I'm fairly desparate to get FreeBSD going on this device, but this single thing is preventing me from going forward. I tested couple of other OSs (Debian, Windows, QNX), and seem to have no issues there, serial working as expected. I'd be willing to sponsor a dev to look at it and figure out what's going on with the driver/getty. I can't provide much, as it would be coming out of my own pocket, but I'll be happy to help in any way I can and provide any incentives I can :) I don't mind using 3wire setup, it's all we need, but I need more than just kernel generated messages making it though. I need to use the serial during and after boot process. Even if the getty isn't working, I desperately need it working between two terminal applications (which at this point isn't working either).

I know both of you are really busy and have better things to do than deal with broken serial, but any suggestions and/or ways to debug (just to figure out what's going on) would be very welcome.

Thank you both for your time,
mayo



More information about the freebsd-bugs mailing list