Red Hat Bugzilla – Bug 678875
/lib/udev/console_check does not recognize /dev/ttyO* on ARM (OMAP) platform
Last modified: 2014-03-16 23:26:25 EDT
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.
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
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.)
When passing "console=ttyS2,115200n8" with older kernels there is a login prompt. This should be the case for newer kernel too.
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
serial: Add OMAP high-speed UART driver
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:
As older kernel-headers do not define PORT_OMAP, therefore this was added within an #ifndef.
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.
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.
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.
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.
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?
Fixed in git.
* 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).
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
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.