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

Re: [Xen-users] Accessing /dev/ttyI0 in guest domain not possible?



> Making some progress now. However, I still have some problems although it
> looks I can access the ISDN card so now and then.
>
> This is what I have done:
>
> title Xen 2.0 / XenLinux 2.6.11 rks
>    kernel /boot/xen.gz dom0_mem=64000 console=vga
> physdev_dom0_hide=(01:0d.0) module /boot/vmlinuz-2.6.11-rks-xen0
> root=/dev/hda3 ro console=tty0

Looks good.  Do you see the appropriate message from Xen at boot time, 
confirming that the card really is hidden?

> And in my guest OS I put the line: pci = ['01,0e,0'] so I will have access
> to my ISDN PCI card. Asterisk is not complaining anymore, but no calls are
>  ISDN calls are "seen" by my gues OS.
>
> Using lspvc -v I found out that the ISDN card did not got an IRQ, so I
> inserted the card in another PCI-slot and rebooted the system. Now I get
> the message that shows me an IRQ has been found:

This is strange, it should just work.  I guess your machine is probably 
sharing IRQs but that should work with Xen too.
> The only thing that worries me is the line "HiSax: Total 0 card defined".
>
> lspci -v looks ok now:
> 0000:01:0d.0 Network controller: AVM Audiovisuelles MKTG & Computer System
> GmbH A1 ISDN [Fritz] (rev 02)
>         Subsystem: AVM Audiovisuelles MKTG & Computer System GmbH
> FRITZ!Card ISDN Controller
>         Flags: medium devsel, IRQ 21
>         Memory at febfff60 (32-bit, non-prefetchable) [size=32]
>         I/O ports at 7860 [size=32]

Looks sane.  Can you confirm that the card doesn't appear in dom0?  Try lspci 
(and inspect the boot output).  We don't want the domains to fight.

> But again, no calls are recognized.

Can you try doing an outgoing call (e.g. fax someone) and see if that works?

> I have the feeling that this is an IRQ problem. I restarted the system
> several times and I got it working once....
>
> Does xen do anything special with interrupts I should be aware of?

I guess it could be an IRQ problem.  We've not seen this behaviour before 
(that I know of) but I guess it could have been tickled by some quirk of your 
machine setup.

Cheers,
Mark

>
> Thanks,
> Rene
>
> >> Now I started up my xenU domain which does not show anything about found
> >> ISDN cards, but I am not worried as I don't see any message about
> >> network
> >> cards either which work perfectly.
> >
> > The default configuration uses a virtual network card - network traffic
> > gets
> > sent via dom0, which owns the *real* network card.
> >
> >> But when starting my Asterisk server in the xenU domain I get some
> >> errors:
> >> Jul  3 18:10:36 ERROR[865]: Unable to register channel '/dev/ttyI0'
> >> Jul  3 18:10:36 WARNING[865]: chan_modem.so: load_module failed,
> >> returning
> >> -1 Jul  3 18:10:36 WARNING[865]: Loading module chan_modem.so failed!
> >>
> >> So it looks that an unpriviliged domain cannot access my ISDN card?
> >
> > The XenU kernel won't support any real hardware devices, only Xen's
> > virtual
> > devices.
> >
> >> Digging further, I decided to boot a xen0 domain as guest instead of
> >> xenU.
> >> Now my ISDN card is recognized although not installed(?)
> >>
> >> HiSax: AVM PCI driver Rev. 1.29.2.4
> >> FritzPCI: No PCI card found
> >> HiSax: Card AVM Fritz PnP/PCI not installed !
> >>
> >> Asterisk doesn't complain anymore although I am not sure if it works...
> >>
> >> Does anyone know why xenU is not allowed to access my ISDN /dev/ttyI0?
> >
> > You need to give the domain direct access to the ISDN card.  This is
> > important
> > because only one domain can own a PCI card at once.  Multiple drivers
> > fighting over a PCI card will end in tears...
> >
> > You need to hide the PCI device from dom0 so that it doesn't try to drive
> > it:
> > add "physdev_dom0_hide=(xx.yy.z)" to Xen's commandline, substituting the
> > config address of your card (you can find this in the output of "lspci").
> >
> > When you boot, check "xm dmesg" for an explicit line from Xen saying that
> > it's
> > hiding the PCI device.  If there isn't one then something's wrong -
> > you'll have to debug this first.
> >
> > Once hiding the device works, you need to give the domain access to it.
> > You
> > need to add this to the config file - the syntax for this is (I think)
> > described in the user manual.
> >
> > Once you've done those things, boot the xen0 kernel in the domain and it
> > should work.  Let us know if you get stuck.
> >
> > Cheers,
> > Mark
> >
> > _______________________________________________
> > Xen-users mailing list
> > Xen-users@xxxxxxxxxxxxxxxxxxx
> > http://lists.xensource.com/xen-users

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.