Tentando escrever um programa python para criar um fluxo de dados simulado e alimentá-lo, por meio de um pipe nomeado, em uma máquina virtual VMware. O host está executando o Ubuntu 11.10 e o VMware Player 5.0.0. O VM está rodando o netbook Ubuntu 10.04. Eu sou capaz de obter o pipe trabalhando na máquina local, mas eu não sou capaz de obter o pipe para passar dados através da porta serial virtual para os programas em execução na máquina virtual.
#!/usr/bin/python
import os
#
# Create a named pipe that will be used as the serial port on a VMware virtual machine
SerialPipe = '/tmp/gpsd2NMEA'
try:
os.unlink(SerialPipe)
except:
pass
os.mkfifo(SerialPipe)
#
# Open the named pipe
NMEApipe = os.open(SerialPipe, os.O_RDWR|os.O_NONBLOCK)
#
# Write a string to the named pipe
NMEAtime = "235959"
os.write(NMEApipe, str( '%s\n' % NMEAtime ))
$ cat /tmp/gpsd2NMEA
235959
serial0.present = "TRUE"
serial0.startConnected = "TRUE"
serial0.fileType = "pipe"
serial0.fileName = "/tmp/gpsd2NMEA"
serial0.pipe.endPoint = "client"
serial0.autodetect = "FALSE"
serial0.tryNoRxLoss = "TRUE"
serial0.yieldOnMsrRead = "TRUE"
$ cat /dev/ttyS0
or
$ minicom -D /dev/ttyS0
or
$ stty -F /dev/ttyS0 cs8 -parenb -cstopb 115200
$ echo < /dev/ttyS0