[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

PCI-Device von Dom0 nach DomU durchreichen



Hallo,

ich hoffe hier gibt es einige die sich auch mit xen gut auskennen. Ich
habe einen pc mit xen aus den aktuellen Etch-Paketen aufgebaut.

Bisher habe ich zum Drucken den Drucker am integrierten parallelen
Anschluss angeschlossen und die Ports in die DomU weitergereicht. Das
funktioniert auch. Leider muss ich die DomU jedesmal herunterfahren,
weil die Zuordnung sonst irgendwie nicht mehr klappt. Der Drucker
bekommt die Druckjobs dann nicht mehr.

Hier mal die conf von DomU:

kernel='/boot/vmlinuz-2.6-xen'
ramdisk='/boot/initrd.img-2.6-xen'
memory = 64
name = "samba"
vif = [ 'mac=00:16:3e:00:00:03' ]
disk = [
'phy:/dev/sda12,sda12,w','file:/var/xen/domains/samba/swap.img,xvda2,w','phy:/dev/sda14,sda14,w','phy:/dev/sda13,sda13,w'
]
root = "/dev/sda12 ro"
irq = [ 7 ]
irq = [ 4 ]
ioports = [ "0378-037a","03f8-03ff" ]
pci = [ '02:0e.0' ]

Nun habe ich in einer Grabbelkiste eine PCI-Karte mit parallelem
Anschluss gefunden. Weil ich hoffe dass das Problem mit dem runterfahren
dann erledigt ist habe ich die Karte also eingebaut. In der Dom0 wird
sie angezeigt:

xen:/# lspci
00:00.0 Host bridge: Intel Corporation 82820 820 (Camino) Chipset Host
Bridge (MCH) (rev 03)
00:01.0 PCI bridge: Intel Corporation 82820 820 (Camino) Chipset AGP
Bridge (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801AA PCI Bridge (rev 02)
00:1f.0 ISA bridge: Intel Corporation 82801AA ISA Bridge (LPC) (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801AA IDE (rev 02)
00:1f.2 USB Controller: Intel Corporation 82801AA USB (rev 02)
00:1f.3 SMBus: Intel Corporation 82801AA SMBus (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX
4000 AGP 8x] (rev c1)
02:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL-8139/8139C/8139C+ (rev 10)
02:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL-8139/8139C/8139C+ (rev 10)
02:0b.0 Mass storage controller: Promise Technology, Inc. PDC40718 (SATA
300 TX4) (rev 02)
02:0e.0 Serial controller: Integrated Technology Express, Inc. IT8874F
PCI Dual Serial Port Controller (rev 01)

obwohl sie eigentlich mit pciback.hide ausgeblendet ist.

Hier die menu.lst

title           Xen 3.0.3-1-i386-pae / Debian GNU/Linux, kernel
2.6.18-4-xen-686root            (hd0,0)
kernel          /boot/xen-3.0.3-1-i386-pae.gz
module          /boot/vmlinuz-2.6.18-4-xen-686 root=/dev/sda1 ro
console=tty0 xencons=off pciback.hide=(02:0e.0)(02:0a.0)
module          /boot/initrd.img-2.6.18-4-xen-686
savedefault

Beim Start der Dom0 wird dann auch angezeigt, dass die Karte
ausgeblendet wird.

dmesg in Dom0

pnp: 00:03: ioport range 0xe400-0xe47f could not be reserved
pnp: 00:03: ioport range 0xec00-0xec3f has been reserved
pnp: 00:03: ioport range 0x370-0x372 has been reserved
pciback 0000:02:0a.0: seizing device
pciback 0000:02:0e.0: seizing device
PCI: Bridge: 0000:00:01.0
  IO window: disabled.
[...]

pciback: vpci: 0000:02:0e.0: assign to virtual slot 0
device vif3.0 entered promiscuous mode
audit(1208351534.462:6): dev=vif3.0 prom=256 old_prom=0 auid=4294967295
ADDRCONF(NETDEV_UP): vif3.0: link is not ready
ADDRCONF(NETDEV_CHANGE): vif3.0: link becomes ready
xenbr0: port 5(vif3.0) entering learning state
xenbr0: topology change detected, propagating
xenbr0: port 5(vif3.0) entering forwarding state
PCI: Enabling device 0000:02:0e.0 (0000 -> 0001)
ACPI: PCI Interrupt 0000:02:0e.0[A] -> Link [LNKC] -> GSI 12 (level,
low) -> IRQ 12
ACPI: PCI interrupt for device 0000:02:0e.0 disabled
pciback 0000:02:0e.0: Driver tried to write to a read-only configuration
space field at offset 0x60, size 4. This may be harmless, but if you
have problems with your device:
1) see permissive attribute in sysfs
2) report problems to the xen-devel mailing list along with details of
your device obtained from lspci.
ACPI: PCI interrupt for device 0000:02:0e.0 disabled
xenbr0: port 5(vif3.0) entering disabled state
device vif3.0 left promiscuous mode
[...]

In der DomU kommt die Karte auch an:

samba:/etc# lspci
00:00.0 Serial controller: Integrated Technology Express, Inc. IT8874F
PCI Dual Serial Port Controller (rev 01)

Aber der Treiber wird nur an die integrierte parallel Schnittstelle
gebunden:

Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
PCI: Enabling device 0000:00:00.0 (0000 -> 0001)
input: PC Speaker as /class/input/input0
parport_pc: cannot find ITE8872 INTA
parport0: PC-style at 0x378 [PCSPP,TRISTATE,EPP]
parport0: Printer, Samsung ML-4600
Adding 262136k swap on /dev/xvda2.  Priority:-1 extents:1 across:262136k
EXT3 FS on sda12, internal journal
lp0: using parport0 (polling).
ppdev: user-space parallel port driver

Obwohl es aber irgendwie doch zwei parallele Schnittstellen gibt, die
aber gleich heißen:

samba:/etc# cat /proc/ioports | grep parport
0378-037a : parport0
037b-037f : parport0


Wenn ich die ioports in der config weg nehme habe ich gar keine
parallele Schnittstelle.

Wie ich gerade sehe findet lspci eine IT8874F wärend der parport_pc eine
ITE8872 INTA sucht.

Hat einer eine Idee was hier schief läuft?


-- 
Mit freundlichen Grüßen / Yours sincerely

Edgar Giese

mailto:info@egiese.de
fon: 0173 - 64 8 62 65

<°><


Reply to: