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

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



Hi,

Well, I did some tests and finally it's working! I put my ISDN card in
another PC, booted xen2.0 using the demo CD, bu also nothing! Then I
inserted Knoppix wich did work. Looking at the wihc drivers have been
loaded, I noticed something odd. The driver was not the fspcipnp hisax
driver, but just a normal hisax module. This is strange because the xen2.0
demo CD discovered my Fritz!PCI ISDN card as a Fritz!PCI/PCIv2/PnP card
using the fspcipnp driver.

So, I recompiled my kernel using the Fritz!PCI driver, rebooted the PC,
and bingo, calls er recognized (in xen0). Then I added the
physdev_dom0_hide=(01:0d.0) statement to grub, rebooted again, and xen0
did not show any calls anymore, good! Then I started up xenU which did
accept the calls, great!

So the bottom line is that the wrong driver was used by the demo cd and my
first compiled kernels. Everything looks fine now.

Anyone who helped me the last week, thanks!
Rene

> Hi,
>
> Ok, tried another day swapping the cards to get this working, but no luck
> :-(
>
> To answer your questions:
>
> Output of "xm dmesg" (last few lines)
>
> (XEN) Scrubbing DOM0 RAM: .done.
> (XEN) Hiding PCI device 01:08.0 from DOM0
> (XEN) Scrubbing Free RAM: ...done.
> (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input
> to Xen).
>
> So Dom0 is hiding my ISDN card (note that the ISDN card is now in another
> PCI slot)
>
> I am not sure how to dial out as I am using Asterisk normally. Let me see
> if I can get this working. Also, I will try to install the ISDN card in
> another PC installing xen to see if this makes a difference. I will give
> some feedback when this all has been completed.
>
> Rene
>
>
>
>
>>> 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
>>
>>
>
>
> _______________________________________________
> 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®.