monome / serialosc

multi-device, bonjour-capable monome OSC server
http://monome.org/docs/serialosc/osc
Other
145 stars 31 forks source link

macos 10.13 /dev string changed #38

Closed tehn closed 6 years ago

tehn commented 6 years ago

older series devices with a dash in them ie m64-1000 now show up as m64_1000 in the /dev entries, which makes them undetectable i guess.

tehn commented 6 years ago

this is actually a libmonome issue, likely solved here:

https://github.com/monome/libmonome/blob/master/src/private/devices.h

simonvanderveldt commented 6 years ago

@tehn Any idea why this is happening? Changes in macOS itself or some supporting library (i.e. could it also happen on another OS)?

tehn commented 6 years ago

Given it's the Apple FTDI driver that's shipped with the OS (and not the OEM FTDI driver) I'd assume this problem is confined to MacOS

On Mon, Nov 27, 2017 at 2:50 PM, Simon van der Veldt < notifications@github.com> wrote:

@tehn https://github.com/tehn Any idea why this is happening? Changes in macOS itself or some supporting library (i.e. could it also happen on another OS)?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/monome/serialosc/issues/38#issuecomment-347305507, or mute the thread https://github.com/notifications/unsubscribe-auth/AAPEcAjF8tUSmEKosSOXIkkUQz31Wo1pks5s6xKVgaJpZM4QrxST .

lovettbarron commented 6 years ago

@tehn @wrl

Wondering if part of it gets fixed in this statement in libmonome.c, i.e. double checking if it's a dash or an underscore?

static monome_devmap_t *map_serial_to_device(const char *serial) {
    monome_devmap_t *m;
    int serialnum;

    for( m = mapping; m->sermatch; m++ )
        if( sscanf(serial, m->sermatch, &serialnum) )
            return m;

    return NULL;
}

I'd imagine the device.h file might change a bit like this? {"m128%s%d", "series", {16, 8}, "monome 128", NO_QUIRKS},

Just looking at the source, it seems that's where it's being called in the constructor, around line 81.

And apologies I can't make these changes myself. My C skills (and build environment) are absurd level rusty.

tehn commented 6 years ago

that would indeed fix it (i'm pretty sure) but serialosc isn't compiling right now on mac 10.13 with some error that i'm not immediately clear about.

On Thu, Nov 30, 2017 at 10:24 AM, Andrew Lovett-Barron < notifications@github.com> wrote:

@tehn https://github.com/tehn @wrl https://github.com/wrl

Wondering if part of it gets fixed in this statement in libmonome.c https://github.com/monome/libmonome/blob/master/src/libmonome.c, i.e. double checking if it's a dash or an underscore?

static monome_devmap_t map_serial_to_device(const char serial) { monome_devmap_t *m; int serialnum;

for( m = mapping; m->sermatch; m++ ) if( sscanf(serial, m->sermatch, &serialnum) ) return m;

return NULL; }

I'd imagine the device.h file might change a bit like this? {"m128%s%d", "series", {16, 8}, "monome 128", NO_QUIRKS},

Just looking at the source, it seems that's where it's being called in the constructor, around line 81.

And apologies I can't make these changes myself. My C skills (and build environment) are absurd level rusty.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/monome/serialosc/issues/38#issuecomment-348221012, or mute the thread https://github.com/notifications/unsubscribe-auth/AAPEcDoqQSe15pwOVcloQGLWHJzwoeXVks5s7sjKgaJpZM4QrxST .

tehn commented 6 years ago

in the meantime i've suggested 10.13 users install an old FTDI driver from 2015 which fixes the issue: http://www.ftdichip.com/Drivers/VCP/MacOSX/FTDIUSBSerialDriver_v2_3.dmg