Bug#708344: [Xen-users] Serial Passthrough broken in Debian Wheezy?
On Wed, 2013-06-05 at 11:47 +0200, Jonas Meurer wrote:
> Am 2013-06-04 19:45, schrieb Ian Campbell:
> > On Tue, 2013-06-04 at 17:32 +0200, Jonas Meurer wrote:
> >> Just gave Linux 3.9-1-amd64 from Debian/sid a try. The issue is
> >> reproducible with this DomU kernel.
> >
> > Could you post dmesg, /proc/ioports and /proc/interrupts from this
> > kernel please?
>
> Sure, here we go. All attached as textfiles. Additionally, I attached
> the (adjusted) domU config.
Thanks. I'm taking this to xen-devel and moving the other two lists to
bcc. For xen-devel the background can be found at
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=708344
The gist is that with:
irq = [ 4 ]
ioports = [ '3f8-3ff' ]
in the guest config the serial port used to work with Jeremy's xen.git
(used in Squeeze) but doesn't work with Wheezy (3.2 based) or a 3.9
kernel. The smstools daemon fails with:
Cannot open serial port /dev/ttyS0, error: Function not implemented
Jonas' dmesg shows:
[ 0.196892] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.217565] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
and /proc/ioports shows the region but /proc/interrupts does not AFAICT.
I can't see any interrupt related errors. Jonas can you confirm that the
dmesg includes the logs resulting from an attempt to open the device?
Jonas, could you try a few more experiments, if you don't mind:
Can you use something simpler (like picocom) rather than smsdaemon and
see if that works. Assuming not could you strace it so we can see what
is actually failing. If those attempts result in anything extra in the
dmesg please can you post it.
It ought to be possible to set the port to polled mode, I think by
setting the IRQ to -1 with setserial or I think it should be possible on
the command line but I can't seem to figure out how... Anyway, if you
can get that to work it might be interesting...
Ian.
nitializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.9-1-amd64 (debian-kernel@lists.debian.org) (gcc version 4.7.2 (Debian 4.7.2-5) ) #1 SMP Debian 3.9.4-1
[ 0.000000] Command line: root=/dev/xvda2 ro root=/dev/xvda2 ro
[ 0.000000] ACPI in unprivileged domain disabled
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] Xen: [mem 0x0000000000000000-0x000000000009ffff] usable
[ 0.000000] Xen: [mem 0x00000000000a0000-0x00000000000fffff] reserved
[ 0.000000] Xen: [mem 0x0000000000100000-0x00000003007fffff] usable
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] DMI not present or invalid.
[ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[ 0.000000] No AGP bridge found
[ 0.000000] e820: last_pfn = 0x300800 max_arch_pfn = 0x400000000
[ 0.000000] e820: last_pfn = 0x100000 max_arch_pfn = 0x400000000
[ 0.000000] Base memory trampoline at [ffff88000009a000] 9a000 size 24576
[ 0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[ 0.000000] [mem 0x00000000-0x000fffff] page 4k
[ 0.000000] init_memory_mapping: [mem 0x2ffe00000-0x2ffffffff]
[ 0.000000] [mem 0x2ffe00000-0x2ffffffff] page 4k
[ 0.000000] BRK [0x0187c000, 0x0187cfff] PGTABLE
[ 0.000000] BRK [0x0187d000, 0x0187dfff] PGTABLE
[ 0.000000] init_memory_mapping: [mem 0x2fc000000-0x2ffdfffff]
[ 0.000000] [mem 0x2fc000000-0x2ffdfffff] page 4k
[ 0.000000] BRK [0x0187e000, 0x0187efff] PGTABLE
[ 0.000000] BRK [0x0187f000, 0x0187ffff] PGTABLE
[ 0.000000] BRK [0x01880000, 0x01880fff] PGTABLE
[ 0.000000] init_memory_mapping: [mem 0x280000000-0x2fbffffff]
[ 0.000000] [mem 0x280000000-0x2fbffffff] page 4k
[ 0.000000] init_memory_mapping: [mem 0x00100000-0x27fffffff]
[ 0.000000] [mem 0x00100000-0x27fffffff] page 4k
[ 0.000000] init_memory_mapping: [mem 0x300000000-0x3007fffff]
[ 0.000000] [mem 0x300000000-0x3007fffff] page 4k
[ 0.000000] RAMDISK: [mem 0x01c7b000-0x03c13fff]
[ 0.000000] NUMA turned off
[ 0.000000] Faking a node at [mem 0x0000000000000000-0x00000003007fffff]
[ 0.000000] Initmem setup node 0 [mem 0x00000000-0x3007fffff]
[ 0.000000] NODE_DATA [mem 0x2fe81d000-0x2fe820fff]
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x00001000-0x00ffffff]
[ 0.000000] DMA32 [mem 0x01000000-0xffffffff]
[ 0.000000] Normal [mem 0x100000000-0x3007fffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x00001000-0x0009ffff]
[ 0.000000] node 0: [mem 0x00100000-0x3007fffff]
[ 0.000000] On node 0 totalpages: 3147679
[ 0.000000] DMA zone: 56 pages used for memmap
[ 0.000000] DMA zone: 21 pages reserved
[ 0.000000] DMA zone: 3999 pages, LIFO batch:0
[ 0.000000] DMA32 zone: 14280 pages used for memmap
[ 0.000000] DMA32 zone: 1044480 pages, LIFO batch:31
[ 0.000000] Normal zone: 28700 pages used for memmap
[ 0.000000] Normal zone: 2099200 pages, LIFO batch:31
[ 0.000000] SFI: Simple Firmware Interface v0.81 http://simplefirmware.org
[ 0.000000] smpboot: Allowing 8 CPUs, 0 hotplug CPUs
[ 0.000000] No local APIC present
[ 0.000000] APIC: disable apic facility
[ 0.000000] APIC: switched to apic NOOP
[ 0.000000] nr_irqs_gsi: 16
[ 0.000000] PM: Registered nosave memory: 00000000000a0000 - 0000000000100000
[ 0.000000] e820: cannot find a gap in the 32bit address range
[ 0.000000] e820: PCI devices with unassigned 32bit BARs may break!
[ 0.000000] e820: [mem 0x300900000-0x300cfffff] available for PCI devices
[ 0.000000] Booting paravirtualized kernel on Xen
[ 0.000000] Xen version: 4.1.4 (preserve-AD)
[ 0.000000] setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:8 nr_node_ids:1
[ 0.000000] PERCPU: Embedded 28 pages/cpu @ffff8802fe200000 s84800 r8192 d21696 u262144
[ 0.000000] pcpu-alloc: s84800 r8192 d21696 u262144 alloc=1*2097152
[ 0.000000] pcpu-alloc: [0] 0 1 2 3 4 5 6 7
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 3104622
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: root=/dev/xvda2 ro root=/dev/xvda2 ro
[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000000] __ex_table already sorted, skipping sort
[ 0.000000] Checking aperture...
[ 0.000000] No AGP bridge found
[ 0.000000] Memory: 12316732k/12591104k available (3683k kernel code, 388k absent, 273984k reserved, 3071k data, 884k init)
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU dyntick-idle grace-period acceleration is enabled.
[ 0.000000] RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=8.
[ 0.000000] NR_IRQS:33024 nr_irqs:336 16
[ 0.000000] Console: colour dummy device 80x25
[ 0.000000] console [tty0] enabled
[ 0.000000] console [hvc0] enabled
[ 0.000000] Xen: using vcpuop timer interface
[ 0.000000] installing Xen timer for CPU 0
[ 0.000000] tsc: Detected 2500.096 MHz processor
[ 0.004000] Calibrating delay loop (skipped), value calculated using timer frequency.. 5000.19 BogoMIPS (lpj=10000384)
[ 0.004000] pid_max: default: 32768 minimum: 301
[ 0.004000] Security Framework initialized
[ 0.004000] AppArmor: AppArmor disabled by boot time parameter
[ 0.004000] Yama: becoming mindful.
[ 0.004000] Dentry cache hash table entries: 2097152 (order: 12, 16777216 bytes)
[ 0.011086] Inode-cache hash table entries: 1048576 (order: 11, 8388608 bytes)
[ 0.014373] Mount-cache hash table entries: 256
[ 0.014669] Initializing cgroup subsys cpuacct
[ 0.014683] Initializing cgroup subsys memory
[ 0.014705] Initializing cgroup subsys devices
[ 0.014711] Initializing cgroup subsys freezer
[ 0.014716] Initializing cgroup subsys net_cls
[ 0.014722] Initializing cgroup subsys blkio
[ 0.014727] Initializing cgroup subsys perf_event
[ 0.014795] CPU: Physical Processor ID: 0
[ 0.014801] CPU: Processor Core ID: 0
[ 0.014814] Last level iTLB entries: 4KB 128, 2MB 4, 4MB 4
[ 0.014814] Last level dTLB entries: 4KB 256, 2MB 0, 4MB 32
[ 0.014814] tlb_flushall_shift: -1
[ 0.024024] Performance Events: unsupported p6 CPU model 23 no PMU driver, software events only.
[ 0.024462] NMI watchdog: disabled (cpu0): hardware events not enabled
[ 0.024620] installing Xen timer for CPU 1
[ 0.024667] SMP alternatives: switching to SMP code
[ 0.033306] installing Xen timer for CPU 2
[ 0.033693] installing Xen timer for CPU 3
[ 0.033997] installing Xen timer for CPU 4
[ 0.034374] installing Xen timer for CPU 5
[ 0.034709] installing Xen timer for CPU 6
[ 0.035085] installing Xen timer for CPU 7
[ 0.035241] Brought up 8 CPUs
[ 0.035450] devtmpfs: initialized
[ 0.040216] Grant tables using version 2 layout.
[ 0.040269] Grant table initialized
[ 0.040356] regulator-dummy: no parameters
[ 0.040556] NET: Registered protocol family 16
[ 0.040665] PCI: setting up Xen PCI frontend stub
[ 0.040665] PCI: pci_cache_line_size set to 64 bytes
[ 0.041419] bio: create slab <bio-0> at 0
[ 0.044145] ACPI: Interpreter disabled.
[ 0.044174] xen/balloon: Initialising balloon driver.
[ 0.044174] xen-balloon: Initialising balloon driver.
[ 0.044174] vgaarb: loaded
[ 0.044174] PCI: System does not support PCI
[ 0.044174] PCI: System does not support PCI
[ 0.044265] Switching to clocksource xen
[ 0.046465] pnp: PnP ACPI: disabled
[ 0.052629] NET: Registered protocol family 2
[ 0.053633] TCP established hash table entries: 131072 (order: 9, 2097152 bytes)
[ 0.054560] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[ 0.054921] TCP: Hash tables configured (established 131072 bind 65536)
[ 0.054977] TCP: reno registered
[ 0.055031] UDP hash table entries: 8192 (order: 6, 262144 bytes)
[ 0.055179] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes)
[ 0.055513] NET: Registered protocol family 1
[ 0.055532] PCI: CLS 0 bytes, default 64
[ 0.055601] Unpacking initramfs...
[ 0.101324] Freeing initrd memory: 32356k freed
[ 0.116489] platform rtc_cmos: registered platform RTC device (no PNP device found)
[ 0.117317] audit: initializing netlink socket (disabled)
[ 0.117366] type=2000 audit(1370424721.640:1): initialized
[ 0.131143] bounce pool size: 64 pages
[ 0.131160] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[ 0.132184] VFS: Disk quotas dquot_6.5.2
[ 0.132290] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.132442] msgmni has been set to 24119
[ 0.133105] alg: No test for stdrng (krng)
[ 0.133216] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[ 0.195861] io scheduler noop registered
[ 0.195870] io scheduler deadline registered
[ 0.195984] io scheduler cfq registered (default)
[ 0.196148] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[ 0.196175] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[ 0.196187] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[ 0.196271] intel_idle: does not run on family 6 model 23
[ 0.196892] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.217565] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 0.218010] Linux agpgart interface v0.103
[ 0.218163] i8042: PNP: No PS/2 controller found. Probing ports directly.
[ 1.233805] i8042: No controller found
[ 1.234030] mousedev: PS/2 mouse device common for all mice
[ 1.293833] rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0
[ 1.293919] rtc_cmos: probe of rtc_cmos failed with error -38
[ 1.294090] drop_monitor: Initializing network drop monitor service
[ 1.294190] TCP: cubic registered
[ 1.294504] NET: Registered protocol family 10
[ 1.294905] mip6: Mobile IPv6
[ 1.294917] NET: Registered protocol family 17
[ 1.295206] PM: Hibernation image not present or could not be loaded.
[ 1.295227] registered taskstats version 1
[ 1.295268] XENBUS: Device with no driver: device/vbd/51714
[ 1.295274] XENBUS: Device with no driver: device/vbd/51713
[ 1.295279] XENBUS: Device with no driver: device/vif/0
[ 1.295284] XENBUS: Device with no driver: device/ioports/0
[ 1.295289] XENBUS: Device with no driver: device/irq/0
[ 1.295596] /build/linux-9VFSO6/linux-3.9.4/drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 1.296009] Freeing unused kernel memory: 884k freed
[ 1.296413] Write protecting the kernel read-only data: 6144k
[ 1.298834] Freeing unused kernel memory: 404k freed
[ 1.299221] Freeing unused kernel memory: 520k freed
[ 1.327412] udevd[90]: starting version 175
[ 1.354864] Initialising Xen virtual ethernet driver.
[ 1.375415] blkfront: xvda2: flush diskcache: enabled
[ 1.382344] blkfront: xvda1: flush diskcache: enabled
[ 1.661884] EXT4-fs (xvda2): mounted filesystem with ordered data mode. Opts: (null)
[ 3.416307] udevd[280]: starting version 175
[ 3.759485] input: PC Speaker as /devices/platform/pcspkr/input/input0
[ 3.891955] Error: Driver 'pcspkr' is already registered, aborting...
[ 4.131323] Adding 4194300k swap on /dev/xvda1. Priority:-1 extents:1 across:4194300k SS
[ 4.164887] EXT4-fs (xvda2): re-mounted. Opts: (null)
[ 4.424068] EXT4-fs (xvda2): re-mounted. Opts: errors=remount-ro
#
# Configuration file for the Xen instance **************, created
# by xen-tools 4.3.1 on Mon Jan 7 14:38:03 2013.
#
#
# Kernel + memory size
#
bootloader = '/usr/lib/xen-4.1/bin/pygrub'
#kernel = '/boot/vmlinuz-3.2.0-4-amd64'
#ramdisk = '/boot/initrd.img-3.2.0-4-amd64'
vcpus = '8'
memory = '12288'
#
# Disk device(s).
#
root = '/dev/xvda2 ro'
disk = [
'phy:/dev/vg00/**************-disk,xvda2,w',
'phy:/dev/vg00/**************-swap,xvda1,w',
]
#
# Hostname
#
name = '**************'
#
# Networking
#
vif = [ 'mac=00:16:3E:**:**:**, bridge=br**' ]
#
# Behaviour
#
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
# Passthrough Serial Port with GSM Modem
irq = [ 4 ]
ioports = [ '3f8-3ff' ]
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
16: 34973 0 0 0 0 0 0 0 xen-percpu-virq timer0
17: 35090 0 0 0 0 0 0 0 xen-percpu-ipi resched0
18: 232 0 0 0 0 0 0 0 xen-percpu-ipi callfunc0
19: 0 0 0 0 0 0 0 0 xen-percpu-virq debug0
20: 1272 0 0 0 0 0 0 0 xen-percpu-ipi callfuncsingle0
21: 0 0 0 0 0 0 0 0 xen-percpu-ipi irqwork0
22: 0 29906 0 0 0 0 0 0 xen-percpu-virq timer1
23: 0 28883 0 0 0 0 0 0 xen-percpu-ipi resched1
24: 0 255 0 0 0 0 0 0 xen-percpu-ipi callfunc1
25: 0 0 0 0 0 0 0 0 xen-percpu-virq debug1
26: 0 2826 0 0 0 0 0 0 xen-percpu-ipi callfuncsingle1
27: 0 0 0 0 0 0 0 0 xen-percpu-ipi irqwork1
28: 0 0 30554 0 0 0 0 0 xen-percpu-virq timer2
29: 0 0 23749 0 0 0 0 0 xen-percpu-ipi resched2
30: 0 0 282 0 0 0 0 0 xen-percpu-ipi callfunc2
31: 0 0 0 0 0 0 0 0 xen-percpu-virq debug2
32: 0 0 1968 0 0 0 0 0 xen-percpu-ipi callfuncsingle2
33: 0 0 0 0 0 0 0 0 xen-percpu-ipi irqwork2
34: 0 0 0 26923 0 0 0 0 xen-percpu-virq timer3
35: 0 0 0 19391 0 0 0 0 xen-percpu-ipi resched3
36: 0 0 0 314 0 0 0 0 xen-percpu-ipi callfunc3
37: 0 0 0 0 0 0 0 0 xen-percpu-virq debug3
38: 0 0 0 2679 0 0 0 0 xen-percpu-ipi callfuncsingle3
39: 0 0 0 0 0 0 0 0 xen-percpu-ipi irqwork3
40: 0 0 0 0 28250 0 0 0 xen-percpu-virq timer4
41: 0 0 0 0 18049 0 0 0 xen-percpu-ipi resched4
42: 0 0 0 0 297 0 0 0 xen-percpu-ipi callfunc4
43: 0 0 0 0 0 0 0 0 xen-percpu-virq debug4
44: 0 0 0 0 1948 0 0 0 xen-percpu-ipi callfuncsingle4
45: 0 0 0 0 0 0 0 0 xen-percpu-ipi irqwork4
46: 0 0 0 0 0 27914 0 0 xen-percpu-virq timer5
47: 0 0 0 0 0 16852 0 0 xen-percpu-ipi resched5
48: 0 0 0 0 0 291 0 0 xen-percpu-ipi callfunc5
49: 0 0 0 0 0 0 0 0 xen-percpu-virq debug5
50: 0 0 0 0 0 1911 0 0 xen-percpu-ipi callfuncsingle5
51: 0 0 0 0 0 0 0 0 xen-percpu-ipi irqwork5
52: 0 0 0 0 0 0 26876 0 xen-percpu-virq timer6
53: 0 0 0 0 0 0 16645 0 xen-percpu-ipi resched6
54: 0 0 0 0 0 0 285 0 xen-percpu-ipi callfunc6
55: 0 0 0 0 0 0 0 0 xen-percpu-virq debug6
56: 0 0 0 0 0 0 1736 0 xen-percpu-ipi callfuncsingle6
57: 0 0 0 0 0 0 0 0 xen-percpu-ipi irqwork6
58: 0 0 0 0 0 0 0 27517 xen-percpu-virq timer7
59: 0 0 0 0 0 0 0 15834 xen-percpu-ipi resched7
60: 0 0 0 0 0 0 0 251 xen-percpu-ipi callfunc7
61: 0 0 0 0 0 0 0 0 xen-percpu-virq debug7
62: 0 0 0 0 0 0 0 2085 xen-percpu-ipi callfuncsingle7
63: 0 0 0 0 0 0 0 0 xen-percpu-ipi irqwork7
64: 393 0 0 0 0 0 0 0 xen-dyn-event xenbus
65: 189 0 0 0 0 0 0 0 xen-dyn-event hvc_console
66: 25268 0 0 0 0 0 0 0 xen-dyn-event blkif
67: 168 0 0 0 0 0 0 0 xen-dyn-event blkif
68: 135924 0 0 0 0 0 0 0 xen-dyn-event eth0
NMI: 0 0 0 0 0 0 0 0 Non-maskable interrupts
LOC: 0 0 0 0 0 0 0 0 Local timer interrupts
SPU: 0 0 0 0 0 0 0 0 Spurious interrupts
PMI: 0 0 0 0 0 0 0 0 Performance monitoring interrupts
IWI: 0 0 0 0 0 0 0 0 IRQ work interrupts
RTR: 0 0 0 0 0 0 0 0 APIC ICR read retries
RES: 35092 28883 23749 19391 18049 16852 16645 15834 Rescheduling interrupts
CAL: 1504 3081 2250 2993 2245 2202 2021 2336 Function call interrupts
TLB: 0 0 0 0 0 0 0 0 TLB shootdowns
TRM: 0 0 0 0 0 0 0 0 Thermal event interrupts
THR: 0 0 0 0 0 0 0 0 Threshold APIC interrupts
MCE: 0 0 0 0 0 0 0 0 Machine check exceptions
MCP: 0 0 0 0 0 0 0 0 Machine check polls
ERR: 0
MIS: 0
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0064-0064 : keyboard
0070-0071 : rtc_cmos
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
03f8-03ff : serial
Reply to: