Bug 204825
Summary: | CONFIG_SERIAL_8250 not set to "y" in xen0 kernel | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jordan Russell <jr-redhatbugs2> |
Component: | udev | Assignee: | Harald Hoyer <harald> |
Status: | CLOSED ERRATA | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 6 | CC: | bstein, fche, jima, notting, xen-maint |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i686 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | udev-095-15 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2007-09-20 10:21:04 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 216515 |
Description
Jordan Russell
2006-08-31 18:43:03 UTC
"modprobe 8250" doesn't work with kernel 2.6.18-1.2200.fc5xen for me on a P3 system. Does it work on FC6? It's still a problem in FC6. # grep CONFIG_SERIAL_8250= config-2.6.18-1.2798.fc6* config-2.6.18-1.2798.fc6PAE:CONFIG_SERIAL_8250=y config-2.6.18-1.2798.fc6xen:CONFIG_SERIAL_8250=m <---- Question was not whether it was modular, but whether the module works (comment #1). We know it is modular, and it needs to stay that way, I'm afraid. The problem is that the kernel is not the only driver of the serial ports: the hypervisor has the ability to log to serial too, so there's handshaking between the kernel and Xen for serial console. That does not use the normal kernel serial driver, hence that driver gets loaded as a separate module. Arguably, though udev or kudzu should be loading the module in this case. ACTION=="add", SUBSYSTEM=="pnp", RUN+="/bin/sh -c 'while read id; do /sbin/modprobe pnp:d$$id ; done < /sys/$devpath/id'" in udev rules will load the 8250_pnp driver for most modern PCs with PNP BIOSes (tested on both x86 and x86_64.) Not sure there's much else we can do to automatically detect it. PCI serial ports should already be picked up. Need feedback --- does that udev rule help? No. I saved the above line to /etc/udev/rules.d/TEST.rules and rebooted. dmesg shows that it's attempting to load the 8250 driver: Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled But then: 8250_pnp: Unknown symbol serial8250_unregister_port 8250_pnp: Unknown symbol serial8250_register_port If I try to start "nut" after that, it can't find ttyS0. (This is on a fully-updated system. kernel-xen-2.6.18-1.2849.fc6, udev-095-14) And running "modprobe 8250" manually doesn't work anymore in the latest xen kernel: FATAL: Error inserting 8250 (/lib/modules/2.6.18-1.2849.fc6xen/kernel/drivers/serial/8250.ko): Device or resource busy even if I remove the udev rule and reboot. I guess these problems are related? OOPS! Please disregard my last two comments. I had forgotten to include "xencons=off" in my kernel command line... Yes, the udev rule works. nut now starts successfully on boot. Bill, is this something we can set in the udev rules by default, or would that cause problems on non-xen kernels? Not-the-udev-maintainer, but it shouldn't cause any issues. It doesn't fully support all PnP devices, but works for things like serial or parallel ports. Any idea what the rationale behind this change was? I'd really like to use my 8250-based serial port for the primary console on my Xen box; CONFIG_SERIAL_8250=m prevents that from being a reality. The board supports serial redirection at the BIOS level; it's sad to think that I can access the BIOS but not my Linux install. :-P re comment #12: Serial console with Xen works just fine without the serial driver, because the hypervisor has its own 8250 driver (which is precisely why the kernel doesn't build the module by default.) Just set the appropriate xen options: I personally use kernel xen.gz... com1=38400,8n1 module vmlinuz ... xencons=xvc console=xvc on all my Xen kernels and serial console just works, including agetty logins over serial. This bug is purely for the support of specialised tools that require the kernel's own 8250 driver for full ioctl support. Serial console does NOT require this. rule include in udev-095-15.fc6 (In reply to comment #13) And there was much serial happiness. Thanks for the pointer, and thanks for the udev update (that rule did help me for ttyS1). *** Bug 208708 has been marked as a duplicate of this bug. *** |