Bug 678875 - /lib/udev/console_check does not recognize /dev/ttyO* on ARM (OMAP) platform
Summary: /lib/udev/console_check does not recognize /dev/ttyO* on ARM (OMAP) platform
Alias: None
Product: Fedora
Classification: Fedora
Component: initscripts
Version: 14
Hardware: arm7
OS: Linux
Target Milestone: ---
Assignee: Bill Nottingham
QA Contact: Fedora Extras Quality Assurance
Depends On:
Blocks: ARMTracker
TreeView+ depends on / blocked
Reported: 2011-02-20 15:01 UTC by Niels de Vos
Modified: 2014-03-17 03:26 UTC (History)
7 users (show)

Fixed In Version: initscripts-9.20.2-1.fc14.1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2011-02-27 04:53:16 UTC
Type: ---

Attachments (Terms of Use)
Recognize PORT_OMAP as ttyO* (349 bytes, patch)
2011-02-20 15:01 UTC, Niels de Vos
no flags Details | Diff
Patch for Fedora 12 - older kernel-headers do not define PORT_OMAP (349 bytes, patch)
2011-02-20 15:12 UTC, Niels de Vos
no flags Details | Diff
Patch for kernel-headers < 2.6.37 - Fedora 14 (551 bytes, patch)
2011-02-23 21:35 UTC, Niels de Vos
no flags Details | Diff

Description Niels de Vos 2011-02-20 15:01:00 UTC
Created attachment 479770 [details]
Recognize PORT_OMAP as ttyO*

Description of problem:
OMAP serial ports can not be used to login when passing "console=ttyO2,115200n8" as kernel parameter.

/lib/udev/console_check does not recognize PORT_OMAP (96) as a serial port for a console.

Since linux-2.6/include/linux/serial_core.h commit b612633b PORT_OMAP has been introduced. With this driver the serial ports are not available as ttyS* any longer, instead ttyO* should be used.

How reproducible:

Steps to Reproduce:
1. connect a serial console on a OMAP-board (i.e. a beagleboard)
2. boot the board with kernel parameter "console=ttyO2,115200n8"
3. after the initial kernel messages, nothing seems to happen

Actual results:
There is likely a login prompt on the S-Video and/or HDMI output. Unfortunately I only have access to the serial port so I can not check this. (No network, so there is no possibility to check for running getty processes either.)

Expected results:
When passing "console=ttyS2,115200n8" with older kernels there is a login prompt. This should be the case for newer kernel too.

Additional info:
The define for (struct serial_struct).type == PORT_OMAP was introduced during the 2.6.36 release cycle:

$ cd linux-2.6/
$ git describe --contains b612633b
$ git describe --tags b612633b
$ git shortlog -n1 b612633b
Govindraj.R (1):
      serial: Add OMAP high-speed UART driver

Comment 1 Niels de Vos 2011-02-20 15:12:17 UTC
Created attachment 479771 [details]
Patch for Fedora 12 - older kernel-headers do not define PORT_OMAP

This patch was tested on a Fedora 12 root filesystem with the packages available from:
- http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=87050
- http://arm.koji.fedoraproject.org/scratch/devos/task_87049/

As older kernel-headers do not define PORT_OMAP, therefore this was added within an #ifndef.

Comment 2 Bill Nottingham 2011-02-21 17:10:43 UTC
Added to git, and to the F-14 branch. It will make some future update.

Note that this moved to systemd in F-15; you'll want to check the code there.

Comment 3 Jon Masters 2011-02-23 04:10:39 UTC
Also note that the device rename in the OMAP tree to /dev/ttyO form only happened in more recent kernels, so a lot of people won't have noticed this yet.

Comment 4 Niels de Vos 2011-02-23 09:43:58 UTC
systemd-18/src/target.c:target_add_getty_dependencies() seems to be checking systemd-18/src/util.c:tty_is_vc() which will return "true" for "tty[0-9]+". From my understanding, systemd works out of the box with any kind of serial-port. If it doesn't, I'll open a new bug.

Yes, this changed around 2.6.36-rc5. Unfortunately I got the advise to compile my own kernel for the ARM board I have, and run into this issue... I was unaware that systemd would be responsible for the serial-console on Fedora 15.

Comment 5 Jon Masters 2011-02-23 17:06:54 UTC
Yes, indeed. I thought it was .37, but could have been .36 (depending on the tree you were/are using). My BeagleBoards are now able to run stock .38 RCs and they certainly see this change. So it's going to bite everyone soon.

Comment 6 Niels de Vos 2011-02-23 21:35:08 UTC
Created attachment 480581 [details]
Patch for kernel-headers < 2.6.37 - Fedora 14

Bill, looks like the patch that you included for the F-14 branch is not the correct one. Sorry, my mistake! it looks like I attached the same patch twice.

This patch is the correct one, it defines PORT_OMAP if the kernel-headers do not contain it. This is only needed for kernel-headers < 2.6.37. I guess that counts F-14 in. Can you please replace it?

Many thanks,

Comment 7 Bill Nottingham 2011-02-23 22:07:46 UTC
Fixed in git.

Comment 8 Fedora Update System 2011-02-25 20:40:38 UTC
Package initscripts-9.20.2-1.fc14.1:
* should fix your issue,
* was pushed to the Fedora 14 updates-testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing initscripts-9.20.2-1.fc14.1'
as soon as you are able to, then reboot.
Please go to the following url:
then log in and leave karma (feedback).

Comment 9 Fedora Update System 2011-02-26 04:00:32 UTC
initscripts-9.20.2-1.fc14.1 has been pushed to the Fedora 14 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update initscripts'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/initscripts-9.20.2-1.fc14.1

Comment 10 Fedora Update System 2011-02-27 04:52:42 UTC
initscripts-9.20.2-1.fc14.1 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.