[Vm-dev] Serial Port not working on Mac

John McIntosh johnmci at smalltalkconsulting.com
Fri Mar 24 15:58:50 UTC 2017


BTW there is the SerialExtendedUnixPlugin which I wrote back in 2003. Check
the mail list archives for threads on running it on OS X as it exposes why
more fiddly bits of the Unix serial I/O logic.

On Fri, Mar 24, 2017 at 8:13 AM, Javier Diaz-Reinoso <javier_diaz_r at mac.com>
wrote:

>
> There is Apple documentation for this in:
>
> https://developer.apple.com/library/content/documentation/
> Porting/Conceptual/PortingUnix/preparing/preparing.html
>
>
> On 24 Mar 2017, at 09:13, Esteban Lorenzano <estebanlm at gmail.com> wrote:
>
>
> On 24 Mar 2017, at 15:07, Guillermo Polito <guillermopolito at gmail.com>
> wrote:
>
> Hi all,
>
> We are here with Olivier taking a loot at how serial ports work, because
> he wants to use it to connect to arduino/raspberries.
>
> We saw that the serial port works nice in unix, in windows we had a look
> but we found some problems (and we do not have now a windows machine to
> test well), and we found that in mac it does not work. We are seeing that
> this behaviour is there since Pharo 3 (4 years ago).
>
> We tried to see if it was a problem of the VM plugin (missing depenencies
> using ld / otool) but everything seemed ok.
>
> Finally, we took the vm from git and tried to compile it from scratch.
>
> *Meta-question 1:* Is there a way to create an xcode project from the vm
> sources? We would have lost less time if we used a graphical debugger to
> take a look at this :).
>
>
> No. What you do is to create an empty project and then attaching the
> running vm.
>
> Esteban
>
>
> There, we found that
> - apparently the mac VM is using an empty implementation of the serial
> port plugin:
>
> https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/platforms/Mac%
> 20OS/plugins/SerialPlugin/sqMacSerialPort.c
>
> We replaced the contents of that file by the one in the Unix plugin and it
> worked *when the plugin was compiled as internal* (delta some differences
> between the default values in mac and unix like uppercasing the 's' of ttyS
> and ttys)
>
> https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/platforms/unix/
> plugins/SerialPlugin/sqUnixSerial.c
>
> However, as soon as we retried to recompile the plugin as external it did
> not work any more... The initializeModule function was never called, the
> module was not loaded (from the system report) and the Serial port could
> not be open. For this we would have liked a debugger. And I'm not a friend
> of gdb on the terminal...
>
> *Meta-question 2:* Is there any clean/make clean used to remove generated
> files. We found ourselves a lot of times bitten by the fact that even
> recompiling everything using `mvm -A` did not really recompile and we had
> to remove files from here and there...
>
> How should we propose a fix?
> - do we duplicate the code of the plugin in the mac and unix platforms?
> - or do we somehow tell the compilation process that for this plugin it
> should use the sources in the unix platform code?
>
> Thanks!
> Guille and Olivier
>
>
>
>


-- 
===========================================================================
John M. McIntosh. Corporate Smalltalk Consulting Ltd
https://www.linkedin.com/in/smalltalk
===========================================================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20170324/dd7c71f7/attachment.html>


More information about the Vm-dev mailing list