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

Re: [MirageOS-devel] Writing to Multiple Serial Ports



Hi Paul,

Did you get serial ports workingÂevenÂin dom0 on Cubietruck yet? It took me quite a while to discover that Xen normally disables the A20 UARTs by deleting them from the device tree:


Luke


On Wed, 7 Oct 2015 at 21:00 Paul Skentzos <paul.skentzos@xxxxxxxxxxxxxxx> wrote:
Dave,


On 10/6/2015 5:04 PM, David Scott wrote:
> Hi Paul, Aaron,
>
> On Tue, Oct 6, 2015 at 8:27 PM, Paul Skentzos <paul.skentzos@xxxxxxxxxxxxxxx
> <mailto:paul.skentzos@xxxxxxxxxxxxxxx>> wrote:
>
>Â Â ÂWe are trying to access a serial port passed to a domu. We're very new to Mirage
>Â Â Âand ocaml, but plan on converting our existing system to use MirageOS for
>Â Â Âvarious domU's.
>
>Â Â ÂSo, at the moment, the question we have is whether anyone has had any success
>Â Â Âwriting to multiple serial ports with one of those serial ports being accessed
>Â Â Âfrom a domu?
>
>Â Â ÂAs a first attempt, we took the Mirage console example and added a second
>Â Â Âconsole. We connected it to '1' and then to /dev/null and tried to print to it.
>Â Â ÂNeither of the ideas were valid. We're not sure what the console should be named
>Â Â Âor what the hashtbl is looking for. The application compiles, but the VM halts
>Â Â Âwith a message stating. "... waiting for hotplug". The application built for
>Â Â Âunix didn't work either.
>
>
>Â Â ÂWe are trying to read data from a GPS receiver from a domu.
>
>
> Interesting! Is the GPS receiver connected to a physical serial port on the host?
>

Thanks for the quick response. Yes, the GPS is connected to the host, to a
hardware serial port.

> The virtual serial ports that Mirage can see need to be served by something on
> the host (a "backend", typically in dom0). If you're creating your VM with "xl
> create" then you can declare "channels"[1] which will spawn a qemu process in
> dom0 which will act as the server/backend. At the moment the backend can only be
> connected to a fresh tty or a Unix domain socket -- there is no built-in support
> for proxying to a real /dev/ttyS* device.
>
> I think the first thing to do is to verify that adding a 'channel' to your xl
> config file causes the Xen domU to get further than "waiting for hotplug". After
> that I think you could declare the backend to be a Unix domain socket, and then
> run a proxy in dom0 which would write the data to the appropriate ttyS device.
>
> Sorry that's a bit clunky -- when I added the channel support to "xl" I didn't
> think about the possibility of a real serial port. I'm sure that could be added
> in future though.
>
> What do you think?
>

This is really good information and you were speaking the language my colleague
and I were as we iterated through the design.

Here are our results. Running the system on an x86 VM worked just as you
described above, so that was great news. However, and we should have been clear
about this at the beginning, our hardware platform is ARM based; Cubietruck,
specifically. We tried the same process on the Cubietruck and it did not work.
I'm assuming that this is the case since ARM does not make use of qemu like x86
does.

It seems that this could be overcome on ARM, however not without some
difficulty. Any thoughts on this?

Best regards,
Paul


> Cheers,
> Dave Scott
>
> [1] http://xenbits.xen.org/docs/unstable/misc/channel.txt
>
>
>Â Â ÂAny ideas where we should look for getting this capability?
>
>Â Â ÂI appreciate the help!
>
>Â Â ÂPaul Skentzos
>Â Â ÂAaron Cornelius
>
>
>
>
>
>Â Â Â_______________________________________________
>Â Â ÂMirageOS-devel mailing list
>Â Â ÂMirageOS-devel@xxxxxxxxxxxxxxxxxxxx <mailto:MirageOS-devel@xxxxxxxxxxxxxxxxxxxx>
>Â Â Âhttp://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
>
>
>
>
> --
> Dave Scott

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

 


Rackspace

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